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

Most upvoted comments

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.

Warum das Ganze beim 1. Connect funktioniert, weiß ich zwar auch nicht.

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.