More than a year after I installed Fedora 7 on my ThinkPad T61, I decided to upgrate it to the latest Fedora. That was a great decision. Fedora has been improved a lot. You don't need Tux-on-Ice kernel to do suspend any more. Now T61 suspends and hybernates flawlessly. Also the internal microphone works fine now.
First, upgrade using the Fedora Core 10 DVD. You will need at least 1GB extra space in the / partition.
Problems and their solutions:
ln -s /lib/libcrypto.so.7 /lib/libcrypto.so.6
rpm -ivh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm \ http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-*
yum erase kernel-tuxonice libkexiv2 libkipi libkdcrawand do:
alsamixer -V allset input source to Internal Mic, maximize Internal Mic, and set Mic to 70%. Then open Sound Control dissable Internal Mic and set Microphone to 70%.
LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skypeSee Skype on Ubuntu for more information.
VNCSERVERS="1:myusername" VNCSERVERARGS="-geometry 1680x1050 -nohttpd -localhost"where myusername is your username. You need to set your vnc password using the vncpasswd command (as user myusername). Then you do service vncserver start or set it on Services to start on boot. The client on T61 can be as before:
vncviewer -via myhost.com localhost:1 -Fullscreenwhere myhost.com is your vncserver.
My laptop configuration:
Lenovo ThinkPad T61 System Processor: Intel Core 2 Duo T7500 (2.2GHz 800MHz 4MBL2) Operating System: Windows XP Professional Display Panel: 15.4 WSXGA+ TFT (1680x1050 native resolution) System graphics: Intel GMA X3100 GM965 (Integrated Intel Graphics Media Accelerator) Total memory: 2 GB PC2-5300 DDR2 SDRAM 667MHz SODIMM Memory (2 DIMM) Hard Drive: 160GB Hard Disk Drive, 5400rpm (HITACHI HTS541616J9SA00) Optical device: DVD Recordable 8x Max Dual Layer, Ultrabay Slim (MATSHITA DVD-RAM UJ-852) Audio device: Intel Corporation 82801H (ICH8 Family) Ethernet controller: Intel Corporation 82566MM Gigabit Network Connection Wireless card: Intel PRO/Wireless 3945ABG Battery: 6 cell Li-Ion Battery
General comments: It has a far more solid construction than my old Dell Latitude D600, which had one latch broken few months after I bought it. If you don't use 3D graphics frequently and you are not interested in 3D games, then the X3100 is a nice video card. Running glxgears, it gives a decent 1200 FPS on my high resolution screen. Also the NVIDIA video card may drain your battery faster and, as I heard, may require the fan to run continuously.
Currently, everything I need works fine. I haven't tested modem, firewire, PCMCIA, and DVD-RW (but I have tested DVD-RAM).
Note: My installation instructions are based on the excellent web pages:
I first downloaded FC7 DVD ISO file (F-7-i386-DVD.iso) from a mirror site and burned it onto a DVD. Then, I downloaded the most recent version and burned it onto a CD the SystemRescueCd.
yum install proftpd service proftpd start mkdir FC7 mount -o loop F-7-i386-DVD.iso FC7Then I ftp'ed on the linux box from another PC to see if it was OK. Then I booted the iso DVD on T61 and, when it complained that it cannot install FC7 from DVD, I chose non-anonymous ftp on my linux box.
Office and Productivity - yes Software Development - yes Web server - noI selected both Gnome and KDE desktops. For Firewall settings, I enabled firewall allowing SSH only, but I disabled SELinux. I setted-up the NIC ethernet network to be DHCP. I also created my user account.
After I booted FC7 for the first time, I logged-in as a root using Gnome (the default desktop), and tested the ethernet network. It was OK (otherwise, you should bring the network up using System -> Administration -> Network on the Gnome menu). FC7 used my native resolution 1680x1050 but Gnome (and KDE) put the panels on screen as if the screen had smaller size. Then I setted up yum, and updated the system:
echo 'XXXX ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers rpm -ihv http://rpm.livna.org/livna-release-7.rpm yum updatewhere XXXX is my user account. Although, the last command updated 415 packages (downloaded 900MB) and took about one hour, you should not skip this step. I fixed the screen problem by editing the /etc/X11/xorg.conf file. I added:
Section "Monitor" Identifier "TVOutput" Option "Disable" "true" EndSectionand then added the following in the Device Section
Option "monitor-TV" "TVOutput"Please see my xorg.conf file. Then I rebooted into the latest kernel (220.127.116.11) installed by yum.
cd /etc/yum.repos.d/ wget http://mhensler.de/swsusp/download/suspend2.repo yum install kernel-suspend2Then reboot. When the grub menu comes (the boot screen), select to boot into your new kernel (should have the word tuxonice on the grub title). Then you can hibernate the laptop by just executing the command
sudo /usr/sbin/hibernate.Note that, instead of this command, it is better to use a script file to bring-down/up the network before/after hibernation. Here is my script. If you use encrypted partitions, you should also bring them down/up before/after hibernation (in the script file), otherwise all your passwords will be dumped to the disk as is! For the same reason, you should close all SSH connections. Hibernation works perfectly for me. I never shutdown the laptop anymore; I just hibernate it.
Update (11/19/07): With kernel 18.104.22.168-21_1.cubbi_tuxonice.fc7 I have never had any crash/reboot for weeks, although I hibernate T61 many times every day.
<match key="system.hardware.version" string="ThinkPad T61"> <merge key="power_management.quirk.s3_bios" type="bool">true</merge> </match>to the file /usr/share/hal/fdi/information/10freedesktop/20-video-quirk-pm-lenovo.fdi. You need also to add the lines:
<match key="/org/freedesktop/Hal/devices/computer:system.hardware.version" string="ThinkPad T61"> <merge key="laptop_panel.brightness_in_hardware" type="bool">true</merge> </match>to the file 10-laptop-panel-hardware.fdi in the same directory to enable brightness adjustment. Then edit the file /boot/grub/crub.conf and add the option acpi_sleep=s3_bios to the kernel parameter. For example, my kernel line is:
kernel /vmlinuz-22.214.171.124-85_1.cubbi_tuxonice.fc7 ro root=LABEL=/ rhgb quiet acpi_sleep=s3_biosThen you reboot and you try pm-suspend as root (or you can use my my script). Here is my grub.conf (you should use your own kernel number shown in uname -a).
modprobe iwl3945 iwlist scanThe last commands lists the local wireless networks. Then I selected System -> Administration -> Network from the main menu, and I deactivated eth0 (I also edit it to make it not attempt to activate on startup), Then I did:
service NetworkManager restart service NetworkManagerDispatcher restart modprobe -r iwl3945 modprobe iwl3945This creates a new applet on the Gnome panel for network management. I clicked on the applet to see the available wireless networks and connected to mine. Finally, I enabled these two services using System -> Administration -> Server Settings -> Services. You can get more details on the current status of the network manager by executing nm-tool.
yum -y install xmms xmms-mp3 xmms-faad2 gstreamer-plugins-ugly gstreamer-plugins-bad libmad libid3tag grip rpm -ihv http://linuxdownload.adobe.com/adobe-release/adobe-release-i386-1.0-1.noarch.rpm yum -y install AdobeReader_enu flash-plugin yum -y install xine xine-lib xine-skins xine-lib-extras-nonfree libdvdcss yum -y install mplayer mplayer-gui mplayer-skins mplayer-fonts mplayerplug-in lame yum -y install videolan-client yum -y install yumex kdegames xfig gv gnuplot kile latex2html tetex-xdvi yum -y install thunderbird screen dvdauthor ffmpeg avidemux SDL_mixer gftpYou may also need to setup the keys for ThinkPad
yum -y install tpbalthough this didn't do anything for me. I just used the Gnome way for changing buttons for sound: I went to System -> Preferences -> Personal -> Keyboard Shortcuts and set the sound buttons. To run Xine when a DVD movie is inserted in the drive, I selected System -> Preferences -> Hardware -> Removable Drives and Media -> (Multimedia -> set it to xine). The LCD brightness is adjusted using a gnome applet and the frequency scaling is done using the gnome applet, called CPU frequency monitor.
I downloaded and installed Acrobat Reader. I downloaded Real Player and installed it using
rpm -Uiv RealPlayer10GOLD.rpmTo play DVD video using Xine you need to install the codecs:
mkdir /usr/local/lib/win32 wget http://www3.mplayerhq.hu/MPlayer/releases/codecs/essential-20061022.tar.bz2 gtar xjvf essential-20061022.tar.bz2 mv essential-20061022/* /usr/local/lib/win32/ ln -s /usr/local/lib/win32 /usr/libTo use Sun's Java, I downloaded jdk-6u2-linux-i586-rpm.bin and did
yum -y install compat-libstdc++-33 chmod +x jdk-6u2-linux-i586-rpm.bin ./jdk-6u2-linux-i586-rpm.bin ln -s /usr/java/jdk1.6.0_02/jre/plugin/i386/ns7/libjavaplugin_oji.so /usr/lib/mozilla/plugins /usr/sbin/alternatives --install /usr/bin/java java /usr/java/jdk1.6.0_02/bin/java 1601 /usr/sbin/alternatives --install /usr/bin/javac javac /usr/java/jdk1.6.0_02/bin/javac 1601
vncserverfor the first time to create a VNC password and to setup directories. Then you edit the file .vnc/xstartup so that it has only the lines:
#!/bin/sh unset SESSION_MANAGER startkde &This starts KDE. If you want Gnome, you put gnome-session instead of startkde. Note that you cannot use the same window manager for the same user twice. Then kill the vncserver
vncserver -kill :1and start it again:
vncserver -geometry 1680x1050so that it creates a full screen for the T61. On T61, every time you want to connect, you do:
vncviewer -via your.workstation.com localhost:1 -Fullscreenwhere your.workstation.com is the IP address of your workstation. It will ask for your account password (for ssh) and then your VNC password (on a popup window). You exit by hitting F8 and selecting exit.
If you want to do the same thing from Microsoft Windows, you need to download VNC and PUTTY. On PUTTY, you create a new SSH session to your.workstation.com (port 22) and add to the SSH Tunnels the following tunnel. Source port 5901 and Destination your.workstation.com:5901. Push Add and go back to Sessions to give a name to the connection and save it. Then you Open it and connect to your.workstation.com. Then you start VNC and you use the server localhost:1
dd if=/dev/urandom of=/dev/sda99 mkdir /mnt/cr modprobe aes cryptsetup -v -y -c aes-cbc-essiv:sha256 -h sha512 -s 256 luksFormat /dev/sda99 cryptsetup luksOpen /dev/sda99 cr mkfs.ext2 /dev/mapper/crwhen asked by cryptsetup, you say YES (in uppercase). The dd command fills the disk with random data. It takes about 15 mins per GB for an external USB disk. Every time you want to open the partition, you execute the script:
cryptsetup luksOpen /dev/sda99 cr mount -t ext2 /dev/mapper/cr /mnt/crand everytime you want to close it, you execute the script:
umount /mnt/cr cryptsetup luksClose crIf you don't have any partition available, you can create a large file using dd and then bind a loop device to this file using losetup. Then use the loop device as a partition (read the losetup manual).
Note: you should never hibernate while encrypted partitions are mounted, except if your swap partition is encrypted too. (I heard that tuxonice can encrypt the memory content when it dumps it to the swap, but I haven't tried it.)
If you want to have multiple user sessions on the same machine, you can use
gdmflexiserverwhich throws you to the gdm login session without logging you out. Then you can login as a different user and then later you go back to your old session (by executing gdmflexiserver again).
If you want to dump a real-time radio stream to an MP3 file to listen on your iPod, you can use the VLC media player. You first store your radio station in the VLC playlist, you select from the File menu the Wizard, and then select Transcode/Save to file.
If you want to use a remote file system through ssh, you can use sshfs, instead of nfs.
Consider using azureus as a bittorrent client (which can be installed using yum). You need to allow a TCP/UDP port in your firewall settings within some range, as described by azureus.
Update (10/31/07): I installed the new suspend2 kernel 126.96.36.199-10_1.cubbi_tuxonice.fc7 using:
yum update kernel-tuxonicewhich fixed the problem (after reboot). Don't forget to enable sound by selecting System -> Preferences -> Personal -> Volume Control, and by unmuting PCM on Playback and enabling speaker and headphone on Switches (you may want to mute microphone to eliminate noise). Also you may have to enable sound by executing alsamixer.
Update (11/05/07): Microphone doesn't work although it makes noises.
Update (01/11/08): To connect a VGA external monitor or a projector to display a copy of the LCD screen do as root:
xrandr --output LVDS --auto --output VGA --auto --output TMDS-1 --autoFor this to work, your /etc/X11/xorg.conf file should have:
Section "Monitor" Identifier "TVOutput" Option "Ignore" "true" EndSectionIf the projector supports the LCD resolution (1600x1050), the copy will be exact. Otherwise it will display the upper left part of the LCD screen. To return back to LCD only:
xrandr --output LVDS --auto --output VGA --off --output TMDS-1 --offNote that if you do fullscreen on acroread or ooffice, it uses the LCD native resolution. If you want to change the resolution, you do for example:
xrandr -s 1024x768You can see the available LCD and VGA resolutions using xrandr -q.
I couldn't set up my Dell Laser Printer 1720 because there wasn't any way to set it up as a generic PCL 6 printer. CUPS selection didn't work. So I had to copy my old /etc/cups/printers.conf files and now it works. I don't know why the removed the generic PCL option from the CUPS druid.
Last modified: 05/10/10 by Leonidas Fegaras