SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
On the Raspberries I mentioned in #9 I'm using my own custom kernels. I'm starting with the upstream default configs and only enabling (modular) pretty much everything in networking (incl. drivers) and DVB, the last one I need for my adapters / multimedia needs. I don't touch anything else and I get the pps modules compiled (all of them as modules) in /lib/modules/kernel-version/kernel/drivers/pps/ (incl. pps_core.ko) and no records of pps in dmesg.
I do get a few pss_core messages in dmesg output. I looked and PSS is enabled in the kernel (but that is stock from Pat) and the two entries under that submenu are both modularized,
I'm not saying this to try and counter any thing happening here, just hoping to provide more datapoints to help OP figure out what's going on.
CONFIG_PPS=y
# CONFIG_PPS_DEBUG is not set
#
# PPS clients support
#
# CONFIG_PPS_CLIENT_KTIMER is not set
CONFIG_PPS_CLIENT_LDISC=m
CONFIG_PPS_CLIENT_PARPORT=m
CONFIG_PPS_CLIENT_GPIO=m
And it appears to be enabled like that in the default configs for the 5.x series kernels - just checked it in a 5.3.1 source tree.
Whereas the latest Slackware 14.2 provided kernel 4.4.217 has it modular, as it's also provided by default by the upstream kernels 4.19.x I'm running on the Raspberries. https://mirror.de.leaseweb.net/slack...7-x86_64-1.txz
(config-huge-4.4.217.x64)
Code:
CONFIG_PPS=m
# CONFIG_PPS_DEBUG is not set
#
# PPS clients support
#
# CONFIG_PPS_CLIENT_KTIMER is not set
CONFIG_PPS_CLIENT_LDISC=m
CONFIG_PPS_CLIENT_PARPORT=m
CONFIG_PPS_CLIENT_GPIO=m
None of these kernels have the pps-ktimer built and it looks like the pps-core itself (enabled in-kernel in 5.x kernels by default) doesn't create the /dev/pps0 node:
Code:
# ls -al /dev/pps*
/bin/ls: cannot access '/dev/pps*': No such file or directory
# modprobe pps-core
# lsmod | grep pps*
pps_core 6676 0
# dmesg | grep pps
[ 465.897090] pps_core: LinuxPPS API ver. 1 registered
[ 465.897105] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
# ls -al /dev/pps*
/bin/ls: cannot access '/dev/pps*': No such file or directory
#
Meaning, it must be the pps-ktimer, like I was suggesting in my post #14.
Last edited by abga; 06-02-2020 at 09:14 PM.
Reason: typo
That's really interesting. My output is similar except my /dev/pps0 device exists and I never loaded the module. It does seem that when you modprobed pps_core, you got the output in your dmesg that I have at the very beginning (my 0.167139 lines). Then almost 9 seconds later, I have an extra line seeming to show when the /dev/pps0 node gets created.
Code:
root@craven-moorhead:~# lsmod | grep pps
root@craven-moorhead:~# grep -i pps /usr/src/linux-5.4.30/.config
CONFIG_PPS=y
# CONFIG_PPS_DEBUG is not set
# PPS clients support
# CONFIG_PPS_CLIENT_KTIMER is not set
CONFIG_PPS_CLIENT_LDISC=m
CONFIG_PPS_CLIENT_GPIO=m
# PPS generators support
root@craven-moorhead:~# dmesg | grep pps
[ 0.167139] pps_core: LinuxPPS API ver. 1 registered
[ 0.167139] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 8.916439] pps pps0: new PPS source ptp0
root@craven-moorhead:~# ls -l /dev/pps0
crw------- 1 root root 249, 0 May 29 18:22 /dev/pps0
If I look at the dmesg lines surrounding the supposed pps0 creation, it seems mostly related to my network device, but I don't see how that would be a factor (but who knows).
Indeed, interesting. So my theory from #14 is failing.
In the doc reference from that post, again: http://paul.chavent.free.fr/pps.html
- in chapter: 2. System configuration - it's enabling the "Kernel timer client (Testing client, use for debug)"
- and then in chapter: 3. Testing - it's loading the pps_ktimer and /dev/pps0 is already available
That led me to believe that pps_ktimer is actually creating that /dev/pps0 node automatically.
Further in chapter: 3. Testing - it's attaching the line discipline on the serial interface /dev/ttyS0 and working with /dev/pps1
The official kernel doc states:
"If the SYSFS filesystem is enabled in the kernel it provides a new class:" -> /sys/class/pps/
CONFIG_SYSFS=y is normally enabled (and used) by default in all kernels.
Source: https://www.kernel.org/doc/html/late...#sysfs-support
From this rather old doc: http://paul.chavent.free.fr/pps.html
- it looks like pps-ktimer is creating /dev/pps0
Had a look in the source of an actual kernel 4.x and found: /drivers/pps/clients/Kconfig
Looking back to your post #3, I believe you got this one compiled in-kernel instead of module and the kernel loads it automatically at boot, creating /dev/pps0. That's my theory
For my case building a new kernel without PTP enabled fixed it. I've not looked into PTP, but it looks like PTP, if compiled in, can provide a PPS device.
OK, good that you finally found out who is creating your /dev/pps0 node -> Kernel: Device Drivers > PTP clock support (CONFIG_PTP_1588_CLOCK)
On what, it could (should) be your Ethernet card driver (as in bassmadrigal's case) being IEEE 1588 capable. Just had a look at the kernel help for PTP clock support (CONFIG_PTP_1588_CLOCK) and it lists a few (half a page) PTP capable Networking Adapters (Ethernet cards).
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.