All (GPT?) USB ext drives attach, inoperable on 21.02

I decided to upgrade OpenWRT on x86-64 mini PC, today, and it has turned into a nightmare. The current issue is that the external drive, which has been working for a couple years on v19.07, cannot be accessed. It shows up on the USB bus, and is allocated a block device, but that block device doesn't work and it doesn't show up in 'block info/detect'.

I've tried other drives too, same symptoms. All drives work my Linux desktop, though.

The only difference I see between OpenWRT and my desktop is that there is no 'class' identified by the USB drives on OpenWRT, but the correct driver 'usb-storage' is selected. Confusing.

Did you install all of the needed kernel modules for usb storage and the file system on the drive as well as the samba server?

1 Like

Yes, I saw the storage devices one and followed it. I don't believe I was missing anything required, but I have installed everything I could. I don't think I was missing anything from the other two guides either, but I installed a bunch more FS pkgs. I haven't even got to re-configuring Samba yet, but I don't appear to be missing any prerequisites.

But, I did plug in a flash drive with FAT32 and that seems to be working as expected. It also doesn't show a USB 'class' either, so I guess that's not the issue with the other drives. What is common between the two drives that didn't work were that they had GPT partition formats. I think this sounds familiar from back in v17, but I don't remember anything else about that, and I cannot find any reference to such issues, now. I think this makes the most sense, since linux isn't finding any partitions.

The other option is that something is just not compatible. I don't know what I could be, but there is a valid partition and a valid FS, yet Linux cannot find it.

Here is what I see in dmesg:

[    2.998290] sd 2:0:0:0: [sdb] Attached SCSI removable disk

But, then it doesn't detect the size, write protection, sense mode, or cache. Really weird. If I have seen this before, I've forgotten the root cause.

Here, I'm attaching a different external USB disk.

[109000.437697] usb 2-4: new SuperSpeed Gen 1 USB device number 5 using xhci_hcd

But, that's it. It just stops there. These drives work fine on other linux desktop systems. Here's what I get on kernel 5.15:

[115122.399827] usb 4-3: new SuperSpeed USB device number 4 using xhci_hcd
[115122.412592] usb 4-3: New USB device found, idVendor=0080, idProduct=a001, bcdDevice= 2.03
[115122.412594] usb 4-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[115122.412596] usb 4-3: Product: External USB 3.0
[115122.412596] usb 4-3: Manufacturer: TOSHIBA
[115122.412597] usb 4-3: SerialNumber: <redacted>
[115122.414525] scsi host10: uas
[115122.414992] scsi 10:0:0:0: Direct-Access     TO Exter nal USB 3.0      0203 PQ: 0 ANSI: 6
[115122.415827] sd 10:0:0:0: Attached scsi generic sg5 type 0
[115122.416376] sd 10:0:0:0: [sdf] 234441648 512-byte logical blocks: (120 GB/112 GiB)
[115122.416378] sd 10:0:0:0: [sdf] 4096-byte physical blocks

Notice the delay between the first line and the next four lines. What is this second process that is occurring on my desktop system and not happening in OpenWRT? It looks like it's some kind of identification. After that, ...

aha! UAS! I see uas mentioned. Let me try that, again...

I installed kmod-usb-storage-uas and it worked immediately!

So, I thought I had tried that package before, and it didn't help. In fact, I know I tried it, because I installed it and then removed it, and that is why it didn't show up in opkg list when I tried to find it again, yesterday. It wasn't in opkg list until I did opkg update again. As a result, I thought the documentation was outdated and that the -uas pkg didn't exist anymore on v21. I thought I remembered trying it on v19 and tricked myself into thinking I had seen it the package list recently. But, I didn't realize that removing the package would delete it from the list of available packages.

So, UAS was required for this particular drive, as was clearly stated in the "Using storage devices" guide. However, there was almost certaintly something else that was required to make it work, too; something in addition to what is described on that page. I have since installed so many extra packages, it is hard to be sure which one(s) were also required. I tried to check my buffer, but not enough history to even review.

Anyway, thanks again to the developers and the community here for keeping OpenWRT alive.

Oh, I thought of another possibility: If I only thought I had installed the -uas pkg to try it, and the removed it thinking it was installed and didn't help, then that would explain the situation without another package being required. I honestly don't know which it was.

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.