Well, as it happens, I was working on more or less the same thing recently (getting a Holux GR-213 to work under wine). I noticed the unimplemented ioctl and the unimplemented set_queue_size stub in wine. I don't think the wine unimplemented stub is relevant.
Originally Posted by shotgunefx
As for the unimplemented ioctl... here's a version of the pl2303 driver that adds support for TIOCGICOUNT. No guarantees that it's correct. It actually didn't work for me, but I think I may be having other unrelated problems because I was testing it from within VMware on my Mac (I suspect so, because even gpsd wasn't working reliably). Let me know if you have better luck!
Damn, I wish I knew that before I spent all those hours trying to get it to work and before cutting up my GPS (which was molded into a piece for the car).
Originally Posted by Tidder
It looks like TIOCGICOUNT went from being implemented, to unimplemented after version 0.9.6.1
If you look at the function get_irq_info in 1.0, wine/dlls/ntdll/serial.c (line 870), you can see it changed. I wonder where the define for TIOCGICOUNT is.
It's in the kernel header <asm/ioctl.h>, so should always be defined. The code for get_irq_info seems equivalent in the two versions except for returning a different error code. Maybe that's enough to fix it...
Originally Posted by shotgunefx
Originally Posted by clam
Basically the change is the addition of
at the top of the function, I assumed they undefine it somewhere or otherwise, I would think the rest of the code would run as before. OTOH, my USB gps is in pieces at the moment, but if anyone cares to try it out, you could try building wine from source and changing the two lines in get_irq_info regarding the status, though they might have made other changes, diff is your friend ;)
NTSTATUS status = STATUS_NOT_IMPLEMENTED;
tidder, does ig3 still work for you? I can't get it to work anymore. can you find out what version of wine, and what kernel version you are using? Also, are you using udev, or the old static dev?
The frustrating thing for me is that it used to work on another build I had.
It only works for me using wine 0.9.54 iirc. Any wine version after that broke prolific serial to usb support for me.
I'm using ubuntu 8.04, which I think is kernel 2.6.24.
iGuidance 4.0 under WINE
Hi guys, I have started to play around with my (free!) eeePC and a cheapo GPS stick I had (usb uPOD, with ATMEL chipset).
I can get every Linux GPS app to run fine with it, but they don't fit my needs.
So I started the quest to get a windows app running under WINE.
I had no problem to install iGuidance under the latest WINE (1.1.11). I also made a link from the GPS (/dev/ttyACM0) to com1. This seems to work fine, because in windows I can use any terminal emulator and connect to the com1 port and see the NEMA data being spitted out.
For a reason I don't get, even when I force iGuidance to use the com1 and the right baudrate I still get the "waiting for GPS" message.
Anyone has something to suggest?
It is because iGuidance asks for all of the information regarding the serial port your GPS receiver is connected to, including IRQ, which, depending on the chipset used by your GPS receiver, may or may not be returned by the kernel driver. Wine doesn't know what to do if it can't find the requested information, so it times out the request. The solution is to install wine <= 0.9.22, or apply this patch: http://bugs.winehq.org/show_bug.cgi?id=8783#c46 to dlls/ntdll/serial.c (may need to be modified, depending on the version of wine you are applying it to; open the file in a text editor, find 'status = get_irq_info(fd,', then remove the lines marked '-', and add in the lines marked '+'). By the way, this particular thread indirectly helped me find that bug report at wineHQ, which led me to Damjan Jovanovic's fix, leading me to update his patch to work on newer versions of wine, which, hopefully, should fix peoples' issues with USB serial connectivity. Hope that helps!
Originally Posted by fprigge
Ok, so I too had this working a while back and dont exactly remember what i did that made it work. But I'm hoping someone here my be able to give a tip, catch a flaw in my logic, or just something i missed? below is what i've tried and I'm open to suggestions! does anyone still have this working?
test computer: ibm x40 laptop
gps: globalsat bu-353
the gps is recognized and the the usb->serial module is loaded and the /dev/ttyUSB0 device is created and `cat /dev/ttyUSB0` produces output [garbled weird characters but output none the less]
i have created the symlink from /dev/ttyUSB0 to ~/.wine/dosdevices/com1 and permissions are fine
version 0.9.54 from gentoo ebuild - failed- fixme:comm:set_queue_size insize 1024 outsize 256 unimplemented stub
version 1.1.14 from source with patch [manually applied] from hotspons - failed- fixme:comm:set_queue_size insize 1024 outsize 256 unimplemented stub
version 0.9.53 from source - failed - fixme:comm:set_queue_size insize 1024 outsize 256 unimplemented stub
When using wine do I need to REINSTALL iG3 every time i try a new version of wine? or can i use the same windows executable [ie iGuidanceUMPC.exe installed with the first install of wine v0.9.54]?
i have iG4 but i'm not ready to tackle that, really just want to get iG3 working for now