Discussion:
[Bitpim-devel] Here is the MacOS / Darwin IOKit device tree when the VX6000 attached
Steven Palm
2003-12-10 04:39:32 UTC
Permalink
| | +-o ***@1A <class IOPCIDevice, registered, matched, active, busy
0, retain count 13>
| | | +-o AppleUSBOHCI <class AppleUSBOHCI, registered, matched,
active, busy 0, retain count 12>
| | | +-o OHCI Root Hub ***@1A <class
IOUSBRootHubDevice, registered, matched, active, busy 0, retain count
11>
| | | | +-o AppleUSBHub <class AppleUSBHub, !registered,
!matched, active, busy 0, retain count 4>
| | | | +-o ***@0 <class IOUSBInterface,
!registered, !matched, active, busy 0, retain count 5>
| | | | +-o IOUSBUserClientInit <class IOUSBUserClientInit,
!registered, !matched, active, busy 0, retain count 4>
| | | +-o ***@1a100000 <class IOUSBDevice, registered,
matched, active, busy 0, retain count 11>
| | | +-o CSRUSBBluetoothHCIController <class
CSRUSBBluetoothHCIController, registered, matched, active, busy 0,
retain count 15>
| | | | +-o IOBluetoothHCIUserClient <class
IOBluetoothHCIUserClient, !registered, !matched, active, busy 0, retain
count 5>
| | | | +-o IOBluetoothHCIUserClient <class
IOBluetoothHCIUserClient, !registered, !matched, active, busy 0, retain
count 5>
| | | +-o ***@0 <class IOUSBInterface,
registered, matched, active, busy 0, retain count 5>
| | | | +-o IOUSBUserClientInit <class IOUSBUserClientInit,
!registered, !matched, active, busy 0, retain count 4>
| | | +-o ***@1 <class IOUSBInterface,
registered, matched, active, busy 0, retain count 5>
| | | | +-o IOUSBUserClientInit <class IOUSBUserClientInit,
!registered, !matched, active, busy 0, retain count 4>
| | | +-o ***@2 <class IOUSBInterface,
registered, matched, active, busy 0, retain count 5>
| | | | +-o IOUSBUserClientInit <class IOUSBUserClientInit,
!registered, !matched, active, busy 0, retain count 4>
| | | +-o IOUSBUserClientInit <class IOUSBUserClientInit,
!registered, !matched, active, busy 0, retain count 4>
| | +-o ***@1B <class IOPCIDevice, registered, matched, active,
busy 0, retain count 10>
| | | +-o AppleUSBOHCI <class AppleUSBOHCI, registered, matched,
active, busy 0, retain count 7>
| | | +-o OHCI Root Hub ***@1B <class
IOUSBRootHubDevice, registered, matched, active, busy 0, retain count
9>
| | | +-o AppleUSBHub <class AppleUSBHub, !registered,
!matched, active, busy 0, retain count 4>
| | | +-o ***@0 <class IOUSBInterface,
!registered, !matched, active, busy 0, retain count 5>
| | | +-o IOUSBUserClientInit <class IOUSBUserClientInit,
!registered, !matched, active, busy 0, retain count 4>
| | +-o ***@1B,1 <class IOPCIDevice, registered, matched,
active, busy 0, retain count 10>
| | | +-o AppleUSBOHCI <class AppleUSBOHCI, registered, matched,
active, busy 0, retain count 8>
| | | +-o OHCI Root Hub ***@1B,1 <class
IOUSBRootHubDevice, registered, matched, active, busy 0, retain count
11>
| | | | +-o AppleUSBHub <class AppleUSBHub, !registered,
!matched, active, busy 0, retain count 4>
| | | | +-o ***@0 <class IOUSBInterface,
!registered, !matched, active, busy 0, retain count 5>
| | | | +-o IOUSBUserClientInit <class IOUSBUserClientInit,
!registered, !matched, active, busy 0, retain count 4>
| | | +-o Qualcomm CDMA Technologies ***@3b100000 <class
IOUSBDevice, registered, matched, active, busy 0, retain count 11>
| | | +-o AppleUSBCDCDriver <class AppleUSBCDCDriver,
!registered, !matched, active, busy 0, retain count 5>
| | | | +-o IOModemSerialStreamSync <class
IOModemSerialStreamSync, registered, matched, active, busy 0, retain
count 5>
| | | | +-o IOSerialBSDClient <class IOSerialBSDClient,
registered, matched, active, busy 0, retain count 4>
| | | +-o ***@0 <class IOUSBInterface,
registered, matched, active, busy 0, retain count 6>
| | | | +-o IOUSBUserClientInit <class IOUSBUserClientInit,
!registered, !matched, active, busy 0, retain count 4>
| | | +-o Data ***@1 <class IOUSBInterface,
registered, matched, active, busy 0, retain count 6>
| | | | +-o IOUSBUserClientInit <class IOUSBUserClientInit,
!registered, !matched, active, busy 0, retain count 4>
| | | +-o ***@2 <class IOUSBInterface,
registered, matched, active, busy 0, retain count 5>
| | | | +-o IOUSBUserClientInit <class IOUSBUserClientInit,
!registered, !matched, active, busy 0, retain count 4>
| | | +-o IOUSBUserClientInit <class IOUSBUserClientInit,
!registered, !matched, active, busy 0, retain count 4>
| | +-o ***@1B,2 <class IOPCIDevice, registered, matched,
active, busy 0, retain count 11>
| | +-o IOService <class IOService, !registered, !matched,
active, busy 0, retain count 4>
| | +-o AppleUSBEHCI <class AppleUSBEHCI, registered, matched,
active, busy 0, retain count 7>
| | +-o EHCI Root Hub ***@1B,2 <class
IOUSBRootHubDevice, registered, matched, active, busy 0, retain count
9>
| | +-o AppleUSBHub <class AppleUSBHub, !registered,
!matched, active, busy 0, retain count 4>
| | +-o ***@0 <class IOUSBInterface,
!registered, !matched, active, busy 0, retain count 5>
| | +-o IOUSBUserClientInit <class IOUSBUserClientInit,
!registered, !matched, active, busy 0, retain count 4>



Here is a more detailed dump of the Qualcomm device:



| | | +-o Qualcomm CDMA Technologies ***@3b100000 <class
IOUSBDevice, registered, matched, active, busy 0, retain count 11>
| | | | {
| | | | "PortNum" = 1
| | | | "Device Speed" = 1
| | | | "iSerialNumber" = 0
| | | | "bNumConfigurations" = 1
| | | | "IOUserClientClass" = "IOUSBDeviceUserClient"
| | | | "bDeviceClass" = 2
| | | | "USB Product Name" = "Qualcomm CDMA Technologies
MSM"
| | | | "iManufacturer" = 1
| | | | "USB Vendor Name" = "LG CDMA USB Modem"
| | | | "IOCFPlugInTypes" =
{"9dc7b780-9ec0-11d4-a54f-000a27052861"="IOUSBFamily.kext/Contents/
PlugIns/IOUSBLib.bundle"}
| | | | "bcdDevice" = 0
| | | | "bDeviceSubClass" = 0
| | | | "iProduct" = 2
| | | | "sessionID" = 22224608038952
| | | | "bMaxPacketSize0" = 16
| | | | "locationID" = 990904320
| | | | "Bus Power Available" = 250
| | | | "idProduct" = 24576
| | | | "USB Address" = 2
| | | | "bDeviceProtocol" = 0
| | | | "idVendor" = 4100
| | | | }
| | | |
| | | +-o AppleUSBCDCDriver <class AppleUSBCDCDriver,
!registered, !matched, active, busy 0, retain count 5>
| | | | | {
| | | | | "IOMatchCategory" = "IODefaultMatchCategory"
| | | | | "bDeviceProtocol" = 0
| | | | | "IOClass" = "AppleUSBCDCDriver"
| | | | | "bDeviceClass" = 2
| | | | | "bDeviceSubClass" = 0
| | | | | "IOProviderClass" = "IOUSBDevice"
| | | | | "CFBundleIdentifier" =
"com.apple.driver.AppleUSBCDCDriver"
| | | | | "IOProbeScore" = 60000
| | | | | }
| | | | |
| | | | +-o IOModemSerialStreamSync <class
IOModemSerialStreamSync, registered, matched, active, busy 0, retain
count 5>
| | | | | {
| | | | | "IOTTYBaseName" = "usbmodem"
| | | | | "IOTTYSuffix" = "3B1"
| | | | | "Product Name" = "Qualcomm CDMA Technologies
MSM"
| | | | | }
| | | | |
| | | | +-o IOSerialBSDClient <class IOSerialBSDClient,
registered, matched, active, busy 0, retain count 4>
| | | | {
| | | | "IOTTYSuffix" = "3B1"
| | | | "IOClass" = "IOSerialBSDClient"
| | | | "IOTTYBaseName" = "usbmodem"
| | | | "IOSerialBSDClientType" =
"IOModemSerialStream"
| | | | "IOProbeScore" = 1000
| | | | "IOResourceMatch" = "IOBSD"
| | | | "IOMatchCategory" = "IODefaultMatchCategory"
| | | | "IOTTYDevice" = "usbmodem3B1"
| | | | "IOCalloutDevice" = "/dev/cu.usbmodem3B1"
| | | | "CFBundleIdentifier" =
"com.apple.iokit.IOSerialFamily"
| | | | "IODialinDevice" = "/dev/tty.usbmodem3B1"
| | | | "IOProviderClass" = "IOSerialStreamSync"
| | | | }
| | | |
| | | +-o ***@0 <class IOUSBInterface,
registered, matched, active, busy 0, retain count 6>
| | | | | {
| | | | | "bcdDevice" = 0
| | | | | "idProduct" = 24576
| | | | | "IOCFPlugInTypes" =
{"2d9786c6-9ef3-11d4-ad51-000a27052861"="IOUSBFamily.kext/Contents/
PlugIns/IOUSBLib.bundle"}
| | | | | "iInterface" = 0
| | | | | "bInterfaceSubClass" = 2
| | | | | "IOUserClientClass" = "IOUSBInterfaceUserClient"
| | | | | "bInterfaceProtocol" = 1
| | | | | "bConfigurationValue" = 1
| | | | | "bInterfaceNumber" = 0
| | | | | "idVendor" = 4100
| | | | | "bInterfaceClass" = 2
| | | | | "locationID" = 990904320
| | | | | "bNumEndpoints" = 1
| | | | | "bAlternateSetting" = 0
| | | | | }
| | | | |
| | | | +-o IOUSBUserClientInit <class IOUSBUserClientInit,
!registered, !matched, active, busy 0, retain count 4>
| | | | {
| | | | "IOProbeScore" = 9000
| | | | "IOClass" = "IOUSBUserClientInit"
| | | | "IOProviderMergeProperties" =
{"IOCFPlugInTypes"={"2d9786c6-9ef3-11d4-ad51
-000a27052861"="IOUSBFamily.kext/Contents/PlugIns/IOUSBLib.bundle$
| | | | "IOProviderClass" = "IOUSBInterface"
| | | | "CFBundleIdentifier" =
"com.apple.iokit.IOUSBUserClient"
| | | | "IOMatchCategory" = "IOUSBUserClientInit"
| | | | }
| | | |
| | | +-o Data ***@1 <class IOUSBInterface,
registered, matched, active, busy 0, retain count 6>
| | | | | {
| | | | | "bcdDevice" = 0
| | | | | "idProduct" = 24576
| | | | | "IOCFPlugInTypes" =
{"2d9786c6-9ef3-11d4-ad51-000a27052861"="IOUSBFamily.kext/Contents/
PlugIns/IOUSBLib.bundle"}
| | | | | "iInterface" = 4
| | | | | "bInterfaceSubClass" = 0
| | | | | "IOUserClientClass" = "IOUSBInterfaceUserClient"
| | | | | "bInterfaceProtocol" = 0
| | | | | "bConfigurationValue" = 1
| | | | | "bInterfaceNumber" = 1
| | | | | "idVendor" = 4100
| | | | | "bInterfaceClass" = 10
| | | | | "locationID" = 990904320
| | | | | "bNumEndpoints" = 2
| | | | | "bAlternateSetting" = 0
| | | | | }
| | | | |
| | | | +-o IOUSBUserClientInit <class IOUSBUserClientInit,
!registered, !matched, active, busy 0, retain count 4>
| | | | {
| | | | "IOProbeScore" = 9000
| | | | "IOClass" = "IOUSBUserClientInit"
| | | | "IOProviderMergeProperties" =
{"IOCFPlugInTypes"={"2d9786c6-9ef3-11d4-ad51
-000a27052861"="IOUSBFamily.kext/Contents/PlugIns/IOUSBLib.bundle$
| | | | "IOProviderClass" = "IOUSBInterface"
| | | | "CFBundleIdentifier" =
"com.apple.iokit.IOUSBUserClient"
| | | | "IOMatchCategory" = "IOUSBUserClientInit"
| | | | }
| | | |
| | | +-o ***@2 <class IOUSBInterface,
registered, matched, active, busy 0, retain count 5>
| | | | | {
| | | | | "bcdDevice" = 0
| | | | | "idProduct" = 24576
| | | | | "IOCFPlugInTypes" =
{"2d9786c6-9ef3-11d4-ad51-000a27052861"="IOUSBFamily.kext/Contents/
PlugIns/IOUSBLib.bundle"}
| | | | | "iInterface" = 0
| | | | | "bInterfaceSubClass" = 255
| | | | | "IOUserClientClass" = "IOUSBInterfaceUserClient"
| | | | | "bInterfaceProtocol" = 0
| | | | | "bConfigurationValue" = 1
| | | | | "bInterfaceNumber" = 2
| | | | | "idVendor" = 4100
| | | | | "bInterfaceClass" = 255
| | | | | "locationID" = 990904320
| | | | | "bNumEndpoints" = 2
| | | | | "bAlternateSetting" = 0
| | | | | }
| | | | |
| | | | +-o IOUSBUserClientInit <class IOUSBUserClientInit,
!registered, !matched, active, busy 0, retain count 4>
| | | | {
| | | | "IOProbeScore" = 9000
| | | | "IOClass" = "IOUSBUserClientInit"
| | | | "IOProviderMergeProperties" =
{"IOCFPlugInTypes"={"2d9786c6-9ef3-11d4-ad51
-000a27052861"="IOUSBFamily.kext/Contents/PlugIns/IOUSBLib.bundle$
| | | | "IOProviderClass" = "IOUSBInterface"
| | | | "CFBundleIdentifier" =
"com.apple.iokit.IOUSBUserClient"
| | | | "IOMatchCategory" = "IOUSBUserClientInit"
| | | | }
| | | |
| | | +-o IOUSBUserClientInit <class IOUSBUserClientInit,
!registered, !matched, active, busy 0, retain count 4>
| | | {
| | | "IOProbeScore" = 9000
| | | "IOClass" = "IOUSBUserClientInit"
| | | "IOProviderMergeProperties" =
{"IOCFPlugInTypes"={"9dc7b780-9ec0-11d4-a54f
-000a27052861"="IOUSBFamily.kext/Contents/PlugIns/IOUSBLib.bundle"}$
| | | "IOProviderClass" = "IOUSBDevice"
| | | "CFBundleIdentifier" =
"com.apple.iokit.IOUSBUserClient"
| | | "IOMatchCategory" = "IOUSBUserClientInit"
| | | }



-. ----. -.-- - -.--
Steve Palm - ***@n9yty.com
-. ----. -.-- - -.--
Roger Binns
2003-12-10 06:01:55 UTC
Permalink
For reference this is what we are looking for.

1004/6000 010
class USB_CLASS_COMM subclass 0 protocol 0
interface number 0
class USB_CLASS_COMM subclass 2 protocol 1
endpointaddress 0x1
TYPE_INTERRUPT

interface number 1
class USB_CLASS_DATA subclass 0 protocol 0
endpointaddress 0xa
TYPE_BULK IN
endpointaddress 0xb
TYPE_BULK OUT

interface number 2
class USB_CLASS_VENDOR_SPEC subclass 255 protocol 0
endpointaddress 0x3
TYPE_BULK IN
endpointaddress 0x6
TYPE_BULK OUT

We should see a modem driver on interface 0 and 1, and be free
to use interface 2 ourselves.
Post by Steven Palm
registered, matched, active, busy 0, retain count 6>
| | | | +-o IOUSBUserClientInit <class IOUSBUserClientInit,
!registered, !matched, active, busy 0, retain count 4>
registered, matched, active, busy 0, retain count 6>
| | | | +-o IOUSBUserClientInit <class IOUSBUserClientInit,
!registered, !matched, active, busy 0, retain count 4>
registered, matched, active, busy 0, retain count 5>
| | | | +-o IOUSBUserClientInit <class IOUSBUserClientInit,
So it is doing something with interface 2 ('matched' & 'active' whatever
they mean).
Post by Steven Palm
registered, matched, active, busy 0, retain count 5>
| | | | | {
| | | | | "bcdDevice" = 0
| | | | | "idProduct" = 24576
| | | | | "IOCFPlugInTypes" =
{"2d9786c6-9ef3-11d4-ad51-000a27052861"="IOUSBFamily.kext/Contents/
PlugIns/IOUSBLib.bundle"}
| | | | | "iInterface" = 0
| | | | | "bInterfaceSubClass" = 255
| | | | | "IOUserClientClass" = "IOUSBInterfaceUserClient"
| | | | | "bInterfaceProtocol" = 0
| | | | | "bConfigurationValue" = 1
| | | | | "bInterfaceNumber" = 2
| | | | | "idVendor" = 4100
| | | | | "bInterfaceClass" = 255
| | | | | "locationID" = 990904320
| | | | | "bNumEndpoints" = 2
| | | | | "bAlternateSetting" = 0
| | | | | }
| | | | |
| | | | +-o IOUSBUserClientInit <class IOUSBUserClientInit,
!registered, !matched, active, busy 0, retain count 4>
| | | | {
| | | | "IOProbeScore" = 9000
| | | | "IOClass" = "IOUSBUserClientInit"
| | | | "IOProviderMergeProperties" =
{"IOCFPlugInTypes"={"2d9786c6-9ef3-11d4-ad51
-000a27052861"="IOUSBFamily.kext/Contents/PlugIns/IOUSBLib.bundle$
| | | | "IOProviderClass" = "IOUSBInterface"
| | | | "CFBundleIdentifier" =
"com.apple.iokit.IOUSBUserClient"
| | | | "IOMatchCategory" = "IOUSBUserClientInit"
And that is what it decided to do with it. The first section is just
standard information about the device (ie all operatings system output
that). The second bit looks to be the driver it attached but it doesn't
look like it gave you a device name.

Roger

Loading...