Skip to contentSkip to conversation

ohci-ssb driver on a Broadcom BCM5354

DISCUSSION Steve Brown 4 participants 6 messages Nov 18, 2007 – Nov 26, 2007 MIPS

lore
Share & tools
lore
#0 lore raw

The 5354 has a dual ohci/ehci usb core. It's in an ASUS WL520gu wifi router. The ohci hcd driver registers, but times out reading a descriptor from the device.

Any suggestions on how to track down the problem?

I'm using 2.6.32.1 kernel from the openwrt project with the "ohci SSB bus glue" and "Fix ohci-ssb with !CONFIG_PM" patches from linux-mips. If there is a better test frame, let me know and I'll build it and test that.

Is this driver known to work with some combination of Broadcom hardware?

The ohci/usb interface does work w/ the software provided with the WL520gu.

Steve

usbcore: registered new interface driver usbfs

usbcore: registered new interface driver hub

usbcore: registered new device driver usb

ohci_hcd ssb0:1: SSB OHCI Controller

ohci_hcd ssb0:1: new USB bus registered, assigned bus number 1

ohci_hcd ssb0:1: irq 5, io mem 0x18003000

usb usb1: configuration #1 chosen from 1 choice

hub 1-0:1.0: USB hub found

hub 1-0:1.0: 2 ports detected

USB Universal Host Controller Interface driver v3.0

Initializing USB Mass Storage driver...

usbcore: registered new interface driver usb-storage

USB Mass Storage support registered. usb 1-1: new full speed USB device using ohci_hcd and address 2

usb 1-1: device descriptor read/64, error -145

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

Quoted 24 lines
root@OpenWrt:/# cat /proc/bus/usb/devices                                                                                                             

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.10 Cls=09(hub ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1

P: Vendor=0000 ProdID=0000 Rev= 2.06

S: Manufacturer=Linux 2.6.23.1 ssb-usb-ohci

S: Product=SSB OHCI Controller

S: SerialNumber=ssb0:1

C:* #Ifs= 1 Cfg#= 1 Atr=e0 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= 2 Ivl=255ms

#1 lore raw
Quoted 4 lines · Steve Brown

The 5354 has a dual ohci/ehci usb core. It's in an ASUS WL520gu wifi router. The ohci hcd driver registers, but times out reading a descriptor from the device.

You'd better post this to [email protected]

Quoted 2 lines

Any suggestions on how to track down the problem?

CONFIG_USB_DEBUG=y

and

usbmon perhaps.

Franck

#2 lore raw
In reply to Steve Brown

You probably want to make Michael Buesch aware of this issue.

John

Quoted 74 lines · Steve Brown

The 5354 has a dual ohci/ehci usb core. It's in an ASUS WL520gu wifi router. The ohci hcd driver registers, but times out reading a descriptor from the device.

Any suggestions on how to track down the problem?

I'm using 2.6.32.1 kernel from the openwrt project with the "ohci SSB bus glue" and "Fix ohci-ssb with !CONFIG_PM" patches from linux-mips. If there is a better test frame, let me know and I'll build it and test that.

Is this driver known to work with some combination of Broadcom hardware?

The ohci/usb interface does work w/ the software provided with the WL520gu.

Steve

usbcore: registered new interface driver usbfs

usbcore: registered new interface driver hub

usbcore: registered new device driver usb

ohci_hcd ssb0:1: SSB OHCI Controller

ohci_hcd ssb0:1: new USB bus registered, assigned bus number 1

ohci_hcd ssb0:1: irq 5, io mem 0x18003000

usb usb1: configuration #1 chosen from 1 choice

hub 1-0:1.0: USB hub found

hub 1-0:1.0: 2 ports detected

USB Universal Host Controller Interface driver v3.0

Initializing USB Mass Storage driver...

usbcore: registered new interface driver usb-storage

USB Mass Storage support registered. usb 1-1: new full speed USB device
using ohci_hcd and address 2

usb 1-1: device descriptor read/64, error -145

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

Quoted 25 lines
root@OpenWrt:/# cat /proc/bus/usb/devices                                  

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.10 Cls=09(hub  ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1           
                                                                           
     P:  Vendor=0000 ProdID=0000 Rev= 2.06                                 
                                                                           
      S:  Manufacturer=Linux 2.6.23.1 ssb-usb-ohci                         
                                                                           
       S:  Product=SSB OHCI Controller                                     
                                                                           
        S:  SerialNumber=ssb0:1                                            
                                                                           
         C:* #Ifs= 1 Cfg#= 1 Atr=e0 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=   2 Ivl=255ms         
Signature · 2 lines
John W. Linville
[email protected]
#3 lore raw
Quoted 1 line · On Sunday 18 November 2007 23:47:52 John W. Linville wrote:

You probably want to make Michael Buesch aware of this issue.

I'm not sure anyone really tested this beyond some insmod tests. I did not test this, as I don't have such a device.
So if you have any patches to fix this, please send them. I'm certainly the wrong person who can fix this. ;)

Signature · 1 line
Greetings Michael.
#4 lore raw
Quoted 11 lines · Michael Buesch
Quoted 2 lines · On Sunday 18 November 2007 23:47:52 John W. Linville wrote:

You probably want to make Michael Buesch aware of this issue.

I'm not sure anyone really tested this beyond some insmod tests. I did not test this, as I don't have such a device.
So if you have any patches to fix this, please send them. I'm certainly the wrong person who can fix this. ;)

Adding the following at the end of ssb_ohci_attach seems to fix the problem.

if (ssb_dma_set_mask(dev, DMA_32BIT_MASK))
return -EOPNOTSUPP;

I guessed at the dma mask. Would the code in the b43 driver that selects a dma mask be appropriate here?

Steve

#5 lore raw
Quoted 12 lines · On Monday 26 November 2007 12:05:33 Steve Brown wrote:
Quoted 11 lines · Michael Buesch
Quoted 2 lines · On Sunday 18 November 2007 23:47:52 John W. Linville wrote:

You probably want to make Michael Buesch aware of this issue.

I'm not sure anyone really tested this beyond some insmod tests. I did not test this, as I don't have such a device.
So if you have any patches to fix this, please send them. I'm certainly the wrong person who can fix this. ;)

Quoted 7 lines

Adding the following at the end of ssb_ohci_attach seems to fix the problem.

if (ssb_dma_set_mask(dev, DMA_32BIT_MASK))
return -EOPNOTSUPP;

I guessed at the dma mask. Would the code in the b43 driver that selects a dma mask be appropriate here?

I have no idea. If it makes it work, yeah. Cool. Let's add this.

Signature · 1 line
Greetings Michael.