SL6 epel garmin 18 lvc serial port pps kernel trace
Skunk Worx
skunkworx at verizon.net
Tue Sep 13 03:55:41 UTC 2011
Hi everyone,
I have two Mini-ITX Intel mobos I am using as ntpd time servers with a
Garmin LVC 18 serial port GPS that provides a PPS input.
I've had good luck with this unit and gpsd in the past, but I get a
kernel call trace if I run "setserial" then the "shmpps" daemon.
Here is the info -- if anyone has comments or suggestions I'd appreciate
it. I'll probably switch back to gpsd later this week if not.
Repeatable with i686 or x86_64 SL6.
1) Use Intel D945GCLF Atom 230 Mini-ITX mobo
2) Use Garmin 18x LVC gps wired for serial port w/ PPS on DCD pin
3) Install SL6 and "shmpps" EPEL package
4) Boot SL6 2.6.32-131.12.1.el6.x86_64.debug kernel into single user mode
5) Start rsyslog service
6) Note dmesg serial info :
# dmesg | grep serial
serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
7) Run setserial command :
/bin/setserial /dev/ttyS0 uart 16550A port 0x03f8 irq 4 baud_base
115200 spd_normal skip_test low_latency
8) Run shmpps in debug mode :
/usr/sbin/shm_splc2 -d /dev/ttyS0 -s -u 0 -l DCD -D
The following depends on the setserial command being run and having the
garmin plugged into the serial port. The call trace is emitted at
roughly the same rate as the NMEA strings from the garmin.
BUG: sleeping function called from invalid context at kernel/mutex.c:287
in_atomic(): 1, irqs_disabled(): 1, pid: 0, name: swapper
INFO: lockdep is turned off.
irq event stamp: 827450
hardirqs last enabled at (827449): [<ffffffff812e36e1>]
intel_idle+0xe1/0x170
hardirqs last disabled at (827450): [<ffffffff8100afaa>] save_args+0x6a/0x70
softirqs last enabled at (827440): [<ffffffff8107403a>]
__do_softirq+0x14a/0x200
softirqs last disabled at (827415): [<ffffffff8100c38c>]
call_softirq+0x1c/0x30
Pid: 0, comm: swapper Not tainted 2.6.32-131.12.1.el6.x86_64.debug #1
Call Trace:
<IRQ> [<ffffffff810a7d60>] ? print_irqtrace_events+0xd0/0xe0
[<ffffffff81056027>] ? __might_sleep+0xf7/0x130
[<ffffffff8150cb2f>] ? mutex_lock_nested+0x2f/0x60
[<ffffffff8132cf80>] ? process_output+0x30/0x70
[<ffffffff8132f058>] ? n_tty_receive_buf+0x618/0x1290
[<ffffffff810aa332>] ? print_lock_contention_bug+0x22/0xf0
[<ffffffff810aa332>] ? print_lock_contention_bug+0x22/0xf0
[<ffffffff81332723>] ? flush_to_ldisc+0x43/0x1b0
[<ffffffff81332863>] ? flush_to_ldisc+0x183/0x1b0
[<ffffffff8133290c>] ? tty_flip_buffer_push+0x7c/0x90
[<ffffffff8135e0e5>] ? serial8250_handle_port+0x215/0x350
[<ffffffff8135e2ab>] ? serial8250_interrupt+0x8b/0x120
[<ffffffff810e9370>] ? handle_IRQ_event+0x50/0x160
[<ffffffff810ebaf8>] ? handle_edge_irq+0xc8/0x160
[<ffffffff8100e0d9>] ? handle_irq+0x49/0xa0
[<ffffffff8151497c>] ? do_IRQ+0x6c/0xf0
[<ffffffff8100bb13>] ? ret_from_intr+0x0/0x16
<EOI> [<ffffffff812e36e1>] ? intel_idle+0xe1/0x170
[<ffffffff812e36e8>] ? intel_idle+0xe8/0x170
[<ffffffff812e36e1>] ? intel_idle+0xe1/0x170
[<ffffffff815120a0>] ? __atomic_notifier_call_chain+0x0/0xa0
[<ffffffff81417787>] ? cpuidle_idle_call+0xa7/0x150
[<ffffffff81009e8b>] ? cpu_idle+0xbb/0x110
[<ffffffff814f298a>] ? rest_init+0x7a/0x80
[<ffffffff81b69f59>] ? start_kernel+0x44f/0x45b
[<ffffffff81b6933a>] ? x86_64_start_reservations+0x125/0x129
[<ffffffff81b69438>] ? x86_64_start_kernel+0xfa/0x109
ttyS0: 1 input overrun(s)
Thanks,
John
More information about the users
mailing list