Представление драйвера ядра Apple AppleUSBFTDI
С выпуском Индивидуалистов OS X включен драйвер ядра AppleUSBFTDI. Этот драйвер будет влиять на существующие приложения, что под OS X 10.8 и ранее, пользуйтесь библиотеками Future Technology Devices International (FTDI) D2XX для передачи с устройствами, основывающимися на чипсете USB-К-ПОСЛЕДОВАТЕЛЬНОМУ FTDI. Это Техническое примечание обсуждает новый драйвер Apple, как это влияет на них, FTDI D2XX базировал приложения и вне каких альтернатив такие приложения могут реализовать как решения для Индивидуалистов OS X и.
Введение
Расширение ядра AppleUSBFTDI предоставлено Индивидуалистами OS X для формальной поддержки связей приложений с аппаратными средствами с помощью чипсета Future Technology Devices International (FTDI). До Индивидуалистов OS X, поскольку OS X был обновлен, проблемы совместимости произошли в результате проблем между обновлениями OS X и FTDIUSBSerialDriver.kext. Для устранения этих проблем совместимости Apple реализовал AppleUSBFTDI для приложений для использования для связи с базируемыми аппаратными аксессуарами чипсета FTDI.
Существует две категории приложений FTDI, затронутых присутствием расширения ядра AppleUSBFTDI. Это Техническое примечание обсуждает эти типы приложений, как они затронуты и compatability решения, доступные Индивидуалистам OS X.
Приложения FTDI, требующие FTDI Kext
Одна группа приложений, связывающихся с FTDI, базировалась, аппаратные средства требуют присутствия расширения ядра FTDI. Чипсет FTDI базировался, аппаратные средства представляют себя как устройство класса Составного объекта USB с поставщиком определенный интерфейс. Интерфейс является соответствующим к FTDI kext, который поочередно создает последовательный порт BSD для использования на прикладном уровне. Приложение открывает последовательный порт для передачи с аппаратными средствами.
При Индивидуалистах OS X AppleUSBFTDI kext выполнит ту же функцию, как делает FTDI kext. Когда аппаратные средства присоединяются, AppleUSBFTDI kext соответствующий, и это создаст последовательный порт BSD для приложений для открытия. Apple kext обеспечивает имя устройства BSD, подобное имени, предоставленному драйвером FTDI. Однако различия в имени устройства могут произойти, и функциональность может немного отличаться. Если приложению не удается работать с аппаратными средствами с помощью драйвера Apple, предпочтительное решение является обновлением рвение с драйвером Apple. Приложение должно использовать платформу IOKit APIs, чтобы обнаружить присутствие присоединенных аппаратных средств и идентифицировать имя устройства, как продемонстрировано в коде SerialSample. Если после открытия последовательного порта существуют опции драйвера, переставшие работать с драйвером Apple, представьте отчет об ошибках.
Альтернативное решение для исходного драйвера FTDI, который будет установлен. Оба драйвера определяют поставщика определенные критерии соответствия Интерфейса USB, однако, драйвер Apple преднамеренно устанавливает меньшее тестовое соответствие счета, чтобы гарантировать, что драйвер Интерфейса FTDI соответствует, когда существующий. Важно проверить совместимость драйвера FTDI с Индивидуалистами OS X, поскольку наблюдалась паника ядра.
Приложения FTDI, реализующие пользовательский клиентский драйвер (драйвер D2XX)
Вторая группа приложений, затронутых присутствием AppleUSBFTDI kext, является теми приложениями, реализующими пользовательские клиентские драйверы для передачи непосредственно с устройством от пространства пользователя. Такие приложения не откроют соединение с аппаратными средствами, потому что IOKit будет уже соответствовать драйвер AppleUSBFTDI к устройству. Приложение будет видеть ошибку эксклюзивного доступа 0xE00002C5 при попытке открыть соединение с устройством.
Рекомендуемое долгосрочное решение состоит в том, чтобы изменить приложение для открытия последовательного порта уровня BSD для связи с аппаратными средствами FTDI. Краткосрочное решение должно реализовать codeless kext, который будет иметь более высокий приоритет соответствия, чем AppleUSBFTDI kext, чтобы препятствовать тому, чтобы IOKit соответствовал драйвер уровня ядра AppleUSBFTDI к аппаратным средствам. Важное разветвление codeless kext решение - то, что процесс Установщика потребуется, чтобы устанавливать codeless kext. При Индивидуалистах OS X должен быть подписан codeless kext.
Включенный выборка codeless kext проект. Проект включает readme файл, описывающий шаги для изменения той выборки для соответствия к устройству. Существуют также инструкции для установки codeless kext к /System/Library/Extensions/ папка в тестовых целях только. При Индивидуалистах OS X, официальном расположении для сторонних файлов Расширения, находится в /Library/Extensions/. Индивидуалисты OS X требуют, чтобы kext были подписаны с помощью специального Разработчика ID. Посмотрите readme файл для инструкций при запросе этого специального Разработчика ID.
Ссылки
Видео WWDC 2013 года - новые функции и возможности в разработке Kext
Downloadables
Демонстрационный USB FTDI Codeless Kext проект («tn2315_SampleUSBFTDICodelessKext.zip», 55.4K)
История версии документа
| Дата | Примечания |
|---|---|
| 20.11.2013 | Новый документ, обсуждающий драйвер AppleUSBFTDI в Индивидуалистах OS X и проблемах совместимости, возникающих с приложениями, связывающимися с FTDI D2XX, базировал аппаратные средства. |