[RESPONDED] Expansion card OS file system error

Hello,

I installed NixOS on a 250GB expansion module for my laptop. It works great for the most part however occasionally the OS will freeze and I can’t open anything or run any commands. Then when shutting down it will continue to print the same type of error and never completes shutting down. It goes something like Ext4-fs error (device sda2) ext4_find_entry :1635 inod #NUMBER com SERVICE reading directory lblock 0 and I have to manually power off. Luckily with NixOS I can rebuild the whole system and repair any corrupted installs easily however it is inconvenient.

Has anyone run into filesystem errors using the expansion module and is this just a consequence of running on a USB?

By the looks of this, it seems that it’s an IO error related to the power saving features of the expansion card.

1 Like

@Water261 thank you will check that out

@mvkvc Were you ever able to solve this issue on your system?

If you’re having the same issue: Have you checked the proposed solution in this post?

@Anachron Yes, I looked at that and decided I wanted to check that other Framework users have had success before trying it since it seems like that solution doesn’t always work. I’m reluctant to edit my GRUB configuration if it doesn’t solve the problem.

@Anachron is correct.

nvme_core.default_ps_max_latency_us=6000

You may need to test out different latency from =0 (no power saving) to =6000

After gradually working my way down to nvme_core.default_ps_max_latency_us=0, the errors are still occurring. I am now wondering if there is either a defect with the expansion card or if it is overheating, because it gets very hot and has no heatsink or fan.

Before jumping to hardware @mvkvc, I’d make sure it’s working on tested and vetted distros; Fedora 38 is a good place to test with. If it doesn’t see the issue there, then it would not be a hardware fault. If it does, then it’s a ticket for help on the hardware side of things.

Wait, okay - this is why. While it’s capable of running an OS, it can have issues with power suspending on the USB side of things. I’ve seen this before.

Best use case for the expansion cards in my experience is for data backup (ideal and worthwhile). It “can” run an OS, but your mileage may vary.

The only time I’ve seen really bad issues like this is when the system tries to suspend (running Linux on an expansion card) and that usually results in a fault.

So if it’s not suspending, it should be fine and trying the above suggestion I made would be the next step.

@Matt_Hartley The Framework marketplace specifically suggests running an OS as a purpose for the storage expansion cards:

The 250GB and 1TB Expansion Cards give you the performance of an internal drive with the flexibility of an external one. With a USB 3.2 Gen 2 interface, the 1TB card exceeds 1000 MB/s read and write speeds, while the 250GB card reaches 1000 MB/s read and 375 MB/s write speeds. Both are fast enough to run apps and even boot an operating system from, and you can plug them into other computers for high-speed file transfer.

That’s quite a different message than “It ‘can’ run an OS, but your mileage may vary.” The marketing is why I (probably naively) purchased the storage expansion card in the first place. I recommend that Framework amend its description of the expansion cards because as it is, it feels like false advertising.

Regardless, I’ve now resorted to disabling USB autosuspend altogether in order to address this problem.

But thats exactly what “your mileage may vary” means?

You can do it and it will most probably work, but maybe some tweaks are needed and it may not be perfect.

How do you expect to run off an usb interface when usb autosuspend is enabled?

That’s like saying your car doesnt support a heater because it is still not warm in the winter when turning it on while having all the windows open.

What I explained is absolutely correct - your mileage may vary on Linux and Windows if you choose to use this as an OS drive - this does not mean it can’t be done, it means I will not be able to guaranty it will be a seamless experience.

I am glad to hear you were able to address this with by disabling USB autosuspend.

Turns out disabling USB autosuspend does not resolve the problem. Unless there’s a separate firmware setting that can be adjusted, my (expensive) findings are thus:

The Framework storage expansion cards are not suitable for running an operating system on. Users should only use the internal NVMe drive for operating systems, and treat the expansion cards as large flash drives that don’t stick out beyond the edge of the chassis.

At this point, I think keeping the “you can boot an operating system” verbiage in the description of the expansion cards is deceptive marketing. Disappointing.

1 Like

Sorry to hear about the experience. It’s tricky as we do in fact have people who do boot Linux from it successfully - however, as you’ve noted, it’s not flawless.

I currently have Ubuntu 22.04 installed on an expansion card for testing - it works, unless I suspend. If I suspend or if it auto-suspends, it’s a bad time and needs a reboot.

Strictly from the Linux support view - I do not advocate for it as it’s basically saying I want to run an OS from a USB device. Like SD and other mediums, possible, but not ever going to touch the smooth experience of a proper Nvme drive.

I’ve been experiencing issues with the expansion cards failing to mount and crashing USB ports on my Framework Desktop since I got it 6 months ago, and have finally somewhat solved it (it’s Plasma apparently?). I’ve had a 1TB card that I’d used between my Framework Laptop (11th gen Intel) and my former desktop, which lacked any USB-C ports so I used an adapter cable (which curiously had to be plugged in one way, or I’d get USB 2 speeds, so I drew a little marker so I knew which way to plug in the 1TB card). The card was formatted NTFS, and worked seamlessly and reliably with my desktop (running Windows 10), my laptop (running the latest releases of Fedora GNOME), and any other device I plugged it into, including other Windows PCs with USB-C ports and Macs (albeit in read only).

When I got my Framework Desktop, I skipped Windows and went straight to Fedora KDE. My expansion card would show up, but the Plasma applet and the file browser would get stuck if I tried mounting the partition, or sometimes the front USB ports would crash together. If I tried one of the rear USB-Cs (not designed to be expansion bays), it would sometimes crash, but by itself. The behavior is a bit inconsistent, and it’s also hard for me to keep my facts straight at this point.

I tried getting a 256GB 2nd gen expansion card as sort of a last ditch effort to fix my old workflow, which sometimes mounts on my system, sometimes it doesn’t, I really don’t know or understand anymore. I’d initially set it up, tested and confirmed it worked in a front USB port, dumped all my stuff there, and found it to also fail to mount and crash, but plugging it into a rear USB port, it will usually mount. With the 256GB drive now carrying my data, the 1TB was free to experiment with, and I found that a Windows To Go installation on it works great and boots without a hitch, even on my Desktop, working properly at high speed. But of course it would still crash trying to mount on my Desktop under Linux, from what I knew.

I’d chocked it up to the buggy new architecture of the Desktop’s APU for a long time, and finally just yesterday decided to test more Linux distros and finally got somewhere with this. Fedora (GNOME) works flawlessly with both drives. Ubuntu (GNOME) works flawlessly with both drives. Kubuntu (KDE) handles the 256GB just fine, but crashes trying to mount the 1TB. And a fresh live USB of Fedora KDE crashes mounting both. I tried it on my Laptop too, and the behavior is mostly consistent there (though the laptop seems to not have its USB ports crash, and sometimes eventually succeeds in mounting the drives).

So from my testing, KDE environments, especially Fedora KDE, seem to exhibit issues with the storage expansion cards, especially the 1TB (gen 1) card, and GNOME environments seem free of this issue, and my Desktop seems to handle this worse than my 11th gen Intel Laptop 13.

I don’t know how/where to report this, or how recreatable my issue is. This is the only post I’ve stumbled upon so far that seems relevant to what I’m experiencing, so I might make my own post at some point. Hopefully this helps if anyone else happens to hit the same snag I hit. I can do more testing if needed.

Edit: KDE Neon mounts both drives without an issue. I sort of expected it to maybe have more issues like Fedora KDE.