Software Support > PowerMAME
USB problem isolated!!
southpaw13:
Thanks for the feedback, I will get with the program on my next build :)
Southpaw
2600:
Ok, first a primer so we are on the same page. I just want to make sure the failing conditions are exactly known if it needs to go to a higher power.
There are three types of USB controllers:
UHCI - Universal Host Controller - Designed by and Licensenable by Intel. Via is the only? one who licensed it. For use with full and low speed devices.
OHCI - Open Host Controller - Used by everyone else. For use with full and low speed devices.
EHCI - Enhanced Host Controller - Open for everyone to use. For use with High Speed devices. Every EHCI has a couple companion controllers. Either UHCI or OHCI depending on whose chip.
If you plug a LEDWiz device directly into a PC it will use either the UHCI or OHCI controller. If you use a 1.1 HUB, it attaches to the UHCI or OHCI controller. If you use a 2.0 hub on a system that has an ECHI controller(USB2), it attaches to the EHCI controller. The 2.0 hub is responsible for the down conversion (transaction translator) and basically has a UHCI or OHCI in it. If you attach the 2.0 hub to a system that doesn't have an ECHI controller the it attaches to the UHCI or OHCI contrller and doesn't have to do the down conversion.
Know when an when it does not work is crucial to see the pattern and debug it. If it helps, go to device manager. View -> devices by connection. Then find which one it is connected to.
In Mikes example, when the LEDWiz is directly connect to the PC it attaches to the UHCI controller. Using the hub, previousily mentioned 2.0 hub, one system (AB) does not have EHCI controller and connects to the UHCI. I would think this would work. The other example, (EB) does have have an EHCI controller. The hub attaches to it and is running High Speed to the hub. The hub converts it down to low speed for the LEDWiz. I have this set up and it does not work. The hub IC is made by NEC. Not sure if Mikes is like this or is it reversed.
In Randy's example, 1.1 or 2.0 hub? Who makes the hub IC? Can you see what controller the LEDWiz is connected to? Win98 with USB2, never tried it.
2600:
--- Quote from: RandyT on March 22, 2006, 02:35:28 pm ---I believe a delay of roughly 1000ms (1 second) between the reports was used and the problem still existed. The SIE is a very slightly altered reference design from a very respected and oft utilized USB chip producer. That doesn't seem like it would be the culprit either (but I'm not ruling anything out.)
--- End quote ---
1 second seems like long enough. I dunno though. SIE could also cause the problem, but that's out of my league. The USB.org dev forum has people much smarter that could help and give other clues into it. Is that test still available? I could capture that to see what's going on.
--- Quote ---I understand. 8 bytes per packet, but there seem to be 2 packets coming in rapid succession. What I have read is that when dealing with a "low-speed" device, there should not be more than 1 packet transmitted by or intended to be received by the device but once every 10ms. Is this information in error? Obviously, the setup and data packets are being sent much closer together. The question is: why is it only a couple of chipsets that appear to be doing this?
--- End quote ---
Tired so hopefully my terminology is correct.
Control transfers consist of a setup and data packet. In the capture I did, when it works you are getting this in one frame. When it doesn't, you are getting 2 control transfers in one frame, 32 bytes.
A low-speed device device is guarenteed a maximum latency of 10ms. The host can choose to poll faster. This is for interupt transfers.
Control transfers are different and are periodic, kind of like bulk transfers. A common problem is not counting on a feature of the OHCI controller which will group multiple control transfers into a single frame. Latency is a different issue.
Let me see if I can get this other box to fail and I'll do a capture of that as well.
RandyT:
--- Quote from: 2600 on March 22, 2006, 08:50:42 pm ---In Randy's example, 1.1 or 2.0 hub? Who makes the hub IC? Can you see what controller the LEDWiz is connected to? Win98 with USB2, never tried it.
--- End quote ---
The chip in the hub is the GeneSys Logic GL650USB. It's a 1.1 4-port hub (the little purple ones I sell at the store)
I am using this hub with the LED-Wiz on a Win2k system with a VIA USB2.0 card. I'm assuming it is using the "VIA Universal Host Controller", but I cannot verify this. Based on what you wrote above, and the fact that it is a 1.1 hub, it's probably a safe assumption.
98SE system: Intel 82371 AB/EB PCI to USB Universal Host Controller. Same hub, no problems.
Perhaps sticking to USB 1.1 hubs on 2.0 cards and 1.1 USB cards when used without a hub would be a pretty safe way to avoid any of these issues. Though, the LED-Wiz seems to work fine connected directly to the VIA 2.0 and perhaps select other 2.0 chipsets.
RandyT
2600:
--- Quote from: RandyT on March 23, 2006, 01:06:28 am ---
The chip in the hub is the GeneSys Logic GL650USB. It's a 1.1 4-port hub (the little purple ones I sell at the store)
I am using this hub with the LED-Wiz on a Win2k system with a VIA USB2.0 card. I'm assuming it is using the "VIA Universal Host Controller", but I cannot verify this. Based on what you wrote above, and the fact that it is a 1.1 hub, it's probably a safe assumption.
98SE system: Intel 82371 AB/EB PCI to USB Universal Host Controller. Same hub, no problems.
Perhaps sticking to USB 1.1 hubs on 2.0 cards and 1.1 USB cards when used without a hub would be a pretty safe way to avoid any of these issues. Though, the LED-Wiz seems to work fine connected directly to the VIA 2.0 and perhaps select other 2.0 chipsets.
--- End quote ---
This is what I thought. When you use a 1.1 hub on a 2.0 system, you are connecting to the companion controller of the ECHI. This can be OHCI or UHCI depending on who's chip it is. With Intel and Via you are fine and would be fine without the 1.1 hub as well. If it is someone else's 2.0 chip, then you would connect to the OHCI and could have problems.
Also, an addition for the part where I say Control Transfers are more periodic as it can be read a couple of different ways. Control Transfers are scheduled by best effort, which means not synchronous and not guaranteed latency.
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version