Hi all,

Thanks Guennadi and Ged for your suggestions. I managed to get the 600MHz board down to 400MHz... with no improvement in usb. I won't say they're the same now, and I now they have a different BIOS at least. (and that could be the problem..)

So I did the diff you suggested with the output from the working 400 board, I hope you might be able to read something in it.

Guennadi Liakhovetski wrote:
I think, I didn't ask you to switch debugging on, did I? Just specify
"debug=1" as you load uhci-hcd. I guess, there should appear some output
between the time you insert the device and the hang.
This didn't add any information.

Further, I guess, you'll have to start throughing printk()s here and
there, until you reasonably narrow the bug down. There's an example below.
Hope it compiles:-) Hope also someone will step in with more experience
and understanding of usb than me:-)
I added the printk's, which worked fine. I used the loop:
'while : ; do dmesg -c; done' to get as much as I could before the hang. Here's the diff of that with the same thing on the 400 board. (I've taken out the multiple lines and put in how many times they were repeated. I also cleared dmesg, so this is just when the usb-key is plugged in):


diff 400Board/dmesg.txt 600Board/dmesg.txt
2,3c2,6
< drivers/usb/host/uhci-hcd.c: e400: wakeup_hc
< usb_internal_control_msg(): 97. urb c600b300
---
> uhci_irq(): 1927. status 24
> drivers/usb/host/uhci-hcd.c: c400: wakeup_hc
> usb_internal_control_msg(): 97. urb cdd5b980 (x3)
5,10c8,20
< usb_internal_control_msg(): 97. urb c600b300 (x6)
---
> usb_internal_control_msg(): 97. urb cdd5b980 (x13)
12,76c22,25
< usb_internal_control_msg(): 97. urb c600b300 (x3)
< usb 1-1: new full speed USB device using address 3
< usb_internal_control_msg(): 97. urb c600b300
< uhci_irq(): 1927. status 1
< uhci_irq(): 1962. urb c600b300
< uhci_irq(): 1927. status 1
< uhci_irq(): 1927. status 1
< usb_internal_control_msg(): 97. urb c600b300
< uhci_irq(): 1927. status 1
< uhci_irq(): 1962. urb c600b300
< uhci_irq(): 1927. status 1
< uhci_irq(): 1927. status 1
< usb_internal_control_msg(): 97. urb c600b300
< uhci_irq(): 1927. status 1
< uhci_irq(): 1962. urb c600b300
< uhci_irq(): 1927. status 1
< uhci_irq(): 1927. status 1
< usb_internal_control_msg(): 97. urb c600b300
< uhci_irq(): 1927. status 1
< uhci_irq(): 1962. urb c600b300
< uhci_irq(): 1927. status 1
< uhci_irq(): 1927. status 1
< usb_internal_control_msg(): 97. urb c600b300
< uhci_irq(): 1927. status 1
< uhci_irq(): 1962. urb c600b300
< uhci_irq(): 1927. status 1
< uhci_irq(): 1927. status 1
< usb 1-1: new device strings: Mfr=1, Product=2, SerialNumber=0
< usb_internal_control_msg(): 97. urb c600b300
< uhci_irq(): 1927. status 1
< uhci_irq(): 1962. urb c600b300
< uhci_irq(): 1927. status 1
< uhci_irq(): 1927. status 1
< drivers/usb/core/message.c: USB device number 3 default language ID 0x409
< usb_internal_control_msg(): 97. urb c600b300
< uhci_irq(): 1927. status 1
< uhci_irq(): 1962. urb c600b300
< uhci_irq(): 1927. status 1
< uhci_irq(): 1927. status 1
< usb_internal_control_msg(): 97. urb c600b300
< uhci_irq(): 1927. status 1
< uhci_irq(): 1962. urb c600b300
< uhci_irq(): 1927. status 1
< uhci_irq(): 1927. status 1
< usb 1-1: Product: TS256MJFLASHA
< usb_internal_control_msg(): 97. urb c600b300
< uhci_irq(): 1927. status 1
< uhci_irq(): 1962. urb c600b300
< uhci_irq(): 1927. status 1
< uhci_irq(): 1927. status 1
< usb_internal_control_msg(): 97. urb c600b300
< uhci_irq(): 1927. status 1
< uhci_irq(): 1962. urb c600b300
< uhci_irq(): 1927. status 1
< uhci_irq(): 1927. status 1
< usb_internal_control_msg(): 97. urb c600b300
< uhci_irq(): 1927. status 1
< uhci_irq(): 1962. urb c600b300
< uhci_irq(): 1927. status 1
< uhci_irq(): 1927. status 1
< usb 1-1: registering 1-1:1.0 (config #1, interface 0)
< usb_internal_control_msg(): 97. urb c600b300
< usb_internal_control_msg(): 97. urb c600b300
---
> usb_internal_control_msg(): 97. urb cdd5b980 (x4)



This is a diff of the contents of dmesg when both boards are first booted:
diff 400Board/dmesg.txt 600Board/dmesg.txt
1c1
< Linux version 2.6.3 ([EMAIL PROTECTED]) (gcc version 3.3.2 20031022 (Red Hat Linux 3.3.2-1)) #8 Wed Mar 3 15:06:58 CST 2004
---
> Linux version 2.6.3 ([EMAIL PROTECTED]) (gcc version 3.3.2 20031022 (Red Hat Linux 3.3.2-1)) #10 Fri Mar 5 16:18:25 CST 2004
5c5,7
< BIOS-e820: 0000000000100000 - 0000000007000000 (usable)
---
> BIOS-e820: 0000000000100000 - 000000000eff0000 (usable)
> BIOS-e820: 000000000eff0000 - 000000000eff3000 (ACPI NVS)
> BIOS-e820: 000000000eff3000 - 000000000f000000 (ACPI data)
7,8c9,10
< 112MB LOWMEM available.
< On node 0 totalpages: 28672
---
> 239MB LOWMEM available.
> On node 0 totalpages: 61424
10c12
< Normal zone: 24576 pages, LIFO batch:6
---
> Normal zone: 57328 pages, LIFO batch:13
13d14
< ACPI: Unable to locate RSDP
17,18c18,19
< PID hash table entries: 512 (order 9: 4096 bytes)
< Detected 400.201 MHz processor.
---
> PID hash table entries: 1024 (order 10: 8192 bytes)
> Detected 600.646 MHz processor.
21c22
< Memory: 110364k/114688k available (1619k kernel code, 3772k reserved, 532k data, 320k init, 0k highmem)
---
> Memory: 240188k/245696k available (1448k kernel code, 4804k reserved, 463k data, 304k init, 0k highmem)
23,25c24,26
< Calibrating delay loop... 778.24 BogoMIPS
< Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
< Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
---
> Calibrating delay loop... 925.69 BogoMIPS
> Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
> Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
27,34c28,37
< CPU: After generic identify, caps: 0080803f 0081813f 00000000 00000000
< CPU: After vendor identify, caps: 0080803f 0081813f 00000000 00000000
< CPU: L1 I Cache: 64K (64 bytes/line), D cache 32K (32 bytes/line)
< CPU: Processor revision 1.1.0.2, 400 MHz
< CPU: Code Morphing Software revision 3.0.8-4-855
< CPU: 20000501 19:36 official build cand-3.0.8#2
< CPU: After all inits, caps: 0080813f 0081813f 00000000 00000000
< CPU: Transmeta(tm) Crusoe(tm) Processor stepping 02
---
> CPU: After generic identify, caps: 0084803f 0081813f 00000000 00000000
> CPU: After vendor identify, caps: 0084803f 0081813f 00000006 00000000
> CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (32 bytes/line)
> CPU: L2 Cache: 256K (128 bytes/line)
> CPU: Processor revision 1.3.2.0, 600 MHz
> CPU: Code Morphing Software revision 4.1.7-7-95
> CPU: 20001013 08:04 official release 4.1.7#3
> CPU serial number disabled.
> CPU: After all inits, caps: 0080813f 0081813f 00000006 00000000
> CPU: Transmeta(tm) Crusoe(tm) Processor TM5400 stepping 03
41,42d43
< ACPI: Subsystem revision 20040116
< ACPI: Interpreter disabled.
45,46d45
< ACPI: ACPI tables contain no PCI IRQ routing entries
< PCI: Invalid ACPI-PCI IRQ routing table
52,54c51
< isapnp: Scanning for PnP cards...
< isapnp: No Plug & Play device found
< parport0: PC-style at 0x378 (0x778) [PCSPP,TRISTATE]
---
> parport0: PC-style at 0x378 [PCSPP,EPP]
61d57
< divert: not allocating divert_blk for non-ethernet device lo
64,65c60
< divert: allocating divert_blk for eth0
< eth0: RealTek RTL8139 at 0xc780d000, 00:e0:4c:39:00:10, IRQ 15
---
> eth0: RealTek RTL8139 at 0xcf80d000, 00:e0:4c:39:01:4c, IRQ 15
74c69
< ide0: BM-DMA at 0xe000-0xe007, BIOS settings: hda:DMA, hdb:DMA
---
> ide0: BM-DMA at 0xc000-0xc007, BIOS settings: hda:DMA, hdb:DMA
89,90c84,85
< IP: routing cache hash table of 512 buckets, 4Kbytes
< TCP: Hash tables configured (established 8192 bind 16384)
---
> IP: routing cache hash table of 2048 buckets, 16Kbytes
> TCP: Hash tables configured (established 16384 bind 32768)
93,94d87
< NET: Registered protocol family 8
< NET: Registered protocol family 20
98c91
< Freeing unused kernel memory: 320k freed
---
> Freeing unused kernel memory: 304k freed
103,104d95
< ip_tables: no version for "struct_module" found: kernel tainted.
< ip_tables: No versions for exported symbols. Tainting kernel.
106d96
< ip_tables: No versions for exported symbols. Tainting kernel.



This is a diff of the output from lspci -vvxxx:
diff 400Board/lspci.txt 600Board/lspci.txt
1,2c1,2
< 00:00.0 Host bridge: Transmeta Corporation Northbridge (rev 01)
< Subsystem: Transmeta Corporation Northbridge
---
> 00:00.0 Host bridge: Transmeta Corporation LongRun Northbridge
> Subsystem: Transmeta Corporation: Unknown device 0295
7c7
< 00: 79 12 95 02 06 00 00 02 01 00 00 06 00 00 00 00
---
> 00: 79 12 95 03 06 00 00 02 00 00 00 06 00 00 80 00
11,15c11,15
< 40: 00 00 00 00 00 00 00 00 00 07 00 07 00 00 00 00
< 50: f0 ff 00 00 00 00 00 00 00 1f 11 03 00 00 00 00
< 60: 0e 0e 0e 0e 33 33 33 33 00 00 00 00 00 00 00 00
< 70: 00 00 0a 3f 88 00 08 20 22 00 18 00 00 00 00 00
< 80: 31 11 04 22 08 11 03 22 08 11 03 22 08 11 03 22
---
> 40: 00 00 00 00 00 00 00 00 00 0f 00 0f 00 00 00 00
> 50: 00 00 00 00 00 00 00 00 00 1f 11 03 00 00 00 00
> 60: 1e 1e 1e 1e 33 00 00 00 00 00 00 00 00 00 00 00
> 70: 00 00 0a 3f 82 40 06 21 22 00 18 00 00 00 00 00
> 80: 1b 11 04 22 00 00 00 00 00 00 00 00 00 00 00 00
17c17
< a0: f0 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00
---
> a0: 00 06 00 00 00 00 00 00 01 00 00 00 00 00 00 00
22c22,64
< f0: 00 00 00 00 00 00 00 00 00 00 00 00 90 01 34 0c
---
> f0: 00 00 00 00 00 00 00 00 00 00 00 00 58 02 77 12
>
> 00:00.1 RAM memory: Transmeta Corporation SDRAM controller
> Subsystem: Transmeta Corporation: Unknown device 0295
> Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
> Status: Cap- 66Mhz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
> 00: 79 12 96 03 00 00 00 00 00 00 00 05 00 00 80 00
> 10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 20: 00 00 00 00 00 00 00 00 00 00 00 00 79 12 95 02
> 30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 40: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 60: 80 08 04 0d 0a 01 40 00 01 a0 60 00 82 08 00 01
> 70: 8f 04 06 01 01 00 0e c0 60 00 00 1e 14 1e 32 40
> 80: 20 10 20 10 00 00 00 00 00 50 00 00 00 00 00 00
> 90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 12 fb
> a0: 5a 5a f0 a0 50 00 00 00 00 00 00 00 00 00 00 00
> b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> f0: 46 50 80 80 46 00 00 00 00 00 00 00 00 00 00 00
>
> 00:00.2 RAM memory: Transmeta Corporation BIOS scratchpad
> Subsystem: Transmeta Corporation: Unknown device 0295
> Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
> Status: Cap- 66Mhz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
> 00: 79 12 97 03 00 00 00 00 00 00 00 05 00 00 80 00
> 10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 20: 00 00 00 00 00 00 00 00 00 00 00 00 79 12 95 02
> 30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
34c76
< 50: 0c 70 40 00 00 f0 b0 a0 00 06 f7 00 f0 00 00 00
---
> 50: 02 76 34 00 00 f0 ba c0 00 06 f7 00 f0 00 00 00
50c92
< Region 4: I/O ports at e000 [size=16]
---
> Region 4: I/O ports at c000 [size=16]
56c98
< 20: 01 e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00
---
> 20: 01 c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00
58,59c100,101
< 40: 02 f2 08 3a 78 1c c0 00 a8 a8 20 20 0f 00 ff 20
< 50: 0f 07 ea e2 14 00 00 00 a8 a8 a8 a8 00 00 00 00
---
> 40: 02 f2 08 3a 78 1c c0 00 a8 a8 a8 20 3f 00 ff 20
> 50: 0f 07 0f e2 14 00 00 00 a8 a8 a8 a8 00 00 00 00
62c104
< 80: 00 80 1d 01 00 00 00 00 00 00 00 00 00 00 00 00
---
> 80: 00 f0 3d 01 00 00 00 00 00 00 00 00 00 00 00 00
76,77c118,119
< Interrupt: pin D routed to IRQ 10
< Region 4: I/O ports at e400 [size=32]
---
> Interrupt: pin D routed to IRQ 12
> Region 4: I/O ports at c400 [size=32]
83,85c125,127
< 20: 01 e4 00 00 00 00 00 00 00 00 00 00 25 09 34 12
< 30: 00 00 00 00 80 00 00 00 00 00 00 00 0a 04 00 00
< 40: 00 00 01 00 02 00 32 e4 00 00 00 00 00 00 00 00
---
> 20: 01 c4 00 00 00 00 00 00 00 00 00 00 25 09 34 12
> 30: 00 00 00 00 80 00 00 00 00 00 00 00 0c 04 00 00
> 40: 00 00 01 00 c2 00 10 0c 00 00 00 00 00 00 00 00
100a143
> Interrupt: pin ? routed to IRQ 9
108c151
< 40: 60 80 50 00 f8 7e 00 00 01 40 00 00 01 00 00 00
---
> 40: 60 80 59 00 fa 3e 00 00 01 40 00 00 01 00 00 00
127c170
< Region 0: I/O ports at ec00 [size=256]
---
> Region 0: I/O ports at cc00 [size=256]
133c176
< 10: 01 ec 00 00 00 00 10 e2 00 00 00 00 00 00 00 00
---
> 10: 01 cc 00 00 00 00 10 e2 00 00 00 00 00 00 00 00
172a216,246
> 00:0b.0 Multimedia audio controller: ESS Technology ES1969 Solo-1 Audiodrive (rev 02)
> Subsystem: ESS Technology: Unknown device 8898
> Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
> Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
> Latency: 32 (500ns min, 6000ns max)
> Interrupt: pin A routed to IRQ 10
> Region 0: I/O ports at d000 [size=64]
> Region 1: I/O ports at d400 [size=16]
> Region 2: I/O ports at d800 [size=16]
> Region 3: I/O ports at dc00 [size=4]
> Region 4: I/O ports at e000 [size=4]
> Capabilities: [c0] Power Management version 1
> Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
> Status: D0 PME-Enable- DSel=0 DScale=0 PME-
> 00: 5d 12 69 19 05 00 90 02 02 00 01 04 00 20 00 00
> 10: 01 d0 00 00 01 d4 00 00 01 d8 00 00 01 dc 00 00
> 20: 01 e0 00 00 00 00 00 00 00 00 00 00 5d 12 98 88
> 30: 00 00 00 00 c0 00 00 00 00 00 00 00 0a 01 02 18
> 40: 7f 90 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 50: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 60: 00 00 00 00 00 00 00 00 00 00 00 00 5d 12 98 88
> 70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> c0: 01 00 21 06 00 00 00 00 00 00 00 00 00 00 00 00
> d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
>



This is a diff of /proc/interrupts: diff 400Board/proc_interrupts.txt 600Board/proc_interrupts.txt 2,3c2,3 < 0: 1670428 XT-PIC timer < 1: 2836 XT-PIC i8042 --- > 0: 856177 XT-PIC timer > 1: 2922 XT-PIC i8042 5,7c5,8 < 10: 98 XT-PIC uhci_hcd < 14: 3054 XT-PIC ide0 < 15: 13 XT-PIC eth0 --- > 9: 0 XT-PIC acpi > 12: 0 XT-PIC uhci_hcd > 14: 2578 XT-PIC ide0 > 15: 725 XT-PIC eth0 9c10 < ERR: 0 --- > ERR: 1


The host contoller info in /proc/bus/usb/devices is the same, so the diff only gives the extra info for the new device:
12,21d11
<
< T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 3 Spd=12 MxCh= 0
< D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
< P: Vendor=0c76 ProdID=0005 Rev= 1.00
< S: Product=TS256MJFLASHA
< C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA
< I: If#= 0 Alt= 0 #EPs= 3 Cls=08(stor.) Sub=06 Prot=50 Driver=(none)
< 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= 8 Ivl=10ms




Sorry for the long email!

Malcolm.



-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-users

Reply via email to