Getting OBDGPSlogger to run on the Sheeva Plug
Okay, I'm moving the conversation about this from the Sheeva Plug Wishlist thread because it doesn't belong there anymore. This thread is about how to get OBSGPSlogger to run on the Sheeva plug. Right now, I'm stuck on step one.
Step 1 - Install GPSD
Obviously, you should install gpsd on the Sheeva using the apt-get install gpsd command to begin with.
However, I had an additional problem with the Ubuntu Linux that came on the Sheeva plug. It doesn't contain a particular library to talk to USB devices that use the ftdi driver. In my case, my GPS uses this and other devices like my OBDII device use ftdi. What is ftdi? It is simply a driver that converts USB data into a serial port that applications can read. The problem was solved by upgrading my Ubuntu to a newer version for the Sheeva plug (version 2.6.30.6) which includes the ftdi libraries. Instructions for upgrading your plug are here.
However, an additional complication arises because while the plug and OS now recognize the device, it cannot be accessed. The solution for this is to write a UDEV rule. On the Sheeva, there are two places for these rules: /etc/udev/rules.d and ALSO /lib/udev/rules.d. To get my gps to work properly, we had to create the following file called '40-gps.rules' in /etc/udev/rules.d
Code:
#KERNEL=="ttyUSB*", SUBSYSTEM=="tty", SUBSYSTEMS=="usb", ATTRS{idProduct}=="2303", ATTRS{idVendor}=="067b", SYMLINK += mygps
#KERNEL=="ttyUSB0", SYMLINK += mygps
SYSFS{idVendor}=="067b", SYSFS{idProduct}=="2303", SYMLINK+="mygps"[
This will construct a rules that will cause your device to show up in /dev as /dev/mygps. This is the device you configure gpsd to work with and you can change the configuration of the package with dpkg reconfigure gpsd to input the /dev/mygps as the device.
To confirm that gpsd is working with your Sheeva, type 'cgps' in the terminal and the system will report the status of the gps.
Step 2 - Install obdgpslogger
Ensure that libgps-dev is installed. (apt-get install libgps-dev)
Ensure that libgps17 is installed. (apt-get install libgps17)
Access the repository and download obdgpslogger and build it (this step requires you to install the gcc compiler and also svn)
Code:
svn co svn://svn.icculus.org/obdgpslogger/trunk obdgpslogger
cd obdgpslogger; mkdir build; cd build
cmake ..
make install
Test the install to see if it is working. Try:
If that works, dowload down-to-vista.db and (making sure you are in the same directory as down-to-vista.db, try:
Code:
obdsim -o -g Logger -s down-to-vista.db
Step 3 - Get the Sheeva Plug to Identify your OBDII device
Configure obdgpslogger to allow it to work with hotplug so it recognizes your device when you plug it in. Follow the instructions here and then come back.