Puncte:2

Există vreo modalitate de a dezactiva Precision Time Protocol (PTP) pe Intel I211 Gigabit cu driverul igb?

drapel au

Am o placă de bază ASUS Pro WS X570-ACE, cu AMD Ryzen 5700G, cu Intel I211 Ethernet la bord, care rulează driver igb ver. 5.11.0-27. Acesta are și un Realtek Ethernet la bord, dar acesta este dezactivat în BIOS. Sistemul de operare este Linux Mint 20.2 care rulează kernel 5.11.0-27-generic.

De fiecare dată când sistemul de operare pornește, în ieșirea „dmesg” se afișează următoarele:

 pps_core: LinuxPPS API ver. 1 inregistrat
 pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <[email protected]>
 pps pps0: noua sursă PPS ptp0
 pps_ldisc: disciplina de linie PPS înregistrată

Și apar 2 dispozitive: /dev/pps0 și /dev/ptp0

Știu că portul Intel I211 este cel care face asta pentru că dacă rulez ethtool -T enp5s0 pe adaptor scrie:

Parametrii de marcare a timpului pentru enp5s0:
Capabilitati:
    transmisie hardware (SOF_TIMESTAMPING_TX_HARDWARE)
    software-transmit (SOF_TIMESTAMPING_TX_SOFTWARE)
    recepție hardware (SOF_TIMESTAMPING_RX_HARDWARE)
    primire software (SOF_TIMESTAMPING_RX_SOFTWARE)
    ceas-sistem-software (SOF_TIMESTAMPING_SOFTWARE)
    hardware-raw-clock (SOF_TIMESTAMPING_RAW_HARDWARE)
Ceas hardware PTP: 0
Moduri de marcare temporală a transmisiei hardware:
    dezactivat (HWTSTAMP_TX_OFF)
    activat (HWTSTAMP_TX_ON)
Moduri de filtrare de recepție hardware:
    niciunul (HWTSTAMP_FILTER_NONE)
    toate (HWTSTAMP_FILTER_ALL)

The Ceas hardware PTP: 0 înseamnă că aceasta creează /dev/ptp0 și, prin urmare, /dev/pps0. Iată o listă de dispozitive relevante în /dev/:

/dev/port /dev/ppp /dev/pps0 /dev/pps1 /dev/psaux /dev/ptmx /dev/ptp0 /dev/ptp1 /dev/ptp2

Motivul pentru care acest PTP este o problemă pentru mine este că folosesc un receptor GPS pentru a seta ora.

Am un receptor GPS conectat prin conectorul COM/Serial DB9 de la bord, pe care îl folosesc pentru a seta ora de pe computer la o precizie de microsecunde, utilizând Pulsul pe secundă (PPS) care intră pe pinul 1 peste seria. GPSD și CHRONY se ocupă de restul... dar problema este că GPSD își creează dispozitivul PPS la /dev/pps1, mai degrabă decât /dev/pps0 din cauza PTP. GPSD se așteaptă în mod normal ca sursa PPS să fie /dev/pps0. GPSD funcționează dacă specific în linia de comandă să mă refer la /dev/pps1 ca sursă PPS... dar durează mai multe minute pentru a bloca și sincroniza față de un computer care nu are PTP deloc...

pps_core: LinuxPPS API ver. 1 inregistrat
pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <[email protected]>
pps pps0: noua sursă PPS ptp0
pps_ldisc: disciplina de linie PPS înregistrată
pps pps1: noua sursă PPS serial0
pps pps1: sursa „/dev/ttyS0” adăugată

M-am uitat la manualul Ethtool și la ghidul de construire a driverului Intel IGB, dar nu există niciun parametru care să poată fi setat pentru a dezactiva HARDWARE_TIMESTAMPS. Ethtool are doar comutatorul -T, care arată capacitatea de marcare temporală... dar nu există opțiuni reale pe care le puteți seta prin ethtool -T/-t.

Întrebare: Există vreo modalitate de a dezactiva complet acest sistem PTP?

drapel in
nu vă puteți reconstrui nucleul cu acesta dezactivat sau, dacă este un modul, să puneți pe lista neagră acel modul? poate adăuga ieșire de la `lsmod`
drapel il
Se pare că aceasta este poate mai mult o problemă cu GPS-ul decât orice altceva. De ce gpsd funcționează diferit dacă specificați un dispozitiv care nu este implicit? De asemenea, o altă soluție posibilă este utilizarea regulilor udev pentru a redenumi dispozitivele la pornire.
fraxinus avatar
drapel ng
Aș folosi o abordare diferită: folosiți interfața reală de rețea reală și simplă și aruncați-o pe cea Intel.
Puncte:3
drapel in

Codul pentru a suporta HC pe unele carduri Intel a fost adăugat în jurul anului 2011 Controler Ethernet Intel® I211-AT acceptă sincronizarea de timp de precizie bazată pe hardware. Este activat deoarece dezvoltatorii de module îl gândesc în felul următor: (sursă)

Dacă un MAC are funcții PTP, atunci utilizatorii vor dori cu siguranță să fie activat.

Mai scurt: Concluzia ta este corectă. Totuși, puteți face mai multe lucruri:

  • Contactați dezvoltatorii modulelor și prezentați cazul dvs. de utilizare. Convingeți-i că există motive întemeiate pentru a dezactiva o funcționalitate chiar dacă este considerată în general dorită și activată implicit.
  • Recompilați modulul cu HC eliminat.
  • Încercați să utilizați NIC Realtek în schimb.
  • Încercați să configurați gpsd pentru a ignora dispozitivele ca /dev/pps0 sau /dev/ptp0 - in conformitate cu documentație ar trebui să fie posibil:

A spune demonul că un dispozitiv a fost deconectat și nu mai este disponibil, trimiteți un semn minus ('-') urmat de numele dispozitivului urmat prin LF sau CR-LF. Astfel, pentru a elimina /dev/foo din lista de căutare, trimiteți „-/dev/foo\n”.

Acest lucru ar trebui, de asemenea, să funcționeze automat, prin modificarea fișierelor de sub /etc/gpsd/device-hook.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.