enable_pps_support_raspian

This is an old revision of the document!


Enable PPS support in Raspian

DUNE has a task called Supervisors.ClockPPS that is used to dicipline the clock from both IMC::GpsFix messages and a PPS source. To get this to work, the kernel has to be compiled with two options not currently enabled by default:

  • CONFIG_PPS (“PPS support” in “make menuconfig”)
  • CONFIG_NTP_PPS (“PPS kernel consumer support” in “make menuconfig”)
mkdir ppskernel
cd ppskernel
git clone https://github.com/raspberrypi/linux.git
cd linux
make mrproper
zcat /proc/config.gz > .config
make oldconfig

Then comes the hard part, setting the options. Normally this is straight forward, but due to some options only showing when others are disabled, it may be a little tricky.

make menuconfig

Go to General setup ---> Timers subsystem ---> and disable Old Idle dynticks config, then enter Timer tick handling and change it to Periodic timer ticks (constant rate, no dynticks)

  Device Drivers --->
      PPS support --->
          <M> PPS support  
          [ ]    PPS debugging messages
          [*]    PPS kernel consumer support   
                 *** PPS clients support ***         
          < >    Kernel timer client (Testing client, use for debug)
          < >    PPS line discipline
          <M>    PPS client using GPIO
                 *** PPS generators support *** 
  • enable_pps_support_raspian.1572769255.txt.gz
  • Last modified: 2022/09/19 11:33
  • (external edit)