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