• Welcome to OS2World OLD-STATIC-BACKUP Forum.
 

News:

This is an old OS2World backup forum for reference only. IT IS READ ONLY!!!

If you need help with OS/2 - eComStation visit http://www.os2world.com/forum

Main Menu

USB 3.0 support for OS/2 & eCS

Started by Mike, 2012.06.24, 18:28:44

Previous topic - Next topic

Mike

The situation for the driver support of the new USB 3.0 host controller has changed from 'nice to have' to urgently 'required'. The reason for it is that USB 3.0 started as an add-on for the unchanged base hardware similar to the way when USB 2.0 was introduced. First AMD and now Intel added support for USB 3.0 in their chipsets - making it available on mostly every new PC sold. The implementation of USB 3.0 has also changed, most of the USB ports esp. these on notebooks are USB 3.0 with one legacy USB port left that can be used by the OS/2 USB host controller driver. In Desktop systems the situation is similar, thus attaching an USB mice and keyboard can be a challenge.
The current USB host driver developemnt is done by Lars Erdman and others in their free time without a known plan for a xhci host controller driver. In case we want to get something started its required to think  about a new bounty or the sponsoring approach from the java for eCS project and a developer (team) that is available to work on it.

miturbide

One of the limitations that we have is that Lar's USB Driver is based on IBM DDK Code which it license says:

Quote
Under this license you may not:
a. use, copy, modify, display or merge copies of the IBM Code except as provided in this agreement;
b. reverse assemble or reverse compile the IBM Code provided in object code form;
c. distribute, sublicense, rent, lease, assign or transfer the IBM Code, except as provided in this agreement; or
d. disclose, display, disseminate, market or distribute source code of either the IBM Code or the OS/2 Device Driver in any media, except for your own internal use by you or your full-time employees on a need to know basis on your premises.

This make is hard to have a collaborative and open source development of the driver.

The other issue that we have is the skills and drivers development resources that we have on the community.

I had exchange some emails to Lars, and he is ok for someone to help him on this project, but it is hard to get someone with driver dev skills that would like to contribute on this kind of development.

I'm also willing to help on any way I can to have an open USB 3.0 driver on this platform. A bounty can be a way to help, but I think we need to find a developer first that will set a money goal to accomplish this.
Martín Itúrbide
OS2World.com NewsMaster
Open Source Advocate

Skype - martiniturbide
Google Talk - martiniturbide@gmail.com

Mike

QuoteThis make is hard to have a collaborative and open source development of the driver.

The host controller driver is part of the USB stack, theres nearly nothing to prevent an implementation or port of an open source based xhci driver in case the interfaces to the rest of the usb stack are compatible.

QuoteThe other issue that we have is the skills and drivers development resources that we have on the community.

Time and money is maybe the other one  ;) Its not impossible as there are still known and unknown developers around to be familiar with the development of drivers.



DougB

There seems to be some USB 3.0 driver information at en.wikipedia.org/wiki/EXtensible_Host_Controller_Interface_%28xHCI%29

I don't know if there is enough there to be able to develop a new driver, but anybody who knows a bit about it should review the information.

rwklein

Quote from: DougB on 2012.06.28, 00:45:08
There seems to be some USB 3.0 driver information at en.wikipedia.org/wiki/EXtensible_Host_Controller_Interface_%28xHCI%29

I don't know if there is enough there to be able to develop a new driver, but anybody who knows a bit about it should review the information.

I posted to this forum before about USB 3.0 and I would like to point out while, how tempting it would see to work on USB 3 to hold that off. This has been on the Mensys project list for over 3 years now. But from my point of view it not that useful since the base USB stack still needs more work.

I also understood that for USB 3.0 to work (when you do have a USB 3.0 host controller driver) that possibly USBD.SYS also needs to be modified for this. Currently in the OS/2 community I can not think of anybody that could work on a USB 3.0 driver (he also needs to have time for it of course). That person would also need to have good knowledge of the internal workings of the USB stack.

Roderick Klein
Mensys

miturbide

Roderick

Maybe it is a good time to invest on putting out the driver development knowledge to the public. The blasting truth is "there is not enought people with the knowledge to create OS2-eCs drivers", but it will be good to try to find somekind of solution.

Where can we get that knowledge of the internal workings of the OS/2 USB stack? Can I post it to the EDM/2 Wiki under Creative Common?
Martín Itúrbide
OS2World.com NewsMaster
Open Source Advocate

Skype - martiniturbide
Google Talk - martiniturbide@gmail.com

DougB

QuoteThis has been on the Mensys project list for over 3 years now. But from my point of view it not that useful since the base USB stack still needs more work.

I agree that the base USB stack needs more work, however, it is now becoming urgent to get a USB 3.0 driver. The simple fact is, that there are some machines that are shipping with hardware that needs the USB 3.0 driver, and they don't have any other options (other than adding another card to support USB). Over the next year, or so, I expect to see no other options.

rwklein

Quote from: miturbide on 2012.06.30, 19:51:18
Roderick

Maybe it is a good time to invest on putting out the driver development knowledge to the public. The blasting truth is "there is not enought people with the knowledge to create OS2-eCs drivers", but it will be good to try to find somekind of solution.

Where can we get that knowledge of the internal workings of the OS/2 USB stack? Can I post it to the EDM/2 Wiki under Creative Common?

Well there are enough people around to write OS/2 device drivers. I would need to dig run past my list of names again. But does people you also need to able to pay them (that means not a to high charge) and they must have enough time to write the code.

And then these people also need to be good enough. I'm not going to open up the dossier on how a certain developer worked out for  us (Mensys). Its also in general rare to find people for any OS that really write decent device driver code!

About where to get documentation on the inner workings of the USB stack. Its for 99% in the DDK code.
And understanding does interfaces is possibly not easy, I don't know. But thats the whole thing we (Mensys) is allowed to open source the code of the DDK. But if you think you have a developer that can write such a driver we can grand him access.

From one of the Netlabs developer workshops there where 2 presentations on the USB stack. I think you can find them on ecomstation.ru. In general if you look at the revision history of the USB drivers from Lars it also goes to show to some extend that the USB protocol is also a kind of trial and error game. Its not supposed to be like that but just like with ACPI the standards in real hardware do not add up the way they are documented.

Roderick Klein
Mensys

rwklein

Quote from: DougB on 2012.06.30, 21:49:38
QuoteThis has been on the Mensys project list for over 3 years now. But from my point of view it not that useful since the base USB stack still needs more work.

I agree that the base USB stack needs more work, however, it is now becoming urgent to get a USB 3.0 driver. The simple fact is, that there are some machines that are shipping with hardware that needs the USB 3.0 driver, and they don't have any other options (other than adding another card to support USB). Over the next year, or so, I expect to see no other options.

I have not followed this dossier. But are there mainboards out there that no longer have controllers on board that work with USB 2.0 drivers ? That they add USB 3.0 controllers that the first. But USB 3.0 devices can, as far as I can tell be hooked up to a USB 2.0 port. 

Roderick Klein
Mensys

DougB

QuoteBut are there mainboards out there that no longer have controllers on board that work with USB 2.0 drivers ?

Probably, but I can't name any. My Lenovo ThinkPad T510 was originally designed to have 2 USB 3.0 controllers, and nothing else. Fortunately, for me, they changed that to having two USB 2.0 controllers, and nothing else. Apparently, they use a built in hub to handle USB 1.x devices. There is no reason why manufacturers need to have USB 2.0 or 1.x controllers because USB 3.0 will run all of them (even if they need a built in hub to do it). That probably means that only USB 3.0 will be available, in the near future, simply because manufacturers are always looking for ways to reduce costs.

QuoteBut USB 3.0 devices can, as far as I can tell be hooked up to a USB 2.0 port.

I think that is true, but that means that you will need to have a USB 2.0 port to hook them up to. USB 2.0 ports are going away, fast.

There is more information about USB 3.0 at: www.intel.com/content/www/us/en/io/universal-serial-bus/universal-serial-bus-specifications.html

miturbide

#10
Hi Roderick

QuoteBut thats the whole thing we (Mensys) is allowed to open source the code of the DDK.

I didn't understand well this phrase. Do you mean that Mensys can create a derivate work with the IBM DDK code and turn it open source?
(Please notice that Open Source mean, releasing the software under any of the approved open source license by OSI www.opensource.org/licenses)

If so, can Mensys make the Lars USB drivers work to be open sourced?   Lars told me that he can not open source it (it is on a restrictive access SVN on netlabs) because the IBM DDK license does not allows it.

Regards
Martín Itúrbide
OS2World.com NewsMaster
Open Source Advocate

Skype - martiniturbide
Google Talk - martiniturbide@gmail.com

aschn

Quote from: DougB on 2012.07.01, 00:37:01
QuoteBut are there mainboards out there that no longer have controllers on board that work with USB 2.0 drivers ?
QuoteBut USB 3.0 devices can, as far as I can tell be hooked up to a USB 2.0 port.
I think that is true, but that means that you will need to have a USB 2.0 port to hook them up to.
Not true. USB 3.0 ports are backward compatible. The connection falls back to USB 2.0 if one of
both ports or the cable is not for 3.0.

Andreas

rwklein

Quote from: miturbide on 2012.07.01, 01:14:34
Hi Roderick

QuoteBut thats the whole thing we (Mensys) is allowed to open source the code of the DDK.

I didn't understand well this phrase. Do you mean that Mensys can create a derivate work with the IBM DDK code and turn it open source?
(Please notice that Open Source mean, releasing the software under any of the approved open source license by OSI www.opensource.org/licenses)

If so, can Mensys make the Lars USB drivers work to be open sourced?   Lars told me that he can not open source it (it is on a restrictive access SVN on netlabs) because the IBM DDK license does not allows it.

Regards


I told you this before Martin. The DDK code can not be open sourced. The IBM license does not allow this. Thats also the reason ACPI is closed source because it relies on the DDK from IBM. It would need to be required that somebody rewrites the DDK from scratch I don't consider this to happen any time soon.

What is possible is there is a serious developer that has a good possibility writing this driver that the developer "works" for Mensys.
That would be possible under the DDK license. Mensys once downloaded the DDK and as company can have employees work on the code.

But somebody just can not out of the blue get access to the code.

Roderick

miturbide

#13
Hi Roderick

For me it is not an option to support the development of future abandomware. Creating more close source drivers that can not be open source by any chance beucase it depends on IBM DDK source code, it is just creating software that will have no posibilities to be used/imrpoved in the future and will turn into abamdoware eventually.

The efforst had to be invested in Open Source development, to avoid what had happen in the past with IBM and OS/2.  

It will be better to invest in a long term driver development solution, than create an USB 3 driver to get out quickly of the problem and crippling this driver with IBM DDK license that will limit the posibilities for the community.
Martín Itúrbide
OS2World.com NewsMaster
Open Source Advocate

Skype - martiniturbide
Google Talk - martiniturbide@gmail.com

DougB

QuoteInsert Quote
Quote from: DougB on Today at 00:37:01
Quote
But are there mainboards out there that no longer have controllers on board that work with USB 2.0 drivers ?
Quote
But USB 3.0 devices can, as far as I can tell be hooked up to a USB 2.0 port.
I think that is true, but that means that you will need to have a USB 2.0 port to hook them up to.
Not true. USB 3.0 ports are backward compatible. The connection falls back to USB 2.0 if one of
both ports or the cable is not for 3.0.

A USB 3.0 port WILL run older USB devices. A USB 3.0 device WILL, apparently, run on a USB 2.0 port. However, if all that you have is a USB 3.0 port, and you try to use it with eCS, it isn't going to work, until somebody makes a driver for the USB 3.0 port.

My bet is, that there will be nothing but USB 3.0 ports available on new hardware, within a year. Why would the manufacturers do anything else? USB 3.0 will run all current, and (short term) future, devices, and they don't have the expense of including USB 2.0 hardware. If we don't have a driver for USB 3.0, the only option available will be to purchase an additional USB 2.0 adapter, at extra cost. Unfortunately, USB has become an essential part of computing today, and users are not going to be any happier to be limited to USB 2.0 speeds, than they are now when they are limited to USB 1.x speeds.

Perhaps, it is, again, time to find a new motherboard, before supported devices go away. That will look after my desktop, but what will I do when I need a laptop, and they only have USB 3.0?