
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.218] |
![]() |
|
Страницы: (51) « Первая ... 35 36 [37] 38 39 ... 50 51 ( Перейти к последнему сообщению ) |
Сообщ.
#541
,
|
|
|
Вот дамп CBW команды READ для 0 сектора. Сравнивай сам, мне недосуг разбираться в твоем коде.
Скрытый текст 55 53 42 43 02 00 00 00 00 02 00 00 80 00 0a 28 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 |
Сообщ.
#543
,
|
|
|
Привет shm!
У меня вопрос к Вам. Я так понял из форума, что Вы неплохо разобрались с программированием USB. ![]() Вопрос. Можно ли написать драйвер виртуального порта COM для DOS для контроллера на PL2303 на USB? На сколько это будет сложно? Драйвер просто должен обрабатывать допустим приём и передачу байтов (Rx и Tx) ![]() Добавлено shm ![]() |
Сообщ.
#544
,
|
|
|
Цитата RUSSTARUS @ Можно ли написать драйвер виртуального порта COM для DOS Можно. Цитата RUSSTARUS @ На сколько это будет сложно? Зависит от опыта работы с железом. Изучаем шину USB. Под DOS придется писать свой драйвер хост-контроллера. Цитата RUSSTARUS @ контроллера на PL2303 Даташит есть? |
Сообщ.
#545
,
|
|
|
Драйвер сможет быть только в нереальном режиме?
Книгу уже скачал (Практика программирования USB) Даташит PL2303 ??? Добавлено Где можно посмотреть наработки на ASM захвата виртуального порта COM под DOS ? ![]() |
Сообщ.
#546
,
|
|
|
Цитата RUSSTARUS @ Драйвер сможет быть только в нереальном режиме? Цитата RUSSTARUS @ де можно посмотреть наработки на ASM захвата виртуального порта COM под DOS ? Ну доступ за пределы 1го мегабайта нужен в любом случае, один из способов это да, использовать нереальный режим. И не совсем понятно на каком уровне требуется поддержка "виртуального COM", если на уровне портов, то потребуется вообще свой экстендер писать (с V86) или править существующий. В общем случае эмуляция порта намного менее проблематична, чем разработка драйвера для хост-контроллера. Цитата RUSSTARUS @ Даташит PL2303 ??? Для разработки драйвера нужно описание протокола обмена с ним, я бегло погуглил и нашел лишь описание физического интерфейса. Если протокол закрытый, то написать сторонний драйвер для устройства очень проблематично. Добавлено Вот тут нашел часть, но этого мало. |
Сообщ.
#547
,
|
|
|
Позволено будет встрять? Я исследовал какой-то USB-COM адаптер, сейчас, правда, не помню, какой. На работе лежит. Весь интерфейс примитивен - есть две КТ, in и out. В одну кидаем инфу, с другой - берем. Еще как-то выставлялись параметры COM-соединения.
В принципе, есть класс устройств CDC - описание на usb.org http://www.usb.org/developers/devclass_docs/usbcdc11.pdf Только у PL2303 в дескрипторе интерфейса стоит 0xff, т.е. "vendor specific", получается, что он не подходит под этот класс. Завтра гляну, как я там делал, отпишусь. |
Сообщ.
#548
,
|
|
|
Цитата zakharo @ Позволено будет встрять? Тебе тут всегда рады ![]() Цитата zakharo @ Весь интерфейс примитивен - есть две КТ, in и out. Тут нечто похожее, но + еще interrupt in. Что-то мне подсказывает, что эта КТ предназначена для аппаратной поддержки асинхонного режима передачи. Однако в виндуязных драйверах подновляющего большинства преобразователей com-to-что-нибудь этот режим реализован через заднее место, но это так мысли вслух... Хотя все же обольщаться не стоит, так как вендоры бывает такого намутят ![]() |
Сообщ.
#549
,
|
|
|
Нашел. Я делал для 2303. И уже не помню, где брал спецификацию. Там добавляется два реквеста - получить параметры линии и установить параметры линии. Скорость там, четность, число бит. КТ типа interrupt используется для контроля состояния линии - несущая, звонок, CTS, RTS т.д. А данные проходят через in и out.
|
Сообщ.
#550
,
|
|
|
Спасибо большое, что поддерживаете тему!
![]() Очень всё интересно. Хотел спросить Вас про драйвер USBASPI.EXE для DOS. Его можно как либо использовать под часть хоста, или нет. (Может легче что будет, ведь кое что он делает, написать привязку к нему, перенаправить потоки COM порта туда) или легче писать всё с нуля??? ![]() |
Сообщ.
#551
,
|
|
|
Цитата RUSSTARUS @ Хотел спросить Вас про драйвер USBASPI.EXE Не использовал. Добавлено Цитата zakharo @ там добавляется два реквеста - получить параметры линии и установить параметры линии. Хм, почему-то в том даташите про них не написали. ![]() |
Сообщ.
#552
,
|
|
|
Да, в даташите этого нет. Я ж говорю - не помню, где брал. Не исключено, что из сниффера. Документов, по крайней мере, найти не могу.
|
Сообщ.
#553
,
|
|
|
Нет, не из сниффера все-таки. Там было было трудно понять структуру реквестов.. Скорее, из каких-нибудь опенсорсных линуксовых текстов.
PS Ну да, точно. Вот, например: http://lxr.free-electrons.com/source/drive...serial/pl2303.c Можно еще найти. |
Сообщ.
#554
,
|
|
|
Нашёл что искал! http://www.georgpotthast.de/usb/ или http://www.dosusb.net/
![]() Georg Potthast написал уже приличный хост контроллер USB под DOS и кучу программ (драйверов) приложений к нему! ![]() Просто супер! (Там и серийный порт (правда не эмуляция UART), параллельный порт, работа в web-камерой, поддержка MASS STORAGE DEVICE DRIVERS и многое другое, USB-мышь, USB-клавиатура и т.д. и т.п.) Описание интерфейса хоста для собственных приложений под устройства USB, вообщем всё для программиста... Демо версия USBDOS.COM работает 20 минут (затем надо перегружаться). Полная версия стоит ого!... ![]() ![]() Да, а спецификация у PL2303 похоже закрытая и свободно не распространяется (пишет автор) ![]() |
Сообщ.
#555
,
|
|
|
Возможно, действительно, это то, что тебе нужно. Этот драйвер обеспечивает базовый уровень USB-транзакций. Я в свое время (в 2007-м) с ним разбирался довольно хорошо. Даже, скажу по секрету, дизассемблировал его - это помогло начать работать с контроллерами уже самостоятельно. У него был единственный недостаток - он не поддерживал hot-plugging - но тебе, наверное, это и не нужно. Та версия еще была совершенно бесплатной и поддерживала только USB 1.1 (если не ошибаюсь, pl2303 работает как раз по USB 1.1). Кажется, у меня она еще где-то осталась. Если найду, поделюсь.
Ну, а спецификацию pl2303 придется делать самостоятельно, опираясь на линуксовые тексты. |