Installing Ubuntu 7.04 (Feisty Fawn) on a ThinkPad T61

From ThinkWiki
Revision as of 15:23, 25 August 2007 by SteveSims (Talk | contribs) (ALSA driver update (Hard fix, recommended for advanced users))
Jump to: navigation, search

We'll I got it basically working, so far (will update as I get more things working).


My DVD drive/CD burner/DVD burner doesn't work (Solved)

Follow these instructions to enable your optical drive:
1) Reboot your T61. Press the ThinkVantage button quickly when you see the ThinkPad screen and then press F1 enter BIOS.
2) In BIOS, select Configure -> Serial ATA.
3) Now, select Compatibility instead of AHCI.
4) Exit BIOS and start your computer normally.
5) Go to Places -> Computer, right-click your CD-ROM/DVD/etc. drive, and select Properties. Then, go to Drive -> Settings. Set the mount point to cdrom (regardless of whether it's a CD-ROM drive, DVD drive, etc.).

Remember step 5! If the Synaptic Package Manager does not see your installation CD, even though you can see it in Places -> Computer, do the following:


1) Log in as the root user.
2) Go to /media and rename cdrom to something that isn't already used in the /media folder.
3) Right-click on the desktop and select Create Launcher. Enter cdrom as the name and /media/Ubuntu 7.04 i386 as the command. Drag the launcher into /media. Note: Ubuntu 7.04 i386 can be anything, so change it if you need to access a different CD this way (i.e., if you need a different CD to appear as cdrom), but to get a package from your CD via Synaptic the name must be the same as your install CD´s (probably Ubuntu 7.04 i386).
4) Remember to rename the original cdrom after you´re done; you can keep the launcher cdrom under a different name.

Of course, this way isn´t by the book and will get annoying if you have to do it a lot, so there´s probably a better way of getting packages from your installation CD with Synaptic, but itĺl work for getting the necessary packages to get your other hardware working.


At first, the Ubuntu Live CD would not start at all, this seems to be a problem with the SATA AHCI driver. I had to go into the BIOS and change the SATA driver from ACHI to compatibility (What is the difference? Am I loosing performance?).


After you've installed and booted, try the advice from Problems_with_SATA_and_Linux. Do this:

# echo options libata atapi_enabled=1>/etc/modprobe.d/atapienable && update-initramfs -u

Then try turning AHCI back on in the BIOS. On a custom-built 2.6.21.5 kernel, my DVD drive appears as /dev/hda and DMA works. --Kc8tbe 12:45, 1 July 2007 (UTC)

If your DVD drive does not appear, modprobe pata-jmicron and ide-generic. --Antikristian 01:23, 30 July 2007 (UTC)

NVIDIA Quadro NVS 140M (Solved)

After initial issues like those explained above in the SATA Issues, I received the xorg error 'fatal error: no screens found'. I was able to boot into Safe Graphics Mode and run the installer, though I had to move both window manager bars to see enough of the install window to use it.

Alternatively, you can download the drivers via wget in a console. Take care to follow the instructions in the NVidia Forum and uninstall all the packages wit apt-get remove, as descirbed. Then run the nvidia installer.

Remember that, after you upgrade the kernel, you also have to re-install the drivers.

After installing the NVIDIA drivers, your laptop may not wake after suspend or hibernation. I followed these instructions to fix it Ubuntu Community Help.

Alternative NVIDIA driver installation

Instead of installing the NVIDIA drivers manually as described above, you can try using Envy. It automatically installs the latest NVIDIA drivers, and cleans up any previous installations.

Intel Graphics Media Accelerator X3100 (Chipset GM965) (Solved)

After that the CD seemed to boot but the screen was just garbage Picture. In order to get around that issue I had to go back and download the Alternate CD, which allows you to install in text only mode. From here, the text-only install went okay. Changing the VGA settings on the regular CD worked for me.

When I booted up after the installation, I was still getting the same garbage on the screen. To resolve this I edited my xorg.conf file as shown. I also had to install the latest kernel for Feisty, as the one off of the install disk did have have /dev/agpgart. And I could then use X11. There were still some issues however. The screen seemed somewhat fuzzy. This was a little more challenging of a fix... I found this mailing list posting, according to it, there was a small glitch in the driver. To fix it:

apt-get source xserver-xorg-video-intel
cd xserver-xorg-video-intel-1.9.94/
vim src/i830_lvds.c
Goto line 230 and delete (PFIT_ENABLE | VERT_AUTSCALE ....);, replacing it with 0;  then quit vim
dpkg-buildpackage -rfakeroot -uc -b
cd ..
dpkg -i xserver-xorg-video-intel_1.9.94-lubuntu3_amd64.deb (wont be amd64 with a 32-bit install)

Now reboot your computer, and it should work. **NOTE: For some reason just restarting X didn't fix it, seems like you must reboot.** At this point you should have a nice, crisp display.

I am still working on aiglx and compiz (switching desktops on a cube doesnt seem to work, though I have some ideas...). There are some issues with OpenGL apps freezing Xorg as well, but the standard 2D desktop works flawlessly.


It doesn't seem to be necessary to modify the soruce of xserver-xorg-video-intel anymore, but 3D-acceleration doesn't seem to be stable yet and kdm occasionally needs to be restarted after a login attempt.--Kc8tbe 12:49, 1 July 2007 (UTC)


I was able to use the normal feisty install disk by changing the SATA setting in BIOS, then change the resolution to 800x600 prior to install, then sudo apt-get update and upgrade, and then sudo apt-get install xserver-xorg-video-intel, then change xorg.conf to match link above and 2D graphics work fine. Jul 18, 2008 - John E


It seems that everything works fine when using "apt pinning" and updating the xserver-xorg-video-intel, mesa and other packages to the versions provided by Gutsy. I did the following and the resolution and Compiz Fusion are working fine at the moment. The original source of the steps described below can be found here: [1]

Instructions:

  • Make a new file /etc/apt/preferences
  • In the preferences file, put:
Package: *
Pin: release a=feisty
Pin-Priority: 700

Package: *
Pin: release a=gutsy
Pin-Priority: 200
  • Now, edit your sources.list and copy the main and restricted (and others if you want) repo lines replacing feisty with gutsy:
# original
deb http://archive.ubuntu.com/ubuntu feisty main restricted universe multiverse
deb-src http://security.ubuntu.com/ubuntu feisty main restricted universe multiverse

# your addition
deb http://archive.ubuntu.com/ubuntu gutsy main restricted universe multiverse
deb-src http://security.ubuntu.com/ubuntu gutsy main restricted universe multiverse
  • Now run:
sudo apt-get update
sudo apt-get -t gutsy install xserver-xorg-video-intel
sudo apt-get -t gutsy install linux
sudo apt-get -t gutsy install libgl1-mesa-dri
  • Now reboot.

Probably now you have the weird effect that your GUI is scaled wrong and doesn't fill the full width of the monitor. To fix that, open your xorg.conf and make the following changes:

  • Add the following section to your xorg.conf
Section "Monitor"
    Identifier "TVOutput"
    Option "Disable" "true"
EndSection
  • Then in the "Device" section add the following line:
Option "monitor-TV" "TVOutput"

That should fix the scaling problem and now everything should work fine. --Shuk 02:26, 10 July 2007 (UTC)

ThinkFinger

Ubuntu does not come with a package for thinkfinger. Downloading the most recent source and building it was simple enough: Download most recent version (0.3 at time of writing)

sudo apt-get install libpam0g-dev libusb-dev
tar xvzf thinkfinger-0.3.tar.gz
cd thinkfinger-0.3/
./configure --with-securedir=/lib/security --with-birdir=/etc/pam_thinkfinger
make -j5             (hey its dual core!)
sudo make install

Configuring it is easy as well, open /etc/pam.d/common-auth:

auth sufficient pam_thinkfinger.so
auth required pam_unix.so try_first_pass nullok_secure

Create the data directory and set your fingerprint:

subo mkdir /etc/pam_thinkfinger
sudo tf-tool --add-user <username>

It will all be setup. (I found this somewhere on the web, I wish I could give a source but I'm afraid I cant find it, thank you Anonymous!).

HDAPS

This seems to be working fine now, I just follow the step on How_to_protect_the_harddisk_through_APS. Using hdaps-gl does the inverse of the accelerometer, though it's not really a big deal, the harddrive protection should still work.

WiFi

If you have Intel 4965AGN WiFi card, you have to use ndiswrapper OR use backported kernel from Ubuntu Gutsy (Anybody have howto?) and use following: http://kuscsik.blogspot.com/2007/06/how-to-install-intel-4965-wireless.html

Note: Do not use the latest versions of iwlwifi and mac80211. For me with Gutsy mac80211-8.0.2 and iwlwifi-0.0.42 work with the latest firmware. No further modification needed.

If you have the Atheros card, Ubuntu should automatically install madwifi, which works out of the box


Works for me with iwlwifi-4965-ucode-4.44.15, iwlwifi-0.0.34, and mac80211-8.0.1. The catch is, you need to patch your kernel with mac80211, which will fail at compile time with the stock Ubuntu sources. Worked for me with vanilla 2.6.21.5 sources patched for tp_smapi and hdaps protect. Make sure to disable CONFIG_NET_WIRELESS_RTNETLINK in your kernel config.

You can download what you need for for iwlwifi and mac80211 from http://intellinuxwireless.org .--Kc8tbe 13:00, 1 July 2007 (UTC)

Works for me with vanilla kernel v2.6.22.1, ucode 4.44.17, iwlwifi 0.1.2 and mac80211 9.0.2. --Mbsullivan 13:40, 24 July 2007 (UTC)

You can also use Kernel 2.6.22.9 and Ubuntu Modules 2.6.22.9 from Gutsy and you will not need to compile anything! Works very well.

Keyboard/Apostrophe issues (Solved)

When installing with the alternate CD, Ubuntu asks you if your keyboard as a character that appears to be a quotation mark (this character: "). If you're using a US English keyboard, say no; the character is actually an umlaut. SteveSims 02:15, 19 August 2007 (UTC)

My apostrophe key outputs ´ instead of '. I went to System -> Preferences -> Keyboard and could not figure out how to fix it. SteveSims 21:50, 11 August 2007 (UTC)

Try switching your keyboard layout to US-Classic, and putting it on the top of the list. After you do that, it works perfectly. --Adamacious 04:29, 13 August 2007 (UTC)
There is no "US Classic" option. Here's what I have:

Keyboard options.png
SteveSims 02:17, 15 August 2007 (UTC)

It started working, even though I changed nothing. I'm running it as a Macintosh US English keyboard. SteveSims 17:20, 15 August 2007 (UTC)
Sorry Steve, what you had to do (and what you did) is select US English, as in the header in the list. It doesn't look selectable, but it is.--Adamacious 20:02, 22 August 2007 (UTC)

Can you hear me now?.... What? (Solved!)

Python script fix (easy fix, recommended for most users)

1) Download the T61 audio hack from Launchpad. Move it to a convenient folder (e.g., not your desktop).
2) Go to System -> Preferences -> Sessions -> Startup Programs -> Add.
3) Name it whatever you want. Choose something simple like "Python audio fix."
4) Go to Command, and enter the following (with quotation marks):

gksudo "[THE FOLDER THAT T61_AUDIO_HACK.PY IS IN]/t61_audio_hack.py"

For example, on my computer, I put t61_audio_hack.py into the /fixes folder in my home folder, so I entered:

sksudo "/home/sims/fixes/t61_audio_hack.py"

into the Command textbox.

5) Log out, log back in, and type your password quickly when prompted the second time.

References: Launchpad Bug #122560 Launchpad Bug #133105

ALSA driver update (hard fix, recommended for advanced users)

Note: This section assumes a high level of technical proficiency. Please fix it.
Download alsa-driver, alsa-kernel, alsa-lib, and alsa-utils, according to http://alsa.opensrc.org/index.php/AlsaCVS. Other sources, however, say only the driver is necessary. Perhaps alsa-project.org simply recommends the other two?
  • How did you compile it from source? How did you add the patch?
  • In short, please explain how you did these things in addition to just telling us what you did. I´m not trying to be rude but seriously, not all Linux users are programmers ;). Thanks. SteveSims 22:19, 11 August 2007 (UTC)

After upgrading to 1.0.14 I still had no sound, and this took about a week to solved (though it was so sadly obvious though). Just upgrading to alsa 1.0.14 will not be enough, there were a few patches released right after the release that fix the Thinkpad's. The reason I missed this was because it was the same day so the release of 1.0.14!


VERY SIMPLE METHOD OF MAKING SOUND WORK http://forums.fedoraforum.org/showthread.php?t=159516&page=1&pp=15 Just follow the instructions step by step, except for two small things: When doing "cp ../patch_analog.c alsa-driver-1.0.14/alsa-kernel/pci/hda/" use "cp ../patch_analog.c alsa-kernel/pci/hda/" instead Also, when you get to the part about modifying the modprobe.conf file, it doesn't exist in ubuntu. Adding "options snd-hda-intel index=0 model=thinkpad" to any file (even one you make yourself) inside etc/modprobe.d should work. I personally added it to the options file, and it works fine.

-credit for the guide goes to ciphermonk, and credit to the small changes needed to make this work on ubuntu go to my friend John.

-hotkeys control mic volume, not speaker volume for some reason. I do not know how to fix this

-this fix should provide sound for both headphones and speakers.

-this edit by fatalchaos


First make sure these packages are installed (System -> Administration -> Synaptic Package Manager) : automake, autoconfig, cvs, libtool, python-dev, build-essential

Then download the source code to the alsa-driver and apply these patches: (links to the revisions)

Please use CVS version of ALSA instead. All of these patches are committed. The link to the CVS version of ALSA is dead[2].

After doing a make and make install reboot your computer (or rrmmod snd-hda-intel && modprobe snd-hda-intel). And run alsamixer (for me it only works as root atm). If you can´t find alsamixer, you can run it in the terminal (Applications -> Accessories -> Terminal) by entering alsamixer. You will have to play with the settings a bit. Make sure the speaker option is not muted and leave the Internal Mic Boost at 0, other wise you will have a really loud microphone feedback sort of sound constantly.

I had to chmod -R 777 /dev/snd/ to get everything work for now. (THIS IS NOT THE CORRECT WAY TO DO IT, IT WILL NOT STAY BETWEEN REBOOTS!).

Audio playback should then work, audio capture (microphone) doesn't seem to work, but I am probably not going to try and fix it, I don't use the capture so I am not concerned with that at the moment. Update: With ALSA CVS, microphone seems to work

If you can't hear the mic boost mic settings. Here are my settings at KMix Output

  Mic - low
  Mic Boost - full

Input

  Mic boost [enable] - medium
  capture [enable] - medium

works great with Skype. Also you can use the 'mic level meter' on KRecord to check the mic

In Gnome, default channel mapped to thinkpad volume buttons is MIC, which is bad. Go to System->Preferences->Sound->Default mixer tracks to change it

Please note that internal speakers doesn't work with ALSA CVS. Use the headphone jack. Solution?


When starting alsamixer over the terminal I couldn't activate the speakers and only had sound over the headphone. However, I figured out how to easily activate the speakers:

  • Right-click on your microphone icon in the top panel.
  • (If "Mute" is activated, deactivate it. I had that at the beginning and was confused since in alsa you don't really realize it.)
  • Click on "Open Volume Control"
  • Change to the tab "Switches" and activate the option for speaker.

That should be enough to make it work. --Shuk 02:51, 11 July 2007 (UTC)

I tried those patches, it didnt work for me. But this python script did: http://www.klabs.be/~fpiat/linux/debian/Etch_on_Thinkpad_T61.html#Sound .. apparently if you make the PC speaker play constantly, you cant hear it but you can then hear sound. Hopefully gutsy will fix this :/ --Rubin 07:18, 14 July 2007 (UTC)

Suspend

Suspending doesn't work by default. It succesfully suspends, but after resuming, Kernel panic occurs. I didn't test hibernate. I managed to get suspend to ram to work by using this script:

#!/bin/sh

# if launched through a lid event and lid is open, do nothing
echo "$1" | grep "button/lid" && grep -q open /proc/acpi/button/lid/LID/state && exit 0

# remove USB 1.1 driver
rmmod uhci_hcd
rmmod ehci_hcd

# sync filesystem and clock
sync
/sbin/hwclock --systohc

# switch to console
FGCONSOLE=`fgconsole`
chvt 6

# go to sleep
sleep 5 && echo -n "mem" > /sys/power/state

# readjust the clock (it might be off a bit after suspend)
/sbin/hwclock --adjust
/sbin/hwclock --hctosys

# reload USB 1.1 driver
modprobe uhci_hcd
modprobe ehci_hcd

# turn on the backlight and switch back to X
chvt $FGCONSOLE

It's very similar to script posted on thinkwiki, but I had to add ehci_hcd to removed modules and remove some radeon stuff (when using Nvidia)

Problems the problem with this suspend script is, that after resuming, the laptop is incredibly slow. Applications start about 20 seconds, Firefox is lagging. But processor doesn't run at highest frequency, nothing seems unusual. Suggestions?

When using this script, my USB ports are 'dead' after resume (i.e. nothing connected to it gets any power). I have commented out 'rmmod ehci_hcd' and 'modprobe ehci_hcd' lines, to make the USB ports active after a suspend/resume cycle. (this is using nvidia card)


Suspend and hibernate work out-of-the-box for me with the 2.6.21.5 kernel, except that you need to put acpi_sleep=s3_bios in the kernel command line (i.e. at the end of each kernel line in /boot/grub/menu.lst). --Kc8tbe 13:03, 1 July 2007 (UTC)

Hmm, with 2.6.21.5 + acpi_sleep=s3_bios, laptop suspends, but resume fails - machine locks up. This is with nvidia 140. Same result when doing it at console. When I resume, I hear a beep and the machine hangs. Have to hard-reset. Suggestions?

Some things seem to break after suspend for me, like network connections time out randomly, cdrom stops working etc. Running 'sudo /etc/init.d/dbus restart' seems to solve it for the most part.

Brightness

Changing brightness doesn't work at all. There are many issues. I tried Gutsy and still the same (even worse)

Not a real solution, but if using the vesa driver, brightness control works. --Daniel06 11:58, 4 July 2007

doesnt work for me with vesa or intel --Rubin 06:19, 14 July 2007 (UTC)

It works fine on mine and I have built-in graphics on my motherboard. SteveSims 02:19, 15 August 2007 (UTC)

one idea

 echo "up" >/proc/acpi/ibm/brightness   

...works. as does 'down' and 'level x' where x is 1-7. But how to tie that into the buttons? Seems they are currently using something else in /proc that doesnt exist for us. --Rubin 06:19, 14 July 2007 (UTC)

yet another idea

You can add the Gnome power manager brightness applet to the gnome panel, which gives you a GUI tool to do the job, rather than hardware buttons. I don't know about KDE or other window managers. --Atoponce 13:07 22, Aug 2007

Another solution for Brightness, using xbacklight and laptop-mode

While the hardware buttons still don't work, I have a solution that will automatically raise and lower the backlight when plugged in or on battery.

First, make sure Gnome isn't trying to set the brightness, by going to System > Preferences > Power Management. In the On Battery Power tab, set "Dim display brightness by" to 0%.

Next, install xbacklight.

 sudo apt-get install xbacklight

You can manually set the backlight by using "xbacklight -set <number from 1-100>". Note that by using xbacklight, you can make the backlight go brighter or dimmer than normally allowed by Windows or Ubuntu.

To automate brightness changes, first enable laptop-mode

 sudo nano /etc/default/acpi-support

Scroll to the bottom and change ENABLE_LAPTOP_MODE to true

 ENABLE_LAPTOP_MODE=true

Set laptop mode to start automatically

 sudo update-rc.d laptop-mode multiuser

Edit laptop-mode.conf to automate brightness changes. Scroll down to LCD brightness settings. Modify the section to read as follows:

 CONTROL_BRIGHTNESS=1
 BATT_BRIGHTNESS_COMMAND="xbacklight -set 20"
 LM_AC_BRIGHTNESS_COMMAND="xbacklight -set 100"
 NOLM_AC_BRIGHTNESS_COMMAND="xbacklight -set 100"
 BRIGHTNESS_OUTPUT="/dev/null"

Note: You can use any value from 1 to 100 after -set, I used 20 and 100 as examples. After this, start the laptop-mode daemon, and test if it works. You may have to restart acpid as well.

 sudo /etc/init.d/laptop-mode start
 sudo /etc/init.d/acpid restart

Webcam

The webcam in T61 is some sort of UVC camera: Found UVC 1.00 device Integrated Camera (17ef:1004). The module loads out of the box. I tested the camera using: Luvcview: http://mxhaard.free.fr/spca50x/Investigation/uvc/luvcview-20070512.tar.gz Just compile and run using ./luvcview -f yuv (JPG format doesn't work)

I also tried gqcam and webcam, but both doesn't work (first SEGFAULTs, second prints Invalid argument)

luvcview has a button to take pictures. Place your mouse over the buttons at the bottom of the window, and their function is revealed in the title bar. Unfortunately, the button for avi capture does not seem to work (although it does tell you what the video framerate is, which is helpful).

To capture a video stream, run ./luvcview -f yuv -S To play back the video stream, run mplayer -demuxer rawvideo -rawvideo fps=7:w=320:h=240:yuy2 stream.raw

64bit systems issues

If you are running 64bit Ubuntu, you will face some problems wit 32bit only proprietary applications. Most of them can be solved.

Firefox & Flash

You can use 32bit version of Firefox (see google), or use http://gwenole.beauchesne.info/projects/nspluginwrapper/ nspluginwrapper] which i prefer:

sudo apt-get install ia32-libs ia32-libs-gtk linux32 lib32asound2 alien

Now download both nspluginwrapper rpms (Plugin + Viewer) and convert them:

sudo alien nspluginwrapper*.rpm
sudo dpkg -i nspluginwrapper*.deb

Download Adobe Flash Player: http://fpdownload.macromedia.com/get/flashplayer/current/install_flash_player_9_linux.tar.gz

tar -xvzf install_flash_player_9_linux.tar.gz
cd install_flash_player_9_linux
sudo install libflashplayer.so flashplayer.xpt /usr/lib/firefox/plugins
nspluginwrapper -i /usr/lib/firefox/plugins/libflashplayer.so
cd ~/.mozilla/plugins/
sudo install npwrapper.libflashplayer.so /usr/lib/mozilla-firefox/plugins/

This howto is taken from Smehlik Webzine (in Czech)

Skype

Download Skype for Ubuntu Feisty Use this commandlibdbus, libqt4-core, libqt4-gui, libsigc++ to determine missing libraries:

ldd /usr/bin/skype | grep not

It should be these:

libdbus, libqt4-core, libqt4-gui, libsigc++ (2.0 version)

Download them from http://packages.ubuntu.com (32bit versions!)

mkdir testlibs
dpkg-deb --extract <deb file> testlibs

Now copy everything from testlibs to /usr/lib32

cp -r testlibs/usr/lib/* /usr/lib32

Freedom lovers are advised to avoid proprietary systems like Skype, however. Centralized directories and signalling architectures can't be good for your health.

Bluetooth

works for me (TM)

USB

A short time after the system has booted, I get a message on the console of every window indicating IRQ# 23 has fired but noone is expecting it. After this message, the USB ports on the right side fail to work anymore. It was suggested on a forum that they will work, its just it takes it a long time to discover there is a new device. I looked in /proc and determined that the bluetooth device is using IRQ23, so it may be involved, but there may be sharing so it could be something else. Regardless, there are USB bus problems with the T61 and linux.


Overall

I initially had some big problems getting this working, but now its working quite well. The wifi card worked at startup (uses madwifi) and I am happy because I don't seem to need any proprietary software to run this system.

Discussion

In case you missed it the discussion page (for questions/responses) is right here: http://www.thinkwiki.org/wiki/Talk:Installing_Ubuntu_7.04_%28Feisty_Fawn%29_on_a_ThinkPad_T61

References