Introduction: GPS on My Toughbook

About: Hi, my name is John. My hobby is to solve problems from other people and creating nice and functional stuff out of trash. I'm living in Germany so excuse my not so fluent English (some technical terms are hard…

I've got a great laptop from my wife. It's a Panasonic Toughbook CF-53 which is
the best solution for me. I'm running Linux and use the computer mainly for my projects. Which means that I often don't take care of the equipment. Also I'm quite often outside or on the road in Europe. Normally I use my mobile to get an idea where I am but from time to time I have no cellular connection when I have to refresh the map. Of course there are Apps to solve the problem but I hate the devices especially the one with an banana on the back (Place it on the table --> cracked display ;-)). To overcome the bad devices I planed to implement a GPS into the Toughbook. I'll illustrate how to change the HW and setup the module for my Manjaro Linux to use as many functions as possible.

Step 1: Choose the Right Hardware

I've tried the GOBI2000 which is normally build in in the Toughbooks.

- The mini-pci card is cheep

- has also some cellular thing ongoing


- Doesn't work (It is possible to get it running on Linux but it is a mess)

Then I got my hands on a Versalogic VL-MPEu-G2 GPS which is mainly a ublox Neo-7N-0-002. This thing worked nearly out of the box but the lid of my toughtbook can't be closed due to the height. So heat up the iron and remove all unnecessary stuff. Like the Battery and some connectors. Also I overshrinked the cellular antenna.

more information for the Versalogic:

More inforamtion for the neo7:

Step 2: Strange Things for the BIOS

first of all I had the problem that I haven't seen the devices coming up as either a pic or a USB device
The neo will come up as a USB device so you can try "lsusb" for that. But as mentioned the device was not listed. After some decades in the Internet I've found out that the PCI slot was turned off by default. (I've used a multimeter for this)

Directly out of the manual: The W_DISABLE# signal on pin 20 of the Mini PCIe connector can be used to turn module power off. When the signal is high (default),power is on. When the signal is low, the board is powered off. This is useful for very low power applications.How this signal is controlled depends on the board on which the module is installed. The intended use for this signal is to turn off transmitters on wireless modules,so the use on this module is not normally supported by standard drivers.

To enable the mini-pci port you have to boot into bios there go to "Optional Kit Configuration" you'll be asked for a PW use "toughkit" (I've found it somewhere in the net) There change the code to 04 hex... Now after a save and restart the pci slot is powered on and with


you should find something

Bus 001 Device 004: ID 1546:01a7 U-Blox AG [u-blox 7]

Step 3: Get GPSd Running

First of all install gpsd:
pacman -Ss gpsd then add the corresponding device to the gpsd-config for me it is the "/dev/ttyACM0"

You have to open the config and add accordingly. Also helpfull the -n option to search for signal also before a client is connected:

joe /etc/gpsd

and look for



then you have to enable and start gpsd

systemctl enable gpsd

systemctl start gpsd

now the deamon should run

Step 4: Get the First Respond

You can use gpsmon in the terminal to get some information shown in a way you can't use for anything.
But you can see if the thing is working or not. To install use

pacman -Ss gpsmon

after a successful installation you can simply start it with


There you can see the position time and other stuff.

Step 5: Get Navit Running

You can use navit to show your position on a map. (Everything I want) Also possible a turn by turn navigation. (I'll need this function in my new Truck... in 10 years)
To install navit use

pacman -Ss navit

To get navit working with offline maps you need to download the maps and add the path to the config.

joe /usr/share/navit/navit.xml

Look for the line:

<!-- Mapset template for openstreetmaps -->

to add the offline maps

Also make shure that you have enabled gpsd as input device:

<!-- Vehicle with GPS enabled on unix -->

To download the map you can reffer to this page:

Step 6: Add the Time to NTP

To also use the time on your system you have to add some lines to the ntp.config this allows much better and precise timing on you system.

joe /etc/ntp.conf

and enter:

# GPS (USB /dev/ttyACM0)
server minpoll 4 maxpoll 4 prefer

fudge refid GPSd

fudge time1 0.065

and restart the ntp deamon

systemctl restart ntpd

You'll see whats going on with

ntpq -p

Step 7: Increase You Entropy Pool... Still Has to Be Done

Right now I'm playing around to use the signal strenth and other stuff to increase the entropy pool from my machine.

I don't have it done jet but I started to understand all the topics but still no solution.

I've installed tng-tools and use gpspipe for the raw data from the gps receiver.

pacman -Ss rng-tools

gpspipe -R > test.txt

sudo rngd -f -r test.txt

This will be done at some point.