wallneradam / tc420

Python Library and CLI for TC420 (USB) LED Controller / Dimmer
GNU General Public License v3.0
21 stars 8 forks source link

error using tc420 demo on raspi4 4GB with fresh bullseye installation #16

Open OZimmermann opened 8 months ago

OZimmermann commented 8 months ago

Hi and thanks for great work. The installation worked without errors and I can synchronise the time with tc420-cli time-sync. But when I run tc420-cli demo -c 1 0 0 0 0 or just tc420-cli demo I get an error message. I am using a RaspberryPi 4 with Bullseye operating system and Python 3.9. thanks for help Oliver

root@aquarium2:/opt# tc420 demo -c 1 0 0 0 0
Initialize playing 'Demo'... Traceback (most recent call last):
  File "/usr/local/bin/tc420", line 8, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.9/dist-packages/tc420/__main__.py", line 300, in main
    cmd_group()
  File "/usr/lib/python3/dist-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/usr/lib/python3/dist-packages/click/core.py", line 1289, in invoke
    rv.append(sub_ctx.command.invoke(sub_ctx))
  File "/usr/lib/python3/dist-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/lib/python3/dist-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/click/decorators.py", line 21, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/tc420/__main__.py", line 279, in demo
    ctx.obj.dev.play(name="Demo", adapter=adapter, onchange_callback=onchange)
  File "/usr/local/lib/python3.9/dist-packages/tc420/tc420.py", line 410, in play
    res = self.send(PlayInitPacket(name))
  File "/usr/local/lib/python3.9/dist-packages/tc420/tc420.py", line 319, in send
    res_pkt = TC420Packet(payload=self.in_ep.read(64, timeout=self.timeout))
  File "/usr/local/lib/python3.9/dist-packages/usb/core.py", line 423, in read
    return self.device.read(self, size_or_buffer, timeout)
  File "/usr/local/lib/python3.9/dist-packages/usb/core.py", line 1029, in read
    ret = fn(
  File "/usr/local/lib/python3.9/dist-packages/usb/backend/libusb1.py", line 864, in intr_read
    return self.__read(self.lib.libusb_interrupt_transfer,
  File "/usr/local/lib/python3.9/dist-packages/usb/backend/libusb1.py", line 954, in __read
    _check(retval)
  File "/usr/local/lib/python3.9/dist-packages/usb/backend/libusb1.py", line 602, in _check
    raise USBTimeoutError(_strerror(ret), ret, _libusb_errno[ret])
usb.core.USBTimeoutError: [Errno 110] Operation timed out
root@aquarium2:/opt# 
git-madresc commented 4 months ago

I see this, too. Looks like the 'demo' command somehow disconnects the hid device. The USB device (-> lsusb) is still present, but /dev/hidraw0 is gone.

schwabix-1311 commented 2 months ago

This is very likely issue #9, fixed by PR#13. My fork https://github.com/schwabix-1311/tc420 includes this amoung other fixes and improvements.