[Wine] program fails to enumerate COM ports

Martin Gregorie martin at gregorie.org
Sat Jul 18 15:45:01 CDT 2009


On Sat, 2009-07-18 at 14:13 -0500, leniviy wrote:
> Martin, do you have anything here:
> HKEY_LOCAL_MACHINE\Hardware\DEVICEMAP\SERIALCOMM
>
No, nothing.

> or
> HKEY_LOCAL_MACHINEH\SYSTEM\CurrentControlSet\Control\DeviceClasses\{86e0d1e0-8089-11d0-9ce4-08003e301f73}
> ?
> 
No, nothing. 

This is a vanilla install with no registry changes or winetricks.
Grepping *.reg in the uploader's Wine prefix doesn't find any lines
containing HKEY_LOCAL_MACHINE. 

I need to use the
 
8250.nr_uarts=6 

GRUB boot parameter so the kernel can see all six serial ports UART is
the generic name for the serial port chip, so this parameter tells the
kernel to use up to 6 serial ports implemented with Intel 8250
compatible UARTs. This tested by interrupting the boot and editing the
boot parameters and, if it helps, made permanent by editing the "kernel"
line in /boot/grub/grub.conf

I also needed to add 

vm.mmap_min_addr = 0

to etc/sysctl.conf to let WINE run in DOS emulation mode, but that may
not be needed by your program.

> I guess there are several ways for a program to detect com ports. Some
> don't work under wine though.
>
Scarcely surprising when you discover just how poorly serial ports are
supported by DOS and earlier Windows versions up to Win98 - I know
nothing about the innards of anything more recent than that. The BIOS
doesn't contain anything useful either, so serial port discovery was
pretty much left as a roll-your-own exercise for the authors of programs
that used them.

> I wonder whether LG PC Sync uses some windows API or scans the
> registry itself. When less busy, will try to recreate all the needed
> keys.
>
I've written DOS programs that used serial comms, but only by buying a
third party serial comms library package, though I suppose I could have
also swiped code from MS-Kermit.

Martin






More information about the wine-users mailing list