netconsole 为每条消息添加前缀

netconsole 为每条消息添加前缀

我刚刚启用了netconsoleUbiquiti 无线 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 副本。

相关内容