Our USB engineer has recently come to the conclusion that we really
should be using device class 0xFF. When we do, I can't succeed in
getting an "interface" for the device.
Zero is usually fine for a device class. Its especially fine if all
you're interested in is interfaces and nothing special at the device
level. That's exactly what device class zero is for.
Why does your engineer think otherwise?
When the device class is 0FFH, the first call to
IOIteratorNext(iterator) returns 0, i.e. it doesn't find any
interfaces.
My guess would be that there are no interfaces.
Interfaces are created by a Set_Configuration to a device. A device
with class zero gets grabbed by the composite driver, it does a
Set_Configuration, then tries to load drivers for the interfaces. If
the interfaces are vendor specific (class 0xff) it usually won't find
any driver, but the interfaces have still been created.
If the device is vendor specific (ie class 0xff), you're declaring
that you'll do all that sort of stuff yourself and it doesn't sound
like you are. (Which is why I say class zero is usually fine.)
Someone somewhere needs to do a Set_Configuration, if they don't this
is the sort of thing I'd expect.
I'll also put in a plug for the "Deva Example" I wrote it to go
through all these steps and I'm pretty sure it does a
Set_Configuration if necessary.
--
Barry Twycross
email@hidden
---
USB, it's not a Dyslexic BUS. (Thanks to TC.)
_______________________________________________
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