On Thu, 10 Nov 2005, Vivek wrote:

> Hello list
> I have ported linux 2.6.12 usb driver to a SOC board consisting of a mips
> processor. The SOC is mips  processor which has a in-core non-PCI usb 2.0
> host controller which supports ehci/ohci. Because mips is big endian and the
> usb host controller is little endian, a glue logic has been added in the usb
> host controller which does endian conversion for data,descriptors and
> register access. I have modified the driver to treat the usb host controller
> as  a platform device.
> The problem is that the full speed devices are not recognized correctly due
> to device descriptors read errors. However at times, the usb device is
> recognized correctly and vendor id and device id string shows up correctly.
> The driver gets loaded and identifies correctly the no. of ports of usb host
> controller as is shown below.

Just to make sure I understood you correctly: the HC is 
always correctly detected, but the attached USB 
devices are only sometimes correctly enumerated?

> /bin # insmod usbcore.ko old_scheme_first=y
> Using usbcore.ko
> usbcore: registered new driver usbfs
> usbcore: registered new driver hub
> /bin # insmod ohci-hcd.ko
> vox160-hcd vox160-hcd.0: ADI VOX160 OHCI
> vox160-hcd vox160-hcd.0: new USB bus registered, assigned bus number 1
> vox160-hcd vox160-hcd.0: irq 35, io mem 0x19240800
> usb usb1: Product: ADI VOX160 OHCI
> usb usb1: Manufacturer: Linux 2.6.12 ohci_hcd
> usb usb1: SerialNumber: vox160 ohci
> hub 1-0:1.0: USB hub found
> hub 1-0:1.0: 1 port detected.
> 
> The output from dmesg is produced as well below.
> 
> /bin # dmesg
> usbcore: registered new driver usbfs
> usbcore: registered new driver hub
> 2004 Nov 08 USB 1.1 'Open' Host Controller (OHCI) Driver (VOX160
> OHCI)<7>block sizes: ed 64 td 64
> In ohci_hcd_vox160_drv_probe<7>
> initializing VOX160 OHCI USB Controller
> drivers/usb/host/ohci-vox160.c: Probing USB OHCI
> drivers/usb/host/ohci-vox160.c: starting VOX160 OHCI USB Controller
> drivers/usb/host/ohci-vox160.c: Clock to USB host has been enabled
> vox160-hcd vox160-hcd.0: ADI VOX160 OHCI
> vox160-hcd vox160-hcd.0: new USB bus registered, assigned bus number 1
> vox160-hcd vox160-hcd.0: irq 35, io mem 0x19240800
> vox160-hcd vox160-hcd.0: ohci_vox160_start, ohci:81224124<7>vox160-hcd
> vox160-hcd.0: resetting from state 'reset', control = 0x0
> vox160-hcd vox160-hcd.0: OHCI controller state
> vox160-hcd vox160-hcd.0: OHCI 1.0, NO legacy support registers
> vox160-hcd vox160-hcd.0: control 0x083 HCFS=operational CBSR=3
> vox160-hcd vox160-hcd.0: cmdstatus 0x00000 SOC=0
> vox160-hcd vox160-hcd.0: intrstatus 0x00000044 RHSC SF
> vox160-hcd vox160-hcd.0: intrenable 0x8000001a MIE UE RD WDH
> vox160-hcd vox160-hcd.0: fminterval a7782edf
> vox160-hcd vox160-hcd.0: hcca frame #0006
> vox160-hcd vox160-hcd.0: roothub.a 02001201 POTPGT=2 NOCP NPS NDP=1
> vox160-hcd vox160-hcd.0: roothub.b 00000000 PPCM=0000 DR=0000
> vox160-hcd vox160-hcd.0: roothub.status 00008000 DRWE
> vox160-hcd vox160-hcd.0: roothub.portstatus [0] 0x00000100 PPS
> usb usb1: default language 0x0409
> usb usb1: new device strings: Mfr=3, Product=2, SerialNumber=1
> usb usb1: Product: ADI VOX160 OHCI
> usb usb1: Manufacturer: Linux 2.6.12 ohci_hcd
> usb usb1: SerialNumber: vox160 ohci
> usb usb1: adding 1-0:1.0 (config #1, interface 0)
> 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: 1 port detected
> hub 1-0:1.0: standalone hub
> hub 1-0:1.0: no power switching (usb 1.0)
> hub 1-0:1.0: no 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
> vox160-hcd vox160-hcd.0: created debug files
> hub 1-0:1.0: state 5 ports 1 chg 0000 evt 0000
> 
> Now,when a full speed usb device like keyboard is inserted, I get following
> messages on the console.
> 
> /bin # usb 1-1: new full speed USB device using vox160-hcd and address 2
> usb 1-1: device descriptor read/8, error -71
> usb 1-1: device descriptor read/8, error -71
> usb 1-1: new full speed USB device using vox160-hcd and address 3
> usb 1-1: device descriptor read/8, error -71
> usb 1-1: device descriptor read/8, error -71

[the rest deleted]

HC seems to be OK. error -71 (EPROTO) tends to indicate 
hardware problems. Is the USB tranceiver working correctly?

Olav


-------------------------------------------------------
SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server. Download
it for free - -and be entered to win a 42" plasma tv or your very own
Sony(tm)PSP.  Click here to play: http://sourceforge.net/geronimo.php
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to