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

Igor Mozolevsky igor at hybrid-lab.co.uk
Sun Apr 28 17:55:21 UTC 2013


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.

On Linux, I get:


$ uname -a
Linux ubuntu 3.8.0-19-generic #29-Ubuntu SMP Wed Apr 17 18:16:28 UTC
2013 x86_64 x86_64 x86_64 GNU/Linux

$ sudo stty -F /dev/ttyS0 raw 4800
$ sudo stty -F /dev/ttyS0 -a
speed 4800 baud; rows 0; columns 0; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>;
eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 hupcl -cstopb cread clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff
-iuclc -ixany -imaxbel -iutf8
-opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
-isig -icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
echoctl echoke

$ sudo cat /dev/ttyS0
$GPGLL,0000.00000,N,00000.00000,W,170638.0,V*3D
$GPGLL,0000.00000,N,00000.00000,W,170638.0,V*3D
$GPGLL,0000.00000,N,00000.00000,W,170638.0,V*3D
$GPGLL,0000.00000,N,00000.00000,W,170639.0,V*3C
$GPGLL,0000.00000,N,00000.00000,W,170639.0,V*3C
$GPGLL,0000.00000,N,00000.00000,W,170639.0,V*3C
$GPGLL,0000.00000,N,00000.00000,W,170639.0,V*3C
$GPGLL,0000.00000,N,00000.00000,W,170639.0,V*3C
$GPGLL,0000.00000,N,00000.00000,W,170640.0,V*32



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,

-- 
Igor M.


More information about the freebsd-stable mailing list