我正尝试在特定事件发生时通过 WoWLAN 唤醒我的 3d 打印服务器,例如传入的 ssh 连接或与打印主机软件的连接。
该机器运行的是 Ubuntu 18.04,内核为 4.15.0-54-generic。无线硬件是 Intel Dualband-Wireless-AC 7260 设备。
iw list
表示,支持的 WoWLAN 方法包括断开连接、魔术包、模式匹配、GTK 重新密钥、EAP 身份请求、四次握手、rfkill 释放、网络检测和 TCP 连接。
我可以通过魔包方法成功激活#: iw phy0 wowlan enable magic-packet
,并且用此方法唤醒系统效果很好。
但是,我无法使 TCP 方法工作。运行后#: iw phy0 wowlan enable tcp
显示,需要在配置文件中指定 tcp:
Usage: iw [options] phy <phyname> wowlan enable [...] [tcp <config-file>]
[...]
The TCP configuration file contains:
source=ip[:port]
dest=ip:port@mac
data=<hex data packet>
data.interval=seconds
[wake=<hex packet with masked out bytes indicated by '-'>]
[data.seq=len,offset[,start]]
[data.tok=len,offset,<token stream>]
所以我写了一个配置文件(名为“wotcp”):
source=192.168.168.20
dest=192.168.168.39:22@48:53:B8:18:FC:86
data=00
data.interval=1
调用#: iw phy0 wowlan enable tcp ./wotcp
结果为command failed: Invalid argument (-22)
。指定完整路径或仅使用文件都会产生相同的结果。我还尝试了不同的数据和数据间隔值,但每次都显示“无效参数”。
我尝试通过查看来找出我是否使用了错误的语法https://git.kernel.org/pub/scm/linux/kernel/git/jberg/iw.git/tree/wowlan.c?h=v4.14但我看不出我做错了什么。所有指定的值似乎都是正确的语法
有人能告诉我我的配置文件有什么问题吗?或者有人有有效且可用的配置文件并愿意分享它吗?
提前致谢!