sio fifo disable freebsd, was Re: [ntp:hackers] Serial port jitter

gnu not unix gnu at wraith.sf.ca.us
Fri Jul 7 16:59:14 UTC 2006


In message <44AD9DA9.5090803 at udel.edu> you write:
>Guys,

>Some motherboards make better timekeepers than others.

In the PC world, I've encountered one motherboard that has an 
interrupt problem when trying to use an ISA card for timing.

>Sun Ultra/5_10 pogo and Intel P2 rackety are in the low microseconds 
>with the serial port and PPS port with no special treatment, like 
>disabling the hardware FIFO. The pogo cat nees fudge time1 .03154 s to 
>shim the serial port to match the PPS, while the rackety cat needs only 
>.009445 s. Something is eating some twenty millisconds in pogo, which 
>seemsa rather strange, but both show very low jitter on either the 
>serial or PPS ports.

Interesting report. Is this for your spectracom serial/pps setup?
My netclock/2 gets serial and pps fudges to match my GPS setup.
Both my Garmin and Trimble GPS units do not need any serial
fudge as the respective drivers work well as they are "atomized."
The Garmin uses the NMEA and the Trimble uses the PARSE drivers,
and both GPS' were within microseconds sync.

>On pogo the PPS signal is connected via dedicated serial port, while on 
>rackety it is connected by a parallel port. Each is connected to a 
>different GPS receiver with claimed accuracy of 100 microseconds. 
>Offsets relative to both of our TrueTime GPS-in-a-box is a few tens of 
>microseconds. These are separted by a couple miles of Etherstuff bushels 
>of hubs, routers and fiber. What is surprising is the same few tens of 
>microseconds, both in relative offset and jitter, are displayed for 
>three of the NIST servers, one in Boulder, another at Microsoft and the 
>third in Alaska (!). Not too shabby.

Yes, a remarkable performance. 

>Sun Blade 1500 deacon connected to an Arbiter GPS receiver with PPS, 
>both connected by dedicated serial ports. It behaves much like pogo and 
>rackety. Not so 2.8 GHz Dell 370 P4 mort connected to a WWVB receiver 
>with PPS much like rackety. The serial port jitter is huge compared to 
>the other machines, 10-20 ms. If this is due to the FIFO, the FIFO would 
>have to have 20 stages, more than those UARTs I know.

I have seen reports that Dell BIOS is to blame. I recall it was a
"system management" (M$ related) item as cause, and using an
"unsupported" BIOS for the Dell made it behave with NTP.

>I searched the FreeBSD documentation looking for the little magic that 
>disables the FIFOs, but couldn't find it anywhere. Does someone here 
>know the magic potion?

My freebsd 5.4 "man sio" calls your kernel config file to use this:

For standard ISA ports:
device sio

In /boot/device.hints:
hint.sio.0.at="isa"
hint.sio.0.port="0x3f8"
hint.sio.0.flags="0x10"
hint.sio.0.irq="4"

Meaning of flags:

0x00002   disable FIFO

Looks like your flags="0x12" should bag the FIFO.

../Steven


More information about the hackers mailing list