The mount point is exactly the thing you were asking about last time,
/dev/modem.xxx.yyy.
Last time you started with a VID/PID and you went to find the device for it by
pulling 4 keys out of the IORegistry associated with the io_object you
discovered for that VID/PID combination.
So if you have the VID/PID and you get the device you can find the mount point.
It’s the same code
discover devices for VID/PID combination
get IORegistry entries for them
map mount point/device to VID/PID
do it again
What’s the problem?
> On 9 Jul 2015, at 08:13, Carl Hoefs <[email protected]> wrote:
>
> The misunderstanding is likely all in my head, but I’m having difficulties
> starting with the mount point to obtain the pid/vid, and vice versa. I can
> get all the mount points but have no way to associate them with a particular
> pid/vid. And I can obtain the pid/vid, as you mention, but have no way to
> find out what the mount point for them is. IORegistryExplorer doesn’t show
> you the mount point, does it?
>
> -Carl
>
>> On Jul 8, 2015, at 5:07 PM, Roland King <[email protected]
>> <mailto:[email protected]>> wrote:
>>
>> Isn’t this just the flip side of the question you asked last month here
>> http://lists.apple.com/archives/usb/2015/Jun/msg00005.html
>> <http://lists.apple.com/archives/usb/2015/Jun/msg00005.html>
>>
>> There you said you started with the VID/PID and wanted the name, so if you
>> have that code and you used the VID/PID to find the name, then you know what
>> the VID/PID combination was because you used it to do the search in the
>> first place.
>>
>> Alternatively since you can see it in the explorer then just do what the
>> explorer does, get the IOUSBProperties for the io_object, either all of them
>> or the one for the vendor/product id code. If it doesn’t have one there then
>> get its parent and look there, exactly what you’d do if you were hunting up
>> the io registry explorer, there are properties at each level. The function
>> for getting one property by name is in that thread, getting them all is in
>> the same header as that function and the function for getting parents etc
>> and walking your way up and down the tree aren’t too hard to find in the
>> documentation.
>>
>>
>>> On 9 Jul 2015, at 04:34, Carl Hoefs <[email protected]
>>> <mailto:[email protected]>> wrote:
>>>
>>> Gordon,
>>>
>>> The devices we’re using are not the same, nor from the same vendor. One has
>>> an assigned PID/VID, the other only has a VID (PID is 0x0). iSerialNumber
>>> for both show 0x0 in IORegistryExplorer.
>>>
>>> So… what I’m hoping is either:
>>> - To find the BSD mount point based on PID/VID, or
>>> - To find PID/VID based on BSD mount point
>>>
>>> If I could do either of these, I’d be in business. As it stands, my app can
>>> find all mount points for modem-type devices, but I have no programmatic
>>> way to match them to a specific PID/VID.
>>> -Carl
>>>
>>>
>>>> On Jul 8, 2015, at 12:17 PM, Gordon Rankin <[email protected]
>>>> <mailto:[email protected]>> wrote:
>>>>
>>>> Carl,
>>>>
>>>> If the devices are identical and they do not have a unique serial number
>>>> or something differentiating them then the mount point will not be easy to
>>>> determine.
>>>>
>>>> We had this problem with USB Audio devices that had the same vid, pid and
>>>> serial number. We are now shipping all products with unique serial numbers
>>>> so the devices will be easier to find.
>>>>
>>>> Thanks,
>>>> Gordon
>>>>
>>>> On 7/8/15 3:00 PM, [email protected]
>>>> <mailto:[email protected]> wrote:
>>>>> Message: 1
>>>>> Date: Tue, 07 Jul 2015 16:15:51 -0700
>>>>> From: Carl Hoefs <[email protected]
>>>>> <mailto:[email protected]>>
>>>>> To: [email protected] <mailto:[email protected]>
>>>>> Subject: USB devices and BSD mount points
>>>>> Message-ID:
>>>>> <[email protected]
>>>>> <mailto:[email protected]>>
>>>>> Content-Type: text/plain; charset=utf-8
>>>>>
>>>>> I have a Cocoa app (10.10.4) that needs to connect to two USB devices.
>>>>> For one device, the system will assign it a BSD mount point like
>>>>> “/dev/cu.usbmodem431”, and for the other device, “/dev/cu.usbmodem641”.
>>>>> However, sometimes the number changes, so the 431 will be 471, or the 641
>>>>> will be 671, etc.
>>>>>
>>>>> Since the mount point is not fixed, what method can I rely on to
>>>>> determine which device is which? Will the one device always have an
>>>>> enumeration in the 400s, and the other in the 600s, or is this a
>>>>> completely arbitrary number? (It seems not to be arbitrary since the one
>>>>> device always shows up in the 400s and the other always in the 600s, but
>>>>> this seems like a very fragile assumption.)
>>>>>
>>>>> -Carl
>>>>
>>
>
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Usb mailing list ([email protected])
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/usb/archive%40mail-archive.com
This email sent to [email protected]