Update Question 5.25:
- Generalize the text - Put some fresh (6.3-STABLE) output - Update heuristic info - Add a "broken ACPI timer" issue from the mailing lists Reviewed by: trhodes, danger, remko Approved by: gabor (mentor)
This commit is contained in:
parent
cc71ab4400
commit
befdc1805b
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=32246
1 changed files with 20 additions and 13 deletions
|
@ -3703,31 +3703,38 @@ chip1@pci0:31:5: class=0x040100 card=0x00931028 chip=0x24158086 rev=0x02
|
|||
</qandaentry>
|
||||
|
||||
<qandaentry>
|
||||
<question id="laptop-clock-skew">
|
||||
<para>Why does the clock on my laptop keep incorrect time?</para>
|
||||
<question id="computer-clock-skew">
|
||||
<para>Why does the clock on my computer keep incorrect time?</para>
|
||||
</question>
|
||||
|
||||
<answer>
|
||||
<para>Your laptop has two or more clocks, and FreeBSD has chosen to
|
||||
<para>Your computer has two or more clocks, and FreeBSD has chosen to
|
||||
use the wrong one.</para>
|
||||
|
||||
<para>Run &man.dmesg.8;, and check for lines that contain
|
||||
<literal>Timecounter</literal>. The last line printed is the one
|
||||
that FreeBSD chose, and will almost certainly be
|
||||
<literal>TSC</literal>.</para>
|
||||
<literal>Timecounter</literal>. The one with the highest
|
||||
quality value that FreeBSD chose.</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>dmesg | grep Timecounter</userinput>
|
||||
Timecounter "i8254" frequency 1193182 Hz
|
||||
Timecounter "TSC" frequency 595573479 Hz</screen>
|
||||
Timecounter "i8254" frequency 1193182 Hz quality 0
|
||||
Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
|
||||
Timecounter "TSC" frequency 2998570050 Hz quality 800
|
||||
Timecounters tick every 1.000 msec</screen>
|
||||
|
||||
<para>You can confirm this by checking the
|
||||
<varname>kern.timecounter.hardware</varname>
|
||||
&man.sysctl.3;.</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>sysctl kern.timecounter.hardware</userinput>
|
||||
kern.timecounter.hardware: TSC</screen>
|
||||
|
||||
<para>The BIOS may modify the TSC clock—perhaps to change the
|
||||
kern.timecounter.hardware: ACPI-fast</screen>
|
||||
|
||||
<para>It may be a broken ACPI timer. The simplest
|
||||
solution is to disable the ACPI timer in
|
||||
<filename>/etc/loader.conf</filename>:
|
||||
|
||||
<programlisting>debug.acpi.disabled="timer"</programlisting>
|
||||
|
||||
<para>Or the BIOS may modify the TSC clock—perhaps to change the
|
||||
speed of the processor when running from batteries, or going into
|
||||
a power saving mode, but FreeBSD is unaware of these adjustments,
|
||||
and appears to gain or lose time.</para>
|
||||
|
@ -3740,11 +3747,11 @@ kern.timecounter.hardware: TSC</screen>
|
|||
<screen>&prompt.root; <userinput>sysctl -w kern.timecounter.hardware=i8254</userinput>
|
||||
kern.timecounter.hardware: TSC -> i8254</screen>
|
||||
|
||||
<para>Your laptop should now start keeping more accurate
|
||||
<para>Your computer should now start keeping more accurate
|
||||
time.</para>
|
||||
|
||||
<para>To have this change automatically run at boot time, add the
|
||||
following line to <filename>/etc/sysctl.conf</filename>.</para>
|
||||
following line to <filename>/etc/sysctl.conf</filename>:</para>
|
||||
|
||||
<programlisting>kern.timecounter.hardware=i8254</programlisting>
|
||||
</answer>
|
||||
|
|
Loading…
Reference in a new issue