[TRACKING] USB-A an ongoing problem?

@brianshmrian the old days…yeah! :dotted_line_face:

Haha sorry for the late response and thanks for the info – with that I managed to pinpoint some things on my end:

So on my current 11th gen mainboard which I’ve been rocking for probably over a year, my Dell monitor with built-in KVM switch/USB3 hub has been plugged into the top left port most of the time. Single USB-C port for power/video/USB hub has been working fine (though I haven’t tested its USB hub is operating at 2.0 or 3.x). When it’s first plugged in, sometimes it will need an unplug and replug, though. That also seems to be the case with the bottom left port, which I rarely use.

It appears that the left 2 ports are the “wonkiest”. The right 2 seem to work perfectly with the devices I own. I focused on my bottom left port for most of this testing as that is my “free” port. I’ve tested this with the top left port occupied with my monitor and without (so nothing else plugged into the laptop).

This is the behavior of my bottom left port (also somewhat with my top left port):

  • USB 2.0 devices all seem to work flawlessly:

    • A Sandisk Cruzer Blade USB 2.0 4GB drive (from ~2009! wow yikes).
    • Through a Framework USB-A expansion card, doing the “halfway-plug-in” trick forces devices to negotiate as USB2, which works every time. Tested with:
    • Plugging those devices into a Google Pixel USB-C to USB-A dongle negotiates them as USB 2.0 and work.
  • Plugging into the Framework USB-A expansion card fully (normally, without the “halfway trick”) with the USB 3.x Sandisk or plugable SSD enclosure with its USB-C to USB-A cable very very rarely works. I have gotten it to work but I’m entirely unsure as to how or why. Basically “it doesn’t work unless the light is shining the correct way” :person_shrugging:

  • Plugging the plugable SSD enclosure with its USB-C to USB-C cable directly into the USB-C port or through a Framework USB-C expansion card results in the same behavior. Rarely it will negotiate as 3.x, sometimes it negotiates as USB 2.0, and most of the time it just isn’t recognized.

I can confirm that this happens on both Linux (Fedora 38) and Windows 10 (thanks for the tip @brianshmrian!). Windows does say Device can perform faster when connected to USB 3.0 when a device is recognized but connected as USB 2.0 or Unknown USB Device (Port Reset Failed) when a device is not recognized.

For those on Linux, there’s probably an easier way, but here’s what I followed (note this is a direct link, because the marked solution is apparently misleading):
https://superuser.com/a/1628883
Also, when a device fails to negotiate, the journald logs will say usb usb2-port3: Cannot enable. Maybe the USB cable is bad?.


TLDR
In summary, it seems that my bottom left port works/negotiates with USB 2.0 devices every time. USB 3.x devices rarely work. And similarly (less tested) with my top left port.
It’s interesting this is happening on the same side, as my two ports on the right side both seem to work perfectly.


I’ve also taken the Framework USB-A card out of its enclosure to test if it worked plugged into the USB-C “upside down”. That made no difference.

So it does seem that my (i7-1165G7) mainboard (and prior ones) have some USB 3.x flakiness regarding a subset of its direct/onboard USB-C ports, and by extension devices that are connected to them, like the Framework USB-A expansion card.

For me, with my Framework HDMI expansion card (1st gen), HDMI does seem to work perfectly. So maybe your wonky USB-C port is causing the Anker hub’s HDMI capability to fail?

Yes! Good call, this matches my findings as well. Nice to know I’m not the only one, at least haha :slight_smile:


Thanks @Matt_Hartley, glad to know this might not be a problem on the later gen Intel boards. I’ll be thoroughly testing my AMD board when it arrives (and am aware of the current state of its ports – I very much appreciate the transparency!)

1 Like

@Michael_Wu Thanks, as always, for the detailed testing and report! It’s good to know that the same USB 3 problems happen on Linux as well as Windows, just so we know it’s not some Windows-specific problem.

1 Like

Intel 12th gen does have the same problems with USB … Shouldn’t there be an firmware update for full thunderbolt compatibility for intel 12th gen? Is there any update about it?

No updates at this time. The moment we have an update, it’ll be posted to the forums and pinned.

1 Like

I just got my Batch 5 Ryzen 7040 laptop the other day, and the first thing I immediately noticed before installing any OS was that the USB-A expansion cards I installed on the bottom-left and bottom-right would not work with a USB 3.0 thumbdrive and show up in the boot list.

Found this thread, and the half-way plugged in trick allowed me to finally boot an Arch Linux ISO. After installation, I played around with those USB-A ports a bit more, and got some errors to show up in the journal.

The bottom-left USB-A port was repeating this error when the USB 3.0 drive was fully plugged in:

kernel: xhci_hcd 0000:c1:00.3: Refused to change power state from D0 to D3hot
kernel: xhci_hcd 0000:c1:00.3: Refused to change power state from D0 to D3hot
kernel: xhci_hcd 0000:c1:00.3: Refused to change power state from D0 to D3hot
kernel: xhci_hcd 0000:c1:00.3: Refused to change power state from D0 to D3hot

Pluggin in the USB 3.0 drive fully into the bottom-right USB-A port is showing a different error:

kernel: usb 1-1: new high-speed USB device number 33 using xhci_hcd
kernel: usb usb1-port1: Cannot enable. Maybe the USB cable is bad?
kernel: usb 1-1: new high-speed USB device number 34 using xhci_hcd
kernel: usb usb1-port1: Cannot enable. Maybe the USB cable is bad?
kernel: usb usb1-port1: attempt power cycle
kernel: usb usb1-port1: Cannot enable. Maybe the USB cable is bad?
kernel: usb 1-1: new high-speed USB device number 36 using xhci_hcd
kernel: usb 1-1: Device not responding to setup address.
kernel: usb 1-1: Device not responding to setup address.
kernel: usb 1-1: device not accepting address 36, error -71
kernel: usb usb1-port1: unable to enumerate USB device
kernel: usb 1-1: new high-speed USB device number 37 using xhci_hcd
kernel: usb usb1-port1: Cannot enable. Maybe the USB cable is bad?
kernel: usb 1-1: new high-speed USB device number 38 using xhci_hcd
kernel: usb usb1-port1: Cannot enable. Maybe the USB cable is bad?
kernel: usb usb1-port1: attempt power cycle
kernel: usb usb1-port1: Cannot enable. Maybe the USB cable is bad?
kernel: usb 1-1: new high-speed USB device number 40 using xhci_hcd
kernel: usb 1-1: Device not responding to setup address.
kernel: usb 1-1: Device not responding to setup address.
kernel: usb 1-1: device not accepting address 40, error -71
kernel: usb usb1-port1: unable to enumerate USB device

When I replace the USB-A expansion with a USB-C one and use a USB-C to USB-A adapter, the drive works without issue.

Now here’s where it get strange. I swapped back in the USB-A expansions on both sides, and now the USB 3.0 drive works without issue.

This is definitely a weird problem

1 Like

I’ve also found the problem to be intermittent, though when a device does manage to connect as USB-3 it can end up disconnecting later. The fact that it’s so random and that some people have the problem and others don’t makes me think that it is a hardware thing.

I’ve updated my 11th gen framework to the 3.19 BIOS but still have the problem. I just live with it. My powered USB hub works pretty well. When devices connect as USB-3 through it they’re pretty stable. Sometimes the hub can only connect as USB-2, but in this case everything’s also stable since USB-2 seems to be solid in general on my Framework.

Sounds rather like a race condition between the software and hardware, with the relevant USB hub chips being just on the edge of timing limits, and then production variations in the chips cause failures under some specific temperature/voltage/IO operation (through USB) makes the thing loose track of the USB A.

All effected:

Three questions:

  • AMD or Intel (11th, 12th or 13th Gen - please be clear on this)

  • Does this card repeat this behavior in other expansion slots?

  • Has this card been tested on a non-Framework computer to see if it happens there as well?

  • Are we basing this on attached hub behavior or just a proper connection to USB-A to device?

  • Have you opened a ticket?

  • Intel 11th gen
  • All slots are affected (i.e. there are no consistently reliable slots or expansion cards… this includes skipping the expansion cards and plugging directly into the framework mainboard slots).
  • Doesn’t happen on non-framework computers (tested on MacBook Pro USB-C)
  • Happens without the powered hub (the hub actually makes things a bit better)
  • I have a ticket but haven’t engaged with it in a while. They told me to get back to them when the new 3.19 bios came out, but I haven’t replied yet now that it’s out.

To clarify, I don’t think this is specifically a USB-A problem. It can manifest with USB-A slots and USB-A slots do have the added benefit of being able to do the halfway plugin trick to force a stable USB-2 connection, but the problem happens on USB-C connections as well. I observed it quite a bit with the 1 TB expansion card which is what sort of sucked me into this whole debugging process in the first place (even though I’d already observed the weird USB-A behavior and discovered the halfway-plugin trick earlier).

Thanks for the details. This is helpful.

I located your ticket, am I safe in assuming you’re on the 3.17 BIOS? Based on the ticket thread.

If you are, you will want to update to 3.19 BIOS as it’s out now.

Oops… Sorry, Matt, I should have said that I did upgrade to the 3.19 BIOS but I still have the problem.

Ah, okay, it is worthwhile to update the ticket itself, stating you’re on 3.19 and then this way engineering is on the same page.

1 Like
  • AMD 7840U
  • I’m able to reproduce this on all expansion slots. What slots are affected seem to be completely at random, and often changes between power cycles. I’m also able to get the USB-A card working again by simply removing and reinserting the card while powered on
  • The card seems to be working fine when plugged into a XPS 13
  • No hubs are being used
  • Not yet
1 Like

I appreciate the update. If you’re not already, let’s get this into a ticket.

1 Like

Not sure if this is the same issue, but I’m also getting

kernel: xhci_hcd 0000:c1:00.3: Refused to change power state from D0 to D3hot
kernel: xhci_hcd 0000:c1:00.3: Refused to change power state from D0 to D3hot
kernel: xhci_hcd 0000:c1:00.3: Refused to change power state from D0 to D3hot
kernel: xhci_hcd 0000:c1:00.3: Refused to change power state from D0 to D3hot

spam in my logs on my Framework 13 AMD.

It was happening when I had an HDMI module in my front left port. Removing it stopped the messages. I moved a USB module to the front left, and the HDMI module to the front right port, and so far everything seems fine without the messages.

Not ideal since I’d prefer the HDMI port on the left side, but workable for now. Also in case it’s helpful, the two back ports are USB-C.

2 Likes

@shazow I have the same issue, but only after a “powertop --auto-tune” run… if i restore the setting for the corresponding device, the messages stop occuring…

edit: it happens here when i have a usb-a module in the front left port, instead of hdmi, like you’re running…

1 Like

Which distro and kernel?

Which distro and kernel?

NixOS with 6.6.8 Kernel.

Which distro and kernel?

Same here, NixOS and 6.6.8 Kernel.

I did stumble on this diagram which says that HDMI should not be in slot 2 (front left), which is where I was having the issue: Expansion Card Functionality on Framework Laptop 13 (AMD Ryzen™ 7040 Series)

Jumping in here to report similar issues that have just started for me. I’ve got an intel 11th gen, running Fedora 39 with 6.6.9 linux kernel. I am on BIOS 3.17, waiting on UEFI installer for 3.19. I’ve just opened a ticket, and posting here to add to the rabble and track updates.

For a few more details, it seems like this is more dependent on the device than the specific port location or the actual USB-A expansion port. I’ve got a Sandisk 3.2 USB-A drive that works via the expansion port just fine, no matter the expansion port’s position, and it also works when I use an adapter to plug it into any of my USB-C ports. However, several other USB-A devices (a wi-fi dongle, a serial connector to an arduino board, other USB-A storage devices) consistently don’t work no matter if they’re directly in the USB-A expansion port or USB-C (with adapter).

I also confirmed the USB-A expansion port works just fine plugged into my desktop. Based on everything I’ve seen so far my best guess is this is related to how the mainboard is handling USB, but I’m no hardware/firmware expert ¯_(ツ)_/¯