Installing Ubuntu 7.04 (Feisty Fawn) on a ThinkPad T61
We'll I got it basically working, so far (will update as I get more things working).
- 1 My DVD drive/CD burner/DVD burner doesn't work (Solved)
- 2 NVIDIA Quadro NVS 140M (Solved)
- 3 Intel Graphics Media Accelerator X3100 (Chipset GM965) (Solved)
- 4 ThinkFinger
- 5 HDAPS
- 6 WiFi
- 7 Keyboard/Apostrophe issues
- 8 Can you hear me now?.... What? (Solved!)
- 9 Suspend
- 10 Brightness
- 11 Webcam
- 12 64bit systems issues
- 13 Overall
- 14 Discussion
- 15 References
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 22.214.171.124 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: 
- 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)
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!).
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.
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 126.96.36.199 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 v188.8.131.52, 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 184.108.40.206 and Ubuntu Modules 220.127.116.11 from Gutsy and you will not need to compile anything! Works very well.
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. I'll post which options I have later today; I'm not at my laptop right now. SteveSims 02:17, 15 August 2007 (UTC)
Can you hear me now?.... What? (Solved!)
- Note: This section assumes a high level of technical proficiency. Please fix it.
At www.asla-project.org, did you download only alsa-driver-1.0.14? That and alsa-lib-1.0.14a?
- 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!
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.
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
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)
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 18.104.22.168 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 22.214.171.124 + 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.
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)
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)
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
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:
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
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)
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.
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.
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
- This guide is listed at the TuxMobil Linux laptop and notebook installation guides survey (IBM/Lenovo).
- Many other suggestions and references can be found in the following ubuntu forum: http://ubuntuforums.org/showthread.php?t=471563