USB on lite5200 does not work.

gianfranco.casanova at alice.it gianfranco.casanova at alice.it
Fri Nov 21 01:09:11 EST 2008


Hi folks

I've got a "little" problem with USB using a board based on lite5200.

Some infos:

-uBoot 1.2.0
-Linux version 2.6.21.7-hrt1-WR2.0bl_standard
-time_init: processor frequency   = 396.000000 MHz

We are using a minimal rootfs in order to jump on the real rootfs.
We reach the shell using the rootfs minimal but when we plug-in an USB (hosting the real rootfs) the system frozen until the USB is unplugged.

>From uBoot, USB works well.

Here following snap of boot, cat of /proc/interrupts and some Trace messages.

We appreciate any help. We have already take a look to posts like:

http://www.mail-archive.com/linuxppc-dev@ozlabs.org/msg24295.html

or

http://www.nabble.com/USB-support-on-mpc5200-broken-td19658810.html

Error:
hub 1-0:1.0: port_wait_reset: err = -22
is due to a USB mouse plugged in at boot time.

===================

root at RadioNav: /proc #cat /proc/interrupts
           CPU0       
 80:          0  MPC52xx Main Edge      mpc52xx-hwtimer
134:     100000  MPC52xx Peripherals Edge      ohci_hcd:usb1
139:      45882  MPC52xx Peripherals Edge      mpc52xx_psc_uart
143:          0  MPC52xx Peripherals Edge      i2c-mpc
144:          0  MPC52xx Peripherals Edge      i2c-mpc
145:          0  MPC52xx Peripherals Edge      can-mpc52xx
146:          0  MPC52xx Peripherals Edge      can-mpc52xx
BAD:          0

===================

usb 1-2: new full speed USB device using ppc-of-ohci and addr2
BUG: soft lockup detected on CPU#0!                                             
Call Trace:                                                                     
[C7E07A50] [C0007F40] show_stack+0x3c/0x194 (unreliable)                        
[C7E07A80] [C004A2E0] softlockup_tick+0xa4/0xd4                                 
[C7E07AA0] [C002B8F8] run_local_timers+0x18/0x28                                
[C7E07AB0] [C002B938] update_process_times+0x30/0x7c                            
[C7E07AC0] [C003FE9C] tick_sched_timer+0xb0/0x280                               
[C7E07B20] [C003C498] hrtimer_interrupt+0x214/0x26c                             
[C7E07B80] [C000E6A4] timer_interrupt+0x88/0x354                                
[C7E07BF0] [C0011B64] ret_from_except+0x0/0x14                                  
--- Exception: 901 at handle_IRQ_event+0x7c/0x1e8                               
    LR = handle_level_irq+0x90/0x13c                                            
[C7E07CB0] [C7E21C00] 0xc7e21c00 (unreliable)                                   
[C7E07CD0] [C004C240] handle_level_irq+0x90/0x13c                               
[C7E07CE0] [C000626C] do_IRQ+0x98/0xbc                                          
[C7E07CF0] [C0011B64] ret_from_except+0x0/0x14                                  
--- Exception: 501 at schedule+0xac/0x64c                                       
    LR = schedule+0x78/0x64c                                                    
[C7E07E00] [C02A7C84] schedule_timeout+0x68/0xe4                                
[C7E07E40] [C02A7658] wait_for_completion_timeout+0x8c/0x138                    
[C7E07E80] [C019D954] usb_start_wait_urb+0x68/0xcc                              
[C7E07EB0] [C019DBB4] usb_control_msg+0xc4/0xf0                                 
[C7E07EF0] [C0198AB4] hub_port_init+0x3fc/0x5b0                                 
[C7E07F40] [C019A6F4] hub_thread+0x344/0xbe4                                    
[C7E07FC0] [C0037DC0] kthread+0xc0/0xfc                                         
[C7E07FF0] [C0012358] original_kernel_thread+0x44/0x60                          
ppc-of-ohci f0001000.usb: OHCI Unrecoverable Error, disabled                    
ppc-of-ohci f0001000.usb: HC died; cleaning up                                  
irq 134: nobody cared (try booting with the "irqpoll" option)                   
Call Trace:                                                                     
[C7E29DF0] [C0007F40] show_stack+0x3c/0x194 (unreliable)                        
[C7E29E20] [C004B2B8] __report_bad_irq+0x34/0xac                                
[C7E29E40] [C004B40C] note_interrupt+0xdc/0x288                                 
[C7E29E70] [C004C2A4] handle_level_irq+0xf4/0x13c                               
[C7E29E80] [C000626C] do_IRQ+0x98/0xbc                                          
[C7E29E90] [C0011B64] ret_from_except+0x0/0x14                                  
--- Exception: 501 at schedule+0x304/0x64c                                      
    LR = schedule+0x2d8/0x64c                                                   
[C7E29FA0] [C004A214] watchdog+0x4c/0x74                                        
[C7E29FC0] [C0037DC0] kthread+0xc0/0xfc                                         
[C7E29FF0] [C0012358] original_kernel_thread+0x44/0x60                          
handlers:                                                                       
[<c019c078>] (usb_hcd_irq+0x0/0x9c)                                             
Disabling IRQ #134                                                              
hub 1-0:1.0: cannot reset port 2 (err = -19)                                    
hub 1-0:1.0: cannot disable port 2 (err = -19)                                  
ppc-of-ohci f0001000.usb: leak ed c050b000 (#00) state 0 (has tds)              
hub 1-0:1.0: cannot reset port 2 (err = -19)                                    
hub 1-0:1.0: cannot disable port 2 (err = -19)                                  
hub 1-0:1.0: cannot reset port 2 (err = -19)                                    
hub 1-0:1.0: cannot disable port 2 (err = -19)                                  
hub 1-0:1.0: cannot reset port 2 (err = -19)                                    
hub 1-0:1.0: cannot disable port 2 (err = -19)                                  
hub 1-0:1.0: cannot disable port 2 (err = -19)

===================

root at RadioNav: /proc #usb 1-2: khubd timed out on ep0in len=0/64
hub 1-0:1.0: cannot reset port 2 (err = -19)
hub 1-0:1.0: cannot disable port 2 (err = -19)
ppc-of-ohci f0001000.usb: leak ed c0628000 (#00) state 0 (has tds)
hub 1-0:1.0: cannot reset port 2 (err = -19)
hub 1-0:1.0: cannot disable port 2 (err = -19)
hub 1-0:1.0: cannot reset port 2 (err = -19)
hub 1-0:1.0: cannot disable port 2 (err = -19)
hub 1-0:1.0: cannot reset port 2 (err = -19)
hub 1-0:1.0: cannot disable port 2 (err = -19)
hub 1-0:1.0: cannot disable port 2 (err = -19)
hub 1-0:1.0: state 0 ports 2 chg 0000 evt 0004

===================

Linux version 2.6.21.7-hrt1-WR2.0bl_standard (asimmini at osstlab-acer-1) (gcc version 4.1.2 (Wind River Linux Sourcery G++ 4.1-84)) #1 8
Found initrd at 0xc7e2e000:0xc7f0fbf2
Entering add_active_range(0, 0, 32768) 0 entries of 256 used
Top of RAM: 0x8000000, Total RAM: 0x8000000
Memory hole size: 0MB
Zone PFN ranges:
  DMA             0 ->    32768
  Normal      32768 ->    32768
early_node_map[1] active PFN ranges
    0:        0 ->    32768
On node 0 totalpages: 32768
  DMA zone: 256 pages used for memmap
  DMA zone: 0 pages reserved
  DMA zone: 32512 pages, LIFO batch:7
  Normal zone: 0 pages used for memmap
Built 1 zonelists.  Total pages: 32512
Kernel command line: debug console=ttyPSC3,115200 root=/dev/ram
MPC52xx PIC is up and running!
PID hash table entries: 512 (order: 9, 2048 bytes)
time_init: decrementer frequency = 33.000000 MHz
time_init: processor frequency   = 396.000000 MHz
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
Memory: 124584k/131072k available (3908k kernel code, 6324k reserved, 120k data, 165k bss, 172k init)
Calibrating delay loop... 65.79 BogoMIPS (lpj=131584)
Mount-cache hash table entries: 512
Initializing container subsys cpuacct
Initializing container subsys debug
NET: Registered protocol family 16
hwtimer: Added mpc52xx hwtimer (MPC52xx General-purpose timer) at index=0
PCI: Probing PCI hardware
DMA: MPC52xx BestComm driver
DMA: MPC52xx BestComm engine @f0001200 ok !
SCSI subsystem initialized
libata version 2.20 loaded.
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
Bluetooth: Core ver 2.11
NET: Registered protocol family 31
Bluetooth: HCI device and connection manager initialized
Bluetooth: HCI socket layer initialized
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 4096 (order: 3, 32768 bytes)
TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
TCP: Hash tables configured (established 4096 bind 4096)
TCP reno registered
checking if image is initramfs... it is
Freeing initrd memory: 902k freed
Registering GDB sysrq handler
Time: timebase clocksource has been installed.
Switched to high resolution mode on CPU 0
Registering unionfs 2.1.6 (for 2.6.21.7)
io scheduler noop registered
io scheduler anticipatory registered (default)
io scheduler deadline registered
io scheduler cfq registered
LTT : ltt-facilities init
LTT : ltt-relay init
i8042.c: No controller found.
Serial: MPC52xx PSC UART driver
f0002600.serial: ttyPSC3 at MMIO map 0xf0002600 mem 0xc9004600 (irq = 139) is a MPC52xx PSC
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
loop: loaded (max 8 devices)
i2c /dev entries driver
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
FSL Open Firmware MPC52xx IDE driver
mpc52xx-ide: Invalid port config, no ATA CS !
ohci_hcd: 2006 August 04 USB 1.1 'Open' Host Controller (OHCI) Driver
ohci_hcd: block sizes: ed 64 td 64
ppc-of-ohci f0001000.usb: initializing PPC-OF USB Controller
ppc-of-ohci f0001000.usb: OF OHCI
drivers/usb/core/inode.c: creating file 'devices'
drivers/usb/core/inode.c: creating file '001'
ppc-of-ohci f0001000.usb: new USB bus registered, assigned bus number 1
ppc-of-ohci f0001000.usb: irq 134, io mem 0xf0001000
ppc-of-ohci f0001000.usb: created debug files
ppc-of-ohci f0001000.usb: resetting from state 'reset', control = 0x0
ppc-of-ohci f0001000.usb: OHCI controller state
ppc-of-ohci f0001000.usb: OHCI 1.0, NO legacy support registers
ppc-of-ohci f0001000.usb: control 0x083 HCFS=operational CBSR=3
ppc-of-ohci f0001000.usb: cmdstatus 0x00000 SOC=0
ppc-of-ohci f0001000.usb: intrstatus 0x00000004 SF
ppc-of-ohci f0001000.usb: intrenable 0x8000005a MIE RHSC UE RD WDH
ppc-of-ohci f0001000.usb: hcca frame #0000
ppc-of-ohci f0001000.usb: roothub.a 02001202 POTPGT=2 NOCP NPS NDP=2(2)
ppc-of-ohci f0001000.usb: roothub.b 00000000 PPCM=0000 DR=0000
ppc-of-ohci f0001000.usb: roothub.status 00008000 DRWE
ppc-of-ohci f0001000.usb: roothub.portstatus [0] 0x00000100 PPS
ppc-of-ohci f0001000.usb: roothub.portstatus [1] 0x00010301 CSC LSDA PPS CCS
usb usb1: default language 0x0409
usb usb1: new device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: OF OHCI
usb usb1: Manufacturer: Linux 2.6.21.7-hrt1-WR2.0bl_standard ohci_hcd
usb usb1: SerialNumber: PPC-OF USB
usb usb1: uevent
usb usb1: usb_probe_device
usb usb1: configuration #1 chosen from 1 choice
usb usb1: adding 1-0:1.0 (config #1, interface 0)
usb 1-0:1.0: uevent
hub 1-0:1.0: usb_probe_interface
hub 1-0:1.0: usb_probe_interface - got id
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
hub 1-0:1.0: standalone hub
hub 1-0:1.0: ganged power switching
hub 1-0:1.0: global over-current protection
hub 1-0:1.0: power on to power good time: 4ms
hub 1-0:1.0: local power source is good
hub 1-0:1.0: no over-current condition exists
hub 1-0:1.0: enabling power on all ports
hub 1-0:1.0: state 7 ports 2 chg 0000 evt 0000
drivers/usb/core/inode.c: creating file '001'
ppc-of-ohci f0001000.usb: GetStatus roothub.portstatus [1] = 0x00010301 CSC LSDA PPS CCS
hub 1-0:1.0: port 2, status 0301, change 0001, 1.5 Mb/s
USB Universal Host Controller Interface driver v3.0
hub 1-0:1.0: debounce: port 2: total 100ms stable 100ms status 0x301
ppc-of-ohci f0001000.usb: GetStatus roothub.portstatus [1] = 0x00130301 PRSC PESC CSC LSDA PPS CCS
hub 1-0:1.0: port_wait_reset: err = -22
hub 1-0:1.0: port 2 not enabled, trying reset again...
ppc-of-ohci f0001000.usb: GetStatus roothub.portstatus [1] = 0x00130301 PRSC PESC CSC LSDA PPS CCS
hub 1-0:1.0: port_wait_reset: err = -22
hub 1-0:1.0: port 2 not enabled, trying reset again...
ppc-of-ohci f0001000.usb: GetStatus roothub.portstatus [1] = 0x00130301 PRSC PESC CSC LSDA PPS CCS
hub 1-0:1.0: port_wait_reset: err = -22
hub 1-0:1.0: port 2 not enabled, trying reset again...
ppc-of-ohci f0001000.usb: GetStatus roothub.portstatus [1] = 0x00130301 PRSC PESC CSC LSDA PPS CCS
hub 1-0:1.0: port_wait_reset: err = -22
hub 1-0:1.0: port 2 not enabled, trying reset again...
ppc-of-ohci f0001000.usb: GetStatus roothub.portstatus [1] = 0x00130301 PRSC PESC CSC LSDA PPS CCS
hub 1-0:1.0: port_wait_reset: err = -22
hub 1-0:1.0: port 2 not enabled, trying reset again...
hub 1-0:1.0: Cannot enable port 2.  Maybe the USB cable is bad?
ppc-of-ohci f0001000.usb: GetStatus roothub.portstatus [1] = 0x00130301 PRSC PESC CSC LSDA PPS CCS
hub 1-0:1.0: port_wait_reset: err = -22
hub 1-0:1.0: port 2 not enabled, trying reset again...
ppc-of-ohci f0001000.usb: GetStatus roothub.portstatus [1] = 0x00130301 PRSC PESC CSC LSDA PPS CCS
hub 1-0:1.0: port_wait_reset: err = -22
hub 1-0:1.0: port 2 not enabled, trying reset again...
ppc-of-ohci f0001000.usb: GetStatus roothub.portstatus [1] = 0x00130301 PRSC PESC CSC LSDA PPS CCS
hub 1-0:1.0: port_wait_reset: err = -22
hub 1-0:1.0: port 2 not enabled, trying reset again...
ppc-of-ohci f0001000.usb: GetStatus roothub.portstatus [1] = 0x00130301 PRSC PESC CSC LSDA PPS CCS
hub 1-0:1.0: port_wait_reset: err = -22
hub 1-0:1.0: port 2 not enabled, trying reset again...
ppc-of-ohci f0001000.usb: GetStatus roothub.portstatus [1] = 0x00130301 PRSC PESC CSC LSDA PPS CCS
hub 1-0:1.0: port_wait_reset: err = -22
hub 1-0:1.0: port 2 not enabled, trying reset again...
hub 1-0:1.0: Cannot enable port 2.  Maybe the USB cable is bad?
ppc-of-ohci f0001000.usb: GetStatus roothub.portstatus [1] = 0x00130301 PRSC PESC CSC LSDA PPS CCS
hub 1-0:1.0: port_wait_reset: err = -22
hub 1-0:1.0: port 2 not enabled, trying reset again...
ppc-of-ohci f0001000.usb: GetStatus roothub.portstatus [1] = 0x00130301 PRSC PESC CSC LSDA PPS CCS
hub 1-0:1.0: port_wait_reset: err = -22
hub 1-0:1.0: port 2 not enabled, trying reset again...
ppc-of-ohci f0001000.usb: GetStatus roothub.portstatus [1] = 0x00130100 PRSC PESC CSC PPS
hub 1-0:1.0: state 7 ports 2 chg 0000 evt 0004
ppc-of-ohci f0001000.usb: GetStatus roothub.portstatus [1] = 0x00030100 PESC CSC PPS
hub 1-0:1.0: port 2, status 0100, change 0003, 12 Mb/s
hub 1-0:1.0: debounce: port 2: total 100ms stable 100ms status 0x100
usbcore: registered new interface driver cdc_acm
drivers/usb/class/cdc-acm.c: v0.25:USB Abstract Control Model driver for USB modems and ISDN adapters
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
usbcore: registered new interface driver libusual
usbcore: registered new interface driver hiddev
usbcore: registered new interface driver usbhid
drivers/usb/input/hid-core.c: v2.6:USB HID core driver
usbcore: registered new interface driver usbserial
drivers/usb/serial/usb-serial.c: USB Serial support registered for generic
usbcore: registered new interface driver usbserial_generic
drivers/usb/serial/usb-serial.c: USB Serial Driver core
drivers/usb/serial/usb-serial.c: USB Serial support registered for GSM modem (1-port)
usbcore: registered new interface driver option
drivers/usb/serial/option.c: USB Driver for GSM modems: v0.7.1
drivers/usb/serial/usb-serial.c: USB Serial support registered for pl2303
usbcore: registered new interface driver pl2303
drivers/usb/serial/pl2303.c: Prolific PL2303 USB to serial adaptor driver
drivers/usb/misc/idmouse.c: Siemens ID Mouse FingerTIP Sensor Driver 0.6
usbcore: registered new interface driver idmouse
mice: PS/2 mouse device common for all mice
CAN device class register Version 0.1
CAN FIFO: 4800Bytes for Tx
CAN: Registering CAN endpoint can0
CAN:Irq 145 BaudR 1000000 Ext. Normal on /dev/can0.
CAN FIFO: 4800Bytes for Tx
CAN: Registering CAN endpoint can1
CAN:Irq 146 BaudR 1000000 Ext. Normal on /dev/can1.
Bluetooth: HCI USB driver ver 2.9
usbcore: registered new interface driver hci_usb
Advanced Linux Sound Architecture Driver Version 1.0.14rc3 (Wed Mar 14 07:25:50 2007 UTC).
usbcore: registered new interface driver snd-usb-audio
ALSA device list:
  No soundcards found.
TCP cubic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
Bluetooth: L2CAP ver 2.8
Bluetooth: L2CAP socket layer initialized
Bluetooth: SCO (Voice Link) ver 0.5
Bluetooth: SCO socket layer initialized
Bluetooth: RFCOMM socket layer initialized
Bluetooth: RFCOMM TTY layer initialized
Bluetooth: RFCOMM ver 1.8
Bluetooth: BNEP (Ethernet Emulation) ver 1.2
Bluetooth: HIDP (Human Interface Emulation) ver 1.2
ieee80211: 802.11 data/management/control stack, git-1.1.13
ieee80211: Copyright (C) 2004-2005 Intel Corporation <jketreno at linux.intel.com>
ieee80211_crypt: registered algorithm 'NULL'
ieee80211_crypt: registered algorithm 'WEP'
Freeing unused kernel memory: 172k init
mknod: /dev/loop0: File exists
mknod: /dev/sda1: File exists
mknod: /dev/sda2: File exists
*** SLEEP
*** Try mounting REALROOT from rootfs.ext3 in /dev/sda1(vfat)
mount: mounting /dev/sda1 on /media/sda1 failed
*** Try mounting REALROOT from /dev/sda2(ext3)
mount: mounting /dev/sda2 on /media/realroot failed
*** Try mounting REALROOT /dev/mtdblock4(jffs2)
mount: mounting /dev/mtdblock4 on /media/realroot failed
*** Cannot find real rootfs - dropping to a shell
/bin/sh: can't access tty; job control turned off
root at RadioNav: ~ #

===================
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ozlabs.org/pipermail/linuxppc-dev/attachments/20081120/7480392b/attachment.htm>


More information about the Linuxppc-dev mailing list