1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
|
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<style type="text/css">
@import url('../css/main.css');
</style>
<title>Miscellaneous</title>
</head>
<body>
<div class="section">
<h1 id="pagetop">Miscellaneous</h1>
<p>
Or <a href="../index.html">Back to main index</a>.
</p>
<ul>
<li><a href="#trisquel7_powertop">High Pitched Whining Noise on Idle (how to remove in Trisquel 7)</a></li>
<li><a href="#high_pitch_parabola">High Pitched Whining Noise on Idle (how to remove in Parabola)</a></li>
<li><a href="#serial">X60/T60: Serial port - how to use (for dock owners)</a></li>
<li><a href="#powerbeeps">Power Management Beeps on Thinkpads</a></li>
<li><a href="patch.html">Using diff and patch</a></li>
<li><a href="#get_edid_panelname">Get EDID: Find out the name (model) of your LCD panel</a></li>
</ul>
</div>
<div class="section">
<h1 id="trisquel7_powertop">High Pitched Whining Noise on Idle (how to remove in Trisquel 7)</h1>
<div class="subsection">
<h2 id="trisquel7_powertop_autostart">Start powertop automatically at boot time</h2>
<p>Included with libreboot is a script called 'powertop.trisquel7'. Run this as root and it will setup powertop to run with --auto-tune
at boot time. Load the file in your text editor to see how it does that.</p>
<p>$ <b>sudo ./resources/scripts/misc/powertop.trisquel7</b></p>
<p>
Might want to run with --calibrate first
</p>
<p>
If powertop doesn't work, another way (reduces battery life slightly) is
to add <i>processor.max_cstate=2</i> to the <i>linux</i> line in grub.cfg,
using <a href="../gnulinux/grub_cbfs.html">this guide</a>.
</p>
</div>
<p><a href="#pagetop">Back to top of page</a></p>
</div>
<div class="section">
<h1 id="high_pitch_parabola">High Pitched Whining Noise on Idle (how to remove in Parabola)</h1>
<p>The following removes most of the noise. It reduces what is a high frequency whine
(that not everyone can hear) to a slight buzz (which most people can't hear or doesn't bother most people).</p>
<p>This is not perfect! The full solution is still not discovered but this is a step towards that.
Also, in some instances you will need to run 'sudo powertop --auto-tune' again.
This needs to be implemented properly in coreboot itself!</p>
<p>On the X60 with coreboot or libreboot, there is a high pitched sound when idle.
So far we have use processor.max_cstate=2 or idle=halt in GRUB.
These consume power. Stop using them! </p>
<p>Be root<br/>
<b>$ su -</b></p>
<p>Installed powertop:<br/>
<b># pacman -S powertop</b></p>
<p>and added the following to /etc/systemd/system/powertop.service :</p>
<pre><i>
[Unit]
Description=Powertop tunings
[Service]
Type=oneshot
RemainAfterExit=no
ExecStart=/usr/bin/powertop --auto-tune
# "powertop --auto-tune" still needs a terminal for some reason. Possibly a bug?
Environment="TERM=xterm"
[Install]
WantedBy=multi-user.target
</i></pre>
<p>Finally, as root do that:<br/>
<b># systemctl enable powertop</b><br/>
<b># systemctl start powertop</b></p>
<p>The next time you boot the system, the buzz will be gone.</p>
<p>
Might want to run with --calibrate first
</p>
<p>
If powertop doesn't work, another way (reduces battery life slightly) is
to add <i>processor.max_cstate=2</i> to the <i>linux</i> line in grub.cfg,
using <a href="../gnulinux/grub_cbfs.html">this guide</a>.
</p>
<p><a href="#pagetop">Back to top of page</a></p>
</div>
<div class="section">
<h1 id="serial">X60/T60: Serial port - how to use (for dock owners)</h1>
<p>
For the Thinkpad X60 you can use the <b>"UltraBase X6"</b> dock (for the X60 Tablet it is called
X6 Tablet UltraBase). For the ThinkPad T60,
you can use the <b>"Advanced Mini Dock"</b>.
</p>
<p>
If you are using one of the ROM images with 'serial' in the name, then you have serial port enabled in libreboot
and you have memtest86+ included inside the ROM. Connect your null modem cable to the serial port on the dock
and connect the other end to a 2nd system using your USB Serial adapter.
</p>
<p>
On the 2nd system, you can try this (using GNU Screen):<br/>
<b>$ sudo screen /dev/ttyUSB0 115200</b>
</p>
<p>
How to quit GNU Screen: Ctrl+A then release and press K, and then press Y.
</p>
<p>There are also others like Minicom but I like GNU Screen</p>
<p>
By doing this before booting the X60/T60, you will see console output from libreboot. You will also see
GRUB displaying on the serial output, and you will be able to see MemTest86+ on the serial output aswell.
You can also configure your distro so that a terminal (TTY) is accessible from the serial console.
</p>
<p>
The following guide is for Ubuntu, and can be followed for Trisquel 6.0 which is based on Ubuntu 12.04
(should also work in Trisquel 7, based on Ubuntu 14.04) to enable a serial console using GeTTY:<br/>
<a href="https://help.ubuntu.com/community/SerialConsoleHowto">https://help.ubuntu.com/community/SerialConsoleHowto</a>
</p>
<p>
Note: part of the tutorial above requires changing your grub.cfg. Just change the <b>linux</b> line to add instructions for enabling getty.
See <a href="../gnulinux/grub_cbfs.html">../gnulinux/grub_cbfs.html</a>.
</p>
<p><a href="#pagetop">Back to top of page</a>
</div>
<div class="section" id="powerbeeps">
<h1>Power Management Beeps on Thinkpads</h1>
<p>
When disconnecting or connecting the charger, a beep occurs.
When the battery goes to a critically low charge level,
a beep occurs. Nvramtool is included in libreboot, and can
be used to enable or disable this behaviour.
</p>
<p>
Disable or enable beeps when removing/adding the charger:<br/>
$ <b>sudo ./nvramtool -w power_management_beeps=Enable</b><br/>
$ <b>sudo ./nvramtool -w power_management_beeps=Disable</b>
</p>
<p>
Disable or enable beeps when battery is low:<br/>
$ <b>sudo ./nvramtool -w low_battery_beep=Enable</b><br/>
$ <b>sudo ./nvramtool -w low_battery_beep=Disable</b>
</p>
<p>
A reboot is required, for these changes to take effect.
</p>
</div>
<div class="section">
<h1 id="get_edid_panelname">Get EDID: Find out the name (model) of your LCD panel</h1>
<p>
Get the panel name with <b>sudo get-edid | strings</b><br/>
Or look in <b>/sys/class/drm/card0-LVDS-1/edid</b>
</p>
<p>
Alternatively you can use i2cdump. In Trisquel, this is in the package i2c-tools.<br/>
$ <b>sudo modprobe i2c-dev</b><br/>
$ <b>sudo i2cdump -y 5 0x50</b> (you might have to change the value for -y)<br/>
$ <b>sudo rmmod i2c-dev</b><br/>
You'll see the panel name in the output (from the EDID dump).
</p>
<p>
If neither of these options work (or they are unavailable), physically removing the LCD panel is an option.
Usually, there will be information printed on the back.
</p>
<p><a href="#pagetop">Back to top of page.</a></p>
</div>
<div class="section">
<p>
Copyright © 2014, 2015 Francis Rowe <info@gluglug.org.uk><br/>
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3
or any later version published by the Free Software Foundation;
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
A copy of the license can be found at <a href="../gfdl-1.3.txt">../gfdl-1.3.txt</a>
</p>
<p>
Updated versions of the license (when available) can be found at
<a href="https://www.gnu.org/licenses/licenses.html">https://www.gnu.org/licenses/licenses.html</a>
</p>
<p>
UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE
EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS
AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF
ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS,
IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION,
WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS,
ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT
KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT
ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.
</p>
<p>
TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE
TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION,
NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT,
INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES,
COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR
USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN
ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR
DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR
IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
</p>
<p>
The disclaimer of warranties and limitation of liability provided
above shall be interpreted in a manner that, to the extent
possible, most closely approximates an absolute disclaimer and
waiver of all liability.
</p>
</div>
</body>
</html>
|