最近在一直都在研究pc機硬體和軟體相結合的軟體,硬體資訊都是通過c++與驅動結合獲取。對於乙個好久都沒有接觸c++的人來說看這些東西太費勁了,必須的重新撿一下c++的基礎知識,必然也少不了c知識,底層都是通過c++與c結合,提供介面給j2ee呼叫,j2ee也忘的一乾二淨了。從c++那也了解到了amt、acpi、dpm等不少驅動的結合,可以取到哪些硬體資訊和對硬體操作,有空就使用c#做了demo,不過還是使用c#比較得心應手。
這次是試驗了一下網絡卡的wake on lan功能,就是能夠在廣域網和區域網能遠端啟動目標機器,需要網絡卡支援wake on lan功能,關閉機器後網絡卡的燈會一直亮著,還需要檢查以下2點設定。
1. 進入bios設定,power->automatic power on裡面,設定wake on lan = enable/automatic,不同機器的bios設定位置不同,找到對應的wake on lan選項設定就ok。
2. 進入網絡卡設定,我的電腦->右鍵」管理「->裝置管理器->網路介面卡,找到對應的網絡卡右鍵」屬性「->電源管理,勾選允許此裝置喚醒計算機和子選項(只允許幻資料報喚醒計算機),」高階「選項卡裡面,檢查屬性裡的喚醒幻資料報=已啟用 and 喚醒模式匹配=已啟用。
注:不同的網絡卡設定可能會不一樣
下面就用**詳細說明實現方式:
#region wol遠端喚醒機器
/// /// 通過wol遠端喚醒機器方法
///
/// 要喚醒機器的mac
/// 要喚醒機器的子網掩碼
/// udp訊息傳送埠
private static void wakeonlan(string mac,string ip, int port)
catch (socketexception ex)
}
/// /// 拼裝mac魔術封包
///
/// mac位址字串
///
public static byte getmagicpacket(string macstring)
return returnbytes;
}/// /// mac位址字串轉16進製制位元組陣列
///
/// mac位址字串
///
public static byte strtohexbyte(string hexstring)
#endregion
呼叫主函式:
static void main(string args)
console.write("please input subnet:");
ipaddress = console.readline();
if (string.isnullorempty(ipaddress))
console.write("please input port:");
if (!string.isnullorempty(console.readline()))
else
wakeonlan(macaddress, ipaddress, port);
console.read();
}
WOL開啟遠端喚醒開機功能筆記
現在主機板都支援網絡卡遠端喚醒功能,要是用遠端喚醒功能。具體如下操作 1.cmos開啟pcie裝置喚醒功能即網絡卡遠端喚醒功能有點主機板顯示wake on lan如 2.進入系統後裝置管理 網絡卡配置 高階 關機網路喚醒 魔術封包喚醒及樣式比對喚醒 通通開啟。3.網絡卡的電源管理選項中,允許計算機關...
遠端喚醒WOL啟動伺服器或電腦
因為新型肺炎的原因,交通受阻,無法去公司上班,只能在家遠端工作,但是放假前伺服器全關掉了,現在也沒人去開,然後群裡有人說伺服器是支援遠端喚醒的,可以遠端啟動,於是啟動了部分伺服器,但是對於不支援遠端喚醒的伺服器還是沒辦法。藉此機會總結一下wol技術的原理和操作方法。其實是網路喚醒,即wake on ...
Linux遠端開機
條件 1 計算機必需是在乙個區域網內 2 知道遠端開啟的計算機的mac位址 3 網絡卡支援網路喚醒功能 現在大部分網絡卡都是支援網路喚醒的功能 在被遠端開機的計算機執行 ethtool 命令,檢視該機器網絡卡是否支援網路喚醒功能。ethtool eth0 settings for eth0 supp...