[Plugin] USB_Manager


SimonF

Recommended Posts

I dont have a user guide the plugin is easy to use.

 

you have two options port and device mapping.

 

Device will connect a usb device to a vm as it starts or is hotplugged if you set in the options. This is indepentant from the usb.

 

Port will connect any device in a specific port to a vm.

 

What are you loking to do. There is a fix coming in 6.11 for missing devices.

Edited by SimonF
Link to comment

Can someone help me use USB Manager to make this work?

 

I have two USB dongles for Home Assistant VM to passthrough. One is for Zigbee and one for Zwave. However it seems it's the same controller/ID because it does not seem to let me start the VM with these 'duplicate' USBs?

 

VM Config:

image.png.06f1d472edc6fbc1fde8d1d34942ab16.png

 

Start error:

image.png.49dcde7a5cbd2df4a17c4c77a7b4f4c6.png

 

I stumbled upon this app/thread in looking for a solution. But I'm not exactly sure how to configure each USB in USB manager. Do I edit device settings, or port settings? Should I be connecting one as serial only, etc.

 

Any advice would be appreciated

Edited by jayephx
Link to comment
42 minutes ago, jayephx said:

Can someone help me use USB Manager to make this work?

 

I have two USB dongles for Home Assistant VM to passthrough. One is for Zigbee and one for Zwave. However it seems it's the same controller/ID because it does not seem to let me start the VM with these 'duplicate' USBs?

 

VM Config:

image.png.06f1d472edc6fbc1fde8d1d34942ab16.png

 

Start error:

image.png.49dcde7a5cbd2df4a17c4c77a7b4f4c6.png

 

I stumbled upon this app/thread in looking for a solution. But I'm not exactly sure how to configure each USB in USB manager. Do I edit device settings, or port settings? Should I be connecting one as serial only, etc.

 

Any advice would be appreciated

Have you installed USB manager from CA?

 

You dont select any devices in the VM Template.

 

It will look like this so you can click th usb symbol to create a port mapping you will need to do this if the serial numbers are the same or you can add as a device.

 

image.thumb.png.378087c39aa029351a639c05f948c742.png

 

Port settings look like this. The sliders enable functions Connect at VM start will need to be enabled, Connect as serial is only required by ConbeeII devices into HA as far as I know at present.

 

Connect at device plugin will map a device when it is physically plugged into the system.

 

And select the VM to map to.

 

image.thumb.png.e776069aba78e8c3ab67b7fb93de4b34.png

Edited by SimonF
Link to comment
6 minutes ago, CS01-HS said:

I finally got around to testing this with an iPhone syncing to an unRAID Mac VM - works beautifully.

 

The big warning banner about missing usbip_host and vhci_hcd modules was a little confusing because neither seems necessary but otherwise straightforward. Great job, thank you.

disable usbip in settings

  • Thanks 1
Link to comment
On 5/20/2022 at 1:44 AM, KnF said:

It's me again. I'm having some issues, but I will not ask you to solve them. I'm going to try help you improve this plugin which is already awesome. I'm a 15 year experience dev so I think I can try to debug the issues that I'm having, but I might need your help from time to time. 

 

I've been trying to pinpoint an issue. Most of the times it works just fine, but sometimes it doesn't. 

 

I'm gonna explain my setup so you get more context. 

 

I have a Ugreen USB 3.0 Switch which has 4 "devices" ports and 2 "computer" ports. When you press the button on top of it, it disconnects the 4 "devices" from PC 1 and connects them into PC 2. You click again and the same thing happens but in reverse. So far so good. Never had any issues even though PC 1 is a PC (Unraid now) and PC 2 is a Macbook Pro (work laptop).

I only have 3 devices connected to it. 

  1. K70 Keyboard.
  2. Corsair Dongle for Headphones 
  3. Logitech USB wireless receiver for mouse.

Whenever I press the button to switch from PC 2 to PC 1 this is what I see in the syslog (time and host removed):

Bear in mind that I deleted all the rules!

 

kernel: usb 2-7: new SuperSpeed USB device number 40 using xhci_hcd
kernel: hub 2-7:1.0: USB hub found
kernel: hub 2-7:1.0: 4 ports detected
kernel: usb 1-4.4: new high-speed USB device number 52 using xhci_hcd
usb_manager: Info: rc.usb_manager usb_add GenesysLogic_USB3.1_Hub /dev/bus/usb/002/040 002 040
kernel: hub 1-4.4:1.0: USB hub found
kernel: hub 1-4.4:1.0: 4 ports detected
usb_manager: Info: rc.usb_manager Autoconnect No Mapping found GenesysLogic_USB3.1_Hub /dev/bus/usb/002/040 002 040 port 2-7
usb_manager: Info: rc.usb_manager usb_add GenesysLogic_USB2.0_Hub /dev/bus/usb/001/052 001 052
usb_manager: Info: rc.usb_manager Autoconnect No Mapping found GenesysLogic_USB2.0_Hub /dev/bus/usb/001/052 001 052 port 1-4.4
kernel: usb 1-4.4.2: new full-speed USB device number 53 using xhci_hcd
kernel: input: Corsair Corsair K70R Gaming Keyboard as /devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4.4/1-4.4.2/1-4.4.2:1.0/0003:1B1C:1B09.0175/input/input485
kernel: hid-generic 0003:1B1C:1B09.0175: input,hidraw2: USB HID v1.11 Keyboard [Corsair Corsair K70R Gaming Keyboard] on usb-0000:00:14.0-4.4.2/input0
kernel: input: Corsair Corsair K70R Gaming Keyboard as /devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4.4/1-4.4.2/1-4.4.2:1.1/0003:1B1C:1B09.0176/input/input486
kernel: hid-generic 0003:1B1C:1B09.0176: input,hidraw3: USB HID v1.11 Device [Corsair Corsair K70R Gaming Keyboard] on usb-0000:00:14.0-4.4.2/input1
kernel: input: Corsair Corsair K70R Gaming Keyboard as /devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4.4/1-4.4.2/1-4.4.2:1.2/0003:1B1C:1B09.0177/input/input487
kernel: hid-generic 0003:1B1C:1B09.0177: input,hidraw4: USB HID v1.11 Keyboard [Corsair Corsair K70R Gaming Keyboard] on usb-0000:00:14.0-4.4.2/input2
kernel: usb 1-4.4.3: new full-speed USB device number 54 using xhci_hcd
usb_manager: Info: rc.usb_manager usb_add Corsair_Corsair_K70R_Gaming_Keyboard /dev/bus/usb/001/053 001 053
kernel: input: Corsair CORSAIR VIRTUOSO SE Wireless Gaming Headset as /devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4.4/1-4.4.3/1-4.4.3:1.3/0003:1B1C:0A3E.0178/input/input488
kernel: input: Corsair CORSAIR VIRTUOSO SE Wireless Gaming Headset Consumer Control as /devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4.4/1-4.4.3/1-4.4.3:1.3/0003:1B1C:0A3E.0178/input/input489
kernel: input: Corsair CORSAIR VIRTUOSO SE Wireless Gaming Headset as /devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4.4/1-4.4.3/1-4.4.3:1.3/0003:1B1C:0A3E.0178/input/input490
kernel: hid-generic 0003:1B1C:0A3E.0178: input,hiddev98,hidraw5: USB HID v1.11 Device [Corsair CORSAIR VIRTUOSO SE Wireless Gaming Headset] on usb-0000:00:14.0-4.4.3/input3
kernel: hid-generic 0003:1B1C:0A3E.0179: hiddev99,hidraw6: USB HID v1.11 Device [Corsair CORSAIR VIRTUOSO SE Wireless Gaming Headset] on usb-0000:00:14.0-4.4.3/input4
kernel: usb 1-4.4.4: new full-speed USB device number 55 using xhci_hcd
usb_manager: Info: rc.usb_manager usb_add Corsair_CORSAIR_VIRTUOSO_SE_Wireless_Gaming_Headset_16addd87000400da /dev/bus/usb/001/054 001 054
kernel: input: Logitech USB Receiver as /devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4.4/1-4.4.4/1-4.4.4:1.0/0003:046D:C539.017A/input/input491
kernel: hid-generic 0003:046D:C539.017A: input,hidraw7: USB HID v1.11 Keyboard [Logitech USB Receiver] on usb-0000:00:14.0-4.4.4/input0
kernel: input: Logitech USB Receiver Mouse as /devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4.4/1-4.4.4/1-4.4.4:1.1/0003:046D:C539.017B/input/input492
kernel: input: Logitech USB Receiver Consumer Control as /devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4.4/1-4.4.4/1-4.4.4:1.1/0003:046D:C539.017B/input/input493
kernel: input: Logitech USB Receiver System Control as /devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4.4/1-4.4.4/1-4.4.4:1.1/0003:046D:C539.017B/input/input494
kernel: hid-generic 0003:046D:C539.017B: input,hiddev100,hidraw8: USB HID v1.11 Mouse [Logitech USB Receiver] on usb-0000:00:14.0-4.4.4/input1
kernel: hid-generic 0003:046D:C539.017C: hiddev101,hidraw9: USB HID v1.11 Device [Logitech USB Receiver] on usb-0000:00:14.0-4.4.4/input2
usb_manager: Info: rc.usb_manager Autoconnect Parent 1-4.4
usb_manager: Info: rc.usb_manager Autoconnect No Mapping found Corsair_Corsair_K70R_Gaming_Keyboard /dev/bus/usb/001/053 001 053 port 1-4.4.2
usb_manager: Info: rc.usb_manager Autoconnect Parent 1-4.4
usb_manager: Info: rc.usb_manager Autoconnect No Mapping found Corsair_CORSAIR_VIRTUOSO_SE_Wireless_Gaming_Headset_16addd87000400da /dev/bus/usb/001/054 001 054 port 1-4.4.3
usb_manager: Info: rc.usb_manager usb_add Logitech_USB_Receiver /dev/bus/usb/001/055 001 055
usb_manager: Info: rc.usb_manager Autoconnect Parent 1-4.4
usb_manager: Info: rc.usb_manager Autoconnect No Mapping found Logitech_USB_Receiver /dev/bus/usb/001/055 001 055 port 1-4.4.4

 

Notice how usb_manager tries to map things as soon as they're detected. 

 

Now, I created a rule for the hub 1-4.4 so it attaches to the VM on plug and vm start. This is the log for the transition when I press the button (reconnection):

kernel: usb 2-7: new SuperSpeed USB device number 44 using xhci_hcd
kernel: hub 2-7:1.0: USB hub found
kernel: hub 2-7:1.0: 4 ports detected
kernel: usb 1-4.4: new high-speed USB device number 70 using xhci_hcd
kernel: hub 1-4.4:1.0: USB hub found
kernel: hub 1-4.4:1.0: 4 ports detected
usb_manager: Info: rc.usb_manager usb_add GenesysLogic_USB3.1_Hub /dev/bus/usb/002/044 002 044
usb_manager: Info: rc.usb_manager Autoconnect No Mapping found GenesysLogic_USB3.1_Hub /dev/bus/usb/002/044 002 044 port 2-7
usb_manager: Info: rc.usb_manager usb_add GenesysLogic_USB2.0_Hub /dev/bus/usb/001/070 001 070
usb_manager: Info: rc.usb_manager Autoconnect No Mapping found GenesysLogic_USB2.0_Hub /dev/bus/usb/001/070 001 070 port 1-4.4
kernel: usb 1-4.4.2: new full-speed USB device number 71 using xhci_hcd
kernel: input: Corsair Corsair K70R Gaming Keyboard as /devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4.4/1-4.4.2/1-4.4.2:1.0/0003:1B1C:1B09.01A3/input/input546
kernel: hid-generic 0003:1B1C:1B09.01A3: input,hidraw2: USB HID v1.11 Keyboard [Corsair Corsair K70R Gaming Keyboard] on usb-0000:00:14.0-4.4.2/input0
kernel: input: Corsair Corsair K70R Gaming Keyboard as /devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4.4/1-4.4.2/1-4.4.2:1.1/0003:1B1C:1B09.01A4/input/input547
kernel: hid-generic 0003:1B1C:1B09.01A4: input,hidraw3: USB HID v1.11 Device [Corsair Corsair K70R Gaming Keyboard] on usb-0000:00:14.0-4.4.2/input1
kernel: input: Corsair Corsair K70R Gaming Keyboard as /devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4.4/1-4.4.2/1-4.4.2:1.2/0003:1B1C:1B09.01A5/input/input548
kernel: hid-generic 0003:1B1C:1B09.01A5: input,hidraw4: USB HID v1.11 Keyboard [Corsair Corsair K70R Gaming Keyboard] on usb-0000:00:14.0-4.4.2/input2
kernel: usb 1-4.4.3: new full-speed USB device number 72 using xhci_hcd
usb_manager: Info: rc.usb_manager usb_add Corsair_Corsair_K70R_Gaming_Keyboard /dev/bus/usb/001/071 001 071
kernel: input: Corsair CORSAIR VIRTUOSO SE Wireless Gaming Headset as /devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4.4/1-4.4.3/1-4.4.3:1.3/0003:1B1C:0A3E.01A6/input/input549
kernel: input: Corsair CORSAIR VIRTUOSO SE Wireless Gaming Headset Consumer Control as /devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4.4/1-4.4.3/1-4.4.3:1.3/0003:1B1C:0A3E.01A6/input/input550
kernel: input: Corsair CORSAIR VIRTUOSO SE Wireless Gaming Headset as /devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4.4/1-4.4.3/1-4.4.3:1.3/0003:1B1C:0A3E.01A6/input/input551
kernel: hid-generic 0003:1B1C:0A3E.01A6: input,hiddev98,hidraw5: USB HID v1.11 Device [Corsair CORSAIR VIRTUOSO SE Wireless Gaming Headset] on usb-0000:00:14.0-4.4.3/input3
kernel: hid-generic 0003:1B1C:0A3E.01A7: hiddev99,hidraw6: USB HID v1.11 Device [Corsair CORSAIR VIRTUOSO SE Wireless Gaming Headset] on usb-0000:00:14.0-4.4.3/input4
kernel: usb 1-4.4.4: new full-speed USB device number 73 using xhci_hcd
usb_manager: Info: rc.usb_manager usb_add Corsair_CORSAIR_VIRTUOSO_SE_Wireless_Gaming_Headset_16addd87000400da /dev/bus/usb/001/072 001 072
kernel: input: Logitech USB Receiver as /devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4.4/1-4.4.4/1-4.4.4:1.0/0003:046D:C539.01A8/input/input552
kernel: hid-generic 0003:046D:C539.01A8: input,hidraw7: USB HID v1.11 Keyboard [Logitech USB Receiver] on usb-0000:00:14.0-4.4.4/input0
kernel: input: Logitech USB Receiver Mouse as /devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4.4/1-4.4.4/1-4.4.4:1.1/0003:046D:C539.01A9/input/input553
kernel: input: Logitech USB Receiver Consumer Control as /devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4.4/1-4.4.4/1-4.4.4:1.1/0003:046D:C539.01A9/input/input554
kernel: input: Logitech USB Receiver System Control as /devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4.4/1-4.4.4/1-4.4.4:1.1/0003:046D:C539.01A9/input/input555
kernel: hid-generic 0003:046D:C539.01A9: input,hiddev100,hidraw8: USB HID v1.11 Mouse [Logitech USB Receiver] on usb-0000:00:14.0-4.4.4/input1
kernel: hid-generic 0003:046D:C539.01AA: hiddev101,hidraw9: USB HID v1.11 Device [Logitech USB Receiver] on usb-0000:00:14.0-4.4.4/input2
usb_manager: Info: rc.usb_manager Autoconnect Parent 1-4.4
usb_manager: Info: rc.usb_manager Autoconnect Parent vm state:running Corsair_Corsair_K70R_Gaming_Keyboard running 001 071 port 1-4.4.2
usb_manager: Info: rc.usb_manager Autoconnect Parent 1-4.4
usb_manager: Info: rc.usb_manager Autoconnect Parent vm state:running Corsair_CORSAIR_VIRTUOSO_SE_Wireless_Gaming_Headset_16addd87000400da running 001 072 port 1-4.4.3
acpid: input device has been disconnected, fd 13
acpid: input device has been disconnected, fd 14
usb_manager: Info: rc.usb_manager usb_add Logitech_USB_Receiver /dev/bus/usb/001/073 001 073
usb_manager: usb_manager virsh called KnF 1 71 Device attached successfully  
usb_manager: usb_manager virsh called KnF 1 72 error: Failed to attach device from /tmp/libvirthotplugusbbybusKnF.xml error: Requested operation is not valid: USB device 001:072 is in use by driver QEMU, domain KnF  
usb_manager: Info: rc.usb_manager Autoconnect Parent 1-4.4
usb_manager: Info: rc.usb_manager Autoconnect Parent vm state:running Logitech_USB_Receiver running 001 073 port 1-4.4.4
acpid: input device has been disconnected, fd 15
acpid: input device has been disconnected, fd 16
acpid: input device has been disconnected, fd 17
usb_manager: usb_manager virsh called KnF 1 73 Device attached successfully  

 

As you can see, there's 3 usb devices (71, 72 and 73) two of them attach successfully and there's one that fails to attach (the headset). Problem is that even though 71 (keyboard) attached successfully it doesn't work. When the keyboard works it shows in the device manager (inside the VM) as 3 "HID Keyboards"

connected.png.d87bbbcf2823124d66e26102e5560294.png

 

and when it doesn't it only shows up once. 

disconnected.png.636494e377189f983bfc10ccb8e35608.png

 

If I disconnect the keyboard from the switch and re-connect it, it works perfectly again....

 

What I think it's happening is that when the /tmp/libvirthotplugusbbybusKnF.xml file is being generated and passed to virsh it's too soon and there might be a race condition that's causing the issue. I'm gonna try to edit the files of the plugin and add a little delay to the execution of the virsh command. Maybe that's all it needs. I'll report back.

 

Did you find a solution for this problem?

I also use the Corsair Dongle for a Headset which does not work with the USB Manager Plugin at MacOS.
Bit it looks like it is not a Dongle connection problem, cause the same behaviour shows up while connectet via USB cable.

I am able to attatch it to the VM, but the device does not show up under MacOS.

1599344602_Bildschirmfoto2022-09-27um11_33_52.thumb.jpg.31e0cc5ac4bc081d35ea6e000afba6ef.jpg
 

The dongle only works on Mac at the USB-C Port of my mainboard which seems to be internaly connected with this USB Host controller:

2113530038_Bildschirmfoto2022-09-27um11_36_37.thumb.jpg.4426ea975e7a8a2b1f3c28b7db148aea.jpg
 

It works exlusivly while conneted via this single USB-C Port (sound and mic without any flaws).

Directly connected to the HUB I use at this USB Host controller Headset sound is working, but mic is quirky and records with gaps and hickups. When I go to the mic prefs in system>audiopreferences every Video I play starts to stutter. 
Headset sound alone works fine at all, while mic is off.

Under Windows VM Dongle and cable are working without any problems while Headset is attatched via USB Manager Plugin.
My Board is a 570Z Aeorus Pro.


Any Ideas how to adress the problem under MacOS?

Link to comment
20 hours ago, derpuma said:

 

Did you find a solution for this problem?

I also use the Corsair Dongle for a Headset which does not work with the USB Manager Plugin at MacOS.
Bit it looks like it is not a Dongle connection problem, cause the same behaviour shows up while connectet via USB cable.

I am able to attatch it to the VM, but the device does not show up under MacOS.

1599344602_Bildschirmfoto2022-09-27um11_33_52.thumb.jpg.31e0cc5ac4bc081d35ea6e000afba6ef.jpg
 

The dongle only works on Mac at the USB-C Port of my mainboard which seems to be internaly connected with this USB Host controller:

2113530038_Bildschirmfoto2022-09-27um11_36_37.thumb.jpg.4426ea975e7a8a2b1f3c28b7db148aea.jpg
 

It works exlusivly while conneted via this single USB-C Port (sound and mic without any flaws).

Directly connected to the HUB I use at this USB Host controller Headset sound is working, but mic is quirky and records with gaps and hickups. When I go to the mic prefs in system>audiopreferences every Video I play starts to stutter. 
Headset sound alone works fine at all, while mic is off.

Under Windows VM Dongle and cable are working without any problems while Headset is attatched via USB Manager Plugin.
My Board is a 570Z Aeorus Pro.


Any Ideas how to adress the problem under MacOS?

Could it be related to MacOS only supports/works with USB2 controllers on the VM templates? @ghost82Any thoughts?

Edited by SimonF
Link to comment
24 minutes ago, SimonF said:

Could it be related to MacOS only supports/works with USB2 controllers on the VM templates?

I would say...maybe...if the usb 3 controller is compatible and that dongle too with usb 3 (it seems it is since it works on the usb c port), there should be no issue. Maybe there is the need of a usb map kext injected in opencore. Third parties USB hubs don't play well with mac os too, even in official macs..

Edited by ghost82
  • Like 1
Link to comment
4 hours ago, ghost82 said:

I would say...maybe...if the usb 3 controller is compatible and that dongle too with usb 3 (it seems it is since it works on the usb c port), there should be no issue. Maybe there is the need of a usb map kext injected in opencore. Third parties USB hubs don't play well with mac os too, even in official macs..


Very good point!
This specific USB Dongle from Corsair indeed has a kext which installs into /L/E via Corsair iCUE Software. There is a <key>idProductArray</key> in info.plist and <key>idVendor</key> <integer>6940</integer> for Corsair itself. I packed the kext down below.
But on my Macbook Pro, where no Corsair iCUE Software is installed, the kext is missing and the Dongle works out of the box with MacOS.

You think I should give it a try and put the kext into opencore to inject from there rather then /L/E and see if this changes anything? I guess this specific kext has nothing to do with the function of the headset and dongle.
 

CorsairAudio.kext.zip

Edited by derpuma
Link to comment
40 minutes ago, derpuma said:


Very good point!
This specific USB Dongle from Corsair indeed has a kext which installs into /L/E via Corsair iCUE Software. There is a <key>idProductArray</key> in info.plist and <key>idVendor</key> <integer>6940</integer> for Corsair itself. I packed the kext down below.
But on my Macbook Pro, where no Corsair iCUE Software is installed, the kext is missing and the Dongle works out of the box with MacOS.

You think I should give it a try and put the kext into opencore to inject from there rather then /L/E and see if this changes anything? I guess this specific kext has nothing to do with the function of the headset and dongle.
 

CorsairAudio.kext.zip 10.31 kB · 0 downloads

A kext works if it's loaded, doesn't matter if it's injected or loaded from /L/E or S/L/E.

When I was talking about the usb map kext I was referring to a kext to map the usb ports of the controller, and manually giving power values.

Sorry but maybe I didn't understand, please reply to the following questions:

1. does the dongle works in the mac os vm if connected to a usb port (no hub), by passing through the usb device only (no usb controller passthrough)?

2. are you passing through a usb controller in the vm?if so, does the dongle works if connected to one of these ports (no hub)?

 

Note: by "works", I mean only if it's detected by the os.

Edited by ghost82
Link to comment
5 minutes ago, ghost82 said:

A kext works if it's loaded, doesn't matter if it's injected or loaded from /L/E or S/L/E.

When I was talking about the usb map kext I was referring to a kext to map the usb ports of the controller, and manually giving power values.

Sorry but maybe I didn't understand, please reply to the following questions:

1. does the dongle works in the mac os vm if connected to a usb port (no hub), by passing through the usb device only (no usb controller passthrough)?

2. are you passing through a usb controller in the vm?if so, does the dongle works if connected to one of these ports (no hub)?

 

Note: by "works", I mean only if it's detected by the os.

 

1) The headset (dongle and connection via usb cable) works fine out of the box on a real mac without any additional software.

2) The headset (dongle and usb cable) does not work on any usb port which is passed through exclusivly on that port.

3) The headset (dongle and usb cable) does not work on any a onboard controller port which is passed through vfio IOMMU group. In my case this is a AMD Matisse USB 3.0 Host Controller | USB controller (09:00.1). On this controller I use a usb hub. The headset also does not work on any of the hubs ports.

4) The headset (dongle and cable) does work out of the box on the USB-C port of the mainboard. I did not configure this usb-c port extra via vfio iommu. My guess is, it belongs to the AMD Matisse USB 3.0 Host Controller.

5 ) The headset does not show up at all, while I trying to attatch it via usb plugin manager. It shows as connectet via plugin interface, but the device does not pop up under MacOs sound settings.

Not works means: If connected on both sides, meaning mic and sound are activated in sound settings, the headset does not work. Sound stutters, also recording.

When only one part is active in sound settings, the single selected function works just fine.
So if sound is on and mic not selected, sound works. Also vice versa, if headset sound is off, speakers on and headset mic is selected for recording, it records just fine.
 

It seems that there is a problem to seperate the two funtions sound and recording.

Link to comment

Sorry, my fault for not understanding, in real I don't know how your headset is made..

 

Let it be for now emulated controller(s), i.e. passthrourgh device only.

 

Let's consider the passed through usb controller:

1. How many ports does it have and what type of ports it has?I understand at least one is usb-c

2. You are saying that the headset (I understood that you can connect a usb dongle, that connects via wireless/bluetooth to mic and speakers, or a usb cable, is it true?) connects fine both via dongle and usb cable to the usb c port of the matisse controller?Your goal is to connect to another type port or...?

Edited by ghost82
Link to comment

No need for sorries!

 

1) The dongle is a regular usb dongle. I connect it via USB - USB-C adapter to the USB-C port of my board, as this was the only way to get it working.

2) yes, the headset can run wireless and via cable. and yes, connects fine both via dongle and usb cable to the usb c port. I am not sure if the usb-c is part of the matisse controller.
Copy of my IOMMU groups attatched.

Best would be if it could work on any other USB port (hub or board manually or with usb plugin manager).


If the dongle is connected via USB-C (working) it shows up as this device.258971474_Bildschirmfoto2022-09-28um15_05_11.thumb.jpg.a7eeb0368382dbfbc7ab8e25169acbf5.jpg

If the dongle is connected on the hub which is passthrough (not working) it looks like that (it sorts in one cat deeper in the usb tree).

1957883339_Bildschirmfoto2022-09-28um15_08_21.thumb.jpg.d116cf77dd7e37e78f5530c18500e5af.jpg

 

 

The device is listed as:
 

CORSAIR VIRTUOSO SE Wireless Gaming Headset:

 

  Produkt-ID: 0x0a46

  Hersteller-ID: 0x1b1c  (CORSAIR MEMORY INC.)

  Version: 0.00

  Seriennummer: 142b6156000700da

  Geschwindigkeit: Bis zu 12 MBit/s

  Hersteller: Corsair

  Standort-ID: 0x06311000 / 16

  Verfügbare Stromstärke (mA): 500

  Erforderliche Stromstärke (mA): 500

  Zusätzlicher Betriebsstrom (mA): 0

IOMMU.txt

Link to comment

Ok, can you attach:

1. a ioreg file with the dongle connected to usb-c with the adapter (matisse)

2. a ioreg file with the dongle connected to usb type A port without usb-c adapter (matisse)

 

Before saving the ioreg files better to disconnect all usb devices you can, disconnect hub(s), webcam, usb storages, etc.

I'd want to try to inject the usb map kext.

 

I'm not confident that it will work with the hub, nor with the usb plugin (not because of the plugin but because of the emulated controller), but there could be some hope for the other usb type A ports.

 

Do the other type A ports work with usb pendrives?

 

We are ot here, sorry Simon

Edited by ghost82
Link to comment
1 hour ago, ghost82 said:

Ok, can you attach:

1. a ioreg file with the dongle connected to usb-c with the adapter (matisse)

2. a ioreg file with the dongle connected to usb type A port without usb-c adapter (matisse)

 

Before saving the ioreg files better to disconnect all usb devices you can, disconnect hub(s), webcam, usb storages, etc.

I'd want to try to inject the usb map kext.

 

I'm not confident that it will work with the hub, nor with the usb plugin (not because of the plugin but because of the emulated controller), but there could be some hope for the other usb type A ports.

 

Do the other type A ports work with usb pendrives?

 

We are ot here, sorry Simon


Yes of course, will send you the files tomorrow. We can switch to PM until the problem is solved if you'd like to!

  • Like 1
Link to comment
  • 2 weeks later...
  • 2 months later...

Good day all.

I want to connect a usb to a rpi and see it in unraid.

I've installed ```sudo apt-get install usbip``` in the rpi and then tried to connect to unraid per below

 

image.thumb.png.2c5d02314153d9a1649258781a1d52f2.png

 

But it doesn't connect. If any one can provide the steps/commands to be added to the rpi to enable the connection, it would be much appreciated.

 

Thank you.

 

Link to comment
6 minutes ago, juan11perez said:

Good day all.

I want to connect a usb to a rpi and see it in unraid.

I've installed ```sudo apt-get install usbip``` in the rpi and then tried to connect to unraid per below

 

image.thumb.png.2c5d02314153d9a1649258781a1d52f2.png

 

But it doesn't connect. If any one can provide the steps/commands to be added to the rpi to enable the connection, it would be much appreciated.

 

Thank you.

 

You need to run the daemon on the PI and bind devices, this is running the daemon but you can use -D to run in batch.

 

image.png.f760ca4c3811cca13d0b20895f53f525.png

Link to comment
  • 4 weeks later...

it would be nice if the plugin could give the device-by-id name of the USB devices to pass thru to dockers

eg
ls -l /dev/serial/by-id

givesimage.thumb.png.9aa3e5ec11baf78b3e07a96dee936cb7.png

 

usb-ITead_Sonoff_Zigbee_3.0_USB_Dongle_Plus_dcf756dbb712ec118bca20c7bd930c07-if00-port0

usb-Silicon_Labs_Zooz_ZST10_700_Z-Wave_Stick_8ad9b0843e67ec119f1fa17089640db2-if00-port0

 

adding to docker config
/dev/serial/by-id/usb-ITead_Sonoff_Zigbee_3.0_USB_Dongle_Plus_dcf756dbb712ec118bca20c7bd930c07-if00-port0

image.png.d9cf14aa56d7fb01962dea7bdbfc6dc8.png

Link to comment
1 hour ago, TRusselo said:

it would be nice if the plugin could give the device-by-id name of the USB devices to pass thru to dockers

eg
ls -l /dev/serial/by-id

givesimage.thumb.png.9aa3e5ec11baf78b3e07a96dee936cb7.png

 

usb-ITead_Sonoff_Zigbee_3.0_USB_Dongle_Plus_dcf756dbb712ec118bca20c7bd930c07-if00-port0

usb-Silicon_Labs_Zooz_ZST10_700_Z-Wave_Stick_8ad9b0843e67ec119f1fa17089640db2-if00-port0

 

adding to docker config
/dev/serial/by-id/usb-ITead_Sonoff_Zigbee_3.0_USB_Dongle_Plus_dcf756dbb712ec118bca20c7bd930c07-if00-port0

image.png.d9cf14aa56d7fb01962dea7bdbfc6dc8.png

Are you looking for an option to auto update the docker when It starts? There are now hooks process for Docker I know about which is the process that is used for vms.

 

Or do you just want it displayed. Not all devices have by-id/

Link to comment

For some reasons, I need to use ssh to control the unraid server from time to time, so I want to control the usb_manager in the terminal with some commands. My application just passes the usb devices on the unraid to the virtual machine. It seems that the final control interface is in rc.usb_manager, but I can't find a useful command description. I hope you can help me

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.