LinuxQuestions.org
Visit Jeremy's Blog.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 06-02-2020, 07:48 PM   #16
abga
Senior Member
 
Registered: Jul 2017
Location: EU
Distribution: Slackware
Posts: 1,634

Rep: Reputation: 929Reputation: 929Reputation: 929Reputation: 929Reputation: 929Reputation: 929Reputation: 929Reputation: 929

@bassmadrigal

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.
 
Old 06-02-2020, 08:44 PM   #17
bassmadrigal
LQ Guru
 
Registered: Nov 2003
Location: West Jordan, UT, USA
Distribution: Slackware
Posts: 8,792

Rep: Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656
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.
 
Old 06-02-2020, 09:13 PM   #18
abga
Senior Member
 
Registered: Jul 2017
Location: EU
Distribution: Slackware
Posts: 1,634

Rep: Reputation: 929Reputation: 929Reputation: 929Reputation: 929Reputation: 929Reputation: 929Reputation: 929Reputation: 929
- the -current kernel config has the pps-core compiled in-kernel:
https://mirror.de.leaseweb.net/slack.../huge.s/config
Code:
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
 
Old 06-02-2020, 11:51 PM   #19
bassmadrigal
LQ Guru
 
Registered: Nov 2003
Location: West Jordan, UT, USA
Distribution: Slackware
Posts: 8,792

Rep: Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656
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).

Code:
[    8.885437] igb: Intel(R) Gigabit Ethernet Network Driver - version 5.6.0-k
[    8.886744] igb: Copyright (c) 2007-2014 Intel Corporation.
[    8.892164] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[    8.899955] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[    8.902225] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[    8.903276] cfg80211: failed to load regulatory.db
[    8.916439] pps pps0: new PPS source ptp0
[    8.918130] igb 0000:0a:00.0: added PHC on eth0
[    8.919572] igb 0000:0a:00.0: Intel(R) Gigabit Ethernet Network Connection
[    8.920635] igb 0000:0a:00.0: eth0: (PCIe:2.5Gb/s:Width x1) 70:85:c2:7f:75:0c
[    8.921585] igb 0000:0a:00.0: eth0: PBA No: FFFFFF-0FF
[    8.922511] igb 0000:0a:00.0: Using MSI-X interrupts. 2 rx queue(s), 2 tx queue(s)
 
Old 06-03-2020, 01:11 AM   #20
abga
Senior Member
 
Registered: Jul 2017
Location: EU
Distribution: Slackware
Posts: 1,634

Rep: Reputation: 929Reputation: 929Reputation: 929Reputation: 929Reputation: 929Reputation: 929Reputation: 929Reputation: 929
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

Here's another info I found (some custom kernel) where /dev/pps0 is expected to exist already:
https://projects.goldelico.com/p/gta04-kernel/page/PPS/

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
 
Old 06-03-2020, 06:24 PM   #21
petejc
Member
 
Registered: Apr 2019
Distribution: Slackware
Posts: 134

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by abga View Post
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.
 
1 members found this post helpful.
Old 06-03-2020, 09:39 PM   #22
abga
Senior Member
 
Registered: Jul 2017
Location: EU
Distribution: Slackware
Posts: 1,634

Rep: Reputation: 929Reputation: 929Reputation: 929Reputation: 929Reputation: 929Reputation: 929Reputation: 929Reputation: 929
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).

An interesting kernel patch I found while searching for PTP:
https://github.com/torvalds/linux/co...392de6056a2181
More on the PTP/IEEE 1588:
https://en.wikipedia.org/wiki/IEEE_1588
 
1 members found this post helpful.
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
[SOLVED] Why is there a need for /dev/null, /dev/zero and other special device (files) in /dev suttiwit Linux - General 13 08-07-2012 12:26 AM
pseudo terminals: /dev/ptmx <-> /dev/pts/ vs. /dev/ptyp <-> /dev/ttyp rtspitz Linux - Software 2 12-02-2011 02:07 PM
using flash drive changes device /dev/sr0 to /dev/sr1 for mapping to /dev/pktcdvd/0? lugoteehalt Linux - Software 3 10-24-2007 10:27 AM
/dev/tty0, /dev/tty1, /dev/tty10...and so on...which should be used for a device ??? b0nd Slackware 2 04-02-2006 08:14 AM
I cannot access EITHER CD drive! And there's no /dev/hdc or /dev/hdd or /dev/cdrom! Dmalic Linux - Hardware 13 11-18-2005 07:11 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 07:41 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration