Framework 16 - Storage Expansion Card crashing USB3.2 in KDE Plasma

Device: Framework Laptop 16
CPU: Ryzen AI 9 HX370
Distro: Fedora Workstation 44

See title. If I’m in KDE Plasma, plugging in a 250GB expansion module disables all of the USB3.2 ports and parts of the input deck. I uploaded a video to Google Drive showing what happens: https://drive.google.com/file/d/1ZdFIe_hXFwQsqSUUXUvW5AgiQLwka0Be/view?usp=drive_link

This happens for all four USB3.2 ports, but notably not for the rear USB4 ports. It also doesn’t happen in any other desktop environment even on the same distro, which is why I suspect the issue is in KDE Plasma and not hardware.

So if anyone else can verify whether this also happens on their device, and maybe help me figure out why it’s happening for bug-report-accuracy reasons, that’d be great.

Anything show up in dmesg? I have one of these connected almost all the time and have had no issue like you.

Here’s the dmesg log, which by the way was a pain in the ass to get because my keyboard also gets disabled:

[ 46.738680] usb 3-4.1: reset full-speed USB device number 7 using xhci_hcd
[ 55.006680] usb 4-2.2: new SuperSpeed Plus Gen 2x1 USB device number 3 using xhci_hcd
[ 55.018578] usb 4-2.2: New USB device found, idVendor=32ac, idProduct=0005, bcdDevice= 1.10
[ 55.018591] usb 4-2.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 55.018594] usb 4-2.2: Product: 250GB Expansion Card
[ 55.018596] usb 4-2.2: Manufacturer: Framework
[ 55.018597] usb 4-2.2: SerialNumber: 071C5A33A640A614
[ 55.072791] usbcore: registered new interface driver usb-storage
[ 55.085118] scsi host0: uas
[ 55.085315] usbcore: registered new interface driver uas
[ 55.088733] scsi 0:0:0:0: Direct-Access FRMW 250GB Card PMAP PQ: 0 ANSI: 6
[ 55.124548] sd 0:0:0:0: Attached scsi generic sg0 type 0
[ 55.126791] sd 0:0:0:0: [sda] 488397168 512-byte logical blocks: (250 GB/233 GiB)
[ 55.128879] sd 0:0:0:0: [sda] Write Protect is off
[ 55.128887] sd 0:0:0:0: [sda] Mode Sense: 5f 00 00 08
[ 55.132783] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn’t support DPO or FUA
[ 55.159179] sd 0:0:0:0: [sda] Preferred minimum I/O size 4096 bytes
[ 55.159196] sd 0:0:0:0: [sda] Optimal transfer size 33553920 bytes not a multiple of preferred minimum block size (4096 bytes)
[ 55.201420] sda: sda1
[ 55.201599] sd 0:0:0:0: [sda] Attached SCSI disk
[ 55.398951] sd 0:0:0:0: [sda] tag#26 data cmplt err -75 uas-tag 1 inflight: CMD
[ 55.398963] sd 0:0:0:0: [sda] tag#26 CDB: opcode=0xe6 (vendor) e6 02 00 01 00 00 00 0f 00 00 00 00 00 00 00 00
[ 55.407099] xhci_hcd 0000:c4:00.0: WARNING: Host Controller Error
[ 55.703883] ucsi_acpi USBC000:00: unknown error 256
[ 55.955855] usb 3-5: USB disconnect, device number 6
[ 57.790618] Bluetooth: hci0: command 0x0401 tx timeout
[ 57.790636] Bluetooth: hci0: failed to reset (-19)
[ 57.790829] Bluetooth: hci0: Opcode 0x0401 failed: -110
[ 57.791776] usb usb3-port5: couldn’t allocate usb_device

For comparison, under GNOME it does not crash the Host Controller:

[ 470.238666] evm: overlay not supported
[ 470.843135] nvidia 0000:c1:00.0: Enabling HDA controller
[ 476.212130] usb 3-4.1: reset full-speed USB device number 7 using xhci_hcd
[ 476.377984] usb 3-4.1: reset full-speed USB device number 7 using xhci_hcd
[ 527.350791] usb 4-1: USB disconnect, device number 3
[ 527.393863] sd 0:0:0:0: [sda] Synchronizing SCSI cache
[ 527.555431] sd 0:0:0:0: [sda] Synchronize Cache(10) failed: Result: hostbyte=DID_ERROR driverbyte=DRIVER_OK
[ 531.906487] usb 4-2.2: new SuperSpeed Plus Gen 2x1 USB device number 4 using xhci_hcd
[ 531.918233] usb 4-2.2: New USB device found, idVendor=32ac, idProduct=0005, bcdDevice= 1.10
[ 531.918239] usb 4-2.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 531.918241] usb 4-2.2: Product: 250GB Expansion Card
[ 531.918243] usb 4-2.2: Manufacturer: Framework
[ 531.918245] usb 4-2.2: SerialNumber: 071C5A33A640A614
[ 531.920161] scsi host0: uas
[ 531.923755] scsi 0:0:0:0: Direct-Access FRMW 250GB Card PMAP PQ: 0 ANSI: 6
[ 531.959724] sd 0:0:0:0: Attached scsi generic sg0 type 0
[ 531.962445] sd 0:0:0:0: [sda] 488397168 512-byte logical blocks: (250 GB/233 GiB)
[ 531.964481] sd 0:0:0:0: [sda] Write Protect is off
[ 531.964487] sd 0:0:0:0: [sda] Mode Sense: 5f 00 00 08
[ 531.968428] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn’t support DPO or FUA
[ 531.993050] sd 0:0:0:0: [sda] Preferred minimum I/O size 4096 bytes
[ 531.993064] sd 0:0:0:0: [sda] Optimal transfer size 33553920 bytes not a multiple of preferred minimum block size (4096 bytes)
[ 532.037460] sda: sda1
[ 532.037746] sd 0:0:0:0: [sda] Attached SCSI disk
[ 532.345743] exFAT-fs (sda1): bogus allocation bitmap size(need : 119231, cur : 119234)
[ 532.618583] ucsi_acpi USBC000:00: unknown error 256

There’s still most of the same, but it doesn’t throw the Host Controller Error. An fsck -y did fix the bitmap size but the crash under KDE still occurs.

Update: If I disable UAS for it, the drive works under KDE Plasma as well without crashing the Host Controller. So I’ve done that for now, but it does feel like I’m working around some kind of deeper issue.

The rear usb 4 ports 1,4 use a different usb controller chip.
The usb 3.2 controller chip used on ports 2,3,5,6 has firmware bugs that can cause these sorts of problems.
E.g. on linux, doing “sudo lsusb -v” kills the usb controller chip on the mainboard until the next reboot.

In general, slots 1,4 (nearest the display) seem to be most compatible with usb devices.

You can try going back to the 3.5 firmware. Bios/firmware updates have made this laptop worse with each new version. It blows my mind they keep releasing these and then marking them stable after we tell them the bugs and show reproducible steps.