Tested in Trisquel 6 and 7.
Now you can use this command to kill that noise:
$ sudo powertop --auto-tune
You can also run it without parameters and then go into 'Tunables' and set everything to 'Good'
Note: On Trisquel 6, you will need to use a later powertop version from git. The one in the repositories is too old. See below:
Included with libreboot is a script called 'powertop.trisquel6'. Run this 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.
$ ./powertop.trisquel6
For Trisquel 7 users:
$ ./powertop.trisquel7
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).
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!
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!
Be root
$ su -
Installed powertop:
# pacman -S powertop
and added the following to /etc/systemd/system/powertop.service :
[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
Finally, as root do that:
# systemctl enable powertop
# systemctl start powertop
The next time you boot the machine, the buzz will be gone.
For the Thinkpad X60 you can use the "UltraBase X6" dock (for the X60 Tablet it is called X6 Tablet UltraBase). For the ThinkPad T60, you can use the "Advanced Mini Dock".
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 machine using your USB Serial adapter.
On the 2nd machine, you can try this (using GNU Screen):
$ sudo screen /dev/ttyUSB0 115200
How to quit GNU Screen: Ctrl+A then release and press K, and then press Y.
There are also others like Minicom but I like GNU Screen
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.
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:
https://help.ubuntu.com/community/SerialConsoleHowto
Note: part of the tutorial above requires changing your grub.cfg. Just change the linux line to add instructions for enabling getty. See ../gnulinux/grub_cbfs.html.
Get the panel name with sudo get-edid | strings
Or look in /sys/class/drm/card0-LVDS-1/edid
Alternatively you can use i2cdump. In Trisquel, this is in the package i2c-tools.
$ sudo modprobe i2c-dev
$ sudo i2cdump -y 5 0x50
$ sudo rmmod i2c-dev
You'll see the panel name in the output (from the EDID dump).
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.
Copyright © 2014 Francis Rowe <info@gluglug.org.uk>
This document is released under the Creative Commons Attribution-ShareAlike 4.0 International Public License and all future versions.
A copy of the license can be found at ../license.txt.
This document is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See ../license.txt for more information.