Introduction: GPS on My Toughbook
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:
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.
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.
# GPS (USB /dev/ttyACM0)
server 127.127.28.0 minpoll 4 maxpoll 4 prefer
fudge 127.127.28.0 refid GPSd
fudge 127.127.28.0 time1 0.065
and restart the ntp deamon
systemctl restart ntpd
You'll see whats going on with
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.