netconsole префикс каждого сообщения

Я только что включил netconsole на своих точках доступа беспроводной локальной сети Ubiquiti. Они запускают пользовательскую версию OpenWRT или LEDE, основанную на ядре Linux 3.3.8. Это работает, но отправляемое сообщение всегда содержит дополнительный префикс. Пока 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) 

К сожалению, эта assembly не имеет /dev/kmsg поэтому тестирование довольно неудобно.

В чем смысл этого префикса?

К сожалению, это было связано с исправленной версией драйвера / net / netconsole.c. Первые четыре шестнадцатеричных символа – это сеанс, который рандомизируется во время загрузки модуля ядра netconsole. Вторые четыре шестнадцатеричных символа являются внутренним номером модели точки доступа. Вы также можете получить его, запустив cat /proc/ubnthal/board | grep boardid cat /proc/ubnthal/board | grep boardid на AP.

Чтобы получить тарбол GPL, вам нужно связаться со службой поддержки и ждать целую вечность. И я также не вижу ни одной копии GPL, упакованной с их AP.