You didn't happen to mention which version of the OS you were running.
This would be helpful to know.
There are other factors involved as well:
Is the 2.0 Hub in question a single TT or multi TT hub?
Are there any other FS/LS devices connected to this hub?
How many total interrupt endpoints are there in your device?
There is a huge difference between a FS device connected to the system
directly (which used the OHCI controller) and the same device connected
through a HS hub (which uses the EHCI controller and split
transactions). One of the main differences is that in the OHCI driver,
we don't really pay any attention to interrupt endpoint sizes when we
calculate bandwidth on the bus. This means that it may be possible to
get into a situation where a device is (or lots of devices are)
connected which has a lot of interrupt endpoints, which if you added
them all together would exceed the available bandwidth for the bus, but
since we don't check, and since devices rarely use all of the endpoints
simultaneously, the user never experiences a problem.
With the EHCI controller and split transactions, however, we must
allocate all of the periodic endpoints (Isoch and Interrupt) and we
have to actually schedule when they occur down to the microframe (125
us boundary). There are many, complicated rules for when we can issue
these transactions, when they can overlap, etc. Sometimes, it is just
not possible given a particular system configuration to allocate all of
the bandwidth desired from a particular device, and you will end up in
a situation like you describe.
Multi-TT hubs make a difference, because each downstream port on the
hub is able to have an entire FS bus worth of bandwidth allocated on
it. With a Single-TT hub, there is only one FS bus available for ALL of
the downstream ports with FS devices attached to them (and LS devices,
such as mice, make the problem even worse).
Having said all that, I see a couple of possible from our point of view
which may affect your situation. Once is that the algorithm for doing
all of this allocation was completely rewritten. This new algorithm
will be shipping in Tiger, and in the next Panther software update. If
you have been seeded with either of these two things, and are still
having problems, then the next paragraph may apply.
The second possibility is that we just can't accommodate your device in
the configuration you are trying, do to their being not enough
bandwidth on the bus. In this case, when you hit the situation you
describe, you should probably alert the user to make a configuration
change.
I hope this is helpful. Let me know if you have any more questions.
Rhoads Hollowell
USB Software Team
Apple Computer, Inc.
On Mar 27, 2005, at 2:05 PM, Eric Hangstefer wrote:
I have a USB 1.1 Isoc device which also has a interrupt pipe.
When the device is connected to a USB 2.0 Hub and the hub is connected
to a USB 2.0 port on the Mac and I set the alternate interface to 7
(maxPacketSize 1023) the interrupt pipe is no longer a valid pipe. I
get the following error, invalid pipe ref. (e0004061), when trying to
do a ReadPipeAsync or GetPipeProperties.
On the same computer, if I move the hub connection from the 2.0 port
on the Mac to the 1.1 keyboard port, everything works as expected, no
errors and I can read the interrupt pipe.
Also, if I connect the USB 1.1 device directly to the USB 2.0 port on
the Mac, everything works as expected, no errors and I can read the
interrupt pipe.
With the device connected through the 2.0 Hub to a 2.0 Port on the Mac
and I set the alternate interface to 6 (maxPacketSize 896), then
everything works as expected, no errors and I can read the interrupt
pipe.
I have been able to duplicate this issue using another USB 1.1 Isoc
device (different chipset) with an interrupt pipe. I also have had
users report this issue using different USB 2.0 Hubs.
The main test system is a iMac 1.8GHz G5 20", Belkin F5U231 Tetra Hub,
Mac OS 10.3.8
Other 2.0 hubs tried on different computers are:
D-Link DUB-H4 USB 2.0
Belkin F5U237 Hi Speed USB 2.0 7 port hub
Targua USB 2.0 7 port hub
Is this a known issue or am I missing something?
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Usb mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/usb/email@hidden