x893 51 8 сентября, 2021 Опубликовано 8 сентября, 2021 · Жалоба 20 minutes ago, Сергей Борщ said: делает win-hid-dump Он в exception падает при запросе CP2112. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Gradient 1 8 сентября, 2021 Опубликовано 8 сентября, 2021 (изменено) · Жалоба 2 часа назад, Сергей Борщ сказал: Виндовс не дает сторонней программе прочитать report descriptors. Шарик нормально смотрит все под 10кой. Просматриваю так инициализацию новых BT донглов из стека Win. Подстыковали, настроили фильтр захвата. Вынули. Включаете запись только этого устройства и втыкаете. Всё на месте... Изменено 8 сентября, 2021 пользователем Gradient Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 134 8 сентября, 2021 Опубликовано 8 сентября, 2021 · Жалоба 47 минут назад, Gradient сказал: Шарик нормально смотрит все под 10кой. Я где-то писал обратное? Вы попробуйте любой программой спросить эти дескрипторы у виндовса или из своей программрй прочитать этот дескриптор средствами виндовса - вот тут вас будет ждать облом, потому что виндовс формирует неправильный запрос, на который любое устройство, соответствующее спецификации USB отвечать не будет. Вот ответ от автора USB Tree View: Цитата that's a known problem. From UsbTreeView.txt: About HID descriptors HID descriptors usually cannot be read. Probably this is because they must be requested from the interface rather than the device but the IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION call doesn't offer the choice. The parameters are ignored and filled by the USB stack: MSDN says: "the USB stack ignores the value of bmRequest and inserts a value of 0x80 which indicates standard USB device request".https://msdn.microsoft.com/en-us/library/windows/hardware/ff539272(v=vs.85).aspx For most devices the result is an ERROR_GEN_FAILURE or ERROR_INVALID_PARAMETER. But some devices return the HID descriptor anyway. I've tried to build the request manually and send it by means of IOCTL_USB_USER_REQUEST but I did not get it work. Others tried before me and failed tool. Regards, Uwe Sieber Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Gradient 1 8 сентября, 2021 Опубликовано 8 сентября, 2021 (изменено) · Жалоба Не совсем понял трудности.. просто программа конечно не может подсесть к обмену, понятное дело. Шарик читает через драйвер уже за пределами user space. Затем, когда у вас уже есть дамп, открываете нужный драйвер и ему туда всё наливаете согласно протокола. У меня методика нормально работает. Ну и более того. Например кипарисным драйвером не родным рулю нормально любыми BT донглами. Картинку прицепил... Изменено 8 сентября, 2021 пользователем Gradient Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 134 8 сентября, 2021 Опубликовано 8 сентября, 2021 · Жалоба 25 минут назад, Gradient сказал: просто программа конечно не может подсесть к обмену, понятное дело Просто программа может попросить виндовс спросить у устройства все остальные дескрипторы. И только запрос HID report descriptor виндовс переиначивает по-своему. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 235 8 сентября, 2021 Опубликовано 8 сентября, 2021 · Жалоба А если попробовать это сделать через драйвер типа libusbK или подобный? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Gradient 1 8 сентября, 2021 Опубликовано 8 сентября, 2021 · Жалоба Через WinUSB тоже прокатывает. libusb сначала тоже пользовал, но он оказался очень медленным по сравнению с Кипарис и его пришлось удалить из сборки. Кипарис делает всех по производительности. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 134 8 сентября, 2021 Опубликовано 8 сентября, 2021 · Жалоба 1 минуту назад, jcxz сказал: А если попробовать это сделать через драйвер Мне хватает lsusb -v -d <vid>:<pid> А кто сидит под виндовсом - пусть сами решают, как кушать кактус . Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Gradient 1 8 сентября, 2021 Опубликовано 8 сентября, 2021 · Жалоба К сожалению, все "мухи выбирают кактус и они не могут ошибаться". Чтоб что-то продать с горем пополам, приходится это хлебать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 235 8 сентября, 2021 Опубликовано 8 сентября, 2021 · Жалоба 7 минут назад, Gradient сказал: Через WinUSB тоже прокатывает. libusb сначала тоже пользовал, но он оказался очень медленным по сравнению с Кипарис и его пришлось удалить из сборки. Кипарис делает всех по производительности. Я говорил про libusbK, а не libusb ! Это совершенно разные вещи. http://libusbk.sourceforge.net/UsbK3/index.html 7 минут назад, Gradient сказал: Кипарис делает всех по производительности. Кипарис - кривой. Описывал это здесь: Поэтому - более его не использую. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Gradient 1 8 сентября, 2021 Опубликовано 8 сентября, 2021 (изменено) · Жалоба Был libusb-win32, тот что Zadig ставит. ---- Вероятно и так, не пользую изохронный режим, все по прерываниям, короткими пакетами. У кипариса есть цифровая подпись и нет трудностей с установкой. Остальные кроме WinUSB сложные для пользователя. Надо делать свой установщик, в 90% компаний это дело жестоко пресекают. Не дают запускать Сетап, и никто ваш софт потестить ставить не хочет, чтоб не нажить проблем с админами. С точки зрения "борьбы за солнце", пользователя напрягать нельзя, не будет шансов на успех. Изменено 8 сентября, 2021 пользователем Gradient Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
firew0rker 0 11 сентября, 2021 Опубликовано 11 сентября, 2021 · Жалоба Под Linux можно прочитать report descriptor командой sudo usbhid-dump -d VID:PID а конкретно для CP2112 sudo usbhid-dump -d 10C4:EA90 Просьба владельцам CP2112, пожалуйста, сделайте дамп под Linux, а если он не установлен, загрузитесь с флешки или CD/DVD-R SystemRescue, которая и по прямому назначению может когда-нибудь пригодится.https://www.system-rescue.org/Download/ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x893 51 11 сентября, 2021 Опубликовано 11 сентября, 2021 · Жалоба 20 minutes ago, firew0rker said: можно прочитать usbhid-dump -d 10C4:EA90 001:004:000:DESCRIPTOR 1631361903.939282 06 00 FF 09 01 A1 01 85 01 95 01 75 08 26 FF 00 15 00 09 01 B1 02 85 02 95 04 75 08 26 FF 00 15 00 09 01 B1 02 85 03 95 01 75 08 26 FF 00 15 00 09 01 B1 02 85 04 95 02 75 08 26 FF 00 15 00 09 01 B1 02 85 05 95 02 75 08 26 FF 00 15 00 09 01 B1 02 85 06 95 0D 75 08 26 FF 00 15 00 09 01 B1 02 85 10 95 3F 75 08 26 FF 00 15 00 09 01 91 02 85 11 95 3F 75 08 26 FF 00 15 00 09 01 91 02 85 12 95 3F 75 08 26 FF 00 15 00 09 01 91 02 85 13 95 3F 75 08 26 FF 00 15 00 09 01 81 02 85 14 95 3F 75 08 26 FF 00 15 00 09 01 91 02 85 15 95 3F 75 08 26 FF 00 15 00 09 01 91 02 85 16 95 3F 75 08 26 FF 00 15 00 09 01 81 02 85 17 95 3F 75 08 26 FF 00 15 00 09 01 91 02 85 20 95 01 09 01 B1 02 85 21 95 09 09 01 B1 02 85 22 95 3E 09 01 B1 02 85 23 95 3E 09 01 B1 02 85 24 95 3E 09 01 B1 02 C0 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
firew0rker 0 28 сентября, 2021 Опубликовано 28 сентября, 2021 · Жалоба Вставила вышеприведённый дамп в массив CUSTOM_HID_ReportDesc_FS. C этим дескриптором такая ошибка: Quote Sep 28 08:38:27 alenchik-home kernel: [ 1831.125923] usb 5-1: new full-speed USB device number 3 using uhci_hcd Sep 28 08:38:27 alenchik-home kernel: [ 1831.327731] usb 5-1: New USB device found, idVendor=10c4, idProduct=ea90, bcdDevice= 2.00 Sep 28 08:38:27 alenchik-home kernel: [ 1831.327735] usb 5-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 Sep 28 08:38:27 alenchik-home kernel: [ 1831.327737] usb 5-1: Product: CP2112 HID USB-to-SMBus Bridge Sep 28 08:38:27 alenchik-home kernel: [ 1831.327738] usb 5-1: Manufacturer: Silicon Laboratories Sep 28 08:38:27 alenchik-home kernel: [ 1831.327740] usb 5-1: SerialNumber: 48FE606A3130 Sep 28 08:38:28 alenchik-home kernel: [ 1831.394557] cp2112 0003:10C4:EA90.0006: unbalanced collection at end of report description Sep 28 08:38:28 alenchik-home kernel: [ 1831.394572] cp2112 0003:10C4:EA90.0006: parse failed Sep 28 08:38:28 alenchik-home kernel: [ 1831.394580] cp2112: probe of 0003:10C4:EA90.0006 failed with error -22 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 134 28 сентября, 2021 Опубликовано 28 сентября, 2021 · Жалоба 4 часа назад, firew0rker сказал: C этим дескриптором такая ошибка: Вбейте этот дескриптор в HID Descriptor Tool. Он отступами покажет все коллекции и незакрытые будут видны невооруженным глазом. Также там можно в меню выбрать parse descriptor - может быть его отчет натолкнет на какие-то мысли. Или сохраните введенный дескриптор в файл и выложите сюда - подумаем вместе. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться