Rfsniffer: SPI init failed

Приветствую.

Не получается запустить RFSniffer.

/run/wb-homa-rfsniffer.log:
1606195916 ERROR : SPI init failed (probably no such device: /dev/spidev32766.0)
1606195916 INFO : Please contact developers

Где что нужно подкрутить?

Firmware version 202002171718
HW Revision 6.5
Short SN AY6CHYJH

Добрый день. А есть ли само устройство? Имею в виду /dev/spidev32766.0, сконфигурировано ли само устройство?
https://wirenboard.com/wiki/433MHz#.D0.9D.D0.B0.D1.81.D1.82.D1.80.D0.BE.D0.B9.D0.BA.D0.B8_.D0.BF.D0.B0.D1.80.D0.B0.D0.BC.D0.B5.D1.82.D1.80.D0.BE.D0.B2_rfsniffer

Отсутствует.

А как сконфигурирован сам радиоинтерфейс?
В правильный ли разъем расширения вставлен?
Проверьте по пунктам:
https://wirenboard.com/wiki/Wiren_Board_6:%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C%D1%80%D0%B0%D1%81%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%B8%D1%8F_433MHz_(WBE2S-R-433MHZ)

А как его нужно сконфигурировать? не нашел.
Я ничего не вставлял. Заказывал девайс с этим модулем. Все пришло уже в сборе.

В настоящее время на этой странице нет текста.

Да, нужно. Тут написано: https://wirenboard.com/wiki/Wiren_Board_6:%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C%D1%80%D0%B0%D1%81%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%B8%D1%8F_433MHz_(WBE2S-R-433MHZ)

Firmware version 202011300122 HW Revision 6.7.2
При загрузке не стартует rfsniffer. Если сразу после загрузки рестартануть сервис, то все начинает работать, как победить?

В dmesg:

[    6.077764] lirc_pwm: module is from the staging directory, the quality is unknown, you have been warned.
[    6.173456] lirc_pwm lirc-rfm69: Error applying setting, reverse things back
[    6.487547] lirc_pwm: probe of lirc-rfm69 failed with error -22
[   20.955452] lirc_pwm lirc-rfm69-mod3: GPIO receiver on pin 85
[   21.015143] lirc_pwm lirc-rfm69-mod3: lirc_dev: driver lirc-rfm69-mod3 registered at minor = 0
[   21.029226] lirc_pwm lirc-rfm69-mod3: probed
[88467.343176] lirc_pwm lirc-rfm69-mod3: Value on the pin #85 hasn't been changed! (wtf?) value=0, last=88448559884, now=88469651739, delta=21091854

В логе:

/wb-homa-rfsniffer.log
1613188597 INFO  : RFSniffer parameters
1613188597 INFO  :   ||  config = '/etc/wb-homa-rfsniffer.conf'
1613188597 INFO  :   ||  bDebug = false
1613188597 INFO  :   ||  bDumpAllRegs = false
1613188597 INFO  :   ||  bLircPedantic = true
1613188597 INFO  :   ||
1613188597 INFO  :   ||  spiDevice = '/dev/spidev0.0'
1613188597 INFO  :   ||  spiSpeed = 500000
1613188597 INFO  :   ||  gpioInt = 64
1613188597 INFO  :   ||
1613188597 INFO  :   ||  fixedThresh = 0
1613188597 INFO  :   ||  rssi = -90
1613188597 INFO  :   ||  bRfmEnable = true
1613188597 INFO  :   ||
1613188597 INFO  :   ||  bCoreTestMod = false
1613188597 INFO  :   ||
1613188597 INFO  :   ||  lircDevice = '/dev/lirc0'
1613188597 INFO  :   ||
1613188597 INFO  :   ||  mqttHost = 'localhost'
1613188597 INFO  :   ||
1613188597 INFO  :   ||  scannerParams = ''
1613188597 INFO  :   ||
1613188597 INFO  :   ||  bDumpAllLircStream = false
1613188597 INFO  :   ||  bSimultaneouslyDumpStreamAndWork = false
1613188597 INFO  :   ||
1613188597 INFO  :   ||  savePath = '~/'
1613188597 INFO  :   ||  inverted = false
1613188597 ERROR  : SPI init failed (probably no such device: /dev/spidev0.0)
1613188597 INFO  : Please contact developers

Добрый вечер!
Попробуйте в терминале putty прописать команду

echo 'After=wb-hwconf-manager.service' >> /etc/systemd/system/wb-homa-rfsniffer.service.d/override.conf

После

systemctl daemon-reload
systemctl restart wb-homa-rfsniffer.service

Этим Вы укажите сервису wb-homa-rfsniffer запускаться после сервиса wb-hwconf-manager, которая создает устройства.

Для проверки, что команда прописалась, введите

systemctl cat wb-homa-rfsniffer.service

Вывод должен быть:

#/etc/systemd/system/wb-homa-rfsniffer.service.d/override.conf
After=wb-hwconf-manager.service

Столкнулся с аналогичной проблемой на свежей прошивке (2204), я так понимаю, только /dev/lirc0 устройство не создается при подгрузке dts. Я так понимаю lirc_pwm выпилили из ядра? Или что-то неправильно делаю?

Добрый день.

Да, lirc-rfm69 не собираются в новом ядре. Модуль 433 уже несколько лет не поддерживается.
spidev патч для 433 модуля добавили.
Если добавите в новое ядро - думаю что заработает.

Это я уже тоже нашел, что там перепилили драйвер lirc начиная с 4.15+ чтоли (в общем, в 4.20 уже не было). SPI устройство то создается, плюс современный подход предлагает обновиться на pwm-ir-tx и gpio-ir-rx, но там два lirc устройства, одно на прием, другое на передачу, так что без исправлений не заработает. Мне лично хватает рабочего wb-homa-ism-radio как оказалось (оказывается, что в новых светильниках перешли на 2.4G с 433, поэтому придется решать вопрос иначе). Может если потребуется для какой-то железки - подпилю rfsniffer и dts.

1 лайк

То есть с современным ядром это легаси-решение работает?

Полноценность пока не мучал (пытался больше разобраться с rfsniffer’ом), но прием идет, noolite rx и raw rx увеличивались, надо попробовать будет силовой модуль noolite и их датчик. Пришлось поправить немного по быстрому init (WB_OF_ROOT почему-то в init скрипте пустой получается), дальше вроде все ок, на WB6.7 PIN определился как 64, запуск rcd с параметрами “0 64 -1” запускает, данные в консоль прилетают при нажатии кнопки на пульте.

И ради интереса - если ставить старое ядро много чего можно сломать? Не сохранилось ли штатных пакетов с pre 4.20 (4.9.153 было до него, судя по GitHub (нет скриптом для сборки, оно выпускалось?, либо 4.9.20)?

И я пока ковырял компиляцию ядра - не стоит ли выкинуть побольше лишних драйверов?

1 лайк

Точно не подскажу, но, думаю, что тогда лучше использовать более старый релиз целиком.

Более ранних версий в репозитории нет, их уже не поддерживаем.

Если что-то мешает, можно попробовать. Но если не мешают, то, думаю, не стоит.

Эта тема была автоматически закрыта через 7 дней после последнего ответа. В ней больше нельзя отвечать.