You forgot /etc/preinit.d/M50gpsapp in the instructions, although you are mentioning it later on

Also car_rate=4800 is not necessary, as only the player pays attention to that option. And as there is only one serial port, the player should just keep it's hands off when gpsapp sets up everything for the gps. Which is why init has to be modified to start the player with -s-, and it is possibly advisable to have notify=0 in config.ini.

The M50gpsapp script uses 'incar' to check whether we're actually running in the car. This functionality could probably be moved into the next release of preinit (pretty please ). Or I could let gpsapp do the incar test and simply exit when we're on AC, but having a separate test is probably more flexible. Although the players reaction to various GPS messages when I accidently boot without using hijack to force car mode is definitely suprising and annoying.

The signal strength meter definitely works for TSIP. The other currently supported protocols (TAIP and Garmin) will never support it because I cannot find any reference to signal levels or satellite positions in the published protocol documentation. Considering the fact that trimbles can be reflashed to use TSIP, and Garmins have working NMEA output I guess those two protocols can be dropped at some point.

I just came up with a simple idea to test a whether a serial port is 0v/5v or -12v/12v. Hook up an led and a 1K ohm resistor so that it lights on the negative 12 volt of the tx line. If the led doesn't light, it's probably 0v/5v.

TX o---WWW----|<---o GND
_________________________
40GB - serial #40104051 gpsapp