I’m familiar with the USB stack, so I’ll ask here to ensure that:
If it does necessitate OS support, I know whether it is in Fedora (like Windows 11);
and, if it doesn’t, I’m corrected that my premise is irrelevant to Fedora, because it’s purely a hardware and/or file manager concern (although the latter would be improbable).
I don’t see any particular reason to believe that asking somewhere synchronous is more likely to provide answers that somewhere asynchronous doesn’t, unless I’ve misunderstood how such communities operate.
It is not as I see it a matter of likelyhood, but of ‘where the community is’. Different communities maintain spaces and followings in different places. Personally I find the barrier of entry to Discord a little annoying, and the conversation a little childish.
One reason though that syschronous communication sometimes works better is the ‘stream of consciousness’ that forces a feedback (response). The downfall is that response mught be of lower quality.
I asked a friend to look up their Framework USB controller. Then I though '“Roke has a Framework”, so can you identify your controller with
lsusb
to find the name or device ID of the controller, and see if it supports USB Dual Role from that?
Mine lists
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
@theprogram, indeed. Ideally, we should be discussing hardware at FW’s Discourse instance, but I’ll take the assistance where I can, and what these tools return is vaguely Fedora-specific.
Summaries
On that note, lsusb and lshw -businfo | grep -E usb don’t provide much:
#!/usr/bin/env sh
lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 05e3:0610 Genesys Logic, Inc. Hub
Bus 001 Device 003: ID 05e3:0610 Genesys Logic, Inc. Hub
Bus 001 Device 004: ID 05e3:0610 Genesys Logic, Inc. Hub
Bus 001 Device 005: ID 32ac:0014 Framework Laptop 16 Numpad Module
Bus 001 Device 006: ID 0e8d:e616 MediaTek Inc. Wireless_Device
Bus 001 Device 007: ID 27c6:609c Shenzhen Goodix Technology Co.,Ltd. Goodix Fingerprint USB Device
Bus 001 Device 008: ID 32ac:0018 Framework Laptop 16 Keyboard Module - ISO
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 002: ID 05e3:0625 Genesys Logic, Inc. USB3.2 Hub
Bus 002 Device 003: ID 0bda:8156 Realtek Semiconductor Corp. USB 10/100/1G/2.5G LAN
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 007 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 008 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
I had to double check I wasn’t hallucinating that one!
I am going to go out on a limb and say that any USB-C or USB3 can support dual role if the OS supports it. (Back to your question, Does F41 KDE Support USB Dual Role?) I have not found the answer to that yet.
Now back to your question: I think that based on the Intel link above we are looking for driver support for xDCI, or for evidence that Thunderbolt or USB3 drivers also support Dual Role ‘out of the box’.
Here is a fellow that enabled his xDCI via a hidden advanced settings in the ThinkPad BIOS.
Hence I speculate that the Framework BIOS would have to support xDCI.
The good new though " the kernel even automatically loaded the dwc3 UDC driver (remember that xDCI is based on DWC3), and a new entry appeared in the list of UDC devices"
The Intel FW13s do, but they also support 4 TB ports, so they’re using slightly different USB implementations. #page=2:~:text=Dual-Role USBInsyde SoftwareInsyde Software of the undermentioned appears to corroborate this:
I’ve posted it at SE SU, since I don’t mind losing a little karma over this if it’s not a well-enough fleshed-out question for this topic:
I believe that the UEFI firmware is fairly uncustomised Insyde software, solely modified insofar as is necessary to function on the hardware. Consequently, I’ll attempt to ascertain whether Insyde ever exposes this.