Connectivity problems with external drive when connecting over USB-C

I believe there’s hidden power plan options in windows for USB devices. Look up a guide to unhide them and let us know if that changes anything. Otherwise it might be related to a similar problem with expansion cards, in which case the issue is how the mainboard handles storage devices, and not the card itself.

Hmm this sounds promising - I’m going to give it a try. However, wouldn’t disabling autosuspend harm battery life, especially when having expansion cards such as the HDMI one installed?

Depends on what’s on the ports. HDDs spin down after a time (cf their specs), and often that can be set.

As an uninformed layman’s guess, setting charge limit to ~75…80% would set the battery degradation off by one or more orders of magnitude. Maybe someone more knowledgeable can give an estimate?

In my situation (laptop runs on AC most of the time), stable connections and no lost data are much more valuable than a tiny bit (if any) of battery life cost. YMMV when on the road, I guess.

After some testing I found out that autosuspend wasn’t at fault. I disabled it for when the laptop is plugged in and charging, but that didn’t fix the issue. In hindsight it makes absolutely zero sense that it would be at fault, because if I connect this external SSD through an USB-A card instead of a USB-C card there is no issue at all.

To top this whole thing off I think I broke some of my settings because now occasionally my fingerprint sensor “falls asleep” and doesn’t work until I reboot the system or restart it with the device manager or something like UsbTreeView.

Another thing I tried was to use device manager to stop my USB controllers from shutting off power to the ports to save battery but none of that worked either so I reverted those changes.

Hopefully something comes up but for now I’m gonna quit fussing about this and get to other things.

I’ve also been dealing with USB drive disconnect problems. I’ve noticed that for me, the disconnects happen when drives connect as USB 3.0. Now I know that you said that your drive connects to USB-A as USB 3.0, but I’m just curious if you have a USB-C charging cable that you could use to test connecting your drive to the USB-C port so that it connects at USB 2.0 speeds.

Over the course of experimenting with different configurations, I found that (for instance) my 1TB Expansion card stays connected fine when it’s only connected as USB 2.0.

Another thing I’ve discovered is that my external drives don’t have surprise disconnect problems when connected to an Anker powered USB-C hub.

1 Like

Just did a quick experiment myself with a USB 2 type-c to type-c cable and everything actually behaved. Interesting. Shame USB 2.0 is so slow. This is kind of infuriating, because it feels like a fix is out there, and we got no idea where to look haha. I’m very sorry that your expansion card is disconnecting like that. Have you tried asking the FW support people?

It’s definitely frustrating. I’ve had a support ticket going since February 2022 which is a little after I first got the 1 TB expansion card and started noticing the disconnects. Framework support has been trying to figure out the problem with me. In the course of the investigation, they’ve sent me a replacement Mainboard and a replacement 1 TB expansion card.

Before Feb 2022, I had noticed oddities where USB-A drives wouldn’t connect or they’d only connect if I plugged them in halfway at first. It was only within the last few months that I figured out the USB 3.x angle. For some reason, plugging in my USB-A drive halfway results in it connecting as USB 2.x instead of 3.x.

My current theory is that it could have something to do with power requirements. USB 3 has higher power requirements than USB 2. That’s what made me think of getting the powered USB-C hub. And like I said, using the hub does result in reliable connections. That’s good enough for me for now since I mostly use the laptop at home so it’s no big deal to use the hub for reliability.

I slowly experiment with different ideas as the mood hits in order to gather more info (while trying not to spend too much time looking into it.) My next experiment is going to be to install Ubuntu on a thumb drive and see if the USB 3.x is stable on my Framework using Linux instead of Windows… you know, to see if it could be just some weird Windows problem.

The powered hub and the disconnect-only-on-usb-C rule out autosuspend.

Another hypothesis: The usb-A module (including all connectors) has lower internal resistance on power and/or ground than the -C module, and with the currents of a peak consumption in usb-3 it drops voltage to a point where the device (or controller?) falters.

Dropped connection after ‘a minute or two’ idling contradicts this, though. A few seconds max. could be explained by cache writing to memory (or how is it with these 2TB Kingston NV2 M.2 SSD?). Unless there is a sudden current spike, but why would that be?

Usb-2 allows lower currents only, and maybe the devices themselves do some switching to draw less, so no voltage drop here.

The powered hub to remedy the disconnecting would fit.

It would be nice to see the total resistance from motherboard power/ground to module out pins for the -A and -C modules. Or the voltage drop under load.

(I don’t want to spend on these for a one-time use – better invest in a good hub:)

https://www.amazon.de/Digital-Multimeter-Voltage-Resistance-Temperature/dp/B09BVSWCKS

https://www.amazon.de/Electronic-Digital-Display-Adjustable-Resistance/dp/B07GR88Q79

Yup, did end up messing around with USB autosuspend - no luck, unfortunately. Additionally, as suliblian mentions here, the only disconnects when connected via the USB-C card thing really doesn’t suggest it’s got to do with the power options.

Lastly, if this issue indeed is similar to what you describe here, I hope a fix comes around eventually.

But why/how would the mainboard discriminate between usb-A and -C modules? They’re supposed to be nothing but passive adapters (I may be underinformed, not having opened one yet).

Afaik, the usbc one is passive, just passing the cables, but the usba is not passive.

Well I think therein likes the problem. From day 1 I’ve been thinking that when I plug the drive to the USB-C card, that’s just a passthrough card so its like plugging it directly into the motherboard. When it goes over USB-A it’s a bit different, because (I’m not particularly well informed here) it’s not just a plain simple passthrough.

It’s almost like, feels like, plugging it into the USB-C card makes the motherboard decide it’s something it has more control over and does whatever it wants with it, despite it being just a plain external drive.

Before I forget, I should mention that according to the LED on the SSD enclosure, it never actually looses power, because it remains on. It shines constantly, indicating zero data transfer.
Windows itself appears to only realize the drive has been surprise disconnected and needs reconnecting the moment it needs to access the drive again. There’s nothing in the event viewer that says that windows has decided to disconnect it or put it on standby for whatever reason.

@Nikola_Dekovski When I connect my drives via the USB-A module, sometimes they connect as USB 2.0 instead of USB 3.0. Have you verified that your drive is actually connected as USB 3.0 when plugging into the USB-A port?

On Windows 10 I can check the “Bluetooth & other devices” settings and it will say “Connected to USB 3.0” or “Device can perform faster when connected to USB 3.0” depending on whether it’s connected as USB 2 or 3.

Yes, absolutely. I can be sure of this, because the transfer speeds were way, waaay above what you’d get through USB 2.0 (upwards of 5gbps). I also used UsbTreeView to verify that the connection is USB 3.x.

Hmm. Maybe I should pick up a usb-c storage device that isn’t an expansion card and do some testing. Your theories in here are interesting, it might be time to revive the disconnecting storage card thread as a disconnecting usb-c storage device thread.

I guess that eliminates my grand USB 3.x theory in your case.

@Be_Far Yes, I think the 1TB expansion card disconnects are a symptom of a more generic USB disconnect problem. They’re the most visible manifestation of the problem since lots of people have the same hardware and have it plugged in all of the time. But I have other drives disconnect like a 2TB Seagate USB-A drive.

Again, for me the solution has been to either force a drive to connect as USB 2.x or to connect my drives to a powered USB hub. Both of these solutions have resulted in stable behavior.

@suliblian I do have a USB tester though I’m not sure what to look for to identify problems. It’s funny. I got the tester to investigate these problems, but when I started trying to use it, I realized I wasn’t sure exactly what I was looking for!

I have started doing the Ubuntu testing to see if my problems are related to Windows in some way. The first thing I noticed is that in trying to boot from the thumb drive, it doesn’t show up in one of my USB ports… the same port where I have to do the halfway plugin trick to get my Seagate drive to appear. It doesn’t matter if I swap my USB-A modules, it’s the physical port that has the problem and not the modules. So this specific problem is at a lower level than Windows OS. It’s possible that the flaky disconnects and the flaky connects are two separate problems, of course.

Does the voltage drop if a load consumes more, ie, a higher current? If you don’t have a defined load like the one in the second link, a few spinning disks on an unpowered hub might do. To spin up they often draw more power, so only the spinup phase is relevant. Or another load that draws a high current.

IIRC, the FW gives 3.5A to the port that draws the highest current, plus 1.5A to each of the others. If voltage drops markedly below 5V with these currents, we may have suspect.

What happens if you plug the usb-C directly into the mainboard, without a module?

Unfortunately I can’t test this because my cable won’t fit there and it’s the only USB 3 one that I have. As was established earlier in this topic the general issue doesn’t occur over USB 2 (I have a cable with a far slimmer connector that’s USB 2).

Luckily we don’t need this tested because the USB-C modules are supposedly just dumb metal with no silicon whatsoever, so really it shouldn’t change anything - Effectively I already am plugging the drive directly into the motherboard.

When my USB Tester is plugged into a Framework port, it reports 5.02V - 5.03V if nothing is plugged into the tester. When I first plug the Seagate drive in, the voltage drops down to 4.96V at the lowest, though I saw it drop down all the way to 4.93V when running a CrystalDiskMark test. When the drive is idling the voltage is usually between 4.98V and 5.02V… ooo… I just saw it surpise disconnect while doing this measurement and when I glanced at the voltage, it was 4.97V.

When plugged into the powered hub, the tester reads 5.18V - 5.19V with nothing plugged into it. When I plug the drive in, the tester drops as low as 5.13V. Idling, the drive gets back up to 5.18V.

When plugged into my MacBook, the tester reads 5.07V with nothing plugged into it. When I plug the drive in, it drops down to as low as 4.97V. It idles at 5.04V.

I’ve noticed in my current round of testing that I can easily reproduce the disconnect error. This is a lucky break as the error itself can be flaky in reproducing.

If I plug my Seagate drive into the Framework and get it to connect as USB 3.0, wait a minute or two for the drive’s light to go off, and then try to explore the drive, Windows brings up an error message: “E:\ is not accessible. A device which does not exist was specified.”

If I plug the drive into the powered hub and wait for the light to turn off and then go to explore the drive, there is a bit of a pause while the drive turns on and then explorer comes up and I can browse the files.

If I plug the drive in halfway into the Framework USB-A module which forces it to connect as USB 2 (then plug in all the way after it shows up), and wait for the light to turn off, then explore the drive, there’s a pause but then I’m able to explore the drive.

I ran these experiments both with and without the USB Tester. With the USB Tester I was able to measure:

USB-3 connected to Framework: Idle 5.02V 0.039A.  
Exploring: Voltage drops to 4.95V, Amps increase to 0.750A at ~4 seconds.  
Drive disconnects.

USB-3 connected to Powered Hub: Idle 5.18V 0.038A.
Exploring: Voltage drops to 5.08V, Amps increase to 0.752A at ~2 seconds
Drive stays connected.

USB-2 connected to Framework: Idle 5.02V 0.037A
Exploring: Voltage drops to 4.96V, Amps increase to 0.716A at ~2 seconds
Drive stays connected.

I made videos of each of these tests and it does seem like the biggest difference is that the USB-3 connection from the Framework is slower to provide amps.

Edit: Actually, I watched more closely and noticed that the Windows error message comes up instantly - as soon as I explore the device. So somewhere lower down, Windows has already decided that the drive is disconnected when it goes into the lower power state or I mean it doesn’t give it very much time to spin up. However, again, this is only when connected via USB-3 to a Framework port. When connected via USB-2 to the Framework or USB-3 to the hub (which is connected to the framework), the drive can go back and forth between the low power state without problems.