Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to the forum
Board view  Mix view

USB support under DOS on intel 6-series chipstet? (Users)

posted by bretjohn(R) Homepage E-mail, Rio Rancho, NM, 23.11.2015, 00:47

> If I understand well, on older chipset there was no hubs between UHCI and
> ports?

There could be hubs, but the weren't required. The way it works is that EHCI (USB 2.x) and OHCI/UHCI (USB 1.x) are set up as what they call companion controllers. EHCI can ONLY directly handle high-speed (USB 2.x) devices.

In older systems, when a device is first plugged in, the EHCI controller is in charge of the port and tests to see if the device is even capable of high-speed, and if it is the EHCI controller maintains control. If the device can only do full- or low-speed, the EHCI controller disconnects the port and passes control to the companion (UHCI/OHCI) controller which ONLY handles full- and low-speed devices.

A USB 2.x Hub, on the other hand, can do all three speeds on its downstream ports. Inside a USB 2.0 hub is something called a Transaction Translator, which is sort of like a mini Host Controller (sort of like EHCI and UHCI/OHCI in one box). In USB 2.0, the EHCI host controller talks the the USB 2.0 Hub Transaction Translator at high-speed, and then the hub does all of the speed conversions to send data to each of the downstream ports at the appropriate speed (high - 480 Mbps, full - 12 Mbps, or low - 1.5 Mbps).

Newer systems don't have companion (UHCI/OHCI) controllers at all, but still need to be able to talk to low- and full-speed devices (which EHCI can't do, at least not directly). So, instead of companion controllers they have an integrated hub (sometimes it's called a rate-matching hub, but all USB 2.x hubs are rate-matching so that name doesn't really make sense). The integrated hub on the new computers really don't work any different than regular USB 2.x hubs, except that the integrated hubs aren't removable. In addition, you can't attach anything directly to the host contoller ports like you could before because they aren't physically exposed -- the only thing attached to the host controller is the integrated hub, so you can only attach external devices to the integrated hub.

In the USB specifications, there are pretty tight restrictions on how hubs are supposed to work, so I suspect the reason the new Intel hubs don't seem to work right is probably something simple/subtle -- they couldn't have changed things very much and have it still be compliant with the USB standards. Like I said, I haven't had time to do any troubleshooting, but I don't thing it's going to be anything complicated to fix (assuming I can figure out exactly what the problem is).

> Would it be hard to implement the support of EHCI hub?

I have EHCI and USB 2.0 hubs and other things basically working, but am still doing lots of tweaks and updates to lots of different items as I find spare time (spare time is laughable concept these days). This Intel hub thing is yet another tweak on the list of things to do. Still not ready for an official release yet.

> BTW what new machine do you have? I have currently i7 2600K ...

My new computer has a Gigabyte motherboard with an I5 CPU. From a USB perspective, though, the CPU doesn't matter. It's all of the supporting chipsets on the motherboard that make the difference. The new computer also has an SSD, which makes a HUGE difference in speed -- just about makes disk caching in DOS a pointless endeavor.


Complete thread:

Back to the forum
Board view  Mix view
15032 Postings in 1344 Threads, 241 registered users, 14 users online (0 registered, 14 guests)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum