2014-11-13 3 views
0

Если я подключу USB-последовательный адаптер к моему Mac, в/dev появится новое устройство, например /dev/tty.usbmodem1421 или /dev/tty.usbserial-A7048O1O.Что такое udev-подобная вещь на OSX и как она работает?

Если бы это был Linux, я бы искал правило udev, в котором объясняется, откуда появилось имя устройства и почему оно было создано.

Но это OSX. Как распределяются имена устройств на Mac (например, почему эти смешные номера в имени устройства), и какой фрагмент кода это делает?

ответ

1

Названия устройств в Mac OS X, если они есть, назначаются конкретным участвующим драйвером. Не существует единого механизма, особенно, поскольку большинство классов устройств не получают узлов в /dev.

В случае устройств FTDI «забавные номера» в названии устройства являются серийным номером чипа FTDI. Логика для этого является внутренней для драйвера FTDI, которая, к сожалению, не является открытым исходным кодом, поэтому я не могу указать на задействованный код. :(

Кстати, вы можете изменить серийный номер устройства FTDI с использованием ft232r_prog.

+0

ли вы знаете, как узнать, какое устройство было создана каким драйвером? –

+0

я не знаю, как там какой-нибудь определенный путь , но часто можно понять это, посмотрев на драйверы, загруженные в настоящее время в «kextstat» до и после подключения USB-устройства. Утилита Apple «USB Prober» (доступная как часть пакета «Оборудование IO Tools») также часто полезно. – duskwuff