Skip to contentSkip to conversation

USB CDC branch

U-Boot Stefano Babic 4 participants 8 messages Jul 13, 2010 – Jul 14, 2010

lore
Share & tools
lore
#0 lore raw

Hi Remy,

I would like to add support for Ethernet over USB (CDC) for the musb (musb_udc) controller, basing on your cdc branch in u-boot-usb.

I have seen there are some conflicts and some duplicated structure between the header imported from linux (linux/usb/ch9.h) and the headers in u-boot (usbdescriptors.h, for example), and I have started to solve these issues.

However, before doing some unnecessary work, I prefer to ask you which are your plans about this branch and if you think it could be merged soon to the u-boot-usb master and, at the end, brought to the mainline.

Regards,
Stefano

Signature · 5 lines
=====================================================================
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80  Email: office at denx.de
=====================================================================
#1 lore raw

FYI I'm doing some work on this branch too.
Actually I have ported it to 2010.03, added RNDIS support and made integration into 'usb' command.
However these changes aren't tested yet so the work is still under progress.

Probably someone knows about any possible issues with CDC/RNDIS support? And also I would like to know the answers to Stefano's questions.

Quoted 17 lines · Stefano Babic

Hi Remy,

I would like to add support for Ethernet over USB (CDC) for the musb (musb_udc) controller, basing on your cdc branch in u-boot-usb.

I have seen there are some conflicts and some duplicated structure between the header imported from linux (linux/usb/ch9.h) and the headers in u-boot (usbdescriptors.h, for example), and I have started to solve these issues.

However, before doing some unnecessary work, I prefer to ask you which are your plans about this branch and if you think it could be merged soon to the u-boot-usb master and, at the end, brought to the mainline.

Regards,
Stefano

#7 lore raw
In reply to Stefano Babic

Hi Stefano,

2010/7/13 Stefano Babic <[email protected]>:

Quoted 4 lines

Hi Remy,

I would like to add support for Ethernet over USB (CDC) for the musb (musb_udc) controller, basing on your cdc branch in u-boot-usb.

Great!

Quoted 7 lines

I have seen there are some conflicts and some duplicated structure between the header imported from linux (linux/usb/ch9.h) and the headers in u-boot (usbdescriptors.h, for example), and I have started to solve these issues.

However, before doing some unnecessary work, I prefer to ask you which are your plans about this branch

Well, the branch exist already for quite some time, and I did not discover much interest in it for at least the last year, so that did not convince me to invest much time in it to get it mainline ready. However, it seems time has changed by now, so lets get this beast to mainline.
The current status is that it is still up to date and we use it ourselves, even in combination with the U-boot 2010.06 release.

Quoted 1 line

and if you think it could be merged soon to the u-boot-usb master and, at the end, brought to the mainline.

Of course this could be merged to mainline! We first have to get it reviewed on the ML because that has never been done before...

Kind regards,

Remy

#2 lore raw
In reply to Vitaly Kuzmichev

Hi,

2010/7/13 Vitaly Kuzmichev <[email protected]>:

Quoted 1 line

FYI I'm doing some work on this branch too.

Great!

Quoted 1 line

Actually I have ported it to 2010.03

What do you mean with ported to 2010.03?
It was already working on latest git, do you mean you backported it to an older version? (I would not expect this would be a big difference though)

Quoted 1 line

added RNDIS support

Is RNDIS working stable? We had quite some troubles with it, especially with BSODs on those Windows boxes...
The device unplug/plug behaviour was a pain for RNDIS, hence the reason why we removed that from the code.
But, I do not want to scare you off from this rndis work, please continue. Maybe you can get it to work properly :-)

We use it to communicate with a CDC driver on a Windows XP-embedded host (http://www.thesycon.de/eng/usb_cdcecm.shtml). CDC works much more stable, and much more faster compared to rndis.

Quoted 1 line

and made integration into 'usb' command.

Great!

Quoted 3 lines

However these changes aren't tested yet so the work is still under progress.

Probably someone knows about any possible issues with CDC/RNDIS support?

See above.
and CDC is working stable, no known issues with it.

At least one hint: First get CDC working on your hardware before you start to connect rndis, that would allow you to get the udc driver and all other levels of SW working properly and that you would only need to focus on rndis protocol rarities after that. And to prevent that you are debugging all kinds of undocumented rndis calls from the Windows host you could use a Linux host instead with the Linux-rndis-usb-host driver ;-)

Quoted 1 line

And also I would like to know the answers to Stefano's questions.

See my other reply.

I would suggest to merge all work in progress in the u-boot-usb/CDC branch from which we push it to mainline.

Kind regards,

Remy

#3 lore raw
Quoted 23 lines · Remy Bohmer

Hi,

2010/7/13 Vitaly Kuzmichev <[email protected]>:

Quoted 1 line

FYI I'm doing some work on this branch too.

Great!

Quoted 1 line

Actually I have ported it to 2010.03

What do you mean with ported to 2010.03?
It was already working on latest git, do you mean you backported it to an older version? (I would not expect this would be a big difference though)

Quoted 1 line

added RNDIS support

Is RNDIS working stable? We had quite some troubles with it, especially with BSODs on those Windows boxes...
The device unplug/plug behaviour was a pain for RNDIS, hence the reason why we removed that from the code.
But, I do not want to scare you off from this rndis work, please continue. Maybe you can get it to work properly :-)

Quoted 3 lines

We use it to communicate with a CDC driver on a Windows XP-embedded host (http://www.thesycon.de/eng/usb_cdcecm.shtml). CDC works much more stable, and much more faster compared to rndis.

We also implemented the CDC and RNDIS on our board and working well. If you merge your usb gadget tree then we will send the patches also.

To Minkyu,
Can you prepare the patches and send to u-boot?

Thank you,
Kyungmin Park

Quoted 36 lines
Quoted 2 lines

?and made integration into 'usb' command.

Great!

Quoted 3 lines

However these changes aren't tested yet so the work is still under progress.

Probably someone knows about any possible issues with CDC/RNDIS support?

See above.
and CDC is working stable, no known issues with it.

At least one hint: First get CDC working on your hardware before you start to connect rndis, that would allow you to get the udc driver and all other levels of SW working properly and that you would only need to focus on rndis protocol rarities after that. And to prevent that you are debugging all kinds of undocumented rndis calls from the Windows host you could use a Linux host instead with the Linux-rndis-usb-host driver ?;-)

Quoted 1 line

And also I would like to know the answers to Stefano's questions.

See my other reply.

I would suggest to merge all work in progress in the u-boot-usb/CDC branch from which we push it to mainline.

Kind regards,

Remy
_______________________________________________
U-Boot mailing list
U-Boot at lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

#5 lore raw
In reply to Remy Bohmer

Hi Remi,

Quoted 3 lines

What do you mean with ported to 2010.03?
It was already working on latest git, do you mean you backported it to an older version?

I mean that I have to work over our fork of main u-boot 2010.03. Of course before submitting the patches I will test them on both 'master' branches of main u-boot and u-boot-usb.

Quoted 1 line

Is RNDIS working stable?

I didn't make tests yet.

Quoted 2 lines

We had quite some troubles with it,
especially with BSODs on those Windows boxes...

Looks like I have to fix this :)

Quoted 1 line

The device unplug/plug behaviour was a pain for RNDIS,

Do you mean that Windows and u-boot do not recognize cable unplug?

Quoted 1 line

But, I do not want to scare you off from this rndis work

I have no choice :)

Quoted 2 lines

We use it to communicate with a CDC driver on a Windows XP-embedded host (http://www.thesycon.de/eng/usb_cdcecm.shtml).

Fine.

And thanks for hint.

___
WBR,
Vitaly.

Quoted 57 lines · Remy Bohmer

Hi,

2010/7/13 Vitaly Kuzmichev <[email protected]>:

Quoted 1 line

FYI I'm doing some work on this branch too.

Great!

Quoted 1 line

Actually I have ported it to 2010.03

What do you mean with ported to 2010.03?
It was already working on latest git, do you mean you backported it to an older version? (I would not expect this would be a big difference though)

Quoted 1 line

added RNDIS support

Is RNDIS working stable? We had quite some troubles with it, especially with BSODs on those Windows boxes...
The device unplug/plug behaviour was a pain for RNDIS, hence the reason why we removed that from the code.
But, I do not want to scare you off from this rndis work, please continue. Maybe you can get it to work properly :-)

We use it to communicate with a CDC driver on a Windows XP-embedded host (http://www.thesycon.de/eng/usb_cdcecm.shtml). CDC works much more stable, and much more faster compared to rndis.

Quoted 1 line

and made integration into 'usb' command.

Great!

Quoted 3 lines

However these changes aren't tested yet so the work is still under progress.

Probably someone knows about any possible issues with CDC/RNDIS support?

See above.
and CDC is working stable, no known issues with it.

At least one hint: First get CDC working on your hardware before you start to connect rndis, that would allow you to get the udc driver and all other levels of SW working properly and that you would only need to focus on rndis protocol rarities after that. And to prevent that you are debugging all kinds of undocumented rndis calls from the Windows host you could use a Linux host instead with the Linux-rndis-usb-host driver ;-)

Quoted 1 line

And also I would like to know the answers to Stefano's questions.

See my other reply.

I would suggest to merge all work in progress in the u-boot-usb/CDC branch from which we push it to mainline.

Kind regards,

Remy

#4 lore raw
In reply to Kyungmin Park

Hi,

Quoted 2 lines

We also implemented the CDC and RNDIS on our board and working well. If you merge your usb gadget tree then we will send the patches also.

Have you shared this anywhere (public git?)?
I would like to look at your patches to sync them with mine.

___
WBR,
Vitaly.

Quoted 73 lines · Kyungmin Park
Quoted 23 lines · Remy Bohmer

Hi,

2010/7/13 Vitaly Kuzmichev <[email protected]>:

Quoted 1 line

FYI I'm doing some work on this branch too.

Great!

Quoted 1 line

Actually I have ported it to 2010.03

What do you mean with ported to 2010.03?
It was already working on latest git, do you mean you backported it to an older version? (I would not expect this would be a big difference though)

Quoted 1 line

added RNDIS support

Is RNDIS working stable? We had quite some troubles with it, especially with BSODs on those Windows boxes...
The device unplug/plug behaviour was a pain for RNDIS, hence the reason why we removed that from the code.
But, I do not want to scare you off from this rndis work, please continue. Maybe you can get it to work properly :-)

Quoted 3 lines

We use it to communicate with a CDC driver on a Windows XP-embedded host (http://www.thesycon.de/eng/usb_cdcecm.shtml). CDC works much more stable, and much more faster compared to rndis.

We also implemented the CDC and RNDIS on our board and working well. If you merge your usb gadget tree then we will send the patches also.

To Minkyu,
Can you prepare the patches and send to u-boot?

Thank you,
Kyungmin Park

Quoted 36 lines
Quoted 2 lines

and made integration into 'usb' command.

Great!

Quoted 3 lines

However these changes aren't tested yet so the work is still under progress.

Probably someone knows about any possible issues with CDC/RNDIS support?

See above.
and CDC is working stable, no known issues with it.

At least one hint: First get CDC working on your hardware before you start to connect rndis, that would allow you to get the udc driver and all other levels of SW working properly and that you would only need to focus on rndis protocol rarities after that. And to prevent that you are debugging all kinds of undocumented rndis calls from the Windows host you could use a Linux host instead with the Linux-rndis-usb-host driver ;-)

Quoted 1 line

And also I would like to know the answers to Stefano's questions.

See my other reply.

I would suggest to merge all work in progress in the u-boot-usb/CDC branch from which we push it to mainline.

Kind regards,

Remy
_______________________________________________
U-Boot mailing list
U-Boot at lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

#6 lore raw
In reply to Vitaly Kuzmichev

Hi,

Quoted 3 lines
Quoted 1 line

The device unplug/plug behaviour was a pain for RNDIS,

Do you mean that Windows and u-boot do not recognize cable unplug?

Device unplug/plug behaviour on Windows is so slooooow...
What I mean with unplug/plug is removing and adding the pullup resistor that makes the devices visible to the host.
We had huge timeouts between unplug/plug up to more then 10 seconds, and the host could sometimes not even keep up.
It frequently ran into conditions that the device was not seen at all anymore, up to even a very slow mouse responsiveness, and to malfunction of the context menus and so on, either eventually resulting in BSOD or manual reboot.
All these problems vanished with the use of a CDC device driver on Windows...

Kind regards,

Remy