USB storage setup - working but "Class=" unspecified - Problem?

Hi,

I'm following the guide for Using Storage Devices. I seem to be able to have my USB drive mounted just fine (manually for right now), but I see that in part of the documentation that I should see a device with "Class=Mass Storage," but I don't see that. I see "Class=," instead. I've plugged in multiple usb drives and see the same result.

The specific part of the instructions I'm referring to are:

  1. Now connect your USB disk/stick and list your connected devices with a command from these usbutils:

lsusb -t

...

In step 5, verify that the output prints no error and has at least one output line for root_hub and Mass Storage and that each Driver= lists a driver name. If not, then refer to the Installing USB Drivers for more suggestions on drivers.

Here's my output:

root@OpenWrt:~# lsusb -t
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci-mtk/1p, 5000M
    |__ Port 1: Dev 2, If 0, Class=, Driver=usb-storage, 5000M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci-mtk/2p, 480M

QUESTION: Is it going to be a problem that "Class=" is not being populated?

I've mounted multiple USB3 drives and I can list the files, but I'm wondering if I need to fix this before moving forward with my plan for a samba setup. I couldn't find any other posts about Class not being populated.

MORE
I ran through the troubleshooting guide as suggested in the documentation.

My dmesg seems fine:

[   92.742837] usb 2-1: new SuperSpeed USB device number 2 using xhci-mtk
[   92.785585] usb-storage 2-1:1.0: USB Mass Storage device detected
[   92.798980] scsi host0: usb-storage 2-1:1.0
[   93.873577] scsi 0:0:0:0: Direct-Access     SanDisk  Extreme Pro      0    PQ: 0 ANSI: 6
[   93.893325] sd 0:0:0:0: [sda] 250085376 512-byte logical blocks: (128 GB/119 GiB)
[   93.908750] sd 0:0:0:0: [sda] Write Protect is off
[   93.918332] sd 0:0:0:0: [sda] Mode Sense: 43 00 00 00
[   93.928903] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[   93.950038]  sda:
[   93.957645] sd 0:0:0:0: [sda] Attached SCSI removable disk

lsusb output:

root@OpenWrt:~# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux 5.15.162 xhci-hcd xHCI Host Controller
Bus 002 Device 002: ID 0781:5588 SanDisk USB Extreme Pro
Bus 002 Device 001: ID 1d6b:0003 Linux 5.15.162 xhci-hcd xHCI Host Controller

cat /sys/kernel/debug/usb/devices:


root@OpenWrt:~# cat /sys/kernel/debug/usb/devices

T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480  MxCh= 2
B:  Alloc=  0/800 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=1d6b ProdID=0002 Rev= 5.15
S:  Manufacturer=Linux 5.15.162 xhci-hcd
S:  Product=xHCI Host Controller
S:  SerialNumber=1e1c0000.xhci
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   4 Ivl=256ms

T:  Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=5000 MxCh= 1
B:  Alloc=  0/800 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 3.00 Cls=09(hub  ) Sub=00 Prot=03 MxPS= 9 #Cfgs=  1
P:  Vendor=1d6b ProdID=0003 Rev= 5.15
S:  Manufacturer=Linux 5.15.162 xhci-hcd
S:  Product=xHCI Host Controller
S:  SerialNumber=1e1c0000.xhci
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   4 Ivl=256ms

T:  Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=5000 MxCh= 0
D:  Ver= 3.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 9 #Cfgs=  1
P:  Vendor=0781 ProdID=5588 Rev= 1.00
S:  Manufacturer=SanDisk
S:  Product=USB Extreme Pro
S:  SerialNumber=13112678A8FB
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=  0mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
E:  Ad=81(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms

More about my system

Version:
OpenWrt 23.05.4 r24012-d8dd03c46f / LuCI openwrt-23.05 branch git-24.086.45142-09d5a38

Hardware:
Netgear R7450

Installed manually:

kmod-usb-storage
usbutils
kmod-usb-storage-uas
block-mount
e2fsprogs
kmod-fs-ext4

USB packages installed:

root@OpenWrt:~# opkg list *usb*
kmod-usb-core - 5.15.162-1
kmod-usb-ledtrig-usbport - 5.15.162-1
kmod-usb-storage - 5.15.162-1
kmod-usb-storage-uas - 5.15.162-1
kmod-usb-xhci-hcd - 5.15.162-1
kmod-usb-xhci-mtk - 5.15.162-1
kmod-usb3 - 5.15.162-1
libusb-1.0-0 - 1.0.26-3
usbutils - 014-1

Suggest reading USB specification. Much quicker than fighting legit 0x00 class id.

Thanks for your reply. I've reviewed documentation around usb class specification. It appears that the OpenWrt usb storage setup documentation that says to verify "Class=Mass Storage" from lsusb before continuing is incomplete, and that "Class=" can be acceptable to proceed in some cases like mine.

This page contains what I contend is the inaccuracy:
https://openwrt.org/docs/guide-user/storage/usb-drives

Specifically,

verify that the output prints no error and has at least one output line for root_hub and Mass Storage and that each Driver= lists a driver name

If you see a problem in documentation write corrected text in appropriate section.

I find it false that all USB devices are mass storage claim in that page.