eddy_em: (Default)
eddy_em ([personal profile] eddy_em) wrote2020-04-05 04:58 pm

Седьмой день ограничения…

Сегодня добил в соответствии с правильным образцом эмулятор PL2303 и USB-HID (клавиатура + мышь, выдающие из себя 045e:005c Microsoft Corp. Office Keyboard).
Гулять не ходил: было лень, да и давление после вчерашней пьянки скакало… Завтра пойду погуляю.

Странная штука вылезла у меня, когда я в режиме отладки натравливал на клавиатуру lsusb (с другими железками не проверял, возможно, там то же самое). Получаю запросы:
STRING_LANG_DESCRIPTOR
STRING_MAN_DESCRIPTOR
STRING_LANG_DESCRIPTOR
STRING_PROD_DESCRIPTOR
STRING_LANG_DESCRIPTOR
STRING_SN_DESCRIPTOR
DEVICE_QUALIFIER_DESCRIPTOR
usb_lib.c (L244): WTF?0x00000a00

Т.е. перед каждым строковым запросом lsusb интересуется языком (как будто бы разные запросы могут быть на разных языках). Однако, после запроса квалификатора идет какой-то непонятный запрос с кодом 0x0A!
В листинге инклюда libusb ничего подобного нет:
less /usr/include/libusb-1.0/libusb.h 

enum libusb_descriptor_type {
        /** Device descriptor. See libusb_device_descriptor. */
        LIBUSB_DT_DEVICE = 0x01,

        /** Configuration descriptor. See libusb_config_descriptor. */
        LIBUSB_DT_CONFIG = 0x02,

        /** String descriptor */
        LIBUSB_DT_STRING = 0x03,

        /** Interface descriptor. See libusb_interface_descriptor. */
        LIBUSB_DT_INTERFACE = 0x04,

        /** Endpoint descriptor. See libusb_endpoint_descriptor. */
        LIBUSB_DT_ENDPOINT = 0x05,

        /** BOS descriptor */
        LIBUSB_DT_BOS = 0x0f,

        /** Device Capability descriptor */
        LIBUSB_DT_DEVICE_CAPABILITY = 0x10,

        /** HID descriptor */
        LIBUSB_DT_HID = 0x21,

        /** HID report descriptor */
        LIBUSB_DT_REPORT = 0x22,

        /** Physical descriptor */
        LIBUSB_DT_PHYSICAL = 0x23,

        /** Hub descriptor */
        LIBUSB_DT_HUB = 0x29,

        /** SuperSpeed Hub descriptor */
        LIBUSB_DT_SUPERSPEED_HUB = 0x2a,

        /** SuperSpeed Endpoint Companion descriptor */
        LIBUSB_DT_SS_ENDPOINT_COMPANION = 0x30
};

Гугол молчит, как партизан. Я вообще не смог найти развернутое описание всех этих кодов!

Post a comment in response:

This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org