RHEL EPEL 6 garmin lvc-18 ldattach PPS fails
Skunk Worx
skunkworx at verizon.net
Sun Sep 18 04:10:20 UTC 2011
I hope it's okay to ask on Fedora Users since Fedora hosts EPEL...
I am trying to use a germin lvc-18 as an ntpd time source, via the PPS /
NMEA reference drivers, and the pps_core module from the LinuxPPS project.
On my SL6 x86_64 I can't "ldattach PPS /dev/ttyS0". I get a failure, and
strace shows :
...
ioctl(3, TIOCSETD, [18]) = -1 EINVAL (Invalid argument)
...
I looked through the source code of the util-linux-ng package,
specifically sys-utils/ldattach.c, as well as the system includes.
ldattach.c tries to grab the N_PPS define from the system, and if not
present, hard codes it to 18.
When I look at the following on my running system :
/usr/include/bits/ioctl-types.h
...the line discipline defines stop at :
#define N_HCI 15 /* Bluetooth HCI UART */
And when I look at the kernel source file :
/usr/src/kernels/2.6.32-131.12.1.el6.x86_64/include/linux/tty.h
The list of line disciplines run out to 19 and include the N_PPS define :
...
#define N_GIGASET_M101 16 /* Siemens Gigaset M101 serial DECT
adapter */
#define N_SLCAN 17 /* Serial / USB serial CAN Adaptors */
#define N_PPS 18 /* Pulse per Second */
#define N_V253 19 /* Codec control over voice modem */
Here are a couple of questions :
1) Is this an example of RedHat being conservative with enabling
relatively new line disciplines to their flagship product?
2) What is a reasonable way to get the PPS line discipline working?
Something like hacking the missing discipline into a private build of
the kernel src rpm?
TIA for any replies,
John
More information about the users
mailing list