# Compatible GPS Receivers



## z3R0 (Jul 1, 2014)

I'm looking for GPS receivers that are compatible with FreeBSD. Any recommendations?

Preferably one that will work with the APU1C4 board/kit: http://store.netgate.com/kit-APU1C4.aspx or an ARM SOC.

Here are some GPS modules/SOCs that I've found but I don't know if they will work with FreeBSD:

EM-506 GPS
http://microcontrollershop.com/product_info.php?products_id=2768

ME909u-521 Mini-PCIe
http://consumer.huawei.com/en/solutions/m2m-solutions/products/tech-specs/me909u-521mini-pcie-en.htm

Various
https://www.sparkfun.com/categories/17

Embedded GPS Module WI-GPS-XX
https://www.saikosystems.com/web/p-7-embedded-gps-module.aspx

Embedded GPS/ GALILEO Mini PCIe Card
http://www.advantech.com/products/1-2R51YB/EWM-G107H/mod_8f0b0008-13df-4c3a-b8bc-b25e88452ce6.aspx

GPS Receiver (VL-MPEu-G2)
http://www.versalogic.com/products/DS.asp?ProductID=240


----------



## worldi (Jul 1, 2014)

The GPS in the Ericsson F5521gw mobile broadband module (aka Dell DW5500 or Hewlett-Packard HS2340) works fine (but requires a little help to do so).


----------



## z3R0 (Jul 1, 2014)

worldi said:
			
		

> The GPS in the Ericsson F5521gw mobile broadband module (aka Dell DW5500 or Hewlett-Packard HS2340) works fine (but requires a little help to do so).



Thanks, I saw some on eBay. Hopefully its still being mass produced/supported. I'm looking for an OEM part and manufacturer that is actively developing. If I can't find one that*'*s support_ed_ by FreeBSD out of the box then I'll have to figure out how to write a FreeBSD driver to at least pull the data out realtime and store it.

I'll need a good book/guide on FreeBSD embedded/driver programming though. Haven't done any low level code/driver code.


----------



## wblock@ (Jul 2, 2014)

Don't most GPS receivers just have a line-level serial interface?


----------



## asteriskRoss (Jul 2, 2014)

@z3R0, I'm trying to make the time to work my way through FreeBSD Device Drivers: A Guide for the Intrepid by Joseph Kong.


----------



## z3R0 (Jul 2, 2014)

wblock@ said:
			
		

> Don't most GPS receivers just have a line-level serial interface?



This looks interesting:

*Serial and UART Tutorial*
http://www.freebsd.org/doc/en/articles/serial-uart/

*HUAWEI MU609 HSPA LGA Module - AT Command Interface Specification*
http://download-c.huawei.com/downlo...54&version=28296&siteCode=worldwide&view=true

*HUAWEI MU609 HSPA LGA Module (mini pcie gps hardware)*
http://consumer.huawei.com/en/solutions/m2m-solutions/products/tech-specs/mu609mini-pcie-en.htm

So, if I'm understanding correctly, I would need to connect to the GPS module via tty and send AT commands to pull the data? The AT specification PDF above, mentions an UART port. Would that be access over tty and or a generic UART driver?


----------



## z3R0 (Jul 2, 2014)

asteriskRoss said:
			
		

> @z3R0, I'm trying to make the time to work my way through FreeBSD Device Drivers: A Guide for the Intrepid by Joseph Kong.



Planning on picking this book up ASAP. Thanks!


----------



## z3R0 (Jul 2, 2014)

worldi said:
			
		

> The GPS in the Ericsson F5521gw mobile broadband module (aka Dell DW5500 or Hewlett-Packard HS2340) works fine (but requires a little help to do so).



So if I'm reading the script correctly, its sending AT commands to the device and re-directing output to a log file which is then read by the gpsd daemon (http://www.catb.org/gpsd/) for parsing?

So in theory I should be able to do the same with any GPS module?


----------



## wblock@ (Jul 2, 2014)

Can't say I've done much with it, but that was my understanding.  Get an FTDI 5V or 3.3V USB to serial adapter, then pretend it's a standard serial device.  The Sparkfun "FTDI Basic" modules (or equivalent) are nice because they have LEDs, but there are also cables that integrate the USB to serial chip.


----------



## worldi (Jul 3, 2014)

z3R0 said:
			
		

> So if I'm reading the script correctly, its sending AT commands to the device and re-directing output to a log file which is then read by the gpsd daemon (http://www.catb.org/gpsd/) for parsing?


Basically, yes. But it's sending the data to a pseudo terminal, not to a log file. This pseudo terminal serves as a proxy.

The script solves two major problems:

The card's GPS needs to be initialized via AT commands, and
As soon as the serial device (/dev/cuaU2) is closed the initialization is "lost"



			
				z3R0 said:
			
		

> So in theory I should be able to do the same with any GPS module?


Presumably, but I haven't used any other GPS module with FreeBSD. Such a script should not be required if the GPS device works "out of the box" (i.e. without the need to send AT commands or perform similar magic in order to initialize it). Just telling gpsd which device to use should be enough in such a case.


----------

