metaclass (metaclass) wrote,
metaclass
metaclass

О еще одной нише, где линукса нет

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

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

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

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

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

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

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 6 comments