LINUX.ORG.RU

libusb-win32 для wine надо кому?

 wine usb


6

4

Понадобилось тут, пришлось сваять. libusb-wine.tar.gz

Распаковать в дерево сырцов wine. В configure.ac добавить строчку

WINE_CONFIG_DLL(libusb0,,[implib])
туда же, где все остальные такие строчки. Ну и autoreconf configure make make install как обычно.

Унутри линуксячья libusb-0.1.12 (ибо с тех пор никаких изменений в USBшном коде или интерфейсе libusb-win32 не случилось) слегка допиленная для мимикрии под libusb-win32. После компиляции получится libusb0.dll которая работает с линуксячьей подсистемой USB вместо виндового драйвера. Вендософтины пользующие под виндой libusb-win32 для доступа к железкам теперь чудненько работают под wine. Никаких драйверов в wine, разумеется, ставить не надо.

Не забыть про права доступа к /dev/bus/usb/* . Если чо - прописать юзера в группу usb (ну или чо там в дистре) или ковырнуть udev ( /lib/udev/rules.d/50-udev-default.rules ) на предмет

SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE="0664", GROUP="usb"
если там этого нету.

Должно быть что-то типа такого:

$ ls -la /dev/bus/usb/003/
total 0
drwxr-xr-x 2 root root      100 Feb 19 01:41 .
drwxr-xr-x 7 root root      140 Feb 14 20:19 ..
crw-rw-r-- 1 root usb  189, 256 Feb 19 00:34 001
crw-rw-r-- 1 root usb  189, 271 Feb 19 00:34 016
crw-rw-r-- 1 root usb  189, 275 Feb 19 01:43 020

Ну или сами там с правами разбирайтесь, чтоб из-под юзера нужный девайс был читаем-писаем.

В данной реализации отсутствуют чисто libusb-win32 функции:

usb_install_service_np
usb_uninstall_service_np
usb_install_driver_np
usb_isochronous_setup_async
usb_bulk_setup_async
usb_interrupt_setup_async
usb_submit_async
usb_reap_async
usb_free_async
Кому надо - может сам допилить, у меня нет софтин которые их пользуют, я и не заморачивался. Если чо - wine ругнётся, что, мол, не могу найти каую-нибудь usb_install_driver_np в libusb0.dll

★★★★★

Последнее исправление: Stanson (всего исправлений: 2)
Ответ на: Круто. от NeverLoved

И что, с этой штукой можно теперь нормально пользоваться всякими UltraISO?

Если оно пользуется libusb-win32 для доступа к USB девайсу - то может быть можно.

Если у неё какой-то свой драйвер, или оно пользует системный виндовый - нельзя.

Stanson ★★★★★
() автор топика
Ответ на: комментарий от Aswed

Я чо, поцтеринг, что-ли, всякое эталонное ненужно в дистры пропихивать? Если вдруг кому приспичит - найдёт, мне не жалко поделиться этим ненужно, этот топик и так в первой ссылке гугля по запросу «libusb-win32 for wine».

Stanson ★★★★★
() автор топика

Нужно, буду иметь ввиду, возможно пригодится!

I-Love-Microsoft ★★★★★
()

читаем-писаем

:) во отжог

CHIPOK ★★★
()

Вендософтины пользующие под виндой libusb-win32 для доступа к железкам теперь чудненько работают под wine.

Подозреваю, что это по большей части и так кроссплатформенные софтины, которые есть под линукс. Из примеров вспоминается только avrdude. Но всё равно круто, респект.

prischeyadro ★★★☆☆
()
Ответ на: комментарий от Qwentor

А FineReader в wine будет с этим видеть сканер?

Без понятия. Но сильно сомневаюсь оно использует libusb-win32 для доступа к сканеру (и тащит с собой кучу кода для работы со всевозможными сканерами), скорее используется вендовый twain или как оно там. Скорее всего понадобится реализовать этот twain через sane например. В общем-то, когда я последний раз с ним сталкивался, twain api был вполне документирован, так что вопрос только в хотелке. Если его уже не запилили, конечно в wine. Тогда должно работать искаропки или там после настройки.

Stanson ★★★★★
() автор топика
Последнее исправление: Stanson (всего исправлений: 1)
Ответ на: комментарий от prischeyadro

Подозреваю, что это по большей части и так кроссплатформенные софтины, которые есть под линукс.

Ну, в общем, да. Мне оно понадобилось для отладки и проверки виндовой версии софтины для работы с мутными измерительными железками под wine, чтоб с виндой лишний раз не сношаться.

Но всё равно круто, респект.

Было бы круто и нужно - оно давно бы в wine было, ибо делов на полдня с перерывами.

Stanson ★★★★★
() автор топика
Ответ на: комментарий от Stanson

во-превых это он сейчас первый по этому запросу. Во-вторых кто-нибудь не русский не поймет что тут происходит. В-третьих не каждый, у кого не заработало что-то в usb в вайне поймет, что ему нужно libusb-win32. В-четвертых это не «ненужно».

Aswed ★★★★★
()
Ответ на: комментарий от Aswed

Ну посмотрим, если тут найдётся хотя бы несколько тех, кто реально этим воспользуется и расскажет что за софтины и железки завелись под wine - то отправлю вайновцам патчик.

Во-вторых кто-нибудь не русский не поймет что тут происходит.

translate.google.com легко справится с этой темой. Да и без перевода несложно догадаться.

Stanson ★★★★★
() автор топика
Последнее исправление: Stanson (всего исправлений: 1)
Ответ на: комментарий от w1nner

Это libusb-win32 для wine. И оно в общем-то почти никому не нужно.

ЗЫ: что такое libusb-win32 и wine можно спросить у гугля. Если не в курсе что это - то оно совершенно точно не нужно.

Stanson ★★★★★
() автор топика
Ответ на: комментарий от w1nner

Не поддерживает. А мне понадобилось чтобы поддерживало, хотя бы в рамках libusb-win32. Ну вот и написал себе поддержку. Это ж опенсурс. Надо - сам допиши и поделись. Вот, дописал и делюсь. Что-то не так?

Stanson ★★★★★
() автор топика
Последнее исправление: Stanson (всего исправлений: 2)
Ответ на: комментарий от Stanson

Все так. Молодец, сделал полезное дело для сообщества. Те кому надо думаю скажут «спасибо».

w1nner ★★★★★
()
2 сентября 2015 г.

Что-то не работает

При выполнении make выводится сообщение:

make[1]: вход в каталог «/home/alex/wine-git/dlls/libusb0»

Makefile:150: *** пропущен разделитель. Останов. make[1]: выход из каталога «/home/alex/wine-git/dlls/libusb0» Makefile:9651: ошибка выполнения рецепта для цели «dlls/libusb0» make: *** [dlls/libusb0] Ошибка 2

Сам я не силен в Makefile. Stanson, будь добр, посмотри в чем дело.

Klmn
()
Ответ на: Что-то не работает от Klmn

automake поновее поставь. Makefile генерится тулзами твоей системы из моего Makefile.in в котором всего 4 строчки текста.

Stanson ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.