Программирование Usb под Ms-dos

  • Автор темы chetr
  • Дата начала
Статус
Закрыто для дальнейших ответов.
C

chetr

В общем проблема следующая:
--запрограммировал я UHCI контроллер под ДОС для работы с одной микрухой, но не до конца всё хорошо работает. После отработки моей проги отключается подключенная USB клавиатура, вследствие чего в Windows98 уже не попадёшь. Вопрос--> каким правильным должен быть алгоритм инициализации хоста, чтобы клава продолжала работать???
--сейчас программирую OHCI контроллер тоже под ДОС и с той же микрухой. Здесь проблема другая--после инициализации хоста и формирования SETUP пакетов для проведения процедуры нумерации на шине хост не отсылает пакеты!!! Почему??? Код могу показать, если знатоки согласятся помочь ;)
 
L

logosman

Подобная проблема у меня была когда работал напрямую с COM1 (грызун) под Win98, не мог отработать пакеты. Ответ оказался прост, винда блокирует порты. А под голым ДОС всё нормально пашет. Ещё есть конечно варианты с режимами работы: реальный или protected mode? Если PM32, то можно сделать через DPMI аля 0x31. Вариантов море =)
 
C

chetr

Режим реальный. содержимое регистра HcRhPortStatus в момент ошибки:00000113h
Установливается бит Halted в ЕD->HeadP. Condition Code = 5 (Device Not Responding). Адрес на начало буфера с командой Set Address = TD->CurBufPtr = 000156C4, TD->BufEnd = 000156CB это нормально?
И ещё вот чо заметил TD->NextTDPtr= 0, хотя я туда записвывал адрес на пустой пакет!!!!
 
C

chetr

Теперь проходит нумерация, но дескриптор устройства не получается хостом!!!
Опять код ошибки 5 (Device not responding) Мужики помогите!!!! Могу выложить код где это реализовано.
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!