Bug #991
closedSome USB drives are showing up as /dev/sdX without going through the USB handler.
Added by Hammel over 1 year ago. Updated about 1 year ago.
100%
Description
This means that they are not USB devices for some reason. /var/log/messages shows their mdev environment which should help debug this.
Updated by Hammel about 1 year ago
- Status changed from New to In Progress
- % Done changed from 0 to 10
It's possible that real drives (not USB sticks) are showing up as sda. I need to test using the USB hub and both hard disks and USB sticks.
It doesn't matter which hardware I try this on, or rather it shouldn't matter. I should try it on a pi3 and pi4 at a minimum.
Updated by Hammel about 1 year ago
- % Done changed from 10 to 20
Plugged in a cheap, usb powered hard drive (aka MegaZ drive) that isn't a USB stick. This was not automounted by blockhandler.sh
Nov 2 23:53:45 (none) kern.info kernel: [ 961.141417] usb 1-1.3: USB disconnect, device number 4 Nov 2 23:53:45 (none) kern.crit kernel: [ 961.453143] hwmon hwmon1: Undervoltage detected! Nov 2 23:53:45 (none) kern.info kernel: [ 961.873076] usb 1-1.1.2: new high-speed USB device number 7 using dwc_otg Nov 2 23:53:46 (none) kern.info kernel: [ 962.084310] usb 1-1.1.2: New USB device found, idVendor=152d, idProduct=0583, bcdDevice= 2.09 Nov 2 23:53:46 (none) kern.info kernel: [ 962.084360] usb 1-1.1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3 Nov 2 23:53:46 (none) kern.info kernel: [ 962.084376] usb 1-1.1.2: Product: USB 3.0 Nov 2 23:53:46 (none) kern.info kernel: [ 962.084388] usb 1-1.1.2: Manufacturer: Maxone Nov 2 23:53:46 (none) kern.info kernel: [ 962.084399] usb 1-1.1.2: SerialNumber: DD564198838A2 Nov 2 23:53:46 (none) kern.warn kernel: [ 962.085347] usb 1-1.1.2: The driver for the USB controller dwc_otg_hcd does not support scatter-gather which is Nov 2 23:53:46 (none) kern.warn kernel: [ 962.085387] usb 1-1.1.2: required by the UAS driver. Please try an other USB controller if you wish to use UAS. Nov 2 23:53:46 (none) kern.info kernel: [ 962.085405] usb-storage 1-1.1.2:1.0: USB Mass Storage device detected Nov 2 23:53:46 (none) kern.info kernel: [ 962.087186] usb-storage 1-1.1.2:1.0: Quirks match for vid 152d pid 0583: 4000000 Nov 2 23:53:46 (none) kern.info kernel: [ 962.087402] scsi host1: usb-storage 1-1.1.2:1.0 Nov 2 23:53:46 (none) kern.info kernel: [ 962.183128] usb 1-1.3: new low-speed USB device number 8 using dwc_otg Nov 2 23:53:46 (none) kern.info kernel: [ 962.342551] usb 1-1.3: New USB device found, idVendor=258a, idProduct=0001, bcdDevice= 1.00 Nov 2 23:53:46 (none) kern.info kernel: [ 962.342587] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0 Nov 2 23:53:46 (none) kern.info kernel: [ 962.342603] usb 1-1.3: Product: USB KEYBOARD Nov 2 23:53:46 (none) kern.info kernel: [ 962.342615] usb 1-1.3: Manufacturer: SINO WEALTH Nov 2 23:53:46 (none) kern.info kernel: [ 962.361071] input: SINO WEALTH USB KEYBOARD as /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.3/1-1.3:1.0/0003:258A:0001.0003/input/input3 Nov 2 23:53:46 (none) kern.info kernel: [ 962.425472] hid-generic 0003:258A:0001.0003: input,hidraw0: USB HID v1.10 Keyboard [SINO WEALTH USB KEYBOARD] on usb-3f980000.usb-1.3/input0 Nov 2 23:53:46 (none) kern.info kernel: [ 962.448234] input: SINO WEALTH USB KEYBOARD System Control as /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.3/1-1.3:1.1/0003:258A:0001.0004/input/input4 Nov 2 23:53:46 (none) kern.info kernel: [ 962.514868] input: SINO WEALTH USB KEYBOARD Consumer Control as /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.3/1-1.3:1.1/0003:258A:0001.0004/input/input5 Nov 2 23:53:46 (none) kern.info kernel: [ 962.517726] hid-generic 0003:258A:0001.0004: input,hiddev96,hidraw1: USB HID v1.10 Device [SINO WEALTH USB KEYBOARD] on usb-3f980000.usb-1.3/input1 Nov 2 23:53:47 (none) kern.notice kernel: [ 963.144042] scsi 1:0:0:0: Direct-Access Maxone USB 3.0 0209 PQ: 0 ANSI: 6 Nov 2 23:53:48 (none) kern.notice kernel: [ 964.441781] sd 1:0:0:0: [sdb] 234441648 512-byte logical blocks: (120 GB/112 GiB) Nov 2 23:53:48 (none) kern.notice kernel: [ 964.442236] sd 1:0:0:0: [sdb] Write Protect is off Nov 2 23:53:48 (none) kern.debug kernel: [ 964.442255] sd 1:0:0:0: [sdb] Mode Sense: 47 00 00 08 Nov 2 23:53:48 (none) kern.notice kernel: [ 964.442638] sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA Nov 2 23:53:48 (none) kern.info kernel: [ 964.465221] sdb: sdb1 Nov 2 23:53:48 (none) kern.notice kernel: [ 964.465793] sd 1:0:0:0: [sdb] Attached SCSI disk Nov 2 23:53:48 (none) user.notice blockhandler.sh[2472]: DEVNAME: sdb Nov 2 23:53:48 (none) user.notice blockhandler.sh[2470]: DEVNAME: sdb1 Nov 2 23:53:48 (none) user.notice blockhandler.sh[2472]: REALDEV: /dev/sdb Nov 2 23:53:48 (none) user.notice blockhandler.sh[2470]: REALDEV: /dev/sdb1 Nov 2 23:53:48 (none) user.notice blockhandler.sh[2472]: DEVPATH: /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.1/1-1.1.2/1-1.1.2:1.0/host1/target1:0:0/1:0:0:0/block/sdb Nov 2 23:53:48 (none) user.notice blockhandler.sh[2470]: DEVPATH: /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.1/1-1.1.2/1-1.1.2:1.0/host1/target1:0:0/1:0:0:0/block/sdb/sdb1 Nov 2 23:53:48 (none) user.notice blockhandler.sh[2472]: device /dev/sdb is not removable. Nov 2 23:53:48 (none) user.notice blockhandler.sh[2470]: device /dev/sdb1 is not removable.
If I plug in a USB stick, it looks like this.
Nov 2 23:56:46 (none) kern.crit kernel: [ 1142.425903] hwmon hwmon1: Undervoltage detected! Nov 2 23:56:52 (none) kern.info kernel: [ 1148.655884] hwmon hwmon1: Voltage normalised Nov 2 23:56:56 (none) kern.crit kernel: [ 1152.816022] hwmon hwmon1: Undervoltage detected! Nov 2 23:56:57 (none) kern.info kernel: [ 1153.695954] usb 1-1.2: new high-speed USB device number 9 using dwc_otg Nov 2 23:56:57 (none) kern.info kernel: [ 1153.842750] usb 1-1.2: New USB device found, idVendor=154b, idProduct=1006, bcdDevice= 1.10 Nov 2 23:56:57 (none) kern.info kernel: [ 1153.842791] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3 Nov 2 23:56:57 (none) kern.info kernel: [ 1153.842808] usb 1-1.2: Product: USB 3.2.1 FD Nov 2 23:56:57 (none) kern.info kernel: [ 1153.842820] usb 1-1.2: Manufacturer: PNY Nov 2 23:56:57 (none) kern.info kernel: [ 1153.842831] usb 1-1.2: SerialNumber: 07082972EEAEDB15 Nov 2 23:56:57 (none) kern.info kernel: [ 1153.843985] usb-storage 1-1.2:1.0: USB Mass Storage device detected Nov 2 23:56:57 (none) kern.info kernel: [ 1153.852659] scsi host2: usb-storage 1-1.2:1.0 Nov 2 23:56:58 (none) kern.notice kernel: [ 1154.898712] scsi 2:0:0:0: Direct-Access PNY USB 3.2.1 FD PMAP PQ: 0 ANSI: 6 Nov 2 23:56:58 (none) kern.notice kernel: [ 1154.901433] sd 2:0:0:0: [sdc] 60628992 512-byte logical blocks: (31.0 GB/28.9 GiB) Nov 2 23:56:58 (none) kern.notice kernel: [ 1154.902608] sd 2:0:0:0: [sdc] Write Protect is off Nov 2 23:56:58 (none) kern.debug kernel: [ 1154.902659] sd 2:0:0:0: [sdc] Mode Sense: 45 00 00 00 Nov 2 23:56:58 (none) kern.notice kernel: [ 1154.903658] sd 2:0:0:0: [sdc] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA Nov 2 23:56:59 (none) kern.info kernel: [ 1155.248944] sdc: sdc1 Nov 2 23:56:59 (none) kern.notice kernel: [ 1155.249528] sd 2:0:0:0: [sdc] Attached SCSI removable disk Nov 2 23:56:59 (none) user.notice blockhandler.sh[2761]: DEVNAME: sdc Nov 2 23:56:59 (none) user.notice blockhandler.sh[2762]: DEVNAME: sdc1 Nov 2 23:56:59 (none) user.notice blockhandler.sh[2761]: REALDEV: /dev/sdc Nov 2 23:56:59 (none) user.notice blockhandler.sh[2762]: REALDEV: /dev/sdc1 Nov 2 23:56:59 (none) user.notice blockhandler.sh[2762]: DEVPATH: /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.0/host2/target2:0:0/2:0:0:0/block/sdc/sdc1 Nov 2 23:56:59 (none) user.notice blockhandler.sh[2761]: DEVPATH: /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.0/host2/target2:0:0/2:0:0:0/block/sdc Nov 2 23:56:59 (none) user.notice blockhandler.sh[2761]: Trying to add sdc Nov 2 23:56:59 (none) user.notice blockhandler.sh[2762]: Trying to add sdc1 Nov 2 23:56:59 (none) user.notice blockhandler.sh[2761]: testing /dev/sdc for filesystem Nov 2 23:56:59 (none) user.notice blockhandler.sh[2762]: testing /dev/sdc1 for filesystem Nov 2 23:56:59 (none) user.notice blockhandler.sh[2761]: /dev/sdc has no detectable filesystem Nov 2 23:56:59 (none) user.notice blockhandler.sh[2762]: testing ext4 against * * ext3 Nov 2 23:56:59 (none) user.notice blockhandler.sh[2762]: testing ext4 against * * ext4 Nov 2 23:56:59 (none) user.notice blockhandler.sh[2762]: found entry * * ext4 rw for /dev/sdc1 Nov 2 23:56:59 (none) user.notice blockhandler.sh[2762]: /dev/sdc1: /media/usb/sdc1 options rw Nov 2 23:56:59 (none) user.notice blockhandler.sh[2762]: trying automount of /dev/sdc1 at /media/usb/sdc1 Nov 2 23:56:59 (none) user.notice blockhandler.sh[2762]: mount -o rw /dev/sdc1 /media/usb/sdc1 Nov 2 23:56:59 (none) kern.info kernel: [ 1155.831620] EXT4-fs (sdc1): mounted filesystem with ordered data mode. Quota mode: none.
The primary difference I see here is that blockhandler.sh says the hard drive is non-removable while it doesn't say that for the usb stick. That's the place to start looking for this issue.
Updated by Hammel about 1 year ago
- % Done changed from 20 to 30
Where the check for removable is done, test if MDEV is prefixed with "sd" and DEVPATH contains "usb" then just call mmc() (updated to handle sdx) or make a new function called sdx() to do basically what mmc() does.
Updated by Hammel about 1 year ago
- Status changed from In Progress to Closed
- % Done changed from 30 to 100
The non-USB sticks still have the removable file under sysfs, but the value is 0 instead of 1. So in those cases we check if it's an /dev/sdX device under a usb path. If so, we try to mount it anyway.
This could really be reduced to just say that if the removable file is there, try to mount it no matter what the contents of the removable file is. But I didn't do it that way for now.
Code tested on hardware. Committed and pushed.
Closing issue.