[vox-tech] Trouble mounting USB keychain

Bill Kendrick vox-tech@lists.lugod.org
Sun, 8 Feb 2004 04:53:15 -0800


I'm trying to get this Debian box I'm building for my dad to read/write
to a USB keychain (aka USB 'mass storage' device), and have hit a roadblock.

This is a Debian Woody system with stock 2.4.18 kernel from Debian.

I've installed the 'hotplug' package, which is up and running.
I've made sure various other necessary modules are installed
(double-checked which ones are running on Melissa's laptop, which can
read the USB keychain just fine; also Debian Woody with a 2.4 kernel)

  # lsmod | grep usb
  usb-storage            47840   0  (unused)
  scsi_mod               84792   1  (autoclean) [usb-storage sd_mod]
  usb-ohci               17440   0  (unused)
  usbcore                47936   1  [usb-storage usb-ohci]

(There's also...

  sd_mod                 10428   0  (autoclean) (unused)
  scsi_mod               84792   1  (autoclean) [usb-storage sd_mod]

...as well.)

I've tried "sg" module, too, which I've seen mentioned (but which I didn't
notice on Melissa's laptop when I had the keychain mounted... could've just
overlooked it.)


I noticed that no messages are logged (e.g., to /var/log/messages)
when I actually plug in or remove the stick, which is kind of odd...

On IRC, folks were telling me to try to use "usb-uhci" along with, or
instead of, "usb-ohci".  (I guess the diff. has to do with the kind of
USB hardware on the motherboard...?)

Anyway, "modprobe usb-uhci" fails with:

  usb-uhci.c: $Revision: 1.275 $ time 13:06:52 Apr 14 2002
  usb-uhci.c: High bandwidth mode enabled
  usb-uhci.c: v1.275:USB Universal Host Controller Interface driver
  /lib/modules/2.4.18-k6/kernel/drivers/usb/usb-uhci.o: init_module: No such
    device
  Hint: insmod errors can be caused by incorrect module parameters, including
    invalid IO or IRQ parameters
  /lib/modules/2.4.18-k6/kernel/drivers/usb/usb-uhci.o: insmod
    /lib/modules/2.4.18-k6/kernel/drivers/usb/usb-uhci.o failed
  /lib/modules/2.4.18-k6/kernel/drivers/usb/usb-uhci.o: insmod usb-uhci failed


FYI, here's the line from my /etc/fstab (stolen directly from Melissa's
laptop):

  /dev/sda1  /keychain  vfat  defaults,user,noauto,sync  0  0


Sadly...

  # mount /keychain/
  mount: /dev/sda1 is not a valid block device

(Also, nothing seems to be logged to 'messages'/dmesg or 'syslog'...)


Other diagnostics, for those who might understand them:

  # lsusb
  Bus 001 Device 001: ID 0000:0000 Virtual Hub
  Device Descriptor:
    bLength                18
    bDescriptorType         1
    bcdUSB               1.10
    bDeviceClass            9 Hub
    bDeviceSubClass         0
    bDeviceProtocol         0
    bMaxPacketSize0         8
    idVendor           0x0000 Virtual
    idProduct          0x0000 Hub
    bcdDevice            0.00
  
  Bus 001 Device 001: ID 0000:0000 Virtual Hub
  Device Descriptor:
    bLength                18
    bDescriptorType         1
    bcdUSB               1.10
    bDeviceClass            9 Hub
    bDeviceSubClass         0
    bDeviceProtocol         0
    bMaxPacketSize0         8
    idVendor           0x0000 Virtual
    idProduct          0x0000 Hub
    bcdDevice            0.00
    iManufacturer           0
    iProduct                2 USB OHCI Root Hub
    iSerial                 1 d88ad000
    bNumConfigurations      1
    Configuration Descriptor:
      bLength                 9
      bDescriptorType         2
      wTotalLength           25
      bNumInterfaces          1
      bConfigurationValue     1
      iConfiguration          0
      bmAttributes         0x40
    bcdDevice            0.00
    iManufacturer           0
    iProduct                2 USB OHCI Root Hub
    iSerial                 1 d88ad000
    bNumConfigurations      1
    Configuration Descriptor:
      bLength                 9
      bDescriptorType         2
      wTotalLength           25
      bNumInterfaces          1
      bConfigurationValue     1
      iConfiguration          0
      bmAttributes         0x40
        Self Powered
      MaxPower                0mA
      Interface Descriptor:
        bLength                 9
        bDescriptorType         4
        bInterfaceNumber        0
        bAlternateSetting       0
        bNumEndpoints           1
        bInterfaceClass         9 Hub
        bInterfaceSubClass      0
        bInterfaceProtocol      0
        iInterface              0
      bmAttributes         0x40
        Self Powered
      MaxPower                0mA
      Interface Descriptor:
        bLength                 9
        bDescriptorType         4
        bInterfaceNumber        0
        bAlternateSetting       0
        bNumEndpoints           1
        bInterfaceClass         9 Hub
        bInterfaceSubClass      0
        bInterfaceProtocol      0
        iInterface              0
        Endpoint Descriptor:
          bLength                 7
          bDescriptorType         5
          bEndpointAddress     0x81  EP 1 IN
          bmAttributes            3
            Transfer Type            Interrupt
            Synch Type               none
          wMaxPacketSize          2
          bInterval             255
    Language IDs: (length=4)
       0000 (null)((null))


And...

  # cat /proc/bus/usb/drivers
           usbdevfs
           hub
           usb-storage

And...

  # cat /proc/bus/usb/devices
  T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 2
  B:  Alloc=  0/900 us ( 0%), #Int=  0, #Iso=  0
  D:  Ver= 1.10 Cls=09(hub  ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
  P:  Vendor=0000 ProdID=0000 Rev= 0.00
  S:  Product=USB OHCI Root Hub
  S:  SerialNumber=d88ad000
  C:* #Ifs= 1 Cfg#= 1 Atr=40 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

... which is similar to what Melissa's laptop shows when there's no
USB keychain plugged in.  However, HER'S changes to also include:

  > T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  6 Spd=12  MxCh= 0
  > D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
  > P:  Vendor=0d7d ProdID=0100 Rev= 1.00
  > S:  Manufacturer=
  > S:  Product=USB DISK
  > S:  SerialNumber=07371B500238
  > 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=255ms
  > E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=255ms
  > E:  Ad=83(I) Atr=03(Int.) MxPS=   2 Ivl=  1ms

Major noticable difference: "... Driver=usb-storage"  :^)

Her's is a Thinkpad T-20 and the "usb-uhci" driver is running, NOT "usb-ohci".


So, any USB gurus out there know what might be up?  It's not some BIOS
configuration or flakey hardware, is it?  (It's very hard for someone as
clueless as me to tell what's a software issue and what's a hardware issue
when it comes to hardware not being usable by the software. ;^) )



On a brighter note, the KDE 3.2 upgrade went well.  KStars kicks ass.
I threw in a SoundBlaster 16PCI card and got sound going.
(Note: Run "artsdsp esd" to get XMMS to play nice with KDE 3.2's "aRts")

I got an external 56Kbps modem, and can dial into our ISP (my dad also uses
Sonic.net) using KPPP.  Works like a charm!


The one last thing I think would be cool to get working is some KDE means
of running "festival" (speech synthesis).  I've used "konq-speaker" before,
but there doesn't seem to be a KDE 3.2 package of it.  I found "ksayit" and
"kmouth", the latter of whom is part of a somewhat official
"kdeaccessibility" package, but it's only available as source, and I had
trouble building it.


All in all, I'm finding Linux (esp. combined with KDE) to be quite a
usable desktop, now that I'm thinking from a relative computer-newbie's
perspective (e.g., my dad).  I'm especially enjoying the amount of control
KDE gives you.  It feels more like part of the OS than GNOME 1.x did.
GNOME feels more like a set of apps running on X on some immutable Unix
workstation ;)


-bill!
bill@newbreedsoftware.com           "Hey Shatner, ya remember that episode of
http://newbreedsoftware.com/bill/   Space Trek where your show got cancelled?"