我刚刚启用了netconsole
Ubiquiti 无线 LAN 接入点。他们运行基于 Linux 内核 3.3.8 的自定义 OpenWRT 或 LEDE 版本。它可以工作,但它发送的消息始终包含附加前缀。一边dmesg
读
[ 73.690000] netconsole: remote port 6666
它被发送为
{d865 e557} [ 73.690000] netconsole: remote port 6666
我wireshark
用 和netcat
作为接收器确认了这一点。它始终包含一个前缀,其中{hhhh hhhh}
是h
小写十六进制数字。无论什么设备发送消息,第二个块似乎总是 e557,而第一个块似乎不时变化,但它似乎与设施、时间或严重性无关。
一些样本:
{32f8 e557} [ 2107.350000] br0: port 2(ath0) entered disabled state
{32f8 e557} [ 2109.200000] Restarting system.
{d865 e557} [ 73.690000] netconsole: local port 514
{d865 e557} [ 73.690000] netconsole: local IP 10.1.0.10
{6d77 e557} [ 1215.920000] STOPPED EVENT for vap 1 (80f50000)
不幸的是,这个版本没有,/dev/kmsg
所以测试非常不舒服。
这个前缀的含义是什么?
答案1
不幸的是,这是由于 driver/net/netconsole.c 的修补版本造成的。前四个十六进制字符是一个会话,在加载 netconsole 内核模块期间会被随机化。后四个十六进制字符是 AP 的内部型号。您也可以通过cat /proc/ubnthal/board | grep boardid
在 AP 上运行来获取它。
要获得 GPL tarball,您必须联系支持人员并等待很长时间。而且我也没有看到任何包含他们的 AP 的 GPL 副本。