jens-maus / RaspberryMatic

:house: A feature-rich but lightweight, buildroot-based Linux operating system alternative for your CloudFree CCU3/ELV-Charly 'homematicIP CCU' IoT smarthome central. Running as a pure virtual appliance (ProxmoxVE, Home Assistant, LXC, Docker/OCI, Kubernetes/K8s, etc.) or on a dedicated embedded device (RaspberryPi, Tinkerboard, IntelNUC, etc.)
https://raspberrymatic.de
Apache License 2.0
1.5k stars 184 forks source link

Z-Wave.me UZB does not work after RaspberryMatic 3.71.12.20231020 #2732

Closed Nugman closed 2 months ago

Nugman commented 2 months ago

Describe the issue you are experiencing

The Z-Wave.me USB Stick (ZMEEUZB1) is not initialized properly during boot and is therefore not listed as a device under /dev/serial

Describe the behavior you expected

I use the Z-Wave.me USB dongle for a couple of years now in my RasberryMatic. Since the RPi running RasberryMatic is placed centrally in the hallway of my house, I plugged in a Z-Wave USB Stick and an USB ZigBee-Stick and shared them via Ser2Net and socat with my OpenHAB instance running on a VM. This setup is working now for several years.

Yesterday I tried to update my quite aged RaspberryMatic installation from 3.65.11.20221218 to the most recent version 3.75.7.20240420. After that I found, that the Z-Wave devices were not working anymore. After debugging a little bit back and forth, I downgraded to the old version 3.65.11.20221218 and the Z-Wave stick was working again.

Today I narrowed it down and found that RaspberryMatic 3.71.12.20231020 is the last version supporting the Z-Wave.me Stick. In all versions since 3.73.9.20231130 the stick does not work anymore.

Steps to reproduce the issue

  1. update RaspberryMatic to 3.73.9.20231130 or later
  2. plug in a Z-Wave.me USB Stick (ZMEEUZB1)
  3. watch /dev/serial/by-id/ for the device to not appear

What is the version this bug report is based on?

3.73.9.20231130

Which base platform are you running?

rpi3 (RaspberryPi3, ARM64/aarch64)

Which HomeMatic/homematicIP radio module are you using?

HM-MOD-RPI-PCB

Anything in the logs that might be useful for us?

dmesg says:

[    0.945115] usb 1-1: new high-speed USB device number 2 using dwc_otg
[    0.945302] Indeed it is in host mode hprt0 = 00001101
[    1.131621] usb 1-1: New USB device found, idVendor=0424, idProduct=9514, bcdDevice= 2.00
[    1.131648] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[    1.132504] hub 1-1:1.0: USB hub found
[    1.132680] hub 1-1:1.0: 5 ports detected
[    1.415108] usb 1-1.1: new high-speed USB device number 3 using dwc_otg
[    1.503562] usb 1-1.1: New USB device found, idVendor=0424, idProduct=ec00, bcdDevice= 2.00
[    1.503587] usb 1-1.1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[    1.582110] usb 1-1.2: new full-speed USB device number 4 using dwc_otg
[    1.691343] usb 1-1.2: New USB device found, idVendor=0451, idProduct=16a8, bcdDevice= 0.09
[    1.691366] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    1.691382] usb 1-1.2: Product: TI CC2531 USB CDC
[    1.691395] usb 1-1.2: Manufacturer: Texas Instruments
[    1.691415] usb 1-1.2: SerialNumber: __0X00124B0011FED23A
[    1.770100] usb 1-1.4: new full-speed USB device number 5 using dwc_otg
[    1.846110] usb 1-1.4: device descriptor read/64, error -32
[    2.031209] usb 1-1.4: device descriptor read/64, error -32
[    2.215097] usb 1-1.4: new full-speed USB device number 6 using dwc_otg
[    2.291103] usb 1-1.4: device descriptor read/64, error -32
[    2.471102] usb 1-1.4: device descriptor read/64, error -32
[    2.579287] usb 1-1-port4: attempt power cycle
[    3.175102] usb 1-1.4: new full-speed USB device number 7 using dwc_otg
[    3.187587] usb 1-1.4: device descriptor read/8, error -32
[    3.303709] usb 1-1.4: device descriptor read/8, error -32
[    3.352086] mmc1: error -110 whilst initialising SDIO card
[    3.487106] usb 1-1.4: new full-speed USB device number 8 using dwc_otg
[    3.499583] usb 1-1.4: device descriptor read/8, error -32
[    3.615710] usb 1-1.4: device descriptor read/8, error -32
[    3.723215] usb 1-1-port4: unable to enumerate USB device

should be:
[    5.229886] usb 1-1.4: new full-speed USB device number 7 using dwc_otg
[    5.253977] usb 1-1.4: New USB device found, idVendor=0658, idProduct=0200, bcdDevice= 0.00
[    5.254018] usb 1-1.4: New USB device strings: Mfr=0, Product=0, SerialNumber=0

Additional information

During my researches I found, that HomeAssistant had a similar issue with this particular Z-Wave dongle in version 11.1. It was fixed in HA 12.1 where apperantly some USB-stuff in the Kernel was patched. See HomeAssistant Bug 2995.

jens-maus commented 2 months ago

Thanks for this ticket. I just added the same patch the HomeAssistantOS project is currently using to potentially solve this issue. So please try with the next nightly snapshot and report back if the issue is also solved for the RaspberryMatic project.

Nugman commented 2 months ago

Many thanks for the swift reply. Can you direct me to the Nightly Build? Then I can test tomorrow.

Baxxy13 commented 2 months ago

https://github.com/jens-maus/RaspberryMatic/releases/tag/snapshots

Nugman commented 2 months ago

I just installed RaspberryMatic-3.75.7.20240508-1532f1-rpi3.zip and the ZWAVE ME-Stick works like a charm. Many thanks for the quick reply and fix!