Two USB controllers, one port

I am not sure about this at all, fresh new laptop. I have USB type C port and two controllers recognized on it: USB (4.0) and Thunderbolt 4.

I have created 2 sys-usbs (-thunederbolt and -USB4) running concurrently and thinking if I’d buy Thunderbolt 4 dock would I be able to run devices via it assigned to each controller and not seen in (by) the other sys-usb? For example, to attach storage device to a dock and it would be seen in sys-usb-thunderbolt only, and to attach USB mouse to a usb port on a dock and the mouse then to be seen only in sys-usb-USB4?

If not, how to deploy both controllers at the same time then?

EDIT: Since still there’s no answer, I sum it all up in the first post again, for those who can’t read whole topic, but might help

0x:00.0 USB controller: Intel Corporation Device xxx
Subsystem: XX Company Device XxXx
Kernel driver in use: pciback
Kernel modules: thunderbolt
0y:00.0 USB controller: Intel Corporation Device yyyy
Kernel driver in use: pciback
Kernel modules: xhci_pci

You don’t need to passthrough full thunderbolt controller to the qube, you can leave it in dom0.
When you attach the thunderbolt dock with, for example, USB ports and Ethernet port to your PC then it’ll be connected as 2 PCI devices - USB Controller and Ethernet controller. And you can passthrough only this new USB controller to your another sys-usb2. And passthrough the Ethernet controller to another sys-usb-ethernet.
The only problem is that you’ll need to start the sys-usb2/sys-net-ethernet manually when you connect the dock to your PC. Or use udev rule in dom0 to start them on dock connection.

Thank you for your response, but it brought further (more) dilemmas due to I’m still not familiar with the technology.
Would you mind to clarify it a bit more?
Namely, these are controllers recognized at the moment on my USB Type C port:

0x:00.0 USB controller: Intel Corporation Device xxx
Subsystem: XX Company Device XxXx
Kernel driver in use: pciback
Kernel modules: thunderbolt
0y:00.0 USB controller: Intel Corporation Device yyyy
Kernel driver in use: pciback
Kernel modules: xhci_pci

So, when I attach the dock, will I be able to deploy 0y:00.0 controller?

(Not to say that I thought we were taught to pass anything that has USB in it’s device info to sys-usb…)

When you attach the dock you’ll have 3rd USB controller:
0z:00.0 USB controller: Intel Corporation Device zzzz

Yes, I understood that part from your previous response, thanks. There are controllers in the dock itself, right? Do you, or anyone else know the answer on my previous question, will I and how will be able to use yyyy controller concurrently (USB 4.0), though?

Some splitter on the port, or somehow…?

Something like this?

https://www.amazon.com/Female-Adapter-Splitter-Converter-Charger/dp/B09PFQXJR3/ref=sr_1_3?keywords=usb-c+splitter&qid=1684585507&sr=8-3

… but with 2 female ends. To one to attach dock to its controller, and the other to USB4 controller?

A correction, when I’ve said:

You don’t need to passthrough full thunderbolt controller to the qube

I meant to say that you don’t need to pass PCI Bridge: ... Thunderbolt 4 PCI Express Root Port device to you qube.
You have 2 USB controllers, one from your chipset and another one connected to thunderbolt internally:

0x:00.0 USB controller: Intel Corporation Device xxx
0y:00.0 USB controller: Intel Corporation Device yyyy

And you can assign them to different sys-usb’s.

Regarding your question about something like splitter, do you mean that you want to have thunderbolt hub? Like this, when you can connect dock to the PC and this dock will have thunderbolt port to connect downstream:
https://www.amazon.com/dp/B08KRTKX9V

On second thought I got what you’ve asked. I don’t think it’s possible for a single port to act as USB controller and Thunderbolt controller simultaneously.

Hey, thanks for your quick response and for your time. Sincerely appreciate it, and I’m sure they’ll help other users too!.
I am confused obviously, and that usually means I don’t know how things work, while I’m thinking my questions are clear with simple answers, hahaha. In 100% cases it’s that.

Let me try to rephrase it, to put it as simple as I can comprehend:

I just want to attach my usb mouse to yyyy controller (not any other!), and want to attach my thunderbolt 4 dock (or simply external ssd, if the dock brings confusion) to ‘xxxx’ controller (not any other!), and both to work concurrently.

I don’t know how to do that, since both controllers share the same port - USB-C.

EDIT: Oh, you posted your second thought while I was writing this post, which IS an answer, I think, on my question. But… who knows. Maybe someone else will have another idea.

Do you have only one physical USB-C port in your PC?
In that case one of your USB controllers is only used internally for some internal USB devices (like maybe webcam/touchpad/card reader/wifi/etc). And there is no way to connect external devices to it.

I think your only option is to use dock station with downstream thunderbolt ports and connect your devices to these ports.

But I could be mistaking something as well so someone may correct me.

1 Like

Yes. And it’s a laptop.

No. At the moment, I’m using simple USB hub attached to the C port, and it is assigned to yyyy controller, working perfectly.

No. They all have their separate controllers, independent on the both``xxxx’ and yyyy controllers, which is great.

I have 3 USB controllers, but all USB A ports are tied to the third controller, and 2 controllers are tied to USB C port. I’m looking for a way to extend the latter in a way described above.

To be precise, most of them are actually attached to the third controller, which is not the subject of this topic. Simple device widget check shows that there is nothing else but USB hub external devices attached to an yyyy controller on a USB-C port.

Is this possible, and how