Tuesday, December 22, 2009

Enabling GPS On The UNDP-1 Gobi 1000 Module

Sorry about the delay, the Holidays and an impending ice storm are slowing me down but here is a step by step tutorial on enabling the GPS on the UNDP-1 Gobi 1000 module. This will be Acer One specific but the steps should be essentially the same for any brand/model that uses the Gobi 1000 module but doesn't have the GPS enabled by the OEM. I didn't write any of the software being used, it's all Freeware that I just managed to tie together into a nice neat 'one click' solution

The heart of the system comes from the creator of the MWconn Connection Manager http://www.mwconn.com and is an 'extra' from their Wiki. The Wiki is in German, you can use a translator like I did http://translate.google.com but you should be able to identify and download the program without translating http://www.mwconn.info/wiki/index.php/Qualcomm The program you want to download is MWqcgps.exe ... Now make a new directory for it, I used C:\maps and gps\enable gps ... Find the QCWWAN.dll file, on the Acer Ones it is in the C:\Program Files\Acer 3G Connection Manager\bin\ directory, other users will find it in the folder for their 3G connection manager. Make a copy and place it in the '\enable gps\' directory where you put MWqcgps.exe

Next we need to create some virtual com ports, go to http://www.eterlogic.com/Downloads.html and download the
Virtual Serial Ports Emulator. This is a very nice, easy to use port emulator that's completely free in the 32 bit version. Install the program and start it up. First we need to create a virtual pair to tie to the output of the MWqcgps program. Click Device -> Create and choose 'Pair' from the dropdown list and click 'Next' .... Here we assign com ports to our virtual pair, since we won't actually be hooking our mapping programs to either we'll give them a high Com number to reserve the lower for Com ports used by various USB devices and created and enumerated on the fly. Port 1 will be COM20 and port 2 will be COM21 ... Hit the Finish button. Now go back to Device -> Create and choose Splitter from the dropdown list and click Next. Here we set our com port numbers again. The first will be the port we tie our mapping software to. I like to use a low Com number so it's compatible with older and Freeware programs so I left mine as COM1. The second is the output from our virtual pair, set it for COM21 and click finish. Now choose File -> Save as and save it as GPS_Port.vspe in the same directory as the others, 'C:\maps and gps\enble gps\' in my case. Now right click the GPS_Port file and create a shortcut. Right click the shortcut and choose Properties. In the target box type < "C:\Program Files\Eterlogic.com\Virtual Serial Ports Emulator\VSPEmulator.exe" -minimize -hide_splash "c:\maps and gps\enable gps\GPS_Port.vspe > Note the quotation marks, they are necessary ... Now in the Start In box type < "C:\Program Files\Eterlogic.com\Virtual Serial Ports Emulator\" > .... Next place this shortcut in the Startup folder of the Start Menu so it will automatically load on boot.

Next open Note Pad and type * CMD /k MWqcgps 1 > \\.\COM20 * (without the astericks) and save it as GPS.bat in the same folder as the other files 'C:\maps and gps\enble gps\' .... Right click on it and create a shortcut, place the shortcut on your desktop, you can also choose an attractive Icon for it. This little batch file enables the GPS on the UNDP-1 Gobi 1000 module and redirects the output to COM20 of the virtual pair we set up earlier. OK there is just one more thing left to do before we are ready to use it. Go to the Control Panel and choose 'System' and select the 'Advanced' tab. At the bottom click on the button that says 'Environment Variables' and in the bottom box highlight the 'Path' variable and click the Edit button. Append the line in the second box with < ;C:\maps and gps\enable gps >

Reboot your computer, make sure the 3G is turned on and click the GPS shortcut you made. This will open a DOS window and is running but since we redirected the GPS output to the virtual port you don't see anything except the command. As long as there is no error message or flashing Command Prompt you are OK. Now hook your mapping program to COM1 (Or whatever you chose) and you should be good to go, most mapping programs have a utility that shows the NMEA data or shows the satelite postion and shows your GPS coordinates. Make sure you are either on the top floor of your house or better yet out in the clear. To stop the program in the DOS window hit Ctrl and 'C' at the same time and close the window. Since we also created a splitter we can hook up to 8 mapping programs at a time and since it's all virtualized they all will use COM1

Next I'll show you how to use another Freeware program that will automatically send the DOS window to the tray where it's out of the way yet accessible so you can turn it off. If you gave your GPS shortcut a pretty icon, it will show up in the tray making for a nice looking professional setup


Anonymous said...

Thanks alot for your article!

With your info I was able to enable GPS on my HP Mini 5101 with its integrated Gobi UMTS module.

Just FYI: On the Mini 5101 no VSPE is needed, the virtual COM Port is enabled by default without any additiopnal software. The related COM-Port number can be identified via the Windows Device Manager. So for me the DLL and the EXE from MWconn was enough to get it working.

Bye, Arndt.

Anonymous said...

Thank you for this information. It worked for me. But I have some extra information. You don't need a serial port emulator and you don't need to send the information from the MWqcgps program to a serial port. At least with my driver version.

I have a HP un2400 with driver version 3.00 rev D and HP connection manager A. When i execute 'MWqcgps 5' on the command line, the NMEA COM-port, that is already installed by the driver, starts to send NMEA data. You can recognize it by the name: 'HP UN2400 Mobile Broadband Module Device'. There als is a COM-port named 'HP UN2400 Mobile Broadband Module'. Thats not the one.

J.R. said...

The Acer drivers put an entry into the Registry for COM 4 and 5 basically just to keep another device from using those COM ports numbers but the ports themsleves aren't enabled.

I did get them kinda working using Dell (I think) drivers but the drivers are double BIOS locked so it's nearly impossible to hack another OEM's driver to your brand.

Anonymous said...

I got it working kinda the dos window shows it working tried to get streets and trips 2010 going but it doesn't see it


J.R. said...

Streets and Trips doesn't work due to Microsoft's poor implementation of NMEA0183 Standards. I believe the work around would be to make the virtual port show up in the Registry and Device Manager as a COM port which I haven't figured out how to do yet and haven't had the time to pursue since I now use DeLorme on the rare instance I use this in an auto and this hack works with all my main programs (OziExplorer, Fugawi Marine ENC, and Dr Depth) which was my main goal. I'll probably look into this further this Winter when I can't fish or use my boat.

Anonymous said...

Nice article. However I still have trouble enabling the GPS.

I have the hp un2400 (gobi 2000?) on a hp 5310m.

Is for you the GPS location information always available or only when the modem is connected to internet?


J.R. said...

If I remember right, and it's been a while, you can just type < CMD /k MWqcgps > in the DOS window command prompt and you should see GPS data streaming in the window instead of being piped to the virtual COM part

I've had other un2400 users tell me this worked for them, in fact one of them commented on this post saying he got it to stream off the dummy ports the drivers create (I think it's COM 5) which is what I was hoping to get my Acer to do originally but it wouldn't so I piped it to a virtual port.

So another thing you can try is just type < MWqcgps 5 > and hook you GPS program to COM 5. Please note also I couldn't get Streets and Trips to hook up. It worked for all my other programs, in fact after I got used to the setup I was running 3 GPS programs (OziExplorer, Fugawi Marine ENC, and Dr Depth), two that also logged depths, all at the same time all the time my boat is in motion.

Anonymous said...

Has anyone documented the control interface for the HP un2400 to enable the GPS and get NMEA strings from it. I want to use it with an HP Netbook running Unbuntu remix.

J.R. said...

Not in Linux. In fact a year ago I couldn't get it to work as a modem, much less mess with the GPS under Linux

Under Windows all you would need to do is follow the procedure I documneted

bingchenzo said...

anyone else having issues with the stream being lost after a system hibernate?

any thoughts how to restore it elegantly? is it possible, or does the dll need to be stoppped and restarted?

J.R. said...

The Gobi 1000 is a USB device and like most of them it doesn't come out of sleep very well. You basically have to turn the WWAN and GPS Enable off and back on again to get it to re-initialize.

It's a pain but my USB GPS pucks are the same way, I usually have to unplug and plug them back in to get them to initialize. I have a pair of USB HDTV tuners on my main system and sometimes I'll lose one of them on a wake up and have to reboot the computer to get working again. That really sucks because it's suppose to be able to wake up and record a show and every so often you get nothing. It's tough to troubleshoot because the machine goes back to sleep so when you turn it back on you just notice no recording and think it just didn't wake up like it should.

Anonymous said...
This comment has been removed by a blog administrator.