USB flash disk mounting problem

I've recently upgraded to FC2, kernel 2.6.8-1.521. Everything is in order, my box is humming fine. Except for my USB flash disk.

I've overcome the problem of mounting USB flash disks, as described in a previous post. It was a trivial /etc/fstab entry, actually, and just a matter of invoking mount. But that was with the 2.4.22 kernel.

When I tried to mount my USB flash disk, my box spewed out the error:

$ mount /mnt/usb

mount: /dev/sda1: can't read superblock



Hmmm... Imploring Mr. Google for guidance, I stumbled upon the OSDL Kernel Bug Tracker "Bugzilla Bug 3223 - Superfloppy formatted USB Storage Devices cause scsi errors". But before applying the patch, I had to make sure that I had the similar problem, so I did a bit of digging on my system.

My /var/log/messages had these entries:

Sep 12 23:11:16 haus-lnx kernel: usb 2-2.2: new full speed USB device using address 5

Sep 12 23:11:16 haus-lnx kernel: scsi2 : SCSI emulation for USB Mass Storage devices

Sep 12 23:11:16 haus-lnx kernel: Vendor: Model: USB BAR Rev: 1.89

Sep 12 23:11:16 haus-lnx kernel: Type: Direct-Access ANSI SCSI revision: 02

Sep 12 23:11:16 haus-lnx kernel: SCSI device sda: 255744 512-byte hdwr sectors (131 MB)

Sep 12 23:11:16 haus-lnx kernel: sda: Write Protect is off

Sep 12 23:11:16 haus-lnx kernel: sda: assuming drive cache: write through

Sep 12 23:11:16 haus-lnx kernel: sda: sda1

Sep 12 23:11:16 haus-lnx kernel: Attached scsi removable disk sda at scsi2, channel 0, id 0, lun 0

Sep 12 23:11:16 haus-lnx kernel: Attached scsi generic sg0 at scsi2, channel 0, id 0, lun 0, type 0

Sep 12 23:11:16 haus-lnx scsi.agent[5719]: disk at /devices/pci0000:00/0000:00:1f.4/usb2/2-2/2-2.2/2-2.2:1.0/host2/2:0:0:0

Sep 12 23:11:17 haus-lnx kernel: updfstab: Using deprecated /dev/sg mechanism instead of SG_IO on the actual device

Sep 12 23:11:55 haus-lnx kernel: SCSI error : return code = 0x10070000

Sep 12 23:11:55 haus-lnx kernel: end_request: I/O error, dev sda, sector 32

Sep 12 23:11:55 haus-lnx kernel: FAT: unable to read boot sector



Spot on. Taking a look at my /proc/bus/usb/devices:

T: Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2

B: Alloc= 11/900 us ( 1%), #Int= 1, #Iso= 0

D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1

P: Vendor=0000 ProdID=0000 Rev= 2.06

S: Manufacturer=Linux 2.6.8-1.521 uhci_hcd

S: Product=UHCI Host Controller

S: SerialNumber=0000:00:1f.4

C:* #Ifs= 1 Cfg#= 1 Atr=c0 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= 2 Ivl=255ms

T: Bus=02 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 2 Spd=12 MxCh= 4

D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1

P: Vendor=058f ProdID=9254 Rev= 1.00

S: Manufacturer=ALCOR

S: Product=Generic USB Hub

C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=100mA

I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub

E: Ad=81(I) Atr=03(Int.) MxPS= 1 Ivl=255ms

T: Bus=02 Lev=02 Prnt=02 Port=01 Cnt=01 Dev#= 5 Spd=12 MxCh= 0

D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1

P: Vendor=0ea0 ProdID=6828 Rev= 1.10

S: Manufacturer=USB

S: Product=Flash Disk

C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA

I: If#= 0 Alt= 0 #EPs= 3 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage

E: Ad=81(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms

E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms

E: Ad=83(I) Atr=03(Int.) MxPS= 2 Ivl=255ms

T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2

B: Alloc= 93/900 us (10%), #Int= 1, #Iso= 0

D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1

P: Vendor=0000 ProdID=0000 Rev= 2.06

S: Manufacturer=Linux 2.6.8-1.521 uhci_hcd

S: Product=UHCI Host Controller

S: SerialNumber=0000:00:1f.2

C:* #Ifs= 1 Cfg#= 1 Atr=c0 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= 2 Ivl=255ms

T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=1.5 MxCh= 0

D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1

P: Vendor=045e ProdID=0040 Rev= 3.00

S: Manufacturer=Microsoft

S: Product=Microsoft 3-Button Mouse with IntelliEye(TM)

C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=100mA

I: If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=02 Driver=usbhid

E: Ad=81(I) Atr=03(Int.) MxPS= 4 Ivl=10ms




Okay. Nothing there. The bug seemed to apply to my case so I did a patch -p0 , then tried to mount the USB flash disk again. Same error.

Drat. I had to resort to mounting the USB storage device on loopback:

$ sudo mount -t vfat -o loop /dev/sda1 /mnt/usb



This one worked, so I promptly edited my /etc/fstab to reflect the option, unmounted and remounted the thing again. Voila! I can access my flash disk again. Would have to study the patch more closely though, as it seemed the better solution.

Comments

  1. Anonymous14/9/04 06:11

    Oooh lots of goobledygeek! Did you get your flash drive to run on USB 2.0? I'm on FC2 also but I have to disable USB 2.0 (ehci-hcd kernel module) to get my flash drive to work. :(

    - cha gascon

    ReplyDelete
  2. Hmmm... haven't tried that one out. Will probably look into that later. And, oh: the 'gobbledygeek' are just for space fillers. Hehe. Nah, just wanted to ferret out the problem, even if I couldn't understand half of what's going on. =D

    ReplyDelete

Post a Comment

Popular posts from this blog

Pull files off Android phone