Tag Archives: Linux

Different Fan Behaviour on ThinkPad X61 than X31

Since I got my new Lenovo ThinkPad X61, I have discovered that the CPU fan is behaving rather differently than the one I have in my IBM ThinkPad X31. That is the fan makes a lot more noise when idle on the X61.

For the record. I’m running Ubunty Hardy (8.04) on the X61 and Ubuntu Gutsy (7.04) on the X31. Both 32-bit systems.

The first thing I did was checking Launchpad.net for any known bugs. I found bug 224876 to be promising, it’s titled “Hardy does not control the CPU fan properly.”
After reading this thread I ran the tests described myself, which gave these results.

Machine temperature and fan speed when idle (X61):

$ cat /proc/acpi/thermal_zone/THM0/temperature
temperature: 41 C
$ cat /proc/acpi/thermal_zone/THM1/temperature
temperature: 42 C
$ cat /proc/acpi/ibm/fan
status: enabled
speed: 3207
level: auto

After 5 minutes of “yes | sha512sum” (X61):

$ cat /proc/acpi/thermal_zone/THM0/temperature
temperature: 76 C
$ cat /proc/acpi/thermal_zone/THM1/temperature
temperature: 78 C
$ cat /proc/acpi/ibm/fan
status: enabled
speed: 3242
level: auto

As you can see there is as good as no change in the fan speed.
However; doing the same check on my older, one core, IBM ThinkPad X31.
I get this results:

Machine temperature and fan speed when idle (X31):


$ cat /proc/acpi/thermal_zone/THM0/temperature
temperature: 44 C
$ cat /proc/acpi/ibm/fan
status: enabled
speed: 0
level: auto

Actually, the fan doesn’t start until the temperature reach 68 degrees Celsius. Then it will speeds up to around ~3500 rpm, thus keeping the processor at around 70 degrees Celsius during “yes | sha512sum”.

My question is: Why does the fan constantly run on the X61? Is it really necessary to keep the processor cool? I must say I prefer the silence of the X31 when I’m just browsing the web.

Karl Trygve has suggested that this is a result of a new design team and BIOS which is more restrictive than the one found on the X31.

Ubuntu Hardy and Hibernate Issues

As I mentioned in my last post I had some minor problems with Ubuntu Hardy (8.04) and hibernation. It didn’t always work.

However it now seems like I might have overcome this problem. At first I thought it might had something to do with my docking station. Hibernating while docked, booting up while not and vice versa. The problem was that the machine would freeze during startup after being in hibernation. So to be able to actually see what was going on, I removed the splash screen, and afther this I haven’t had any problems with hibernate what so ever.

Come to think of it, this isn’t the only time the splash screen have caused problems. I had another machine where it refused to boot as long as the splash parameter was set. Luckily, with grub, we are able to edit the boot parameters at boot. Something that wasn’t possible with LILO in the good old days.

To remove the splash screen more permanently than editing grub at each boot. You can,would be to edit the file /boot/grub/menu.1st and remove the word ‘splash’ from the kernel parameters. Just remember that this will sneak its way in the next time you upgrade the kernel. Or rather, Ubuntu upgrades your kernel. as Stian said in the first comment, edit the line “# defoptions=quiet splash” to “#defopts=”quiet nosplash” in the file /boot/grub/menu.1st. Do not remove the leading #.

Please leave a comment if you found this useful.

Problems with Citrix Client on Linux?

Updated October 12th, 2011.

Everytime I install the Linux Citrix Client it seems like I run into problems with SSL-Certificates. The message usually sounds like this:

You have not chosen to trust “Thawte Server CA”, the issuer of the server’s security cerfiticate (SSL error 61).

You might have another company listet as issuer on your server.
Anyway, let’s fix it.

Run the following command as a superuser, also known as root:

cp /usr/share/ca-certificates/mozilla/* /usr/lib/ICAClient/keystore/cacerts/

That’s it!

Updated: The new client, version 12.0, also called Citrix Receiver, is by default installed under /opt/Citrix/ICAClient/. So then the command will be:

sudo /user/share/ca-certificates/mozilla/* /opt/Client/ICAClient/keystore/cacerts/

This assumes that the ICA Client is installed in the default directory. Also you need to have Mozilla Firefox a package called ca-certificates installed since we are using its certificats.

If you have installed the client as a normal user, the keystore will most likely be placed under $HOME/ICAClient/linuxx86/keystore/cacerts/, note that the double x in linuxx86 is not a typo.

Please leave a comment if you found this useful.

Creating a Bootable USB Flash Drive

It’s always handy to have a bootable USB flash drive. Whether you would install a Linux distribution, or just run a memory test. Now days, less and less computers are delivered with floppy drives, and some don’t even have a CD drive. Like the IBM ThinkPad X-series. Of course you could buy an external one, but that’s not the point.

This is meant to help people who already know Linux, so don’t expect a world of information.

1. Prerequisite
You’ll need a USB flash drive and computer running Linux. The machine also needs Grub and support for FAT file system.

2. The Quick and Dirty Guide
First you must find out what block device your drive is identified by. This can be done by using “dmesg” right after you have plugged in the device.

dmesg | tail

Mine came up as sdb, so let’s go ahead and format it using the FAT file system.

mkfs.vfat /dev/sdb1

Then install Grub (the bootloader)

grub-install /dev/sdb

Pay attention to the output. It will tell you how Grub identifies /dev/sdb, we’ll need it later. In my case it’s hd1. If you get an error message about some BIOS stuff. Try this instead.

grub-install --recheck /deb/sdb

Now we can mount it and copy over the necessary files.

mount /dev/sdb1 /media/usb
mkdir -p /media/usb/boot/
cp -r /boot/grub/ /media/usb/boot/

We’re almost there.

grub
grub>root (hd1,0)
grub>setup (hd1)
quit

It’s bootable. Now you can throw in whatever image you please, like memtest86.

cp memtest86+.bin /media/usb/boot/

Memtest can be downloaded from Internet, or if you have Ubuntu it will already be in your /boot catalog. To make a boot menu, edit /media/usb/boot/grub/menu.1st to look like this.

default 0
timeout 10

title Memtest86
root (hd0,0)
kernel /boot/memtest86+.bin

I have also thrown in the Ubuntu network installation files.

cp linux initrd.gz /media/usb/boot

So now my menu looks like this.

default 0
timeout 10
color cyan/blue white/blue

title Memtest86
root (hd0,0)
kernel /boot/memtest86+.bin

title Ubuntu x86 Installation
root (hd0,0)
kernel /boot/linux root=/dev/ram
initrd /boot/initrd.gz

Please leave a comment if you found this useful.

Subversion – ‘502 Bad Gateway’ Workaround

Parts of this article has previously been posted in my old blog. It’s being reposted because of its usefulness.

A little over a year ago, I had a problem trying both copying and renaming files in Subversion, giving me the ‘502 Bad Gateway’ message. Trying to Google the problem didn’t help me much, and I don’t think it does to this date either.

The error message was:
svn: Commit failed (details follow):
svn: COPY of testfile.py: 502 Bad Gateway (https://hostname)

My solution to the problem was adding the following lines into my vhost-file, between the <VirtualHost *:443> and the closing </VirtualHost>. (I’ve placed them near the top.)

SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA;+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile /etc/apache2/ssl/server.crt
SSLCertificateKeyFile /etc/apache2/ssl/server.key

You must of course change the SSLCertificateFile and SSLCertificateKeyFile variables to reflect your own setup. You must also restart Apache.

I can’t guarantee that this workaround actually will work. But I’ve had good experience with it in two cases. In both cases I’ve run Subversion through Apache 2 web server, using the mod_dav_svn module, on a Linux platform. Also, since I have more than one domain name, the web server was set up with virtual hosts, ssl, proxy and rewrite modules.

According to my original post about this problem, I wrote the following:
I stole this solution from Karl Trygve Kalleberg, who fixed it once, and then later forgot how.
Which, if my mind serves me correct, means that I found it when looking through his old configuration files.