Probably because it doesn't have drivers for them. If there's no matching driver, it won't pull up a useful nub to stick on it.

The right thing happens in the end. There is no need for drivers on some interfaces, and they must be used on others (eg ones that implement the USB modem protocol or the various USB to serial chips).

A good way to look at this tree is the Mr. Registry app that is one of the targets in /Developer/IOKit/firewire/FWOffice -- despite its name, it lets you look at the whole tree, not just IOFireWire.

That makes it clearer. It is still not remotely like two hours work. (It may be for you however). I'm not going to implement all this but will point anyone else who does want at it. (The return on having to learn all this IOKit stuff, Objective C and how to map Objective C into Python is way too low.)

I'd have to do a lot of reading up on that to see how to get dumps of USB traffic.

There is a USB Prober under /Developer/Applications/Utilities (BTW I have found everything you mentioned under a different path than you said so I don't know if you were typing them from memory or have a different dev kit).

I could run the BlackBerry Desktop via VirtualPC (or on a real PC) to figure out how the modem stuff works, the rest I could probably get by reverse engineering PocketMac.

Email me the device dump of the device from the USB Prober. You'll probably want to do that on the bitpim-devel list.

Full Speed device @ 3 (0x5B230000): ..... Communication device: "Qualcomm CDMA Technologies MSM"
Device Descriptor Descriptor Version Number: 0x0101
Device Class: 2 (Communication)
Device Subclass: 0
Device Protocol: 0
Device MaxPacketSize: 16
Device VendorID/ProductID: 0x1004/0x6000 (LG Electronics Inc.)
Device Version Number: 0x0000
Number of Configurations: 1
Manufacturer String: 1 "LG CDMA USB Modem\000\000\000\000\000"
Product String: 2 "Qualcomm CDMA Technologies MSM"
Serial Number String: 0 (none)
Configuration Descriptor Total Length of Descriptor: 90
Number of Interfaces: 3
Configuration Value: 1
Attributes: 0xE0 (self-powered, remote wakeup)
MaxPower: 100 ma
Interface #0 - Communications-Control Alternate Setting 0
Number of Endpoints 1
Interface Class: 2 (Communications-Control)
Interface Subclass; 2
Interface Protocol 1
Comm Class Header Functional Descriptor Raw Descriptor (hex) 0000: 05 24 00 09 01 Comm Class Call Management Functional Descriptor Raw Descriptor (hex) 0000: 05 24 01 03 01 Comm Class Abstract Control Management Functional Descriptor Raw Descriptor (hex) 0000: 04 24 02 0F Comm Class Union Functional Descriptor Raw Descriptor (hex) 0000: 05 24 06 00 01 Endpoint 0x81 - Interrupt Input Attributes: 0x81 (IN)
Attributes: 0x03 (Interrupt)
Max Packet Size: 16
Polling Interval: 32 ms
Interface #1 - Communications-Data/Unknown Comm Class Model Alternate Setting 0
Number of Endpoints 2
Interface Class: 10 (Communications-Data)
Interface Subclass; 0 (Unknown Comm Class Model)
Interface Protocol 0
Endpoint 0x8A - Bulk Input Attributes: 0x8A (IN)
Attributes: 0x02 (Bulk)
Max Packet Size: 64
Polling Interval: 0 ms
Endpoint 0x0B - Bulk Output Attributes: 0x0B (OUT)
Attributes: 0x02 (Bulk)
Max Packet Size: 64
Polling Interval: 0 ms
Interface #2 - Vendor-specific Alternate Setting 0
Number of Endpoints 2
Interface Class: 255 (Vendor-specific)
Interface Subclass; 255 (Vendor-specific)
Interface Protocol 0
Endpoint 0x83 - Bulk Input Attributes: 0x83 (IN)
Attributes: 0x02 (Bulk)
Max Packet Size: 64
Polling Interval: 0 ms
Endpoint 0x06 - Bulk Output Attributes: 0x06 (OUT)
Attributes: 0x02 (Bulk)
Max Packet Size: 64
Polling Interval: 0 ms


Roger
_______________________________________________
Pythonmac-SIG maillist  -  Pythonmac-SIG@python.org
http://mail.python.org/mailman/listinfo/pythonmac-sig

Reply via email to