2010-09-21 2 views
2

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

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

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

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

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

+2

Мальчик, вы выбрали сложную проблему! –

+0

@ Chinmay Kanchi - Необходимость - мать изобретения. «Я столкнулся с ситуацией, когда это было бы слишком полезно. – Moshe

+0

Моше, ты когда-нибудь получал эту работу? Есть ли URL для проекта? –

ответ

2

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

0

Звучит довольно как this product, немного неуверенный, если они работают по широкополосным сетям.

+0

Это, но это только для Windows. Я ищу поддержку Windows. – Moshe

0

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

+0

Нет, я пробовал. Самое лучшее, что у нас есть, - это совместное использование портов Windows с Windows для высокой цены. Я хочу сделать лучше. Это может разблокировать разработку iOS для пользователей Windows. (!> :-) – Moshe

+0

И этот ответ должен быть честным. Я поддержал, чтобы приблизить вас к достаточной репутации, чтобы отправлять комментарии. – Moshe

0

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

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

EDIT: Посмотрите на this для кросс-платформенных вариантов захвата USB.

+0

Ссылка EDIT закрыта, но не совсем то, что я хочу. Мне нужен вызов, и, кроме того, ваша ссылка работает только с Linux. Мне нужен компьютер для совместного использования компьютера USB. – Moshe

+0

Посмотрите последнюю ссылку на этой странице. Это только для Windows и упакован как драйвер. –

+0

Я буду. Благодарю. – Moshe

0

Вы можете купить ЛАРН комплект обучения 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. Тем не менее, он все еще далек от решения вашей проблемы.

1

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

Исходный код доступен для Apple USB stack. Вы также должны прочитать о IOKit API и IOKit device driver guidelines и IOKit fundamentals.

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

+0

Я играю для изучения C++. Я тоже видел этот код. (Не то, чтобы видеть кодирование, конечно.) – Moshe

+0

Удачи. То, что вы пытаетесь сделать, - интересный проект, но сложный. – JeremyP

+0

Спасибо. Если у кого-то есть Mac (я делаю, но не здесь, следовательно, этот проект.) И хочет помочь, дайте мне знать. – Moshe

0

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

+0

Можете ли вы предоставить ссылку или, возможно, некоторый пример ее использования? – Fiver