[U-Boot] USB protocol error

Sadashiva sadashiva at mistralsolutions.com
Tue Oct 18 13:24:37 CEST 2011


Hi Sir,

        I am facing problem with USB UHCI protocol but my u-boot code is able to detect the connected usb decive but facing problem with communication. The below message is debuging code when I execute USB reset command. I am using u-boot-2009.01 code for PPC405GPr processor. The board design is similar to MPL MIP405T and the board consist of southbridge the usb spec is in southbridge and the usb device is accessed by PCI bus.

=>usb reset
(Re)start USB...
USB:   Interrupt Line = 28, is -289406972
Interrupt Pin = 4
IO Base Address = 0xe001
scanning bus for devices... Inside usb scan devices
 Inside scan for loop
Inside scan for loop
Inside scan for loop
Inside scan for loop
Inside scan for loop
Inside scan for loop
Inside scan for loop
Inside scan for loop
Inside scan for loop
Inside scan for loop
Inside scan for loop
Inside scan for loop
Inside scan for loop
Inside scan for loop
Inside scan for loop
Inside scan for loop
Inside scan for loop
Inside scan for loop
Inside scan for loop
Inside scan for loop
Inside scan for loop
Inside scan for loop
Inside scan for loop
Inside scan for loop
Inside scan for loop
Inside scan for loop
Inside scan for loop
Inside scan for loop
Inside scan for loop
Inside scan for loop
Inside scan for loop
Inside scan for loop
Before usb alloc new device call
New Device 0
Device return val from Alloc = 133928760
Inside usb else new device 1
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x100 index 0x0 length 0x40
Pipe Val = 0x80000083, DevNum = 0
- Root-Hub Request: Get Descriptor 
Root-Hub: adr:  0 cmd(8): 8006 0100 0000 0040
Root-Hub stat 0 port1: 1a3 port2: 80

Dev->status val = 0x0
dev->act_len = 0x19
Dev max pk size = 8
set address 1
usb_control_msg: request: 0x5, requesttype: 0x0, value 0x1 index 0x0 length 0x0
Pipe Val = 0x80000000, DevNum = 0
- Root-Hub Request: Set Address 
Root-Hub: adr:  1 cmd(8): 0005 0001 0000 0000
Root-Hub stat 0 port1: 1a3 port2: 80

Dev->status val = 0x0
dev->act_len = 0x0
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x100 index 0x0 length 0x12
Pipe Val = 0x80000180, DevNum = 1
- Root-Hub Request: Get Descriptor 
Root-Hub: adr:  1 cmd(8): 8006 0100 0000 0012
Root-Hub stat 0 port1: 1a3 port2: 80

Dev->status val = 0x0
dev->act_len = 0x12
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x200 index 0x0 length 0x9
Pipe Val = 0x80000180, DevNum = 1
- Root-Hub Request: Get Descriptor 
Root-Hub: adr:  1 cmd(8): 8006 0200 0000 0009
Root-Hub stat 0 port1: 1a3 port2: 80

Dev->status val = 0x0
dev->act_len = 0x9
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x200 index 0x0 length 0x19
Pipe Val = 0x80000180, DevNum = 1
- Root-Hub Request: Get Descriptor 
Root-Hub: adr:  1 cmd(8): 8006 0200 0000 0019
Root-Hub stat 0 port1: 1a3 port2: 80

Dev->status val = 0x0
dev->act_len = 0x19
get_conf_no 0 Result 25, wLength 25
if 0, ep 0
##EP epmaxpacketin[1] = 8
set configuration 1
usb_control_msg: request: 0x9, requesttype: 0x0, value 0x1 index 0x0 length 0x0
Pipe Val = 0x80000100, DevNum = 1
- Root-Hub Request: Get Configuration 
Root-Hub: adr:  1 cmd(8): 0009 0001 0000 0000
Root-Hub stat 0 port1: 1a3 port2: 80

Dev->status val = 0x0
dev->act_len = 0x0
new device strings: Mfr=1, Product=0, SerialNumber=0
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x300 index 0x0 length 0xFF
Pipe Val = 0x80000180, DevNum = 1
- Root-Hub Request: Get Descriptor 
Root-Hub: adr:  1 cmd(8): 8006 0300 0000 00ff
Root-Hub stat 0 port1: 1a3 port2: 80

Dev->status val = 0x0
dev->act_len = 0x4
USB device number 1 default language ID 0x409
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x301 index 0x409 length 0xFF
Pipe Val = 0x80000180, DevNum = 1
- Root-Hub Request: Get Descriptor 
Root-Hub: adr:  1 cmd(8): 8006 0301 0409 00ff
Root-Hub stat 0 port1: 1a3 port2: 80

Dev->status val = 0x0
dev->act_len = 0x1c
Manufacturer UHCI Root Hub
Product      
SerialNumber 
USB hub found
usb_control_msg: request: 0x6, requesttype: 0xA0, value 0x2900 index 0x0 length 0x4
Pipe Val = 0x80000180, DevNum = 1
- Root-Hub Request: Get Descriptor Class 
Root-Hub: adr:  1 cmd(8): a006 2900 0000 0004
Root-Hub stat 0 port1: 1a3 port2: 80

Dev->status val = 0x0
dev->act_len = 0x4
usb_control_msg: request: 0x6, requesttype: 0xA0, value 0x2900 index 0x0 length 0x9
Pipe Val = 0x80000180, DevNum = 1
- Root-Hub Request: Get Descriptor Class 
Root-Hub: adr:  1 cmd(8): a006 2900 0000 0009
Root-Hub stat 0 port1: 1a3 port2: 80

Dev->status val = 0x0
dev->act_len = 0x9
2 ports detected
ganged power switching
standalone hub
global over-current protection
power on to power good time: 2ms
hub controller current requirement: 0mA
port 1 is not removable
port 2 is removable
usb_control_msg: request: 0x0, requesttype: 0xA0, value 0x0 index 0x0 length 0x4
Pipe Val = 0x80000180, DevNum = 1
- Root-Hub Request: Get Status Class
Root-Hub: adr:  1 cmd(8): a000 0000 0000 0004
Root-Hub stat 0 port1: 1a3 port2: 80

Dev->status val = 0x0
dev->act_len = 0x4
get_hub_status returned status 0, change 0
local power source is good
no over-current condition exists
enabling power on all ports
usb_control_msg: request: 0x3, requesttype: 0x23, value 0x8 index 0x1 length 0x0
Pipe Val = 0x80000100, DevNum = 1
- Root-Hub Request: Set Feature Other Class 
Root-Hub: adr:  1 cmd(8): 2303 0008 0001 0000
Root-Hub: Port Power 1
Root-Hub stat 0 port1: 1a3 port2: 80

Dev->status val = 0x0
dev->act_len = 0x0
port 1 returns 0
usb_control_msg: request: 0x3, requesttype: 0x23, value 0x8 index 0x2 length 0x0
Pipe Val = 0x80000100, DevNum = 1
- Root-Hub Request: Set Feature Other Class 
Root-Hub: adr:  1 cmd(8): 2303 0008 0002 0000
Root-Hub: Port Power 2
Root-Hub stat 0 port1: 1a3 port2: 80

Dev->status val = 0x0
dev->act_len = 0x0
port 2 returns 0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length 0x4
Pipe Val = 0x80000180, DevNum = 1
- Root-Hub Request: Get Status Class Others
Root-Hub: adr:  1 cmd(8): a300 0000 0001 0004
Root-Hub stat 0 port1: 1a3 port2: 80

Dev->status val = 0x0
dev->act_len = 0x4
Port 1 Status 301 Change 1
port 1 connection change
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length 0x4
Pipe Val = 0x80000180, DevNum = 1
- Root-Hub Request: Get Status Class Others
Root-Hub: adr:  1 cmd(8): a300 0000 0001 0004
Root-Hub stat 0 port1: 1a3 port2: 80

Dev->status val = 0x0
dev->act_len = 0x4
portstatus 301, change 1, Low Speed
usb_control_msg: request: 0x1, requesttype: 0x23, value 0x10 index 0x1 length 0x0
Pipe Val = 0x80000100, DevNum = 1
- Root-Hub Request: Clear Feature Other Class 
Root-Hub: adr:  1 cmd(8): 2301 0010 0001 0000
Root-Hub: C Port Connection Port 1
Root-Hub stat 0 port1: 1a1 port2: 80

Dev->status val = 0x0
dev->act_len = 0x0
hub_port_reset: resetting port 0...
usb_control_msg: request: 0x3, requesttype: 0x23, value 0x4 index 0x1 length 0x0
Pipe Val = 0x80000100, DevNum = 1
- Root-Hub Request: Set Feature Other Class 
Root-Hub: adr:  1 cmd(8): 2303 0004 0001 0000
Root-Hub: unknown 4 1
Root-Hub stat 0 port1: 1a5 port2: 80

Dev->status val = 0x0
dev->act_len = 0x0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length 0x4
Pipe Val = 0x80000180, DevNum = 1
- Root-Hub Request: Get Status Class Others
Root-Hub: adr:  1 cmd(8): a300 0000 0001 0004
Root-Hub stat 0 port1: 1a5 port2: 80

Dev->status val = 0x0
dev->act_len = 0x4
portstatus 303, change 0, Low Speed
STAT_C_CONNECTION = 0 STAT_CONNECTION = 1  USB_PORT_STAT_ENABLE 1
usb_control_msg: request: 0x1, requesttype: 0x23, value 0x14 index 0x1 length 0x0
Pipe Val = 0x80000100, DevNum = 1
- Root-Hub Request: Clear Feature Other Class 
Root-Hub: adr:  1 cmd(8): 2301 0014 0001 0000
Root-Hub: C Port reset Port 1
Root-Hub stat 0 port1: 1a5 port2: 80

Dev->status val = 0x0
dev->act_len = 0x0
New Device 1
NSR dev->devnum = 1 , usb->devnum = 2
usb-slow = 1
Inside usb else new device 1
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x100 index 0x0 length 0x40
Pipe Val = 0x84000083, DevNum = 1
uhci_submit_control start len 40, maxsize 40
uhci_submit_control end (2 tmp_tds used)
Dev->status val = 0x80000000
dev->act_len = 0x0
hub_port_reset: resetting port 0...
usb_control_msg: request: 0x3, requesttype: 0x23, value 0x4 index 0x1 length 0x0
Pipe Val = 0x80000100, DevNum = 1
- Root-Hub Request: Set Feature Other Class 
Root-Hub: adr:  1 cmd(8): 2303 0004 0001 0000
Root-Hub: unknown 4 1
Root-Hub stat 0 port1: 1a5 port2: 80

Dev->status val = 0x0
dev->act_len = 0x0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length 0x4
Pipe Val = 0x80000180, DevNum = 1
- Root-Hub Request: Get Status Class Others
Root-Hub: adr:  1 cmd(8): a300 0000 0001 0004
Root-Hub stat 0 port1: 1a5 port2: 80

Dev->status val = 0x0
dev->act_len = 0x4
portstatus 303, change 0, Low Speed
STAT_C_CONNECTION = 0 STAT_CONNECTION = 1  USB_PORT_STAT_ENABLE 1
usb_control_msg: request: 0x1, requesttype: 0x23, value 0x14 index 0x1 length 0x0
Pipe Val = 0x80000100, DevNum = 1
- Root-Hub Request: Clear Feature Other Class 
Root-Hub: adr:  1 cmd(8): 2301 0014 0001 0000
Root-Hub: C Port reset Port 1
Root-Hub stat 0 port1: 1a5 port2: 80

Dev->status val = 0x0
dev->act_len = 0x0
Dev max pk size = 8
set address 2
usb_control_msg: request: 0x5, requesttype: 0x0, value 0x2 index 0x0 length 0x0
Pipe Val = 0x84000000, DevNum = 1
uhci_submit_control start len 0, maxsize 8
uhci_submit_control end (1 tmp_tds used)
Dev->status val = 0x80000000
dev->act_len = 0x0
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x100 index 0x0 length 0x12
Pipe Val = 0x84000280, DevNum = 1
uhci_submit_control start len 12, maxsize 8
uhci_submit_control end (4 tmp_tds used)
Dev->status val = 0x80000000
dev->act_len = 0x0
USB device descriptor short read (expected 18, got 0)
hub: disabling port 1
usb_control_msg: request: 0x1, requesttype: 0x23, value 0x1 index 0x1 length 0x0
Pipe Val = 0x80000100, DevNum = 1
- Root-Hub Request: Clear Feature Other Class 
Root-Hub: adr:  1 cmd(8): 2301 0001 0001 0000
Root-Hub: Enable Port 1
Root-Hub stat 0 port1: 1a1 port2: 80

Dev->status val = 0x0
dev->act_len = 0x0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length 0x4
Pipe Val = 0x80000180, DevNum = 1
- Root-Hub Request: Get Status Class Others
Root-Hub: adr:  1 cmd(8): a300 0000 0002 0004
Root-Hub stat 0 port1: 1a1 port2: 80

Dev->status val = 0x0
dev->act_len = 0x4
Port 2 Status 100 Change 0
2 USB Device(s) found
Inside usb keyboard init()
Usb get dev index = 1
Kbd before probe
Inside usb probe
Interface class
Usb get dev index = 2
Kbd before probe
Inside usb probe
Interface class
Usb get dev index = -1
scan end
       scanning bus for storage devices... Block read 0 = 133682456
Block read 1 = 133682456
Block read 2 = 133682456
Block read 3 = 133682456
Block read 4 = 133682456
Usb get dev index = 1
device val from get device = 133928760
i=0
Inside usb storage dev def()
Dev class = 9
Interface class = 9
In sub class = 0
Usb get dev index = 2
device val from get device = 133930492
i=1
Inside usb storage dev def()
Dev class = 0
Interface class = 0
In sub class = 0
Usb get dev index = -1
device val from get device = 0
i=2
0 Storage Device(s) found
=> i
Unknown command 'i' - try 'help'
=> 
=> 
=> i usb info
Usb get dev index = 1
1: Hub,  USB Revision 1.0
 - UHCI Root Hub  
 - Class: Hub
 - PacketSize: 8  Configurations: 1
 - Vendor: 0x0000  Product 0x0000 Version 0.0
   Configuration: 1
   - Interfaces: 1 Self Powered 0mA
     Interface: 0
     - Alternate Setting 0, Endpoints: 1
     - Class Hub
     - Endpoint 1 In Interrupt MaxPacket 8 Interval 255ms

Usb get dev index = 2
2: See Interface,  USB Revision 10.1
 - Class: (from Interface) See Interface
 - PacketSize: 8  Configurations: 1
 - Vendor: 0xf204  Product 0x1101 Version 0.3
   Configuration: 0
   - Interfaces: 0 Bus Powered 0mA

Usb get dev index = -1
=> i

But if I change the code from in common/usb.c file

int usb_new_device(struct usb_device *dev)

{

int addr, err;

int tmp;

unsigned char tmpbuf[USB_BUFSIZ];

/* We still haven't set the Address yet */

addr = dev->devnum;

dev->devnum = 0;



To

int usb_new_device(struct usb_device *dev)

{

int addr, err;

int tmp;

unsigned char tmpbuf[USB_BUFSIZ];

/* We still haven't set the Address yet */

addr = dev->devnum;

dev->devnum = dev->devnum - 1;


then I am able to get some information of usb keyboard like below debug message but no change in USB mass storage device.


=> usb reset
(Re)start USB...
USB:   Interrupt Line = 28, is -289406972
Interrupt Pin = 4
IO Base Address = 0xe001
scanning bus for devices... Inside usb scan devices
 Inside scan for loop
Inside scan for loop
Inside scan for loop
Inside scan for loop
Inside scan for loop
Inside scan for loop
Inside scan for loop
Inside scan for loop
Inside scan for loop
Inside scan for loop
Inside scan for loop
Inside scan for loop
Inside scan for loop
Inside scan for loop
Inside scan for loop
Inside scan for loop
Inside scan for loop
Inside scan for loop
Inside scan for loop
Inside scan for loop
Inside scan for loop
Inside scan for loop
Inside scan for loop
Inside scan for loop
Inside scan for loop
Inside scan for loop
Inside scan for loop
Inside scan for loop
Inside scan for loop
Inside scan for loop
Inside scan for loop
Inside scan for loop
Before usb alloc new device call
New Device 0
Device return val from Alloc = 133928760
Inside usb else new device 1
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x100 index 0x0 length 0x40
Pipe Val = 0x80000083, DevNum = 0
- Root-Hub Request: Get Descriptor 
Root-Hub: adr:  0 cmd(8): 8006 0100 0000 0040
Root-Hub stat 0 port1: 1a3 port2: 80

Dev->status val = 0x0
dev->act_len = 0x19
Dev max pk size = 8
set address 1
usb_control_msg: request: 0x5, requesttype: 0x0, value 0x1 index 0x0 length 0x0
Pipe Val = 0x80000000, DevNum = 0
- Root-Hub Request: Set Address 
Root-Hub: adr:  1 cmd(8): 0005 0001 0000 0000
Root-Hub stat 0 port1: 1a3 port2: 80

Dev->status val = 0x0
dev->act_len = 0x0
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x100 index 0x0 length 0x12
Pipe Val = 0x80000180, DevNum = 1
- Root-Hub Request: Get Descriptor 
Root-Hub: adr:  1 cmd(8): 8006 0100 0000 0012
Root-Hub stat 0 port1: 1a3 port2: 80

Dev->status val = 0x0
dev->act_len = 0x12
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x200 index 0x0 length 0x9
Pipe Val = 0x80000180, DevNum = 1
- Root-Hub Request: Get Descriptor 
Root-Hub: adr:  1 cmd(8): 8006 0200 0000 0009
Root-Hub stat 0 port1: 1a3 port2: 80

Dev->status val = 0x0
dev->act_len = 0x9
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x200 index 0x0 length 0x19
Pipe Val = 0x80000180, DevNum = 1
- Root-Hub Request: Get Descriptor 
Root-Hub: adr:  1 cmd(8): 8006 0200 0000 0019
Root-Hub stat 0 port1: 1a3 port2: 80

Dev->status val = 0x0
dev->act_len = 0x19
get_conf_no 0 Result 25, wLength 25
if 0, ep 0
##EP epmaxpacketin[1] = 8
set configuration 1
usb_control_msg: request: 0x9, requesttype: 0x0, value 0x1 index 0x0 length 0x0
Pipe Val = 0x80000100, DevNum = 1
- Root-Hub Request: Get Configuration 
Root-Hub: adr:  1 cmd(8): 0009 0001 0000 0000
Root-Hub stat 0 port1: 1a3 port2: 80

Dev->status val = 0x0
dev->act_len = 0x0
new device strings: Mfr=1, Product=0, SerialNumber=0
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x300 index 0x0 length 0xFF
Pipe Val = 0x80000180, DevNum = 1
- Root-Hub Request: Get Descriptor 
Root-Hub: adr:  1 cmd(8): 8006 0300 0000 00ff
Root-Hub stat 0 port1: 1a3 port2: 80

Dev->status val = 0x0
dev->act_len = 0x4
USB device number 1 default language ID 0x409
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x301 index 0x409 length 0xFF
Pipe Val = 0x80000180, DevNum = 1
- Root-Hub Request: Get Descriptor 
Root-Hub: adr:  1 cmd(8): 8006 0301 0409 00ff
Root-Hub stat 0 port1: 1a3 port2: 80

Dev->status val = 0x0
dev->act_len = 0x1c
Manufacturer UHCI Root Hub
Product      
SerialNumber 
USB hub found
usb_control_msg: request: 0x6, requesttype: 0xA0, value 0x2900 index 0x0 length 0x4
Pipe Val = 0x80000180, DevNum = 1
- Root-Hub Request: Get Descriptor Class 
Root-Hub: adr:  1 cmd(8): a006 2900 0000 0004
Root-Hub stat 0 port1: 1a3 port2: 80

Dev->status val = 0x0
dev->act_len = 0x4
usb_control_msg: request: 0x6, requesttype: 0xA0, value 0x2900 index 0x0 length 0x9
Pipe Val = 0x80000180, DevNum = 1
- Root-Hub Request: Get Descriptor Class 
Root-Hub: adr:  1 cmd(8): a006 2900 0000 0009
Root-Hub stat 0 port1: 1a3 port2: 80

Dev->status val = 0x0
dev->act_len = 0x9
2 ports detected
ganged power switching
standalone hub
global over-current protection
power on to power good time: 2ms
hub controller current requirement: 0mA
port 1 is removable
port 2 is removable
usb_control_msg: request: 0x0, requesttype: 0xA0, value 0x0 index 0x0 length 0x4
Pipe Val = 0x80000180, DevNum = 1
- Root-Hub Request: Get Status Class
Root-Hub: adr:  1 cmd(8): a000 0000 0000 0004
Root-Hub stat 0 port1: 1a3 port2: 80

Dev->status val = 0x0
dev->act_len = 0x4
get_hub_status returned status 0, change 0
local power source is good
no over-current condition exists
enabling power on all ports
usb_control_msg: request: 0x3, requesttype: 0x23, value 0x8 index 0x1 length 0x0
Pipe Val = 0x80000100, DevNum = 1
- Root-Hub Request: Set Feature Other Class 
Root-Hub: adr:  1 cmd(8): 2303 0008 0001 0000
Root-Hub: Port Power 1
Root-Hub stat 0 port1: 1a3 port2: 80

Dev->status val = 0x0
dev->act_len = 0x0
port 1 returns 0
usb_control_msg: request: 0x3, requesttype: 0x23, value 0x8 index 0x2 length 0x0
Pipe Val = 0x80000100, DevNum = 1
- Root-Hub Request: Set Feature Other Class 
Root-Hub: adr:  1 cmd(8): 2303 0008 0002 0000
Root-Hub: Port Power 2
Root-Hub stat 0 port1: 1a3 port2: 80

Dev->status val = 0x0
dev->act_len = 0x0
port 2 returns 0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length 0x4
Pipe Val = 0x80000180, DevNum = 1
- Root-Hub Request: Get Status Class Others
Root-Hub: adr:  1 cmd(8): a300 0000 0001 0004
Root-Hub stat 0 port1: 1a3 port2: 80

Dev->status val = 0x0
dev->act_len = 0x4
Port 1 Status 301 Change 1
port 1 connection change
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length 0x4
Pipe Val = 0x80000180, DevNum = 1
- Root-Hub Request: Get Status Class Others
Root-Hub: adr:  1 cmd(8): a300 0000 0001 0004
Root-Hub stat 0 port1: 1a3 port2: 80

Dev->status val = 0x0
dev->act_len = 0x4
portstatus 301, change 1, Low Speed
usb_control_msg: request: 0x1, requesttype: 0x23, value 0x10 index 0x1 length 0x0
Pipe Val = 0x80000100, DevNum = 1
- Root-Hub Request: Clear Feature Other Class 
Root-Hub: adr:  1 cmd(8): 2301 0010 0001 0000
Root-Hub: C Port Connection Port 1
Root-Hub stat 0 port1: 1a1 port2: 80

Dev->status val = 0x0
dev->act_len = 0x0
hub_port_reset: resetting port 0...
usb_control_msg: request: 0x3, requesttype: 0x23, value 0x4 index 0x1 length 0x0
Pipe Val = 0x80000100, DevNum = 1
- Root-Hub Request: Set Feature Other Class 
Root-Hub: adr:  1 cmd(8): 2303 0004 0001 0000
Root-Hub: unknown 4 1
Root-Hub stat 0 port1: 1a5 port2: 80

Dev->status val = 0x0
dev->act_len = 0x0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length 0x4
Pipe Val = 0x80000180, DevNum = 1
- Root-Hub Request: Get Status Class Others
Root-Hub: adr:  1 cmd(8): a300 0000 0001 0004
Root-Hub stat 0 port1: 1a5 port2: 80

Dev->status val = 0x0
dev->act_len = 0x4
portstatus 303, change 0, Low Speed
STAT_C_CONNECTION = 0 STAT_CONNECTION = 1  USB_PORT_STAT_ENABLE 1
usb_control_msg: request: 0x1, requesttype: 0x23, value 0x14 index 0x1 length 0x0
Pipe Val = 0x80000100, DevNum = 1
- Root-Hub Request: Clear Feature Other Class 
Root-Hub: adr:  1 cmd(8): 2301 0014 0001 0000
Root-Hub: C Port reset Port 1
Root-Hub stat 0 port1: 1a5 port2: 80

Dev->status val = 0x0
dev->act_len = 0x0
New Device 1
NSR dev->devnum = 1 , usb->devnum = 2
usb-slow = 1
Inside usb else new device 1
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x100 index 0x0 length 0x40
Pipe Val = 0x84000183, DevNum = 1
- Root-Hub Request: Get Descriptor 
Root-Hub: adr:  1 cmd(8): 8006 0100 0000 0040
Root-Hub stat 0 port1: 1a5 port2: 80

Dev->status val = 0x0
dev->act_len = 0x19
hub_port_reset: resetting port 0...
usb_control_msg: request: 0x3, requesttype: 0x23, value 0x4 index 0x1 length 0x0
Pipe Val = 0x80000100, DevNum = 1
- Root-Hub Request: Set Feature Other Class 
Root-Hub: adr:  1 cmd(8): 2303 0004 0001 0000
Root-Hub: unknown 4 1
Root-Hub stat 0 port1: 1a5 port2: 80

Dev->status val = 0x0
dev->act_len = 0x0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length 0x4
Pipe Val = 0x80000180, DevNum = 1
- Root-Hub Request: Get Status Class Others
Root-Hub: adr:  1 cmd(8): a300 0000 0001 0004
Root-Hub stat 0 port1: 1a5 port2: 80

Dev->status val = 0x0
dev->act_len = 0x4
portstatus 303, change 0, Low Speed
STAT_C_CONNECTION = 0 STAT_CONNECTION = 1  USB_PORT_STAT_ENABLE 1
usb_control_msg: request: 0x1, requesttype: 0x23, value 0x14 index 0x1 length 0x0
Pipe Val = 0x80000100, DevNum = 1
- Root-Hub Request: Clear Feature Other Class 
Root-Hub: adr:  1 cmd(8): 2301 0014 0001 0000
Root-Hub: C Port reset Port 1
Root-Hub stat 0 port1: 1a5 port2: 80

Dev->status val = 0x0
dev->act_len = 0x0
Dev max pk size = 8
set address 2
usb_control_msg: request: 0x5, requesttype: 0x0, value 0x2 index 0x0 length 0x0
Pipe Val = 0x84000000, DevNum = 1
uhci_submit_control start len 0, maxsize 8
uhci_submit_control end (1 tmp_tds used)
Dev->status val = 0x80000000
dev->act_len = 0x19
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x100 index 0x0 length 0x12
Pipe Val = 0x84000280, DevNum = 1
uhci_submit_control start len 12, maxsize 8
uhci_submit_control end (4 tmp_tds used)
Dev->status val = 0x80000000
dev->act_len = 0x19
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x200 index 0x0 length 0x9
Pipe Val = 0x84000280, DevNum = 1
uhci_submit_control start len 9, maxsize 8
uhci_submit_control end (3 tmp_tds used)
Dev->status val = 0x80000000
dev->act_len = 0x19
usb_control_msg: request: 0x6, requesttype: 0x80, value 0x200 index 0x0 length 0x3B
Pipe Val = 0x84000280, DevNum = 1
uhci_submit_control start len 3b, maxsize 8
uhci_submit_control end (9 tmp_tds used)
Dev->status val = 0x80000000
dev->act_len = 0x19
get_conf_no 0 Result 25, wLength 59
unknown Description Type : 21
09 21 10 01 00 01 22 41 00 


if 0, ep 0
unknown Description Type : 21
09 21 10 01 00 01 22 A4 00 


if 1, ep 0
##EP epmaxpacketin[1] = 8
##EP epmaxpacketin[2] = 8
set configuration 1
usb_control_msg: request: 0x9, requesttype: 0x0, value 0x1 index 0x0 length 0x0
Pipe Val = 0x84000200, DevNum = 1
uhci_submit_control start len 0, maxsize 8
uhci_submit_control end (1 tmp_tds used)
Dev->status val = 0x80000000
dev->act_len = 0x19
failed to set default configuration len 25, status 80000000
hub: disabling port 1
usb_control_msg: request: 0x1, requesttype: 0x23, value 0x1 index 0x1 length 0x0
Pipe Val = 0x80000100, DevNum = 1
- Root-Hub Request: Clear Feature Other Class 
Root-Hub: adr:  1 cmd(8): 2301 0001 0001 0000
Root-Hub: Enable Port 1
Root-Hub stat 0 port1: 1a1 port2: 80

Dev->status val = 0x0
dev->act_len = 0x0
usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x2 length 0x4
Pipe Val = 0x80000180, DevNum = 1
- Root-Hub Request: Get Status Class Others
Root-Hub: adr:  1 cmd(8): a300 0000 0002 0004
Root-Hub stat 0 port1: 1a1 port2: 80

Dev->status val = 0x0
dev->act_len = 0x4
Port 2 Status 100 Change 0
2 USB Device(s) found
Inside usb keyboard init()
Usb get dev index = 1
Kbd before probe
Inside usb probe
Interface class
Usb get dev index = 2
Kbd before probe
Inside usb probe
USB KBD found set protocol...
usb_control_msg: request: 0xB, requesttype: 0x21, value 0x0 index 0x0 length 0x0
Pipe Val = 0x84000200, DevNum = 1
uhci_submit_control start len 0, maxsize 8
uhci_submit_control end (1 tmp_tds used)
Dev->status val = 0x80000000
dev->act_len = 0x19
USB KBD found set idle...
usb_control_msg: request: 0xA, requesttype: 0x21, value 0xA00 index 0x0 length 0x0
Pipe Val = 0x84000200, DevNum = 1
uhci_submit_control start len 0, maxsize 8
uhci_submit_control end (1 tmp_tds used)
Dev->status val = 0x80000000
dev->act_len = 0x19
USB KBD enable interrupt pipe...
Rounded interval to 8, chain  3
USB KBD found set up device.
USB KBD register.
scan end
       scanning bus for storage devices... Block read 0 = 133682456
Block read 1 = 133682456
Block read 2 = 133682456
Block read 3 = 133682456
Block read 4 = 133682456
Usb get dev index = 1
device val from get device = 133928760
i=0
Inside usb storage dev def()
Dev class = 9
Interface class = 9
In sub class = 0
Usb get dev index = 2
device val from get device = 133930492
i=1
Inside usb storage dev def()
Dev class = 0
Interface class = 3
In sub class = 1
Usb get dev index = -1
device val from get device = 0
i=2
0 Storage Device(s) found
=> usb info
Usb get dev index = 1
1: Hub,  USB Revision 1.0
 - UHCI Root Hub  
 - Class: Hub
 - PacketSize: 8  Configurations: 1
 - Vendor: 0x0000  Product 0x0000 Version 0.0
   Configuration: 1
   - Interfaces: 1 Self Powered 0mA
     Interface: 0
     - Alternate Setting 0, Endpoints: 1
     - Class Hub
     - Endpoint 1 In Interrupt MaxPacket 8 Interval 255ms

Usb get dev index = 2
2: Human Interface,  USB Revision 1.10
 - Class: (from Interface) Human Interface
 - PacketSize: 8  Configurations: 1
 - Vendor: 0x04f2  Product 0x0111 Version 3.0
   Configuration: 1
   - Interfaces: 2 Bus Powered Remote Wakeup 100mA
     Interface: 0
     - Alternate Setting 0, Endpoints: 1
     - Class Human Interface, Subclass: Boot Keyboard
     - Endpoint 1 In Interrupt MaxPacket 8 Interval 10ms
     Interface: 1
     - Alternate Setting 0, Endpoints: 1
     - Class Human Interface, Subclass: None
     - Endpoint 2 In Interrupt MaxPacket 8 Interval 10ms

Usb get dev index = -1
=> 


Thanks in adavance for your suggestions.

Best regards,
Sadashiv


More information about the U-Boot mailing list