Hello world,
Because happiness is shared,
Good news! ipaq module was develloped for SIRF chipset used by many gps.
I have tested ipaq module with my USB Magellan triton 200
Many peoples search an easy solution for this device
and a lot of pray for.
for example:
http://www.tritonforum.com/forum/search.php?keywords=linux+triton&terms=all&author=&sc=1&sf=all&sk=t&sd=d&sr=posts&st=0&ch=300&t=0&submit=Search
So, bellow i write a mini Howto for world Triton's users.
Many people like me, get a Magelan Triton 200 USB Gps device,
plug it on PC I386 with GNU/Linux installed
But they play before to pray and it don't display position on your prefered system.
We just need to know what chipset is inside Triton, and if exist adapted driver.
You can install it easily on a fresh configuration like mine:
Linux ubuntu 2.6.32-26-generic #48-Ubuntu SMP Wed Nov 24 09:00:03 UTC 2010 i686 GNU/Linux
First, open three bash terminal,
To get informations from kernel, type in the first the command:
user@ubuntu:$ tail -f /var/log/messages
in the second bash terminal, try listing usb device using lsusb command:
user@ubuntu:$ lsusb
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Nothing! But Normal, just a check if you're WEST.
Plug your triton 200 on the USBus and swich it power ON.
Set your Triton 200 keyboard, pushing the menu button, choose view, Setting, Connectivity, select "NMEA USB". and ESCape to validate.
For information, triton is by default connected at 9600,8,N,1
in the same bash terminal, try lsusb again:
user@ubuntu:$ lsusb
Bus 001 Device 003: ID 120f:5260 Magellan Triton Handheld GPS Receiver (300/400/500/1500/2000)
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Normaly, the new device appear indicate the Vendor in six field, Vendor ID is 120f and Product ID 5260
Now, in the thirth terminal, insert usbserial module with your good vendor and product options.
This, will create the serial port (/dev/ttyUSB0 because triton is pluged and power is on)
user@ubuntu:$ sudo modprobe usbserial vendor=0x120f product=0x5260 debug=1
Check presence and look long kernel debug messages on console number two:
user@unbuntu:$ ls /dev/ttyUSB0
or
user@unbuntu:$ ls /dev/ttyUS1
Because your Magellan triton 200 use a Sirf chipset
http://linux.die.net/man/1/sirfmon
We buy, we pray, we supply, we write, modify or search a code driver's programmer.
Normaly, for simple user this operation do need to be inverse.
We need buy only free open Tux shared Compliances supported products.
After plug, and because USB is PnP, don't forget to Pray!
user@unbuntu:$ sudo modprobe ipaq vendor=0x120f product=0x5260 debug=1
Thank to ganesh@veritas.com
May be we don't need to specify Vendor and product id for this module.
But i don't try without these options.
Check inserted modules:
user@unbuntu:$ lsmod | grep ipaq
if you wrong, remove the module with
user@unbuntu:$ sudo rmmod ipad
or
user@unbuntu:$ sudo rmmod usbserial
and reinsert it with good parameters
Now, you can try display NMEA messages on a termninal:
user@unbuntu:# cat /dev/USB0
If you are spirit, this 'll display NMEA messages.
http://en.wikipedia.org/wiki/NMEA_0183
$GPGSV,3,1,01,24,28,297,44,,,,,,,,,,,,*4A
$GPGSV,3,2,01,,,,,,,,,,,,,,,,*79
$GPGSV,3,3,01,,,,,,,,,,,,,,,,*78
$GPGLL,i'm here,N,local,E,171713.250,N,V*40
$GPGGA,171713.25,i'm here,N,coucou,E,0,00,0.0,00159,M,00049,M,,*5C
$GPRMC,171713.250,V,I'm here,N,on home earth,E,0.00,0.0,071210,,*20
$GPGSA,A,1,,,,,,,,,,,,,,,*1E
$GPGSV,3,1,01,24,28,297,44,,,,,,,,,,,,*4A
$GPGSV,3,2,01,,,,,,,,,,,,,,,,*79
$GPGSV,3,3,01,,,,,,,,,,,,,,,,*78
$GPGLL LAT,N,LONG,E,171714.250,N,V*47
$GPGGA,171714.25,hello,N,world,E,0,00,0.0,00159,M,00049,M,,*5B
$GPRMC,171714.250,V,LAT,N,LONG E,0.00,0.0,071210,,*27
$GPGSA,A,1,,,,,,,,,,,,,,,*1E
^c
many kernel messages in the other console runnnig: tail -f /var/log/messages
can inform you what append.
Normaly you are happy, but you need to do a little more to play. (Don't forget to play):
To automatise the plug and pray, add two line in options.conf
user@unbuntu:$ sudo bash
[sudo] password for user:
Now, edit vith emac, nano, vim, emacs or any editor you like
root@ubuntu:$ vim /etc/modprobe.d/options.conf (it's a new file for me)
--------------------------------------------------------------------------
options usbserial vendor=0x120f product=0x5260
options ipaq vendor=0x120f product=0x5260
--------------------------------------------------------------------------
PS: next reboot, comment the second line and check ourself if ipaq need options
Because you don't want each time insert manually module in memory around kernel:
you need to modify a second file:
--------------------------------------------------------------------------
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
loop
lp
# for triton GPS:
usbserial
ipaq
----------------------------------------
Now, you can flush memory by doing a cold reboot and play with plug&pray and
using gpsd, xgps, google earth, opencpn or any applications you like
If all is fine, you need to remove debug=1 options from /etc/modprobe.d/options file
else, check your connections && goto "hello wolrd"
Other info:
apt-get install hwinfo && hwinfo
http://www.armadeus.com/wiki/index.php?title=USB_Gadget
if you want more, and if you know what you do,
install the linux-source
look in /linux-source-2.6.32/drivers/usb/serial/ipaq.c
i think we can add something like that somewhre
{ USB_DEVICE(0x120f, 0x5260) }, /* Magellan Triton Handheld GPS Receiver (300/400/500/1500/2000) */
for the moment, I'm not sure, so after complilation and test, i'll send somes mail to ganes@veritas.com
...