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?
@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.
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.
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.
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.