I’ve been trying to get the Smartthings Link USB stick working on Openhab and Home Assistant. From the research I’ve conducted, I’ve found that the stick is running a Silicon Labs CP210x chipset, which is also used by other Zigbee/Zwave usb devices, and is a widely supported chipset on PC’s. The problem I’m facing is that with the generic Silicon Labs VCP drivers throw an error on Windows and Linux when trying to start the device. According to Silicon Labs, this can happen when the manufacturer has modified something. Is there any way we can get this working?
On Windows, the stick throws and Error 10 when using the SiLabs VCP driver. I have tried the USBXpress driver as well, and the device starts ok, but I get no serial ports so it is useless. Likewise, the Silicon Labs CDC Driver installs with no error, but gives no COM ports. The only other driver that “starts” the device without an error is the Windows built in “USB to Serial Adapter” driver. This gives me one COM port, but it doesn’t respond to anything.
In Linux, it connects as a ACM device, again with no serial connection.
I can get it to unbind from cdc_acm and bound to cp210x by running:
sudo modprobe cp210x
sudo tee /sys/bus/usb/drivers/cdc_acm/unbind <<<1-2:1.0
sudo tee /sys/bus/usb/drivers/cp210x/bind <<<1-2:1.0
sudo tee /sys/bus/usb/drivers/cp210x/bind <<<1-2:1.1
I got the 1-2:1.0 and 1-2:1.1 from dmesg and:
tree /sys/bus/usb/drivers
Once it’s is bound to cp210x, I looked at dmesg again, i can see the device linking to ttyUSB0 and ttyUSB1, but they end up with an error. Usually -32 or -71.
cp210x 1-2:1.0: cp210x converter detected
cp210x ttyUSB0: failed get req 0x4 size 2 status: 0
cp210x: probe of ttyUSB0 failed with error -71
cp210x 1-2:1.1: cp210x converter detected
cp210x ttyUSB1: failed get req 0x4 size 2 status: -32
cp210x: probe of ttyUSB1 failed with error -32
This is as far as I’ve gotten. I’m not sure what else to try. can anyone offer any suggestions? Better yet, can one of the engineers chime in about sharing the driver they used to talk to the stick during development? I wouldn’t even mind if it was unsigned or unsupported. The hardware seems like it is compatible with just the driver holding us back.
Thanks for any help offered