GSOC 2017 RTEMS-libbsd issue

Sichen Zhao zsc19940506 at
Wed Apr 19 14:41:20 UTC 2017

Hi Christian Mauderer,

1. I haven't put these change in my git repo yet.

2.Yes, i verified that by the console output , the below snapshot :

including some debug info. just forget it.


3.The application i use is testsuite/usb01, i debug it, and it loop at the uhub_explore function in usb_hub.c, and didn't reach the umass_probe function.

4. I noticed that the pin USB1_DRVVBUS and USBx_VBUSIN is always low, so i think it can't detect the new device.

Best Regards

Sichen Zhao

From: Christian Mauderer <christian.mauderer at>
Sent: Wednesday, April 19, 2017 8:36 PM
To: RTEMS; 赵 思晨
Subject: Re: GSOC 2017 RTEMS-libbsd issue

Hello Sichen Zhao,

Sorry for the delayed response. Somehow the mail must have been lost.
I only received it through the answer from Kevin Kirspel. I slightly
changed my mailing list settings so the next time it will (hopefully)

> Hi Christian Mauderer, Hi all,
> I understand what you mean, i will update my RTEMS-libbsd to the newest
> branch.


> I already pull over the host controller driver files(am335x_musb.c
> am335x_usbss.c umass.c)from freebsd and make them compilable in
> rtems-libbsd. The umass.c is driver for storage device.
> And i already add the host controller and driver to
> nexus-devices.h(RTEMS_BSD_DEFINE_NEXUS_DEVICE(musbotg,0 ,
> RTEMS_ARRAY_SIZE(musbotg_res), &musbotg_res[0]);).

Sounds good. Did you put these changes on some working branch in your
github repository so it would be possible to have a look?

> Now uhub usbus and musbotg can mount on nexus bus.

OK. Sounds good. I expect you have verified that by some console output?

> the issue is: it can not find the new device(such as U disk)

Which application did you use to test this. Do you have some kind of
debugger so you could check whether the code reaches the umass_probe

> So i compare with the FreeBSD boot log info, and the only difference is
> FreeBSD enable the USB_HAVE_UGEN, so i guess if it is necessary
> to enable the macro USB_HAVE_UGEN.

As far as I can tell neither the am335x_musb nor the umass driver does
something different based on this macro. And till now, the macro hasn't
been necessary for supporting mass storage devices. It is possible that
something changed and that this specific host needs USB_HAVE_UGEN for
some reason to support any device but I would think it is rather unlikely.

@Kevin Kirspel: It seems that you need UGEN for keyboards. Does a USB
mass storage work on your target without UGEN? This might could give a
hint whether the dependency is device-specific or host-specific.

I'm currently not sure if any other USB device (like a hub) produces any
messages on the console. But it might would be worth a try. If you have
upgraded to the last libbsd, you could also try some USB-wifi-dongles. I
tested with a rtl8192 based one and that did put some messages on the
console. For this wifi dongle You would have to add the following
drivers in nexus-devices.h:


Kind regards


> Thank you for your suggestions.
> Best regards
> Sichen Zhao

embedded brains GmbH
Christian Mauderer
Dornierstr. 4
D-82178 Puchheim
email: christian.mauderer at
Phone: +49-89-18 94 741 - 18
Fax:   +49-89-18 94 741 - 08
PGP: Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: snapshot.png
Type: image/png
Size: 45265 bytes
Desc: snapshot.png
URL: <>

More information about the devel mailing list