Re: USB problems on 2.4.15-pre2?

From: DevilKin (DevilKin@gmx.net)
Date: Thu Nov 15 2001 - 13:14:58 EST


On Monday 12 November 2001 07:32, DevilKin wrote:
> Hi All,
>
> I recently (yesterday) upgraded my kernel from 2.4.10 to 2.4.15-pre2 (i
> needed to recompile anyway to get USB, and it seemed that the VM troubles
> were over). I must say that I'm pleased with this kernel, operates very
> smooth on my machine. I even got better responce times (that I thought I
> wouldn't notice on a 1.4ghz...).
>
> Anyway, I'm straying...
>
> USB is compiled entirely as modules, no kmod support, hotswap activated.
> USB Bridge is a VIA bridge. (as I'm not behind the PC i don't know the
> typenumber)
>
> I have had mount locking up when attempting to mount my /dev/sda1 which
> refers to an USB mass-storage device (actually, it's my digicam, but it
> acts as if it is an USB storage device).
>
> When I plug the cam on the USB cable, it is recognized as a massstorage
> device and the appropriate module is loaded (storage-usb if i'm correct) It
> is registered in the /proc/bus/usb filesystem. When attempting to mount it,
> the mount hangs indefinitely, and the cam compactflash access led keeps on
> blinking, as if it can't read the FS on the cam (which is vfat).
>
> Every subsequent mount of this device hangs too. The mounts are unkillable
> (not even with -SIGKILL as root).
>
> This causes 2 problems when shutting down the system:
> - system hangs, waiting for mounts to get killed
> - an oops (which, unfortunately, isn't registered in syslog & stuff because
> they are dead already - I'll copy it by hand someday)
>

Followup on this. I have now compiled all USB things in the kernel, and for
some weird reason this now fails to work too. Mounting works now, but as
soon as I try to copy something from the cam it hangs.

One other question: what's the difference between the UHCI and the usb-uhci
drivers?

INFO:
~~~~~

CPU Info:
-----------
bash-2.05$ cat /proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 6
model : 4
model name : AMD Athlon(tm) processor
stepping : 4
cpu MHz : 1401.744
cache size : 256 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca cmov
pat pse36 mmx fxsr syscall mmxext 3dnowext 3dnow
bogomips : 2798.38

PCI Info:
---------
bash-2.05# lspci -v
00:00.0 Host bridge: Advanced Micro Devices [AMD]: Unknown device 700e (rev
13)
        Flags: bus master, medium devsel, latency 32
        Memory at d0000000 (32-bit, prefetchable) [size=128M]
        Memory at e3001000 (32-bit, prefetchable) [size=4K]
        I/O ports at d000 [disabled] [size=4]
        Capabilities: [a0] AGP version 2.0

00:01.0 PCI bridge: Advanced Micro Devices [AMD]: Unknown device 700f
(prog-if 00 [Normal decode])
        Flags: bus master, 66Mhz, medium devsel, latency 32
        Bus: primary=00, secondary=01, subordinate=01, sec-latency=32
        Memory behind bridge: e0000000-e1ffffff
        Prefetchable memory behind bridge: d8000000-dfffffff

00:07.0 ISA bridge: VIA Technologies, Inc. VT82C686 [Apollo Super] (rev 40)
        Subsystem: ABIT Computer Corp.: Unknown device a702
        Flags: bus master, stepping, medium devsel, latency 0
        Capabilities: [c0] Power Management version 2

00:07.1 IDE interface: VIA Technologies, Inc. VT82C586 IDE [Apollo] (rev 06)
(prog-if 8a [Master SecP PriP])
        Subsystem: VIA Technologies, Inc. VT82C586 IDE [Apollo]
        Flags: bus master, medium devsel, latency 32
        I/O ports at d400 [size=16]
        Capabilities: [c0] Power Management version 2

00:07.2 USB Controller: VIA Technologies, Inc. VT82C586B USB (rev 1a)
(prog-if 00 [UHCI])
        Subsystem: Unknown device 0925:1234
        Flags: bus master, medium devsel, latency 32, IRQ 4
        I/O ports at d800 [size=32]
        Capabilities: [80] Power Management version 2

00:07.3 USB Controller: VIA Technologies, Inc. VT82C586B USB (rev 1a)
(prog-if 00 [UHCI])
        Subsystem: Unknown device 0925:1234
        Flags: bus master, medium devsel, latency 32, IRQ 4
        I/O ports at dc00 [size=32]
        Capabilities: [80] Power Management version 2

00:07.4 SMBus: VIA Technologies, Inc. VT82C686 [Apollo Super ACPI] (rev 40)
        Subsystem: VIA Technologies, Inc. VT82C686 [Apollo Super ACPI]
        Flags: medium devsel, IRQ 9
        Capabilities: [68] Power Management version 2

00:09.0 Ethernet controller: 3Com Corporation 3c905C-TX [Fast Etherlink] (rev
74)
        Subsystem: 3Com Corporation 3C905C-TX Fast Etherlink for PC
Management NIC
        Flags: bus master, medium devsel, latency 32, IRQ 10
        I/O ports at e000 [size=128]
        Memory at e3000000 (32-bit, non-prefetchable) [size=128]
        Expansion ROM at <unassigned> [disabled] [size=128K]
        Capabilities: [dc] Power Management version 2

00:0d.0 Multimedia audio controller: Ensoniq ES1371 [AudioPCI-97] (rev 08)
        Subsystem: Ensoniq Creative Sound Blaster AudioPCI64V, AudioPCI128
        Flags: bus master, slow devsel, latency 32, IRQ 11
        I/O ports at e400 [size=64]
        Capabilities: [dc] Power Management version 1

00:0f.0 SCSI storage controller: Adaptec AHA-7850 (rev 03)
        Subsystem: Adaptec AHA-2904/Integrated AIC-7850
        Flags: bus master, medium devsel, latency 32, IRQ 11
        I/O ports at e800 [disabled] [size=256]
        Memory at e3002000 (32-bit, non-prefetchable) [size=4K]
        Capabilities: [dc] Power Management version 1

01:05.0 VGA compatible controller: nVidia Corporation NV15 (Geforce2 GTS)
(rev a4) (prog-if 00 [VGA])
        Subsystem: CardExpert Technology: Unknown device 012c
        Flags: bus master, 66Mhz, medium devsel, latency 248, IRQ 3
        Memory at e0000000 (32-bit, non-prefetchable) [size=16M]
        Memory at d8000000 (32-bit, prefetchable) [size=128M]
        Expansion ROM at <unassigned> [disabled] [size=64K]
        Capabilities: [60] Power Management version 1
        Capabilities: [44] AGP version 2.0

USB Information (as reported by lsusb)
--------------------------------------------
bash-2.05# lsusb -v

Bus 002 Device 001: ID 0000:0000 Virtual Hub
Device Descriptor:
  bLength 18
  bDescriptorType 1
  bcdUSB 1.00
  bDeviceClass 9 Hub
  bDeviceSubClass 0
  bDeviceProtocol 0
  bMaxPacketSize0 8
  idVendor 0x0000 Virtual
  idProduct 0x0000 Hub
  bcdDevice 0.00
  iManufacturer 0
  iProduct 2 USB UHCI Root Hub
  iSerial 1 dc00
  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
      Endpoint Descriptor:
        bLength 7
        bDescriptorType 5
        bEndpointAddress 0x81 EP 1 IN
        bmAttributes 3
          Transfer Type Interrupt
          Synch Type none
        wMaxPacketSize 8
        bInterval 255
  Language IDs: (length=4)
     0000 (null)((null))

Bus 001 Device 001: ID 0000:0000 Virtual Hub
Device Descriptor:
  bLength 18
  bDescriptorType 1
  bcdUSB 1.00
  bDeviceClass 9 Hub
  bDeviceSubClass 0
  bDeviceProtocol 0
  bMaxPacketSize0 8
  idVendor 0x0000 Virtual
  idProduct 0x0000 Hub
  bcdDevice 0.00
  iManufacturer 0
  iProduct 2 USB UHCI Root Hub
  iSerial 1 d800
  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
      Endpoint Descriptor:
        bLength 7
        bDescriptorType 5
        bEndpointAddress 0x81 EP 1 IN
        bmAttributes 3
          Transfer Type Interrupt
          Synch Type none
        wMaxPacketSize 8
        bInterval 255
  Language IDs: (length=4)
     0000 (null)((null))

/* This is the webcam */
Bus 001 Device 002: ID 03f0:4002 Hewlett-Packard
Device Descriptor:
  bLength 18
  bDescriptorType 1
  bcdUSB 1.10
  bDeviceClass 0 Interface
  bDeviceSubClass 0
  bDeviceProtocol 0
  bMaxPacketSize0 64
  idVendor 0x03f0 Hewlett-Packard
  idProduct 0x4002
  bcdDevice 0.02
  iManufacturer 1 Hewlett-Packard
  iProduct 2 HP PhotoSmart 618 (MSDC)
  iSerial 3 00030A4510A1
  bNumConfigurations 1
  Configuration Descriptor:
    bLength 9
    bDescriptorType 2
    wTotalLength 39
    bNumInterfaces 1
    bConfigurationValue 1
    iConfiguration 0
    bmAttributes 0xc0
      Self Powered
    MaxPower 10mA
    Interface Descriptor:
      bLength 9
      bDescriptorType 4
      bInterfaceNumber 0
      bAlternateSetting 0
      bNumEndpoints 3
      bInterfaceClass 8 Mass Storage
      bInterfaceSubClass 6 SCSI
      bInterfaceProtocol 80 Bulk (Zip)
      iInterface 0
      Endpoint Descriptor:
        bLength 7
        bDescriptorType 5
        bEndpointAddress 0x81 EP 1 IN
        bmAttributes 2
          Transfer Type Bulk
          Synch Type none
        wMaxPacketSize 64
        bInterval 0
      Endpoint Descriptor:
        bLength 7
        bDescriptorType 5
        bEndpointAddress 0x02 EP 2 OUT
        bmAttributes 2
          Transfer Type Bulk
          Synch Type none
        wMaxPacketSize 64
        bInterval 0
      Endpoint Descriptor:
        bLength 7
        bDescriptorType 5
        bEndpointAddress 0x83 EP 3 IN
        bmAttributes 3
          Transfer Type Interrupt
          Synch Type none
        wMaxPacketSize 2
        bInterval 255
  Language IDs: (length=4)
     0409 English(US)

USB info from /proc/bus/usb/devices (after attaching cam)
-----------------------------------------
T: Bus=02 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.00 Cls=09(hub ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=0000 ProdID=0000 Rev= 0.00
S: Product=USB UHCI Root Hub
S: SerialNumber=dc00
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= 8 Ivl=255ms
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.00 Cls=09(hub ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=0000 ProdID=0000 Rev= 0.00
S: Product=USB UHCI Root Hub
S: SerialNumber=d800
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= 8 Ivl=255ms
T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=12 MxCh= 0
D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=03f0 ProdID=4002 Rev= 0.02
S: Manufacturer=Hewlett-Packard
S: Product=HP PhotoSmart 618 (MSDC)
S: SerialNumber=00030A4510A1
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr= 10mA
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

Modules loaded
------------------
Module Size Used by
NVdriver 722720 14
via686a 8228 0 (unused)
i2c-isa 1220 0 (unused)
i2c-viapro 3720 0 (unused)
i2c-proc 6176 0 [via686a]
i2c-core 12584 0 [via686a i2c-isa i2c-viapro i2c-proc]

/var/log/debug messages
-----------------------
At bootup:
----------
Nov 15 17:26:28 whocares kernel: usb.c: kmalloc IF c1847a40, numif 1
Nov 15 17:26:28 whocares kernel: usb.c: new device strings: Mfr=0, Product=2,
SerialNumber=1
Nov 15 17:26:28 whocares kernel: usb.c: USB device number 1 default language
ID
0x0
Nov 15 17:26:28 whocares kernel: hub.c: standalone hub
Nov 15 17:26:28 whocares kernel: hub.c: ganged power switching
Nov 15 17:26:28 whocares kernel: hub.c: global over-current protection
Nov 15 17:26:29 whocares kernel: hub.c: Port indicators are not supported
Nov 15 17:26:29 whocares kernel: hub.c: power on to power good time: 2ms
Nov 15 17:26:29 whocares kernel: hub.c: hub controller current requirement:
0mA
Nov 15 17:26:29 whocares kernel: hub.c: port removable status: RR
Nov 15 17:26:29 whocares kernel: hub.c: local power source is good
Nov 15 17:26:29 whocares kernel: hub.c: no over-current condition exists
Nov 15 17:26:29 whocares kernel: hub.c: enabling power on all ports
Nov 15 17:26:29 whocares kernel: usb.c: hub driver claimed interface c1847a40
Nov 15 17:26:29 whocares kernel: hub.c: port 1 connection change
Nov 15 17:26:29 whocares kernel: hub.c: port 1, portstatus 100, change 3, 12
Mb/s
Nov 15 17:26:29 whocares kernel: hub.c: port 2 connection change
Nov 15 17:26:29 whocares kernel: hub.c: port 2, portstatus 300, change 3, 1.5
Mb/s
Nov 15 17:26:29 whocares kernel: hub.c: port 1 enable change, status 100
Nov 15 17:26:29 whocares kernel: hub.c: port 2 enable change, status 300
Nov 15 17:26:29 whocares kernel: usb.c: kmalloc IF c1847c40, numif 1
Nov 15 17:26:29 whocares kernel: usb.c: new device strings: Mfr=0, Product=2,
SerialNumber=1
Nov 15 17:26:29 whocares kernel: usb.c: USB device number 1 default language
ID
0x0
Nov 15 17:26:29 whocares kernel: hub.c: standalone hub
Nov 15 17:26:29 whocares kernel: hub.c: ganged power switching
Nov 15 17:26:30 whocares kernel: hub.c: global over-current protection
Nov 15 17:26:30 whocares kernel: hub.c: Port indicators are not supported
Nov 15 17:26:30 whocares kernel: hub.c: power on to power good time: 2ms
Nov 15 17:26:30 whocares kernel: hub.c: hub controller current requirement:
0mA
Nov 15 17:26:30 whocares kernel: hub.c: port removable status: RR
Nov 15 17:26:30 whocares kernel: hub.c: local power source is good
Nov 15 17:26:30 whocares kernel: hub.c: no over-current condition exists
Nov 15 17:26:30 whocares kernel: hub.c: enabling power on all ports
Nov 15 17:26:30 whocares kernel: usb.c: hub driver claimed interface c1847c40
Nov 15 17:26:30 whocares kernel: hub.c: port 1 connection change
Nov 15 17:26:30 whocares kernel: hub.c: port 1, portstatus 100, change 3, 12
Mb/s
Nov 15 17:26:30 whocares kernel: hub.c: port 2 connection change
Nov 15 17:26:31 whocares kernel: hub.c: port 2, portstatus 100, change 3, 12
Mb/s
Nov 15 17:26:31 whocares kernel: hub.c: port 1 enable change, status 100
Nov 15 17:26:31 whocares kernel: hub.c: port 2 enable change, status 100

When attaching the cam:
-----------------------
Nov 15 17:33:04 whocares kernel: hub.c: port 1 connection change
Nov 15 17:33:04 whocares kernel: hub.c: port 1, portstatus 100, change 3, 12
Mb/s
Nov 15 17:33:04 whocares kernel: hub.c: port 1 enable change, status 100
Nov 15 17:33:07 whocares kernel: hub.c: port 1 connection change
Nov 15 17:33:07 whocares kernel: hub.c: port 1, portstatus 101, change 1, 12
Mb/s
Nov 15 17:33:07 whocares kernel: hub.c: port 1, portstatus 103, change 0, 12
Mb/s
Nov 15 17:33:07 whocares kernel: usb.c: kmalloc IF dd5d3d80, numif 1
Nov 15 17:33:07 whocares kernel: usb.c: new device strings: Mfr=1, Product=2,
SerialNumber=3
Nov 15 17:33:07 whocares kernel: usb.c: USB device number 2 default language
ID
0x409
Nov 15 17:33:08 whocares kernel: WARNING: USB Mass Storage data integrity not
assured
Nov 15 17:33:08 whocares kernel: USB Mass Storage device found at 2
Nov 15 17:33:08 whocares kernel: usb.c: usb-storage driver claimed interface
dd5d3d80

---------------------------------------------------
/var/log/messages messages
--------------------------
At bootup:
----------
Nov 15 17:26:28 whocares kernel: usb.c: registered new driver usbdevfs
Nov 15 17:26:28 whocares kernel: usb.c: registered new driver hub
Nov 15 17:26:28 whocares kernel: usb-uhci.c: $Revision: 1.268 $ time 17:23:58
Nov 15 2001
Nov 15 17:26:28 whocares kernel: usb-uhci.c: High bandwidth mode enabled
Nov 15 17:26:28 whocares kernel: usb-uhci.c: USB UHCI at I/O 0xd800, IRQ 4
Nov 15 17:26:28 whocares kernel: usb.c: new USB bus registered, assigned bus
number 1
Nov 15 17:26:28 whocares kernel: Product: USB UHCI Root Hub
Nov 15 17:26:28 whocares kernel: SerialNumber: d800
Nov 15 17:26:28 whocares kernel: hub.c: USB hub found
Nov 15 17:26:28 whocares kernel: hub.c: 2 ports detected
Nov 15 17:26:29 whocares kernel: usb-uhci.c: USB UHCI at I/O 0xdc00, IRQ 4
Nov 15 17:26:29 whocares kernel: usb.c: new USB bus registered, assigned bus
number 2
Nov 15 17:26:29 whocares kernel: Product: USB UHCI Root Hub
Nov 15 17:26:29 whocares kernel: SerialNumber: dc00
Nov 15 17:26:29 whocares kernel: hub.c: USB hub found
Nov 15 17:26:29 whocares kernel: hub.c: 2 ports detected
Nov 15 17:26:30 whocares kernel: usb-uhci.c: v1.268:USB Universal Host
Controller Interface driver
Nov 15 17:26:30 whocares kernel: Initializing USB Mass Storage driver...
Nov 15 17:26:30 whocares kernel: usb.c: registered new driver usb-storage
Nov 15 17:26:30 whocares kernel: USB Mass Storage support registered.

When attaching the cam:
-----------------------
Nov 15 17:33:07 whocares kernel: hub.c: USB new device connect on bus1/1,
assigned device number 2
Nov 15 17:33:07 whocares kernel: Manufacturer: Hewlett-Packard
Nov 15 17:33:07 whocares kernel: Product: HP PhotoSmart 618 (MSDC)
Nov 15 17:33:07 whocares kernel: SerialNumber: 00030A4510A1
Nov 15 17:33:08 whocares kernel: scsi1 : SCSI emulation for USB Mass Storage
devices
Nov 15 17:33:08 whocares kernel: sda: sda1

so it sees it, and it assigns sda1 to the VFAT partition on it

Then I try to mount the camera with:
mount /dev/sda1 /mnt/camera -t vfat (as root)

which works with usb compiled in the kernel, but not as modules

when attempting to copy something of the cam
cp /mnt/camera/camera01/* /tmp (for instance), the process hangs. I've
noticed though, that it hangs sometimes immediately (no files are copied) and
sometimes it copies one or two files and hangs.

I've been unable to recreate the Oops lately, since my system just won't shut
down. I have to use the SysRq to get my system down in a safe state when i've
tried using the cam.

Kernel config appended.

Thanks for any advice.

-- 
devilkin@gmx.net


- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Thu Nov 15 2001 - 21:00:39 EST