Доступ Wine-программ к USB-портам в Linux. Мониторинг ИБП Powercom.

С каждым днем перечень поддерживаемых устройств в Linux увеличивается, но при этом встречается «экзотика», которую производители драйверов обошли вниманием по причине низкой востребованности.  
В этой статье мы рассмотрим, как получить доступ к подобному устройству , подключенному к USB-порту, из Windows-программы, запущенной  под Wine.
В перечень подобных устройств можно включить редкие мобильные телефоны с проприетарным программным обеспечением под Windows, специфические собственные разработки предприятий и т.п.

В качестве примера для иллюстрации мы выбрали UPS Powercom серии BlackKnight. 
Это то устройство, поддержку которой в Linux можно назвать проблемной. Долгое время ИБП этой серии не поддерживались вообще, а недавно появившаяся утилита для Linux на сайте производителя уже  не работает в Ubuntu (c недавних пор из ядра Ubuntu исключена поддержка usbfs, необходимая этому ПО). 
Нас интересует доступ к ИБП программы мониторинга состояния ИБП, а также параметров электрической сети. В Windows используется тип доступа USB-to-Serial,  а это значит, что нам необходимо сделать соответствие USB-устройству в Linux COM-порту для Wine.
В первую очередь, нам необходимо убедиться, что USB-устройство доступно из Linux. Используем команду lsusb и видим в перечне наш ИБП:

$ lsusb
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 002: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 005: ID 0d9f:0002 Powercom Co., Ltd
Bus 004 Device 004: ID 073a:2230 Chaplet Systems, Inc.
Bus 004 Device 003: ID 0d62:001c Darfon Electronics Corp. Benq X120 Internet Keyboard Pro
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Далее посмотрим перечень устройств с подключенным ИБП и без него командой
ls /dev/

заметив, что при подключении ИБП появляется устройство ttyUSB0 .

Сделаем символическую ссылку на это устройство для Wine:

ln -s /dev/ttyUSB0 ~/.wine/dosdevices/com2

После этого, наше USB  устройство будет доступно для Wine как COM2.
Устанавливаем программу обычным способом, после чего утилита для мониторинга доступна в трее, и видит наш ИБП как подключенный к COM2.

5 комментариев Доступ Wine-программ к USB-портам в Linux. Мониторинг ИБП Powercom.

  1. Anonymous:

    а прошить таким макаром можно?
    просто например сонерик нужно отключать перед прошивкой и подключать когда укажет флэшер.

  2. Проверить бы фирменной утилитой, видится ли телефон вообще, а вот гарантии давать боюсь по этому поводу.

  3. Anonymous:

    в крайнем случае хрюшка на виртуалке спасет
    уже прошивал так

  4. а ели мне наоборот, надо com порт в работу? пол-дня сегодня потратил, не видит wine com порт для одного приборчика… виртуал неохота ставить.

  5. Андрей:

    Добавлю еще, как человек, искавший решение для схожей проблемы. Может понадобиться ввести «sudo adduser $USER dialout» для того, чтобы все заработало!

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *