droelfdroelf / dtdump

An open Overbridge protocol implementation proof of concept.
MIT License
91 stars 14 forks source link

Error: no matching usb device found while running ./dtdump #9

Open ddepierre opened 3 years ago

ddepierre commented 3 years ago

Hi, First I want to thank you for this OB ! It sounds great but I wish I could ear it.

Install it went well with no error, my digitakt is connected in "overbridge" mode, i followed the routing instructions, digitakt is detected as an USB device :

/dtdump-master/build$ lsusb Bus 002 Device 010: ID 1935:000c

Jack detects it as a MIDI device in QjackCtl GUI : "connect" > MIDI but not as a AUDIO, I don't know if it's a big deal, I anyway managed to record audio via USB from DT in Ardour with DT in usb-mode "AUDIO+MIDI" (sadly in mono 1 merged track, wouldn't be here otherwise...)

But when ./dtdump, I've got the "no matching usb device found while running" error. I checked udev/99-digitakt.rules file :

dtdump-master$ more udev/99-digitakt.rules SUBSYSTEM=="usb", ATTRS{idVendor}=="1935", ATTRS{idProduct}=="000c", MODE="0666"

Which seems to indicate that the digitakt is somehow detected via usb I guess.

Also tried with the "AUDIO+MIDI" usb-mode since it works with Ardour, I figured out I had to change udev/99-digitakt.rules since usb ID had changed to 1935:102c in the lsusb so I tried to put

SUBSYSTEM=="usb", ATTRS{idVendor}=="1935", ATTRS{idProduct}=="102c", MODE="0666"

To make the DT recognized but doesn't work...

Did I miss smthing ?

Thanks

David

benewberg commented 3 years ago

I have struggled all day with this same issue. While debugging in overbridge.c I discovered that the call to libusb_open() (which is wrapped up in libusb_open_device_with_vid_pid()) was returning me LIBUSB_ERROR_ACCESS or "insufficient permissions".

After moving my rules file to /etc/udev/rules.d (I'm on Ubuntu), and then completely logging out (including out of tmux) and back in, I was able to get it to work.

Thought I'd share in the off-chance it helps you too.