[UART] GPS 18-5Hz LVC and COM1 silence, OK on Linux though...

Colin House colin at restecp.com
Sun Apr 28 23:57:19 UTC 2013


On 29/04/2013 3:48 AM, Igor Mozolevsky wrote:
> Hi,
> I'm having issues connecting Garmin GPS 18 to COM1 on 9.1, I get
> nothing but silence. Identical setup works absolutely fine with Linux.
> I've got PPS wire connected to DCD, but that seems to make no
> difference on Linux, so I presume it shouldn't affect fbsd either.
...
>
> With FreeBSD, the story is different:
>
> # uname -a
> FreeBSD fbsd 9.1-RELEASE FreeBSD 9.1-RELEASE #0 r243825: Tue Dec  4
> 09:23:10 UTC 2012
> root at farrell.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  amd64
>
> # stty -f /dev/cuau0.init raw 4800
>
> # stty -f /dev/cuau0.init -a
> speed 4800 baud; 0 rows; 0 columns;
> lflags: -icanon -isig -iexten -echo -echoe -echok echoke -echonl echoctl
> 	-echoprt -altwerase -noflsh -tostop -flusho -pendin -nokerninfo
> 	-extproc
> iflags: -istrip -icrnl -inlcr -igncr -ixon -ixoff ixany -imaxbel ignbrk
> 	-brkint -inpck -ignpar -parmrk
> oflags: -opost onlcr -ocrnl tab0 -onocr -onlret
> cflags: cread cs8 -parenb -parodd hupcl -clocal -cstopb -crtscts -dsrflow
> 	-dtrflow -mdmbuf
> cchars: discard = ^O; dsusp = ^Y; eof = ^D; eol = <undef>;
> 	eol2 = <undef>; erase = ^?; erase2 = ^H; intr = ^C; kill = ^U;
> 	lnext = ^V; min = 1; quit = ^\; reprint = ^R; start = ^Q;
> 	status = ^T; stop = ^S; susp = ^Z; time = 0; werase = ^W;
>
> # cu -l /dev/cuau0 -s 4800
> Connected
>
> and after the 'Connected' there is just silence (should be getting
> $GPGLL every 200ms from the GPS unit)...
>
>
>
> Obviously I'm missing something, just can't figure out what it is...
>
>
> Cheers,
>


If it helps any, I've got the 18x LVC (not the 5hz model) working on 9.0.

clock# uname -r
9.0-RELEASE

clock# head /dev/cuau0
$GPRMC,234655,A,3353.4847,S,15112.0482,E,000.0,130.4,280413,012.5,E*65
$GPGGA,234655,3353.4847,S,15112.0482,E,1,05,1.2,51.9,M,20.2,M,,*66
$GPGSA,A,3,02,05,17,24,25,,,,,,,,2.2,1.2,1.8*38
$GPGLL,3353.4847,S,15112.0482,E,234655,A*35
$GPRMC,234656,A,3353.4847,S,15112.0481,E,000.0,130.4,280413,012.5,E*65
$GPGGA,234656,3353.4847,S,15112.0481,E,1,05,1.2,51.9,M,20.2,M,,*66
$GPGSA,A,3,02,05,17,24,25,,,,,,,,2.2,1.2,1.8*38
$GPGLL,3353.4847,S,15112.0481,E,234656,A*35
$GPRMC,234657,A,3353.4848,S,15112.0480,E,000.0,130.4,280413,012.5,E*6A
$GPGGA,234657,3353.4848,S,15112.0480,E,1,04,1.8,52.0,M,20.2,M,,*68
clock#


It's been a good while since I set it up so I can't remember exactly 
which hoops I may have had to jump through.

Not sure if any of this is particularly helpful/relevant or not..

clock# grep cuau0 /etc/*
/etc/devfs.conf:link    cuau0   gps1
/etc/devfs.conf:link    cuau0   pps1
/etc/remote:    :dv=/dev/cuau0:cu=/dev/cuau0:at=hayes:du:pa=none:
/etc/remote:cuau0c|cua0c:dv=/dev/cuau0:br#9600:pa=none:
/etc/remote:uart0|com1:dv=/dev/cuau0:br#9600:pa=none:

clock# stty -a -f /dev/cuau0
speed 4800 baud; 0 rows; 0 columns;
lflags: -icanon -isig -iexten -echo -echoe -echok -echoke -echonl
         -echoctl -echoprt -altwerase -noflsh -tostop -flusho -pendin
         -nokerninfo -extproc
iflags: -istrip -icrnl -inlcr -igncr -ixon ixoff -ixany -imaxbel ignbrk
         -brkint -inpck ignpar -parmrk
oflags: -opost -onlcr -ocrnl tab0 -onocr -onlret
cflags: cread cs8 -parenb -parodd -hupcl clocal -cstopb -crtscts -dsrflow
         -dtrflow -mdmbuf
cchars: discard = ^@; dsusp = ^@; eof = ^@; eol = ^@; eol2 = ^@;
         erase = ^@; erase2 = ^@; intr = ^@; kill = ^@; lnext = ^@;
         min = 1; quit = ^@; reprint = ^@; start = ^@; status = ^@;
         stop = ^@; susp = ^@; time = 0; werase = ^@;

clock# stty -a -f /dev/cuau0.init
speed 9600 baud; 0 rows; 0 columns;
lflags: icanon isig iexten echo echoe -echok echoke -echonl echoctl
         -echoprt -altwerase -noflsh -tostop -flusho -pendin -nokerninfo
         -extproc
iflags: -istrip icrnl -inlcr -igncr ixon -ixoff ixany imaxbel -ignbrk
         brkint -inpck -ignpar -parmrk
oflags: opost onlcr -ocrnl tab0 -onocr -onlret
cflags: cread cs8 -parenb -parodd hupcl -clocal -cstopb -crtscts -dsrflow
         -dtrflow -mdmbuf
cchars: discard = ^O; dsusp = ^Y; eof = ^D; eol = <undef>;
         eol2 = <undef>; erase = ^?; erase2 = ^H; intr = ^C; kill = ^U;
         lnext = ^V; min = 1; quit = ^\; reprint = ^R; start = ^Q;
         status = ^T; stop = ^S; susp = ^Z; time = 0; werase = ^W;

clock# ntpq -pn | grep 127
  127.127.1.0     .LOCL.          10 l   13   64  377    0.000 0.000   0.002
  127.127.20.1    .NMEA.           0 l 1107   16    0    0.000 0.029   0.002
o127.127.22.1    .PPS.            0 l   10   16  377    0.000 0.033   0.002

clock# grep 127.127 /etc/ntp.conf
restrict 127.127.1.0
server 127.127.1.0
fudge 127.127.1.0 stratum 10
server  127.127.20.1    mode 0  minpoll 4       prefer  #  maxpoll 4    
prefer
fudge   127.127.20.1    flag1   1       flag2 0 time2 0.600 refid NMEA
server  127.127.22.1    mode 0  minpoll 2       prefer  iburst
fudge   127.127.22.1    refid PPS


hope this helps..
col


More information about the freebsd-stable mailing list