Пользовательский драйвер USB для Windows? Mac? - PullRequest
4 голосов
/ 21 сентября 2010

Я бы хотел изменить драйвер USB для отправки и получения данных USB по сети.

Например, iMac и ПК.У меня есть iPod, подключенный к моему ПК (в Нью-Йорке).Я хочу, чтобы мой iMac (в Лос-Анджелесе) распознавал iPod как подключенный к локальному USB-порту и мог общаться с iPod.

Забудьте о своей квалификации или ее отсутствии (у меня есть опыт работы в Интернете, iOSприложения, я играл с Java и C).

Где я могу получить исходный код для USB-драйвера для Windows, который я могу изменить?Mac OS?

Буду признателен за любые советы или указания по достижению моей цели.

Ответы [ 7 ]

2 голосов
/ 21 сентября 2010

Похоже, что люди придумывают что-то близкое к тому, что вы хотите. Если вы решите свернуть свой собственный, то запрашиваемый источник драйвера USB: libusb .

2 голосов
/ 21 сентября 2010

На стороне Mac OS X драйверы собираются в стек. То, что вы хотите сделать, должно быть относительно простым (на самом деле в ядре нет ничего простого). Вам необходимо создать драйвер, который может обмениваться данными через Ethernet с ПК и выглядеть как USB-устройство для соответствующего драйвера. Тогда все остальное произойдет автоматически.

Исходный код доступен для Apple USB stack . Вам также следует ознакомиться с рекомендациями IOKit API и IOKit для устройств и Основы IOKit .

О, да, и вы говорите, что играли с Java и C. Чтобы написать драйверы для устройств на OS X, вам необходимо изучить C ++.

1 голос
/ 26 ноября 2013

Предлагаю вам посмотреть проект USBIP.Это доступно в Linux и Windows, но не ясно для MAC.Если вы можете установить драйвер VHCI-контроллера для MAC, мы можем запустить USBIP для MAC.

0 голосов
/ 21 сентября 2010

Вы можете купить комплект обучения OSR USB: https://www.osronline.com/custom.cfm?name=index_fullframeset.cfm&pageURL=https://www.osronline.com/store/index.cfm

На самом деле это небольшое USB-устройство с известным интерфейсом. Windows Driver Kit (WDK) содержит пример драйвера KMDF для этого устройства: http://www.microsoft.com/whdc/driver/wdk/

Это хорошая отправная точка для изучения разработки драйверов Windows, в частности, разработки драйверов USB. Однако это все еще далеко от решения вашей проблемы.

0 голосов
/ 21 сентября 2010

У меня есть общее представление о том, как я это сделаю, но нет никаких подробностей.По сути, я бы использовал пакет разработки драйверов платформы для написания эмулятора USB-устройства на клиентском компьютере.Затем я бы добавил к этой системе виртуальное устройство под названием «Сетевой USB-хост» или нечто подобное, которое поддерживает открытый порт для прослушивания сообщений с сервера и передает его на ваше виртуальное USB-устройство.IIRC, Windows DDK поставляется с платформой моделирования USB, которая может помочь вам в этом.

На сервере вам необходимо подключиться к подсистеме USB, чтобы отправлять необработанные пакеты USB на клиентский компьютер.libpcap и wireshark имеют USB-захват для возможностей для этого, но я не уверен, работает ли это также с winpcap и версией wireshark для Windows. для кроссплатформенных альтернатив USB-захвата.

0 голосов
/ 21 сентября 2010

Разве вы не можете использовать какой-то вид удаленного рабочего стола?

0 голосов
/ 21 сентября 2010

Звучит совсем как этот продукт , немного неуверенно, работает ли он в глобальных сетях.

...