ITADN

umbrelos-pi4 1.7.x regression: UAS quirk for RTL9210 (0bda:9210) not applied, causes I/O errors and system instability

#2139Opengenebean 创建于 2026-05-09
G
genebeancommented
**Environment:** - Hardware: Raspberry Pi 4 - Storage: NVMe via RTL9210-based USB 3.0 enclosure (USB ID `0bda:9210`) - Working version: umbrelOS 1.5.0 (kernel `6.12.47+rpt-rpi-v8`) - Broken version: umbrelOS 1.7.2 (kernel `6.12.75+rpt-rpi-v8`) **Description:** On umbrelOS 1.5.0, the RTL9210 NVMe enclosure works correctly — UAS is not bound to the device and I/O is stable. On umbrelOS 1.7.2, despite `usb-storage.quirks=0bda:9210:u` being present in `cmdline.txt`, the UAS driver binds to the device and causes I/O errors under load. **On 1.5.0:** ``` $ dmesg | grep uas usbcore: registered new interface driver uas ``` UAS is registered but does not bind to the device. I/O is stable. **On 1.7.2:** ``` $ dmesg | grep uas usbcore: registered new interface driver uas scsi host0: uas uas_submit_urbs+0x1e8/0x400 uas_queuecommand+0x10c/0x250 sd 0:0:0:0: [sda] tag#6 cmd submit err -12 uas-tag 12 inflight: s-cmd IN work sd 0:0:0:0: [sda] tag#0 uas_eh_abort_handler 0 uas-tag 1 inflight: IN ``` UAS binds to the device. I/O errors follow under load: ``` sd 0:0:0:0: [sda] tag#0 UNKNOWN(0x2003) Result: hostbyte=0x07 driverbyte=DRIVER_OK I/O error, dev sda, sector 3487588816 op 0x0:(READ) flags 0x80700 phys_seg 73 prio class 2 ``` **cmdline.txt on 1.7.2:** ``` console=serial0,115200 console=tty1 rootfstype=ext4 fsck.repair=yes rootwait cgroup_enable=memory swapaccount=1 loglevel=3 panic=60 root=PARTUUID=3aee99b8-05 init=/usr/bin/rugpi-ctrl usb-storage.quirks=bda:9210:u ``` Note: the quirk uses `bda:9210` (without leading zero) — this is how it appears in the shipped `cmdline.txt` and may be relevant. **Impact:** Any app performing sustained disk I/O will hang. Bitcoin node hangs indefinitely at startup block verification due to blocked reads on the UAS device. **Steps to reproduce:** 1. Install umbrelOS 1.7.2 on Raspberry Pi 4 2. Attach NVMe drive via RTL9210-based USB 3.0 enclosure 3. Boot and run `dmesg | grep uas` — UAS binds to the device despite the cmdline quirk 4. Observe I/O errors in `dmesg` under load
4 条评论