Nov. 17th, 2009

metaclass: (Default)
Вот вы таки будете смеяться, но большинство USB-HID микрофонов (и прочих usb-девайсов управления), используемых в системах речевого документооборота, толком не определяются под линуксами.

Под виндой, даже старой - работают без драйверов, автоматически. Т.е. проигрывание, воспроизведение, управление с кнопок и светодиоды для отображения статуса - все работает.

Под убунтой(которую использовали девелоперы линуксового модуля для нашей системы) - не работает, причем в совершенно различных вариациях - у одних не работают(и даже не перечисляются в информации) светодиоды, у других вообще из /dev/input/eventX нихрена не приходит, у третих не работает звук. А у тех, у которых работает - нужно перезагружаться иногда, чтобы заработало.

Я вот еще гламурный беспроводной SpeechMike Air проверю, как он на линуксе будет выглядеть.

С HID устройствами (кнопки и светодиоды), похоже, проблема в разном уровне абстрагирования на винде и линуксе.
На винде мы получаем тупо устройство и возможность читать и писать в него, открыв поток. А что писать и читать - хрен его знает, мы обычно USB снифером родные SDK (которыми пользовать сука невозможно - ActiveX инсталлировать/регистрировать и прочий шлак) сканируем и делаем свои модули, заточенные под устройства.

А на линуксе это дело превращается в /dev/input/eventX, откуда читаются и пишутся struct input_event, c таймстампами и кодами видов устройств и событий. Соответственно, я так понимаю, кернел должен знать про устройство, чтобы вернуть список его кнопок и диодов и уметь преобразовывать его командные последовательности в стандартный input_event вид. Зато прогам достаточно только с этой структурой уметь работать.

Profile

metaclass: (Default)
metaclass

April 2017

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 9th, 2025 09:56 am
Powered by Dreamwidth Studios