usb_drv error -92 for RPi | Genode 18.05 with Fiasco.OC 79

Stefan Kalkowski stefan.kalkowski at genode-labs.com
Thu Jun 21 13:20:57 CEST 2018


Hello Alexander,

On Wed, Jun 20, 2018 at 02:19:29PM +0200, Alexander Weidinger wrote:
> Hello everyone,
> 
> when executing 'lwip' on the RPi 2, I get the following output for the
> usb_drv:
> 
> > [init -> usb_drv] dev_info: DWC OTG Controller
> > [init -> usb_drv] dev_info: new USB bus registered, assigned bus number 1
> > [init -> usb_drv] dev_info: irq 9, io mem 0x00000000
> > [init -> usb_drv] dev_info: USB hub found
> > [init -> usb_drv] dev_info: 1 port detected
> > [init -> usb_drv] dev_info: new high-speed USB device number 2 using dwc_otg
> > [init -> usb_drv] dev_error: device descriptor read/all, error -92
> > [init -> usb_drv] dev_info: new high-speed USB device number 3 using dwc_otg
> > [init -> usb_drv] dev_error: device descriptor read/all, error -92
> > [init -> usb_drv] dev_info: new high-speed USB device number 4 using dwc_otg
> > [init -> usb_drv] dev_error: device descriptor read/8, error -92
> > [init -> usb_drv] dev_error: device descriptor read/8, error -92
> > [init -> usb_drv] dev_info: new high-speed USB device number 5 using dwc_otg
> > [init -> usb_drv] dev_error: device descriptor read/8, error -92
> > [init -> usb_drv] dev_error: device descriptor read/8, error -92
> > [init -> usb_drv] dev_error: unable to enumerate USB device
> 
> Does anyone have an idea what I can do, to get the Ethernet adapter
> working? Any help is appreciated!
> I don't really understand the problem here, since the driver works
> flawlessly for the RPi 1 B+ (using foc_rpi as platform) - which uses the
> same chip as the RPi 2 (SMSC LAN9514).

I assume that the driver does not get any interrupt. Probably the
interrupt controller hierarchy is different in between Pi 1
and 2 resp. BCM2835 and BCM2836. So the question is how Fiasco.OC
maps interrupt numbers that core is asking for to the SoC' ones.
To validate or refute my assumption, you can instrument the dde_linux code at:

https://github.com/genodelabs/genode/blob/18.05/repos/dde_linux/src/lx_kit/irq.cc#L136

and proof whether an interrupt is delivered to the driver.

regards
Stefan

> 
> My Genode version [2] and Fiasco.OC version [3].
> 
> To the backstory:
> -----------------
> I am currently in the process of "porting" Fiasco.OC/Genode to the
> Raspberry Pi 2 (Model B).
> 
> As a basis I use Genode in the version 18.05 and Fiasco.OC in the
> version 79. I created a new device, the rpi2, and based it on the
> already available rpi model.
> 
> The main changes I did for the rpi2 platform [1] are
> - the different arm architecture - from armv6 to armv7a in a few files
> - the different physical base address - from 0x2000:0000 to 0x3f00:0000
> - a RAM size of 1008 MB starting at 0x0000:0000 (1024 MB - 16 MB for
> peripherals)
> 
> I use version 79 of the Fiasco.OC kernel since it adds support for the
> three different BCM283X platforms. In order to get version 79 of the
> kernel running with Genode, I used the official 79 as a basis and
> cherry-picked commits from Genode's version of Fiasco.OC (72). [0]
> 
> My setup works completely fine for the RPi 1 (Model B+), even for the
> usb/nic driver. As the RPi 1 (Model B+) makes use of the SMSC LAN9514,
> instead of the SMSC LAN9512 (used in RPi Model B) it should also work
> for the RPi 2 (Model B), since this SBC also uses the SMSC LAN9514.
> 
> [0] https://github.com/skalk/foc/commits/r72
> [1] https://github.com/irgendwie/genode/commits/foc-rpi2
> [2] https://github.com/irgendwie/genode/tree/foc-rpi2
> [3] https://github.com/irgendwie/foc/tree/genode-r79-rpi2
> -----------------
> 
> Best regards
> Alexander

pub   RSA 4096/2751A2CE 2018-04-04 Alexander Weidinger <alexander.weidinger at tum.de>
> sub   RSA 4096/0453A69B 2018-04-04
> sub   RSA 4096/7852D6D1 2018-04-04
> 




> _______________________________________________
> Genode users mailing list
> users at lists.genode.org
> https://lists.genode.org/listinfo/users


-- 
Stefan Kalkowski
Genode labs

https://github.com.skalk | https://genode.org



More information about the users mailing list