Емельянов Эдуард Владимирович (eddy_em) wrote,
Емельянов Эдуард Владимирович
eddy_em

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

Сегодня добил в соответствии с правильным образцом эмулятор 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
};

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

  • Задачка для студентов

    Я тут интересную (и, главное, актуальную: судя по скудной информации в интернете, если этим кто-то и занимался, то результаты закопаны под NDA)…

  • Контроллер управления новой железякой

    Я до конца этой недели еще в отпуске. Погода мерзкая, поэтому хожу на работу. Вчера начал паять пару комплектов плат для управления новой железякой.…

  • Накосячил

    Возвращаюсь из Абхазии, а у меня на столе коробочка от JLCPCB с платами управления новой безымянной железяки ( ссылка на гитхаб). Сразу в глаза…

promo eddy_em september 3, 12:13 8
Buy for 10 tokens
Уже больше полугода занимаюсь разработкой, вот, наконец-то в мастерских взялись за меня и начали выдавать первые детали. Сегодня сделал тестовую сборку (как обычно, местами пришлось "доработать напильником"): Пока прибор без названия (да и как-то не лезет в голову ничего, у меня нет…
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic
  • 0 comments