Found a USB device that won't work, what feedback do you folks need?

ok. I’m gonna spend some time today trying to narrow this down. so far, the FT device is the only thing I can get to trigger this but we’ll see what else I have laying around here.

Another device I found that doesn’t work on the right side but does work on the left
idVendor=10c4, idProduct=ea60, bcdDevice= 1.00Product: CP2102 USB to UART Bridge Controller

I’ve swapped the USB ports around, tried USB A vs USB C, removed all expansion cards etc and still run into the same behavior. @Kieran_Levin did you receive your adapter? I can ship you some of the ones that are causing me trouble if it would be helpful. I’ve tried several different types of devices from bluetooth adapters to microphones and it seems to be limited to a few USB-Serial adapters and localized to just one side of my machine.

1 Like

@Scratch I got my adapter and I can replicate the issue on the upper right, and lower left ports. When this happens the PD controller reboots and both ports on that side are disconnected and reconnected again. (These are both port 0 on the PD controller on each side)
It will take some time to root cause this and get a fix, but while this is getting fixed I think you can use the other 2 ports.

11 Likes

@Kieran_Levin no worries at all. Let me know what I can do to help.

@Scratch I was able to root cause this to a firmware bug in our PD controller.

It looks like this device has a high inrush current, and causes the overcurrent detection signal to glitch. We are supposed to debounce this in firmware, but the code doing the debouncing was only handling this correctly for 1 port on each controller.

If an overcurrent condition happens on the upper right or lower left ports on bios 3.03 or below it will cause both ports to reset on that side.

To mitigate this, use the other port on each side until the firmware update is available.

I am planning on rolling this into release 3.04 assuming all our testing is ok.
I don’t have an exact ETA for this update yet.

20 Likes

right on! That had to be a huge pain to track down, well done!

3 Likes

I have two SanDisk 16B USB 3.0 drives that show in windows up but go away and throw errors when you start copying data off them. It happens on both right side ports. Have not tried the left side yet. Other USB flash drives or USB external SSD drives work fine. These same SanDisk drives that don’t work in the Framework work fine in all my other computers.

Is this the same issue as above?

I found a flash drive with a strange behavior. Specifically Kanguru Flashblu30 8gb, 32gb, and 64gb. Plugging them directly into the USB-A expansion card results in nothing happening. No device detected and the LED on the drive doesn’t light up. That said, if I use an A to C converter, including the A expansion card, and connect it to a C card, the flash drives work properly and I can read/write at full speed. All my other flash drives work properly with the USB-A card.

So you mean you can take the A card out of the computer and plug it into one of the C cards, and that works, but the A card directly doesnt? Maybe you just have a problem with the port the A card is normally in.

I’ve seen this before with some USB 3 drives. The connectors seem to be just a hair too long, Try plugging it into the A port and then slowly sliding it back out, fractions of a mm at a time, and I bet it will suddenly pop up as available.

1 Like

I don’t think so, it wasn’t detected regardless of which slot the A card is in.

I just tried this and slowly removing the drive still does nothing, however it does show up when I slowly insert the drive! Thank you for this suggestion, now I don’t need the weird double adapter workaround.

I will say I’ve noticed the same thing, detection being kind of wonky with my USB-A card when using a USB 3 stick. I only have the one USB 3 stick so I haven’t been sure if it’s the stick or the port at fault.

Is the suggestion that there’s something out-of-spec with the USB-A card? I’d have thought the physical port would be a quite standardized part. Surely “slow insertion” shouldn’t be required, though.

Was this fixed in 3.06?

@Kieran_Levin was this fixed? Do you have an update on this issue?

This issue is fixed in Bios 3.06

1 Like

Can confirm, my flash drive issue was fixed after installing the 3.06 bios update. Thanks!

Still an issue for me with BIOS V3.07 on Windows 10. Plugging in slowly does work with this USB 3 drive but plugging in quickly and the drive does not show up.

I did however find that if you plug in the drive quickly and it does not show up, if you then open the device manager and click the ‘Scan for hardware changes’ button the drive will show up. This makes me think that this could be fixed in software.

@Path can you share the make/model of the usb drive? We can investigate why it does not work.

Hi @Kieran_Levin,

I too am facing this issue, lower left port, 3.07 BIOS, Windows 10. Let me know if you need any other information as well. Framework USB C to USB A adapter.

The same adapter works fine on the bottom right port.

I bought a macro keypad that I wanted to set up to control OpenKJ…even 3D-printed custom keycaps for the purpose. When I plugged it into my Framework, though, I get nothing. lsusb shows nothing changed, dmesg doesn’t show any activity, and even if I boot into Win11 instead of Linux, the Device Manager never shows any changes and Windows doesn’t make any of its device-connected/disconnected noises.

IIRC, I set it up on the Dell Dimension 7750 in my office because that machine runs Win11 full-time and the software to configure the keypad only runs on Windows. When I plugged it into my home desktop (homebuilt beast with a 3rd-gen Ryzen), it shows up as the following:

Bus 003 Device 009: ID 1189:8890 Acer Communications & Multimedia CH57x

dmesg output upon plugging it in looks like this:

[ 8186.174604] usb 3-1: new full-speed USB device number 10 using xhci_hcd
[ 8186.332823] usb 3-1: New USB device found, idVendor=1189, idProduct=8890, bcdDevice= 0.00
[ 8186.332828] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 8186.332830] usb 3-1: Product: CH57x
[ 8186.332831] usb 3-1: Manufacturer: wch.cn
[ 8186.391358] input: wch.cn CH57x as /devices/pci0000:00/0000:00:01.2/0000:20:00.0/0000:21:08.0/0000:2a:00.3/usb3/3-1/3-1:1.0/0003:1189:8890.0013/input/input37
[ 8186.443829] hid-generic 0003:1189:8890.0013: input,hidraw0: USB HID v1.11 Keyboard [wch.cn CH57x] on usb-0000:2a:00.3-1/input0
[ 8186.443905] usbhid 3-1:1.1: couldn't find an input interrupt endpoint
[ 8186.459353] input: wch.cn CH57x Keyboard as /devices/pci0000:00/0000:00:01.2/0000:20:00.0/0000:21:08.0/0000:2a:00.3/usb3/3-1/3-1:1.2/0003:1189:8890.0014/input/input38
[ 8186.511504] hid-generic 0003:1189:8890.0014: input,hidraw1: USB HID v1.00 Keyboard [wch.cn CH57x] on usb-0000:2a:00.3-1/input2
[ 8186.527308] input: wch.cn CH57x as /devices/pci0000:00/0000:00:01.2/0000:20:00.0/0000:21:08.0/0000:2a:00.3/usb3/3-1/3-1:1.3/0003:1189:8890.0015/input/input39
[ 8186.527595] hid-generic 0003:1189:8890.0015: input,hidraw2: USB HID v1.10 Mouse [wch.cn CH57x] on usb-0000:2a:00.3-1/input3

Searching for “CH57x” reveals that it’s a series of RISC-V microcontrollers (some with Bluetooth) from some Chinese company I’d never heard of. I also found a project on GitHub to remap the keys under Linux. What, though, would cause it to just not show up at all on my notebook? I popped out the expansion cards and plugged into each of the four USB-C ports directly; the keypad worked on none of them.