Попытка считать Аудиоустройство USB, но/dev/hidraw0 недоступна чтению

У гостя нет прямого доступа к часам хоста. Вместо этого это использует kvm-тактовый, который указывает на регион памяти, обновленный хостом от часов хоста. По сути, гость использует часы хоста. Проблема - то, что этот регион памяти постоянно не обновляется, он только обновляется, когда существует 'событие' VM, и как таково, гости могут дрейфовать и затем покачнуться назад к корректному времени.

Общие рекомендации, насколько я вижу, гарантируют, что VM делает что-то регулярно, так, чтобы это перечитало часы хоста регулярно.

Некоторые источники,

4
29.11.2014, 09:13
1 ответ

Вы не "видите" аудио в /dev/hidraw0, потому что это управляющие сообщения обрабатывается по другой конечной точке, чем аудио сообщения. Для управляющих сообщений нужна надежная передача, в то время как аудио может потеряться и обычно использует изохронные передачи .

Ваша тестовая программа приводит к ошибкам, потому что она пыталась написать отчет длины 2.

Вот декодируемый дескриптор отчета HID (преобразованное использование hidrd-преобразовывают ):

Usage Page (Consumer),          ; 05 0C     - Consumer (0Ch)
Usage (Consumer Control),       ; 09 01     - Consumer control (01h, application collection)
Collection (Application),       ; A1 01
    Logical Minimum (0),        ; 15 00
    Logical Maximum (1),        ; 25 01
    Usage (Volume Inc),         ; 09 E9     - Volume increment (E9h, re-trigger control)
    Usage (Volume Dec),         ; 09 EA     - Volume decrement (EAh, re-trigger control)
    Report Size (1),            ; 75 01
    Report Count (2),           ; 95 02
    Input (Variable),           ; 81 02
    Usage (Mute),               ; 09 E2     - Mute (E2h, on/off control)
    Usage (00h),                ; 09 00
    Input (Variable, Relative), ; 81 06
    Usage (00h),                ; 09 00
    Report Count (4),           ; 95 04
    Input (Variable),           ; 81 02
    Logical Maximum (255),      ; 26 FF 00
    Usage (00h),                ; 09 00
    Report Size (8),            ; 75 08
    Report Count (15),          ; 95 0F
    Input (Variable),           ; 81 02
    Usage (00h),                ; 09 00
    Report Count (16),          ; 95 10
    Output (Variable),          ; 91 02
End Collection                  ; C0

Этот дескриптор описывает двоичный формат данных, которые могут быть, отправляют использование Запрос Set_Report (по каналу управления). (См. этот Определение Класса устройства для документа Устройств интерфейса пользователя (HID) для получения дополнительной информации особенно 8.5 Примеров Отчета).

Интерпретация дескриптора для разрядного расположения для Вход отчеты (устройство к хосту, вы получаете их по конечной точке прерывания, видят секунду. 4.4 из HID 1.1):

0.0: Volume Increment
0.1: Volume Decrement
0.2: Mute
0.3: (null)
0.4-7: (null)
15 times 8 bits (1 byte): (null)

, Если необходимо отправить отчеты HID, обратите внимание, что количество отчета Выходного отчета равняется 16 (и диаметр долота равняется 8). Так Вывод отчет (тот, который отправляется по Прерыванию конечную точку) составляет 16 байтов.

Насколько я вижу, ваше устройство только может отправить ключевые события, которые должны быть обработаны ОС. Это не обеспечивает функциональности для корректировки уровней звука в аппаратных средствах через программное обеспечение.

Что касается неспособности читать, устройство не имеет значимых данных для создания отчетов по каналу управления, таким образом, возможно, что производитель не потрудился реализовывать метод Get_Report . Между прочим, как sudo lsusb-v-d 0b05:1743 похож?

1
27.01.2020, 21:01

Теги

Похожие вопросы