NTP/PPS support with USB serial adapter

A have a new hardware (Sun Fire X4100) that is missing usable serial port and I still need to use my old GPS to synchronize NTP server. I'd like to make use of PPS pulses (connected to the DCD pin of the serial port). It works great with serial port but I can't get it work with RS-232 to USB adapter.

I use "ATEN UC-232A USB to serial adapter" with Keyspan drivers (SUNWuksp, SUNWukspfw, SUNWuprl) on Solaris 10 and it seems like PPS support - ioctl(..,TIOCSPPS,..), ioctl(.., TIOCGPPSEV,..) - hasn't been implemented in these drivers yet. These ioctl() calls return -1 with errno set to 22 (Invalid argument).

Has anyone some experience with this issue?

Thanks for any help.

[704 byte] By [macekIVa] at [2007-11-27 1:28:32]
# 1

Hello.

I was involved in the development of a driver for another USB-to-RS232 converter.

From there I know that these devices often have less features (in the hardware) than on-board RS232 ports. My device for example takes its 5 volts supply power from the USB ports but the 10 volts supply from the RS232 device connected to the adapter (i.e. modem). (This means you cannot connect devices like serial mice to this adapter.)

Maybe YOUR adapter hardware does not support reading the status of the DCD pin. A look at the OpenSolaris sources shows that only two special RS232 chips support this feature (under Solaris).

Martin

Martin_Rosenaua at 2007-7-12 0:26:35 > top of Java-index,Solaris Operating System,Solaris Essentials - General Technical Questions...
# 2
Hi Martin,I've just received reply from another discussion at opensolaris.org that there is no support for NTP PPS ioctls via usb serial devices right now. http://www.opensolaris.org/jive/thread.jspa?threadID=28698&tstart=0
macekIVa at 2007-7-12 0:26:35 > top of Java-index,Solaris Operating System,Solaris Essentials - General Technical Questions...
# 3

The Solaris driver for your USB-to-RS232 converter ignores all modem status lines (it does not read the "interrupt pipe" of the device) so you cannot get the status of the DCD line.

It should be possible to write a driver that can do PPS with this device (therefore you could modify the open source OpenSolaris driver).

However there is a hardware problem: The USB bus has a latency of at least 1ms - depending on the device even more (my device has 5 ms). This means you can use the GPS clock to ensure that your computer clock does not "drift away" but you cannot use it to get a really precise time.

Martin

Martin_Rosenaua at 2007-7-12 0:26:35 > top of Java-index,Solaris Operating System,Solaris Essentials - General Technical Questions...
# 4

Your X4100 system has a perfectly good and serviceable serial port.

http://sunsolve.sun.com/handbook_pub/Systems/SunFireX4100/spec.html

It just happens to be a RJ45 shape.

.... or are you using it for your system console?

Perhaps you could use an adapter cable, similar to a CISCO console cable?

http://forum.java.sun.com/thread.jspa?threadID=5151583&tstart=0

If you were to construct a cable yourself, pinouts of such a serial port can be viewed at:

http://www.sunshack.org/data/sh/2.1/infoserver.central/data/syshbk/General/Comm _Tr.html#CPUSER

(then just create the cable as necessary for proper connectivity)

rukbata at 2007-7-12 0:26:35 > top of Java-index,Solaris Operating System,Solaris Essentials - General Technical Questions...
# 5
There's problem with the serial port in X4100 - it doesn't have a DCD pin connected at all.Sure, I've tried this before. See service manual to X4100 if you don't believe me :o)
macekIVa at 2007-7-12 0:26:35 > top of Java-index,Solaris Operating System,Solaris Essentials - General Technical Questions...