目前Realtek USB接口有线网卡方案均支持网络唤醒(Wake On Lan,为书写方便,后续简称为WOL)功能。
要实现WOL功能,网卡要能正确收到魔幻包(magic packet),然后将其转换为正确的信息传达给上层,系统收到信息后,通过电源管理芯片开机,从而实现唤醒功能。
这一过程中,网卡充当的是前半部分的角色,即:收包,发信息。至于正确发出信息后系统能否被唤醒,则是平台部分设计要考虑的。
这里,“信息”通常包含两种,一种是USB 网卡芯片收到唤醒数据包后,拉低wake IO pin,通过示波器可以量测到由High 变Low的状态;另一种是网卡通过USB 总线发送协议给host处理,可以通过USB 协议分析仪抓录协议log分析。
一、硬件要求
如果产品型态是dongle或dock类,因网卡与被唤醒的平台之间只有USB 数据线和供电线连接,无法接wake IO pin,此类产品可通过USB 协议实现系统在S3/S4状态下的WOL,但无法实现S5状态下的WOL;如果产品型态是onboard类 , 设计时可将网卡wake IO pin 走线到系统端的电源管理芯片,此类产品可实现系统在S3/S4/S5状态下的WOL; 如果产品是Type C类带PD协议的dock,可将网卡wake IO pin接到PD 协议芯片的IO,这样PD 可以侦测wake IO pin 状态变化再通过协议送到系统host,此类产品可以实现系统在S3/S4/S5状态下的WOL。
如果系统进S3/S4/S5后无法让USB 网卡的USB端口处于suspend 状态,且(或)有断电行为(或通过人为制造断电行为),断电后DP/DM断开(表示之前没有带过driver),上电后,USB DP必须保持在3.0V,DM保持在0V,此种情形可实现pre-boot WOL 功能。当收到魔幻包后,wake IO pin 会被拉低。
二、系统设定
1. 开机进BIOS,检查待测试网卡是否开启wake on lan 功能,如没有,则需要开启;
2. 检查BIOS 里fastboot 设定,如果没有则需要关闭;
3. 进系统后,确认驱动版本是否为最新,如不是,到如下网站下载最新驱动安装(for windows)或编译加载(for Linux);
驱动下载地址:https://www.realtek.com/Download/List?cate_id=585
4. 如果在windows OS下测试,打开网卡属性里“电源管理”选项卡,勾选下图三个选项;

5. 如果是S5 状态下的WOL,还需要确认网卡efuse ,确保“NO_REMOTE_WAKEUP”没有勾选;确保“LAN_WAKE_EN”勾选。
三、 功能测试
当满足上述硬件要求和做完系统设定后,即可开始测试WOL 功能。
1. 记录测试的USB 网卡的MAC address;
2. 用网线将USB 网卡和对端电脑(另一台发包电脑)网卡连接;
3. 查看对端电脑网卡连接速度,要求为10Mbps, 如不是,检查原因并确保最终link在10Mbps;

4. 关闭对端电脑的WIFI,断开其他有线网卡连接(如果有的话);
5. 在对端电脑上打开MAGIC PACKET 软件,按下图圈选打开“send a magic packet…” 对话框,在红色方框处输入第一步记录的mac address,然后点击“send”。 如所有都正常,此时观察USB 网卡所在系统,会看到系统被唤醒。

本篇作者-大联大友尚集团-水熊
更多资讯可点击此处前往“大联大”微博中查看,感谢支持!
50

被折叠的 条评论
为什么被折叠?



