Serial Port Access in Wine Troubleshooting

Revision as of 17:58, 16 February 2024 by Admin (Talk | contribs)

Identify the serial port for the device. in /dev you should see the following: /dev/ttyUSB0 then identify and inspect the port with the device connected and on.

tty -F /dev/ttyUSB0 -a

Once you know it exists and you can communicate with the device through Linux (the host operating system) you can continue.

Make sure your user (you) are a member of the dialout group

sudo adduser nicolep dialout

Wine (current versions >3) detects ports when it is run. You should look in ~/.wine/dosdevices folder for links to tty ports.

According to this source, Why can't applications under Wine access serial ports? By default, Wine does not provide direct access to serial ports on the host system. This is because accessing hardware devices directly can be a security risk and may interfere with the stability of the system. Therefore, Wine restricts access to certain resources, including serial ports.

Following their instructions

sudo vi ~/.wine/system.reg 

Look for "Serialcomm" and E486: Pattern not found rendering usercomp.com advice absolutely useless.

After doing chmod 666 /dev/ttyUSB0 and editing ~/.wine/system.reg then restarting the ~/.wine/system.reg edits manually made were gone and new entries for serial ports became available. An entire section looking like this:

[Hardware\\Devicemap\\Serialcomm] 1708127074
 "\\Device\\Serial0"="COM1"
 "\\Device\\Serial1"="COM2"
 "Serial0"="COM1"

Except with many more entries than this sample was auto generated.

Just "some" software executed in wine will see the serial port if it can be manually entered into the software. Still very flaky!


references

Last modified on 16 February 2024, at 17:58