GNU/Linux on the Panasonic Let's Note T2

Written and maintained by Örjan Smith. Last updated 2006-01-18. Please report errors.

This report is listed at TuxMobil - Linux on laptops, notebooks, PDAs, mobile phones.

This page describes my experiences on installing and configuring Slackware on the Panasonic Let's Note T2. Much of the information here should be applicable to other GNU/Linux distributions, and some of it might be useful for other userlands and/or kernels as well. It is not an instruction on how to install Slackware (these can be found elsewhere), but merely a collection of tips specific to the Let's Note T2.

This guide is no longer actively updated, but should be fairly accurate and useful as it stands.

Some sections are marked as untested, and this simply means that I haven't actually tried it. These parts are included for completeness, but I of course have no way of verifying their applicability or correctness. Please correct me on these if you know better.

Current status summary

A brief listing of what I have been able to get working with Slackware 10.2. With the exception of the firmware for the Intel wlan, this is using purely free software. Stuff not listed here can be assumed to work out of the box.

What Works Driver
Framebuffer graphics Out of the box VESA framebuffer
Accelerated 2D in X11 Out of the box X.org 6.8.2 i810 driver
Accelerated 3D in X11 With driver X.org 6.9.0 i810 driver
Sound Out of the box ALSA i8x0
Ethernet Out of the box 8139too
Wireless LAN With driver ipw2100
Modem I haven't tried it yet.
Touchpad Works, but I haven't tried anything fancy.
ACPI controls With driver Panasonic Hotkey driver
Suspend to RAM Not yet.
Suspend to disk With driver swsusp2 + hibernate
SD slot Probably unsupported

Booting

The first challenge is to boot the computer into a system installer. If you have a USB CD-ROM drive, simply boot off of that. Otherwise it might be slightly trickier. The T2 is unable to boot off USB pen drives or external USB hard drives (or rather, I haven't succeeded in my attempts).

External USB CD-ROM (Untested)

Make sure the BIOS is set up to boot off an external USB CD-ROM. To access the BIOS setup utility, press F2 during the Panasonic splash screen. This will bring up familiar (at least to us nerds) PhoenixBIOS menus. If you haven't been paying attention in your Japanese classes, use the first option to switch to an English interface.

Hop over to the Boot menu and follow the instructions for setting up your boot order. Put "USB CD drive" way up high.

Plug in your CD drive, load it up with your install CD and reboot.

PXE Network boot

This is what I did. You will need a DHCP+tftp boot server. If you do not know how to set one up, please refer to documentation available on the web. Google is your friend. It is generally very easy to set up. Make sure the tftp server supports the tsize option, I use the tftp-hpa server from kernel.org.

If Slackware provides images for PXE booting, I don't know where to find them, so I whipped one together from the floppy images. This package contains PXELINUX, the bareacpi.i boot image, and a root image consisting of install.[12] and network.dsk:

slackware.10.2.pxe.tar

Simply unpack it into your tftp root directory and set up your dhcp server to point to it. Next, reboot your T2 and strike F12 during the Panasonic splash screen immediately after boot. This will initiate network boot.

Swapping the hard drive

To side-step the entire boot process, you could of course install your system on another machine and swap the drives.

The T2 uses a Toshiba MK4020GLS 40GB hard drive. Its logic board runs on 3.3V instead of the standard 5V, but can handle 5V as well, so should be ok to plug into another machine. It can, according to the Internet, be replaced with a standard 5V drive with some slight adjustments. Google for "MK4020GLS" before swapping the drive.

I noticed several hits to this page in my web server log from people googling for info on the 3.3V MK4020GLS, so I decided to put up a small page with some info and links. Here it is.

Configuration

The T2 is Centrino-based, which means it uses the Intel 855GM (ICH4) chipset which handles USB, sound, graphics and modem. It also includes an RTL8139 ethernet controller, an Intel 2100 3B WiFi controller, a Ricoh RL5c475 cardbus controller and a Ricoh R5c575 Secure Digital card reader. A copy of the lspci listing is available in the appendix.

Partitioning

The T2 keeps system recovery data in an HPA at the end of the drive. The installation kernel of Slackware 10.2 will honour the HPA and only let you partition the first 36 GB of the disk. If you are really sure you will never want to restore the original Windows XP system and would rather use those last 3GB for something else, you will be happy to know that a Linux 2.6 kernel will not honour the HPA. This also means that if you do want to keep the system recovery data and partition your drive under a 2.6 kernel, you need to be careful not to overwrite the HPA. Check your dmesg, and you will find something similar to:

hda: Host Protected Area detected.
   current capacity is 71842680 sectors (36783 MB)
   native capacity is 78140160 sectors (40007 MB)
hda: Host Protected Area disabled.
hda: 78140160 sectors (40007 MB), CHS=65535/16/63, UDMA(100)

This means that the kernel will ignore that the end of the drive is designated an HPA and will not protect it. Be careful not to partition past the 71842680:th sector if you want to keep that recovery data.

Graphics

The VESA framebuffer works perfectly. Similarly, the default VESA X11 configuration that ships with Slackware works fine with the Let's Note T2, but will of course give you unaccelerated graphics.

Just run xorgcfg and it will automatically identify the Intel graphics and configure them nicely. The "i810" module works like a charm for fully accelerated 2D graphics, but DRI caused problems for me. If you don't need OpenGL, simply remove or uncomment the line about the DRI module in the autogenerated xorg.conf and your done.

Update: I have recently noticed intermittent flickering while watching some video files using XVideo with X.org 6.8.2. I have not found a solution for this yet.

For hardware accelerated OpenGL, you will need to run a recent Linux 2.6 kernel (I run 2.6.14.5) with the i915 drm driver and Xorg 6.9 or 7.0 (They are the same, only the packaging differs). 6.9 is available in Slackware-current, and the packages can be downloaded from your nearest Slackware mirror. With these prerequisites hardware OpenGL works without a hitch (~1100 fps in glxgears).

Touchpad (Untested)

The touchpad works fine with the standard PS/2 mouse driver, but it would be cool to get dragging and scrolling as well. I've found a driver that might be able to do this, but haven't tried it yet. It is available here: Synaptics TouchPad driver.

ACPI

ACPI mostly works out of the box, but you will need an extra driver to be able to control the screen backlight. This driver is available as part of the Panasonic hotkey driver package. The rest of that package might be interesting as well.

Network

The Ethernet port is controlled by a Realtek RTL-8139, which should cause you no trouble. Slackware will detect and configure it automatically. It uses the 8139too driver.

The wireless adapter (802.11b) is an Intel 2100 B3, and is supported by the Intel Pro/Wireless driver. You also need the ieee80211 driver. Recent 2.6 kernels include both these drivers as part of the mainline distribution.

Sound

The Intel chipset also provides sound, and is supported by the i8x0 alsa driver. Use alsaconf if you want automatic configuration. Note that the i8x0m modem driver (also ALSA) conflicts with the sound driver, and if you enable the modem driver you will get no sound output. Also, if you mute the sound using Fn-F4 in Windows, the Linux ALSA driver is unable to unmute it, and your Linux will remain silent until you unmute in Windows.

Also note that the single speaker on the T2 sounds terrible. Be prepared to use headphones when listening to music. When you do, you will appreciate the truly excellent audio out.

Suspending to disk

I haven't fiddled much with suspend to RAM, but suspend to disk works like a charm. You will need to patch your kernel, which also means you will need to compile your own. This is not as hard as it sounds, and there are many tutorials available on the Net.

First, go and fetch the Software Suspend 2 patch and install it using the included script. Then configure your kernel and tick the appropriate boxes. If you have already configured your kernel earlier, it's easiest to just run 'make oldconfig' and make the handfull of configuration choices that have been added. While your kernel is compiling, I suggest you go back to the aforementioned web page and also fetch the hibernate script.

I find it convenient to trigger hibernation with the power button. To configure this, simply edit /etc/acpi/acpi_handler.sh and exchange 'init 0' with '/usr/local/sbin/hibernate'.

Appendix

lspci

00:00.0 Host bridge: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)
00:00.1 System peripheral: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)
00:00.3 System peripheral: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)
00:02.0 VGA compatible controller: Intel Corporation 82852/855GM Integrated Graphics Device (rev 02)
00:02.1 Display controller: Intel Corporation 82852/855GM Integrated Graphics Device (rev 02)
00:1d.0 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (rev 03)
00:1d.7 USB Controller: Intel Corporation 82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (rev 03)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev 83)
00:1f.0 ISA bridge: Intel Corporation 82801DBM (ICH4-M) LPC Interface Bridge (rev 03)
00:1f.1 IDE interface: Intel Corporation 82801DBM (ICH4-M) IDE Controller (rev 03)
00:1f.3 SMBus: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (rev 03)
00:1f.5 Multimedia audio controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 03)
00:1f.6 Modem: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (rev 03)
01:01.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
01:04.0 Network controller: Intel Corporation PRO/Wireless LAN 2100 3B Mini PCI Adapter (rev 04)
01:05.0 CardBus bridge: Ricoh Co Ltd RL5c475 (rev 88)
01:05.1 System peripheral: Ricoh Co Ltd R5C575 SD Bus Host Adapter

Kernel config

This is a copy of my kernel config file for 2.6.14.5 with Software Suspend 2.2 patched in. It may not fit your needs, but it is what I use, and might be interesting as reference. Note that I do not use the mainline ieee80211 subsystem or ipw2100 driver, as it trails behind the separately released drivers.

Kernel config file