2001-11-12 06:32:50

by DevilKin

[permalink] [raw]
Subject: USB problems on 2.4.15-pre2?

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)


The strange thing is that the usb mounting/unmounting works perfectly if I
compile everything in the kernel (no modules for USB, that is).

Is this a known problem/bug?
I'll reply on this tonight (when behind pc) with more details.

Thanks,

DK

(no need to CC me, I'm on the list)


2001-11-14 18:18:34

by DevilKin

[permalink] [raw]
Subject: Re: USB problems on 2.4.15-pre2?

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.

--
[email protected]


Attachments:
.config (18.49 kB)

2001-11-14 18:45:29

by DevilKin

[permalink] [raw]
Subject: Re: USB problems on 2.4.15-pre2?

On Thursday 15 November 2001 19:14, DevilKin wrote:
> 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.

I just noticed this... After mounting the cam and executing the cp command,
the computers load keeps mounting, even though nothing visible is happening.
No swap usage, no cpu usage, memory stays the same...

It's mounted from 0.2 to 11.9 in under 2 minutes now. I don't notice
anything...

I've also activated the usb-storage verbose mode, and i'll append the new
info here (the point where it hangs)

The following message is also seen in /var/log/syslog:

Nov 15 19:13:28 whocares kernel: usb-uhci.c: ENXIO 80000280, flags 0, urb
db7aad40, burb db7aac40

a LOT.

Thanks again

DK

--
[email protected]


Attachments:
USB2.gz (6.07 kB)