Может ли Python-приложение работать с проприетарным драйвером устройства без libusb?

Курдль

Новичок
Пользователь
Апр 13, 2023
7
0
1
Привет!
Необходимо разработать приложение для обмена данными с USB-устройствами.
Я создал прототип такого приложения. Прием-передача осуществляется.
Но по всем найденным мной мануалам, необходимо в ОС для устройства переопределить драйвер на специализированный (типа libusb). Это мне не подходит, т.к. устройство перестает откликаться на запросы других приложений.
Какие варианты посоветуете?
Заранее благодарен, Я.
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 580
457
83
Китайцам с АлиЭкспресс? :) Они с контроллером даже поставляют диск с чужим ворованным ПО. А на любые вопросы даже не по поддержке, а по функциональности, - отмораживаются.

Отреверсить плагин я не надеюсь. Разобраться в тысячах ассемблерных строк?..
У меня есть мануал по написанию плагинов и примеры.
Конечно, плагин будет написан не на питоне, а на C++.
Но на питоне я наработал некоторое кол-во программ для исследования протокола.
Это помогло распознать основной принцип API.
Мне не хватает знаний типа "что отвечает контроллер на тот или иной код от хоста?"
Выявить это из огромного потока данных сэмплов сниффера не так-то просто.
ну у вас уйдет куча времени на это дело...
может есть техническая документация? с этой информацией можно попробовать написать...
Мне не хватает знаний типа "что отвечает контроллер на тот или иной код от хоста?"
это и должно быть в документации...
но если устройство hid, то оно общедоступно на мсдн, ссылку привести не могу, так как с телефона, но оно гуглится легко

а так тыкаться наугад и строить догадки, в результате у вас будет такое же кривое по, как и у них...
 
  • Мне нравится
Реакции: Курдль

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 580
457
83
Необходимо разработать приложение для обмена данными с USB-устройствами.
с какими устройствами? для них требуется отдельный драйвер?

система не указана, буду думать, что винда...
можно подключиться к существующему драйверу, через винапи
на питоне это сделать проблематично (лично для меня), проще на с/с++
 

Курдль

Новичок
Пользователь
Апр 13, 2023
7
0
1
с какими устройствами? для них требуется отдельный драйвер?

система не указана, буду думать, что винда...
можно подключиться к существующему драйверу, через винапи
на питоне это сделать проблематично (лично для меня), проще на с/с++
Спасибо за правильные вопросы.
1. Контроллер станка на основе STM32
2. Винда
Насчет проприетарного драйвера я уже не уверен
В диспетчере устройств отображается, как HID
Драйвер подхватывается на любом ПК, как только подключаешь устройство
Вот, что написано про драйвер:


Имя драйвера: input.inf
GUID класса: {745a17a0-74d3-11d0-b6fe-00a0c90f57da}
Дата драйвера: 06/21/2006
Версия драйвера: 10.0.19041.868
Поставщик драйвера: Microsoft
Раздел драйвера: HID_Raw_Inst.NT
Ранг драйвера: 0xFF1004
Соответствующий ИД устройства: HID_DEVICE
Драйверы с более низким рангом:
Устройство обновлено: false
Родительское устройство: USB\VID_9836&PID_0701\5D8C37473739
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 580
457
83
В диспетчере устройств отображается, как HID
hid это стандартное устройство ввода, типа клавиатура/мышь/сканер/джойстик

к нему можно обратиться через вин апи, в гугле куча примеров, только в основном на с++
 

Курдль

Новичок
Пользователь
Апр 13, 2023
7
0
1
hid это стандартное устройство ввода, типа клавиатура/мышь/сканер/джойстик
Этот контроллер никак human device interface не назовешь :)
А как Вы думаете, не получится ли из Python работать с помощью этой библиотеки?
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 580
457
83
Этот контроллер никак human device interface не назовешь :)
А как Вы думаете, не получится ли из Python работать с помощью этой библиотеки?
попробуйте
может для вашего устройства есть вообще свое апи?
производитель позаботился и сделал длл?

upd
погуглил, на stm есть свои среды разработки

а у вас цель какая?
 
Последнее редактирование:

Курдль

Новичок
Пользователь
Апр 13, 2023
7
0
1
может для вашего устройства есть вообще свое апи?
производитель позаботился и сделал длл?

погуглил, на stm есть свои среды разработки

а у вас цель какая?
Уточню, раз Вам интересно.
Устройство - интерфейсная плата между ПК и станком с ЧПУ
Оно слизано китайцами у кого-то (приличная аппаратная реализация)
Конечно, API они не публикуют и наверняка даже скрывают
(спасибо снифферам и анализаторам, - я в нем немного разобрался)
Вместе с этим устройством поставляется плагин для общения с управляющим ПО
Вот в нем-то всё дело. Плагин написан криво и ряд функций исполняются некорректно.
P.S. У меня развёрнута среда для разработки микропрограмм для STM32, но это не является моей целью.
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 580
457
83
Уточню, раз Вам интересно.
Устройство - интерфейсная плата между ПК и станком с ЧПУ
Оно слизано китайцами у кого-то (приличная аппаратная реализация)
Конечно, API они не публикуют и наверняка даже скрывают
(спасибо снифферам и анализаторам, - я в нем немного разобрался)
Вместе с этим устройством поставляется плагин для общения с управляющим ПО
Вот в нем-то всё дело. Плагин написан криво и ряд функций исполняются некорректно.
P.S. У меня развёрнута среда для разработки микропрограмм для STM32, но это не является моей целью.
ну может проще обратиться к производителю? плагин работает криво, значит это баги, отправьте баг репорт
по вашему описанию , вы хотите отреверсить плагин и поправить функции? и все это через питон?
или с нуля написать плагин на питоне?
 
Последнее редактирование:

Курдль

Новичок
Пользователь
Апр 13, 2023
7
0
1
ну может проще обратиться к производителю? плагин работает криво, значит это баги, отправьте баг репорт
по вашему описанию
Китайцам с АлиЭкспресс? :) Они с контроллером даже поставляют диск с чужим ворованным ПО. А на любые вопросы даже не по поддержке, а по функциональности, - отмораживаются.
вы хотите отреверсить плагин и поправить функции? и все это через питон?
или с нуля написать плагин на питоне?
Отреверсить плагин я не надеюсь. Разобраться в тысячах ассемблерных строк?..
У меня есть мануал по написанию плагинов и примеры.
Конечно, плагин будет написан не на питоне, а на C++.
Но на питоне я наработал некоторое кол-во программ для исследования протокола.
Это помогло распознать основной принцип API.
Мне не хватает знаний типа "что отвечает контроллер на тот или иной код от хоста?"
Выявить это из огромного потока данных сэмплов сниффера не так-то просто.
 

Курдль

Новичок
Пользователь
Апр 13, 2023
7
0
1
это и должно быть в документации...
Ну, мне остается обидеться, что этого нет в документации и закинуть контроллер под диван. :)
Я занялся этим, как хобби. В продакшн запускать не собираюсь. Никакой документации ни от кого получить уже не надеюсь (конечно же, я перерыл весь интернет по всем возможным ключевым словам и на всех языках)
Даже ChatGPT вряд ли поможет. Я с этим смирился.
а так тыкаться наугад и строить догадки, в результате у вас будет такое же кривое по, как и у них...
Почему наугад? Я имею некоторую методику исследования (которую сам же и придумал).
Вдруг эта методика не так уж ущербна?
У меня есть время и желание. Заказчик (я) на меня не давит :)
Могу заниматься этим в свое удовольствие, пока не надоест.
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 580
457
83
Ну, мне остается обидеться, что этого нет в документации и закинуть контроллер под диван. :)
Я занялся этим, как хобби. В продакшн запускать не собираюсь. Никакой документации ни от кого получить уже не надеюсь (конечно же, я перерыл весь интернет по всем возможным ключевым словам и на всех языках)
Даже ChatGPT вряд ли поможет. Я с этим смирился.

Почему наугад? Я имею некоторую методику исследования (которую сам же и придумал).
Вдруг эта методика не так уж ущербна?
У меня есть время и желание. Заказчик (я) на меня не давит :)
Могу заниматься этим в свое удовольствие, пока не надоест.
ну в таком случае удачи)
 
  • Мне нравится
Реакции: Курдль

Форум IT Специалистов