gpsinit — initialize CAN kernel modules for GPSD


gpsinit [-n control] [-s speed] module_name [interface_name]

gpsinit -h

gpsinit -v


gpsinit initializes whatever kernel-level modules are needed to enable special non-serial hardware to communicate with a gpsd instance. Note: it will need root permissions to load modules and perform other special operations, such as changing kernel-interface baudrates.

At present, all modes of this tool are concerned with setting up kernel-level interfaces to hardware on a CAN (Control Area Network) speaking NMEA2000.

The program accepts the following options:


Display a brief help text.


Display the version of gpsinit.


Set the CAN network number. The default is 0.


Set the baudrate to be used to communicate over the serial line to the CAN hardware. The default is 38400 baud.

The parameter module_name is mandatory. The socket CAN driver module module_name.ko will be loaded. gpsinit recognize the following module names:

plx_pci, esd_usb2, vcan, slcan

The parameter interface_name and -s speed can used here.


The dcan module needed for the beaglebone is part of the Linux kernel, so no module is loaded in this case.

The parameter interface_name is needed for slcan hardware only. It gives the name of the serial device to which the SL CAN hardware is connected. The default is /dev/ttyUSB0.


sudo gpsinit plx_pci

Attempt to load the module plx_pci and initialize net 0 for the connection to a NMEA2000 network. It will set the baudrate to 250kBits.

sudo gpsinit -n 1 plx_pci

As above, but use net 1.

sudo gpsinit -s 38400 slcan /dev/ttyUSB0

Attempt to load the module slcan and talk to the hardware at 38400 baud connected to port /dev/ttyUSB0.

gpsinit -h

Display a brief help message.

gpsinit -v

Display the version of gpsinit.


gpsd(8), gps(1), libgps(3), libgpsd(3).


Reinhard Arlt .