This thread is crazy.
I just ported my HA to Docker on RPi4 and encountered this problem. Thanks for all the hard work. I am trying the hub option first, then the resistor, and then will give up and buy a new stick.
This thread is crazy.
I just ported my HA to Docker on RPi4 and encountered this problem. Thanks for all the hard work. I am trying the hub option first, then the resistor, and then will give up and buy a new stick.
I also want to thank everyone in this thread. I got a RPI4 to replace my old RPI2 and faced this same problem. Luckily I stumbled upon this thread before giving up and buying a new Z-Wave adapter.
After applying the mod, the stick was recognized and it’s working perfectly.
Thanks again!
Thank you very much for this very very usefull topic!
I resolved this problem thanks to you.
Unfortunatelly I couldn’t sold the CMS resistor so I used classic resistors I have (1k + 500 since I didn’t have one of 1,5k) :
Would this also work with 1k and 470Ω resistors in series? I have nothing else available atm…
Should be fine as it’s very close to the values required anyway
I ended up using a 1k, a 470Ω and a 47Ω… The stick still works, so all good
Glad all is well
Hi. Can anyody share this software PC Programmer because i can not found it… and download…
Hi,
I did’t try this. But maby this helps.
Hello
After a bad USB hub, U1 on the stick has burnt.
Do you know what is the component?
Thanks! Aeotec Z-Stick Gen5 is now working on my Pi 4.
Hi,
it also worked for my Aeotec Gen5 ZStick EU frequency version. I atteched one 1kOhm, two 200Ohm and one 100Ohm resistor as I didnt have a suitable one at hand.
I also updated the firmware to version 4.54 as my stick still had version 3.95 on it.
Thank you @liamstears for the detailed description of this hack
Same here. Cant find the SDK that is crucial to downloading the PC program.
Anyone that can share a link where they found the SDK and possible a screenshot aswell. =)
New link for software: https://siliconlabs.force.com/s/validatezwsdk?ContentId=0681M000006WUzV%20&ContentType=SDK&rURL=https%3A//www.silabs.com/products/development-tools/software/z-wave/embedded-sdk.html
You must register to download
I have the oldest one. Version 3.95.
Can I still use it with the RPi 4? Besides the hardware mod, do I also need a firmware upgrade?
If so, where can I find the firmware?
The firmware is not made available and taken down by Aeotec, I guess due to issues/bricking of the stick so it’s not advised.
However the hardware mod should work fine and get you up and running
Thanks for replying. I think I can do that mod, but I get cold feet because I don’t have a way to get a new one, should I screw it up.
Edit: I also don’t think there’s physical room behind my Pi to connect another dongle, so I guess I’ll go with the hub.
Hi, all. I landed here because I have an Aeotec Z-Stick Gen5 but a Raspberry Pi 3B+. My issue is that the Z-Stick is not recognized at boot time. BUT if I unplug it and plug it in again, it comes up and everything’s fine.
I’m using the Pi to run zwave2mqtt to call my Home Assistant which is currently on a Hyper-V VM (Hyper-V cannot pass through USB devices, oy!)
I tried the cheap unpowered Sabrent USB hub, but that didn’t fix anything.
Tonight I got a solution working, which involves compiling a short .c program that can reset the USB bus. This is a software equivalent to unplugging and plugging back in the USB devices.
The downside is that it takes all USB devices offline. I tried targeting only the Z-Stick but it doesn’t work.
I don’t have a storage device on USB (yet), but my network goes down and back up again. But hey, it works fine for me, so I figured I’d share this non-hardware-hacking solution for anyone else who ends up here with a RPI3.
Do be aware that if you have a sensitive device on USB like a hard drive, this might not be the best solution for you. A hard drive might not like being dropped off the USB bus in this manner.
Here’s where I found the C program usbreset.c: https://gist.github.com/x2q/5124616
Compile it with: gcc -o usbreset usbreset.c
Here’s the bash script I use to call it, targeting the Aeotec device:
#!/bin/bash
USBNAME=0424:9514
LSUSB=$(lsusb | grep --ignore-case $USBNAME)
FOLD="/dev/bus/usb/"$(echo $LSUSB | cut --delimiter=' ' --fields='2')"/"$(echo $LSUSB | cut --delimiter=' ' --fields='4' | tr --delete ":")
echo $LSUSB
echo $FOLD
sudo /root/usbreset/usbreset $FOLD; #The path where you have the usbreset executable
I have my .c source, compiled binary and bash script in /root/usbreset
.
I modified my zwave2mqtt systemctl service definition to call my bash script before executing zwave2mqtt via docker-compose.
My systemctl service definition for zwave2mqtt looks like this:
# /etc/systemd/system/zwave2mqtt.service
[Unit]
Description=zwave2mqtt Docker Service
Requires=docker.service
After=docker.service
[Service]
User=root
Type=oneshot
RemainAfterExit=yes
WorkingDirectory=/root/zwave2mqtt
ExecStartPre=/root/usbreset/resetusb.sh
ExecStart=/usr/local/bin/docker-compose up -d
ExecStop=/usr/local/bin/docker-compose down
TimeoutStartSec=0
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=zwave2mqtt
[Install]
WantedBy=multi-user.target
Works very well, and I may not need to break out the soldering iron at all.
Hi,
I managed to get the Aeotec Z-Stick Gen5 it to work with Raspberry Pi 4 Model B 8GB.
If you add a USB 2.0 hub between the stick and the Raspberry Pi 4 it works.
I needed to connect to /dev/serial/by-id/usb-0658_0200-if00 and NOT the /dev/ttyAMA0 device i used on the Pi3
This modification works great !!!
Done with a 1k and 510 ohm resistor in series. To make soldering easier, you can first fix the resistors with hot glue.