Tag Archiv: ИБП

Доступ 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.