четверг, 10 марта 2016 г.

Wine & COM

Треба було запустити в Убунті програмку Axesstel щоб міряти рівні на CDMA модемах. Програмка віндова, легесенька, думав, в вайні полетить пташкою... Полетіла... Але ця клята потвора зовсім не бачить COM порти...
Після довгого куріння манів (аж у горлі задерло) прийшов до такого вирішення проблеми:
Коли втикаєш модем в /dev з'являються три пристрої:
ttyUSB0
ttyUSB1
ttyUSB2
Робимо для них лінки в теку .wine/dosdevices:
ln -s /dev/ttyUSB0 ~/.wine/dosdevices/com1
ln -s /dev/ttyUSB1 ~/.wine/dosdevices/com2
ln -s /dev/ttyUSB2 ~/.wine/dosdevices/com3

Але цього замало. Бісов Вайн дивиться не в теку dosdevices, а в свій реєстр. Через regedit нічого не вноситься. Тому відкриваємо файлика ~/.wine/system.reg і пишемо наступні матюки:

[Hardware\\Devicemap\\Serialcomm] 1231984861 @="" 
"Serial0"="COM1" 
"Serial1"="COM2" 
"Serial2"="COM3"

Зберігаємо. Запускаємо Axesstel. Tool -> Setup -> Searching Port. І, диво!, клята програмка бачить COM порти! Копирсаємось в них, знаходимо той, що потрібен і - БІНГО! програмка працює!