RaspberryMatic: HMLANGW mode doesn't work in 3.69.7.20230626
Describe the issue you are experiencing
/bin/hmlangw hangs and endless kernel messages mmd_bidcos: not enough space in buffers
appears ~2,5 h after start, no lan gateway functionality at this point.
Describe the behavior you expected
stable lan gateway mode
Steps to reproduce the issue
update from release 3.69.7.20230506 to 3.69.7.20230626 via Web GUI (temporarily rm /usr/local/HMLGW
)
What is the version this bug report is based on?
3.69.7.20230626
Which base platform are you running?
Raspberry Pi Zero W Rev. 1.1
Which HomeMatic/homematicIP radio module are you using?
HM-MOD-RPI-PCB
Anything in the logs that might be useful for us?
# netstat -tulpn | grep LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1245/sshd [listener
tcp 2 0 0.0.0.0:2000 0.0.0.0:* LISTEN 1332/hmlangw
tcp 0 0 0.0.0.0:2001 0.0.0.0:* LISTEN 1332/hmlangw
tcp 0 0 :::22 :::* LISTEN 1245/sshd [listener
# cat /var/log/hmlangw.log
Client 192.168.178.33 connected to BidCos port!
Client 192.168.178.33 connected to keepalive port!
Keepalive client closed connection.
BidCos client closed connection.
# tail -f /var/log/messages
Jun 28 16:54:10 homematic-raspi-hgw kern.err kernel: [15551.812456] eq3loop: eq3loop_write_master() mmd_bidcos: not enough space in buffers. free space = 15, required space = 18
Jun 28 16:54:10 homematic-raspi-hgw kern.info kernel: [15551.812513] eq3loop: eq3loop_write_master() return error: -14
.
.
. [in endless]
Additional information
Raspberry Pi Zero W is connected by WLAN.
When the issue appears, network between CCU and LAN Gateway still working, but not connected
at CCU Web GUI LAN Gateway Configuration page.
On the issued LAN Gateway side the /bin/hmlangw daemon is still running without abnormal CPU load:
# top
.
1332 1 root S 20660 4% 1% /bin/hmlangw -n REQ0914234 -s /dev/mmd_bidcos -r -1
.
but I can’t kill 1332
process, means command doesn’t fulfill without any response on CLI.
The Raspberry Pi Zero W doesn’t really hangs, but at issue time its responds very slowly, may be given by the system architecture combined with endless log messages…
To reboot the LAN Gateway solved the issue for next 2,5 hours without any changes on CCU, on release 3.69.7.20230626 too.
Maybe behavior looks like #2340 without any CPU load.
How can I help for further investigations?
About this issue
- Original URL
- State: closed
- Created a year ago
- Comments: 20 (14 by maintainers)
Commits related to this issue
- fixed issue that hmlangw puts rf-module copro into bootloader mode itself while multimacd is already doing that (#2350, @jp112sdl) — committed to jens-maus/RaspberryMatic by jp112sdl a year ago
Ich mache den PR im Laufe des Tages noch fertig.
So, ich habe das Testsetup (mit den heutigen Nightly’s) nun ordentlich mit Verbindungsabbrüchen und Reboot’s malträtiert. Kurz und knapp. Läuft und lässt sich nicht aus dem Tritt bringen, also reconnected immer sauber ohne Fehlermeldungen oder sonstwas. Gute Arbeit @jp112sdl ! Wird mal wieder Zeit für eine gemeinsame Portion 🐮
😉
So, Lagebericht:
Haben bei einer Session am Vormittag in meine RM-LGW (Pi2B mit HM-MOD-RPI-PCB und RM-Nightly 3.71.12.20230726-4751dc) einen von @jp112sdl modifizierten
hmlangw
eingepflanzt.Seitdem kann ich keine Probleme mehr feststellen. Die Verbindung zur RM-LGW wird nach Reboots der RM-OVA oder Restarts des rfd (auf der RM-OVA) problemlos wiederhergestellt. Auch sah ich seitdem keine der
not enough space in buffers
-Fehlermeldungen mehr im Log der RM-LGW.Sieht für mich also “gefixt” aus.
Nun wird es klarer… bereits beim Disconnect wird
sendEnterBootloader
aufgerufen. Anschließend findet keine Kommunikation zwischen RFD und HMLANGW (und somit auch dem multimacd und dem CoPro) statt, was zunächst unproblematisch ist. Und beim nächsten Connect, wenn der RFD wieder was vom CoPro will, läuft dann alles gegen die Wand?https://github.com/jens-maus/RaspberryMatic/blob/98391333f20bde382610512c4945e972d708c54b/buildroot-external/package/hmlangw/hmlangw.cpp#L505-L510
Das selbe passiert auch, wenn der
hmlangw
Prozess beendet wird.Ich würde
sendEnterBootloader
komplett als Kommandozeilenparameter abschaltbar machen.Schaue ich mir mal an.