-
-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Z-Wave.me UZB dongle not fully recognized #2995
Comments
I'm having a similar issue, after upgrading to 11.2 my usb Zwave hub is no longer recognized. |
In my case, it is the SkyConnect stick that stops working after a few hours and the problem can only be solved by unplugging it and plugging it in again. A downgrade to 11.1 solved the problem for me. |
Can confirm that downgrading to 11.1 and then unplugging and replugging in the dongle (Aeotec z-stick Gen 5) fixes the issue. |
On my RPI 3b+ downgrading to 11.1 (ha os update --version 11.1) directly fixed the issue with Z-Wave USB Stick (ZMEEUZB1). |
Same as all, I upgraded to OS 11.2 Zwave stop working as the stick was no more detected. I downgraded to OS 11.1, stick is back online. |
Also related #2977 |
We suspect it could be caused by some regression in the stable kernel, because at the same time similar issues started to appear on RPi and x86 platforms. There is bunch of changes in the USB subsystem in the newer stable releases which are currently in the development branch. If there's someone willing to switch to the
Otherwise there should be another beta release soon, we will appreciate early feedback after the release too. |
Since OS 11.3.rc1 is out for a while already, has anyone been able to check if the problem persists there? |
I also noticed that with OS 11.3.rc1 but for me it just took longer until the error reappeared, it just depends on how long there is no restart. |
I will try this tomorrow morning and will keep you posted if it works. |
@mcolyer @sblogoshs @ohessel @bnounours @llroelj do you see the same device descriptor read errors as the original poster? @bnounours which stick are you using? |
After going through the above mentioned steps I am having the same error as mentioned above and the one I had before downgrading to 11.1
I see in the Z-Wave JS addon also the same error popping up: " Driver: Failed to open the serial port: Error: No such file or directory, cannot open /dev/serial/by-id/usb-0658_0200-if00 (ZW0100)" Currently I am running the following versions: Core: 2023.12.3 |
@llroelj so you are saying you had the device descriptor read with 11.2 as well as the OS version from the dev channel? What (exact) hardware are you running HAOS on? |
Indeed I had the same message in 11.2 and now the dev channel. With both the zwave stick cannot be found by the system itself (no serial folder). I am running HAOS on a RPi3 B+ 1GB memory installed on a SanDisk Ultra 32GB microSDHC card |
My problems with USB is solved now after upgrading to HAOS 11.3. I had problems with ConbeeII zigbee dongle not being detected. This is possibly another issue but worth trying 11.3 as I see a couple of kernel USB fixes. |
With the final version OS 11.3 the error seems to be fixed, but due to various updates I haven't had 24 hours without a restart yet, I hope that it will still work. |
I can tell that upgrade to OS 11.3 DID NOT FIXED (? or did?) the issue with Z-Wave.me UZB. Descriptor error is still coming, however it's looks like that dongle is working as expected
|
I have the same on my HA Yellow. When upgrading to 11.2 or 11.3 my UZB Zwave stick cannot be found anymore. No usb device available. When downgrading to 11.1, everything works again. I have tried the upgrade three times, but no luck. I hope this can be fixed in next release. |
@agners I did not download the logs, and the journal of the error is rotated away already. |
I'm in the same situation, with 2 different Zwave devices. |
@afaucogney So you're saying 11.4 has the same issue? |
@ohessel Yes it seems the same issue. |
@sairon can you please add the board/yellow label as well? I have this issue on the yellow (see earlier post). |
Is there some activity on this topic, or do you need some information/log to help you ? |
I have been looking at the changelog for Debian 12.2 for "suspects". Found these commits in the Linux kernel that was introduced in Debian 12.2: My guess, but I might be wrong, is that the "Unite old scheme and new scheme descriptor reads is the cause why the UZB does no longer work. There is a fix for USB3 (SuperSpeed) that was found not to work after the schemes update. Here you can read a bit about these patches and how they were introduced: https://lore.kernel.org/linux-usb |
@FredrikFornstad Very interesting findings again, thanks! I've created a build with those four patches reverted for Raspberry Pi 3 (32-bit and 64-bit builds), could you test it? You can find the build here: https://github.com/home-assistant/operating-system/actions/runs/8141367477 Just ignore the failure, it's because the image of the target for testing wasn't built. Also note you must be logged in to download and the files are ZIP compressed when downloaded (it's a limitation of GH artifacts). |
FWIW, these changes were introduced to Linux stable in 6.1.53 - which means that last version working should be HAOS 10.5 for x86 (and other non-RPi boards, with 11.0.rc1 being the breaking version, bumping 6.1.52 -> 6.1.53), and HAOS 11.1 for Raspberry Pi (breaking version 11.2.rc1, bumping 6.1.21 -> 6.1.58). This issue is a bit of a mixed bag of reports from both platforms without any further details, and while there's clear consensus about reverting to 11.1 fixing the issue, it's not clear if it's related to x86, or those all are about RPi (which should have been reported in #2977). |
Tested your special bild (64bit). Result: It works with UZB on rpi3b. Dmesg reports Linux version 6.1.73-haos-raspi with build date today afternoon. It is exactly as in haos 11.1: 2x2 error messages, and then directly after the "attempt powercycle" it find the UZB and do the handshake and then cdc_acm assigns it to ttyACM0 I have a broken internet connection today, so I only have my mobile. So I skip the 32bit for now. But I am sure it also will work successfully. Next step? Report to the Linux usb team? |
@FredrikFornstad Perfect, I have started a discussion in the linux-usb mailing list and reported the issue to the regressions list as well. Also, putting all the pieces together, I realized the "USB 2" port on my mini PC I used for the testing before, is in fact only black, but it's a SuperSpeed port anyway 🤦 That's why I wasn't able to reproduce it before (just like you, I got -71 errors instead and the driver recovers). And using RPi's USB 2 ports, I am reproducibly getting the USB enumeration error too 🎉 |
The solution to put the UZB stick in a USB3 port is not a solution for the HA Yellow. This device only has USB2 ports (in USB-A format). I just tried again the update from 11.1 to 11.5 and 12.0, but the UZB stick is not found. I switched USB port (but are both USB2) and no effect as expected. After downgrading to 11.1 the UZB is recognised again. I hope this can be solved upstreams and if not in a special build for HA Yellow devices. @sairon can you also add the HA Yellow label to this topic? |
Revert changes in the USB driver causing Z-Wave sticks (Z-Wave.me a and Aeotec at least) failing to enumerate. Issue is reported upstream but reverting the patches is a feasible workaround for the time being. Refs #2995
Revert changes in the USB driver causing Z-Wave sticks (Z-Wave.me a and Aeotec at least) failing to enumerate. Issue is reported upstream but reverting the patches is a feasible workaround for the time being. Refs #2995
Thnx @sairon ! |
@sairon, I saw Alan Stern asked for Windows Wireshark logs from UZB attachment. This is from my HP Pavilion laptop, running Windows 10 Home 22H2. The log starts exactly when I plug in the UZB, before I plugged it in it was 30 seconds of complete silence on the usb-bus. The UZB is plugged into "Port 2" which after windows has managed to start talking to it becomes destination 1.3.0. One notable difference (I think) is that Windows do 5 port resets, before it manage to start communication with the UZB. I guess the UZB "problem" can be timing related, and that Linux gives up too soon. Also, I tend to remember to have read somewhere that Windows uses the "new" scheme, just as Linux do since the "troublesome" patches that caused the problems with UZB, so maybe if Linux did a few more tries before giving up, it maybe works also with the new scheme. Anyway, maybe the attached log-file is of some help. Windows assign the UZB to COM3 in this particular case. One thing that puzzles me is that with the Linux patches USB3 ports actually works, but USB2 ports do not, even though Alan says that the USB init is now sharing the code between the two... Leads me to think there has to be some difference in behaviour between USB2 and USB3 code. |
@sairon, I looked in detail at your usbmon traces and compared them side by side. I understand Alan already have looked at those in detail, and as an amateur I can probably not provide much more useful input/ideas. But I stick out my neck a little bit and offer my observations for what it may be worth:
|
Upgrade to v12.1 did not change the USB disconnect behaviour. Using it from USB3 improved stability (from disconnecting permanently every 2nd time to every 4-5 times ZWave JS was restarted). |
As a datapoint... my Z-Wave.Me UZB has none of these failures that I've seen. Looking now I also see nothing in various logs.
Note: There are many sub-types of UZB sticks and each has distinct firmware upgrade paths that DO NOT all reach the same numbers. |
I updated my HA yellow from 11.1 to 12.1. Looking at dmesg output, I still get some errors while it attempts to read the descriptor, after a single power cycle it recognizes the stick. |
@sairon , I saw that you are thinking about contacting Z-Wave.Me team on possible correction of the UZB firmware. For your information, in case you are not aware, relevant information for them might be the combination of bootloader version and firmware version. The bootloader version is easily obtained using their Z-Way software using the Expert UI (no license needed for viewing the info or to upgrade bootloader and/or firmware). I do not recall exactly what versions my UZB sticks had when I bought them many years ago. But at least one of them was on 5.04 or 5.05. The other one must have been 5.06 or earlier. Today, both my UZB sticks are running bootloader 40196 and firmware 5.39 (after several steps of upgrading both bootloader and firmware). As @diablodale says, the bootloader/firmware upgrade paths are not straight forward. Actually, I think it is possible to upgrade his UZB to 5.39 also, but requires to filter on "all" upgrade paths and not only the "active" ones. However, I do not know why some paths (the non-active) are normally hidden, so maybe this is not recommended. See here for the very complicated upgrade path map: [https://service.z-wave.me/expertui/uzb-stats/versions-graph.html?hw=277&with_hidden] Given the amount of time that has pasted since 5.39 firmware was released, I somewhat doubt if the Z-Wave.Me team still have a possibility to make any adjustments (if it is technically possible). |
For the record: 12.1 fixed the issue for me. (on Home-Assistant Yellow) |
For me as well, the ZWAVE stick was recognized with 12.1 |
Thank you @sairon for calling for me. I'm from Z-Wave.Me, the manufacturer of the UZB1. Before we dive in deeper, just to test it, does an intermediate old-school USB hub helps? This might be an easy solution. Based on the details analysis here and in the Linux Kernel thread I can deduce that UZB1 is setting up pull-ups too early. Even taking into account that this device is EOL and is not produced for more than 4 years, we still have the ability to make a new firmware. In theory ;) But I'll have to check with my colleagues if we have access to the USB part of the code as in old times Sigma Designs was not sharing sources of internal parts of the SDK, especially in the CDC-ACM driver implementation (in contrast, now we control everything except for the very low-level RF driver called RAIL). I'll come back soon with more info from our R&D. Please note that we have released new cool hardware to substitute UZB1. Modern and more professional. All are using high-performant external antennas providing 3-4 times better range compared to UZB1. And with Long Range support (if you are in the US; soon in EU too)! Recently we published our test results and it went up to 1.9 km light-of-sight! And of course a simple backup & restore can help to migrate without any re-inclusion. So, if you thought about replacing the old 5th gen UZB1 with new hardware, it is the right time — to compensate the issue above we propose an offer of 20 EUR discount on any of the three hardware listed above with the coupon 2CPLD4DT. |
There hasn't been any activity on this issue recently. To keep our backlog manageable we have to clean old issues, as many of them have already been resolved with the latest updates. |
Describe the issue you are experiencing
After updating to 11.1, my usb dongle for Z-Wave became unresponsive and integration z-wave js ui hangs or won't start from time to time.
When I turn on the monitor connected to Intel NUC, I can se that dongle generates some errors when connected to usb port.
It's saying "device descriptor read/64, error -32
It's like missing driver or something. Issue persist in 11.2 version. Right now, I had to move my z-wave network to Aeotec Z-Stick 7.
What operating system image do you use?
generic-x86-64 (Generic UEFI capable x86-64 systems)
What version of Home Assistant Operating System is installed?
6.1.63-haos - Home Assistant OS 11.2
Did you upgrade the Operating System.
Yes
Steps to reproduce the issue
...
Anything in the Supervisor logs that might be useful for us?
Anything in the Host logs that might be useful for us?
System information
System Information
Home Assistant Community Store
Home Assistant Cloud
Home Assistant Supervisor
Dashboards
Recorder
Additional information
No response
The text was updated successfully, but these errors were encountered: