I'm trying to use it to communicate with 3 Elgato StreamDeck connected on a PC through a Lindy USB hub.
On my Ubuntu 16.04 LTS development PC, it works flawlessly.
On the Ubuntu 22.04 LTS production PC though, I can only connect 2 StreamDecks. When connecting the 3rd one, hid4java fails to open the connection (HidDevice.open() returns false). The 3 devices are successfully listed in getAttachedHidDevices(), and their serial number are correctly reported. I'm using libusb with HidApi.useLibUsbVariant = true.
Any idea of what could cause this?
EDIT: this is my /etc/udev/rules.d/70-streamdeck.rules files's content (4 lines to support the 4 different StreamDeck models):
With this configuration the 3rd connected StreamDeck is not even listed, and the app crashes sometimes (sigsegv in the C++ code).
EDIT 3: when plugging the 3rd StreamDeck on another USB port on the PC (leaving the two others on the hub), it works. That will do it for now, it would be more practical to have the 3 StreamDecks connected on the hub.
Hello,
Thank you very much for your library!
I'm trying to use it to communicate with 3 Elgato StreamDeck connected on a PC through a Lindy USB hub.
On my Ubuntu 16.04 LTS development PC, it works flawlessly.
On the Ubuntu 22.04 LTS production PC though, I can only connect 2 StreamDecks. When connecting the 3rd one, hid4java fails to open the connection (HidDevice.open() returns false). The 3 devices are successfully listed in getAttachedHidDevices(), and their serial number are correctly reported. I'm using libusb with
HidApi.useLibUsbVariant = true
.Any idea of what could cause this?
EDIT: this is my /etc/udev/rules.d/70-streamdeck.rules files's content (4 lines to support the 4 different StreamDeck models):
EDIT 2: I tried using hidraw rather than libusb by removing the
HidApi.useLibUsbVariant = true
call and updating my udev rules to this according to https://github.com/libusb/hidapi/blob/master/udev/69-hid.rules:With this configuration the 3rd connected StreamDeck is not even listed, and the app crashes sometimes (sigsegv in the C++ code).
EDIT 3: when plugging the 3rd StreamDeck on another USB port on the PC (leaving the two others on the hub), it works. That will do it for now, it would be more practical to have the 3 StreamDecks connected on the hub.