By Fred Maciel
Japanese language version
The CF-L1 family of Laptops by Panasonic is worth a brief introduction, since it is sold only in Japan. The CF-L1s are:
Below I describe the setup of Red Hat on my CF-L1S. Since the main differences between it and newer models of the CF-L1 product line seem to be the CPU and the hard disk capacity, most of this setup should also work on newer models (however, I don't take responsibility if it doesn't -- if you know any other differences, please contact me). Also, most of this setup doesn't apply to the CF-L2, since a lot of its hardware is different.
I have packed all the setup files described below in what I will call the "bundle". Its directories correspond to the file system, but it is NOT meant for you to unpack it straight from the root directory.
December 31, 2003: Upgraded to Red Hat 9 (in May) and
Fedora Core 1 (in November). Sorry for not updating this page.
January 1, 2003: Updated the USB section.
June 8, 2002: Upgraded to Red Hat 7.3.
March 2, 2002: Upgraded to Red Hat 7.2.
The CF-L1S cannot boot Linux from the USB-attached floppy disk drive, which causes some trouble on installation:
Ethy Brito found a way to boot Linux
using an USB floppy, but I haven't tested it yet.
Apart from that, the installation of Red Hat was not different from any other PC.
XFree86 3.3.6 and 4.0.2 (and later) support the Silicon Motion video chip (a LynxEM rev a3, according to X). Previous 3.3 and 4.0 versions don't support this chip.
The Silicon Motion driver in XFree86 3.3.6 (included in the SVGA server) is known to be buggy. Be careful with the following two bugs:
If these two bugs are a problem for you, you can use the FBDev X server; I tried it once and it worked (but it does not have hardware acceleration). See this or this page for instructions on how to set FBDev for the Silicon Motion chip. Use the /etc/X11/XF86Config file in the bundle for both SVGA and FBDev.
These bugs don't exist on XFree86 4.0.2, which
unfortunately does not mean that the server is perfect: it still
has bugs, which change from version to version. On 4.0.2, "X
-probeonly" blanks the screen even if XF86Config-4 is
correct, so don't use this option (recover with control-alt-del).
Also, the Gnome "Metal" theme displays garbage, and
some characteres are not displayed on Emacs after APM resume. On
4.1.0 I finally solved all problems by using special XAA options.
On 4.2.0 these XAA problems were solved, but then the video mode
and keyboard auto-repeat are not restored after APM resume. XFree86
4.3.0 seems to work correctly (finally!!!).
Use the /etc/X11/XF86Config-4 file in the bundle (XFree86 4.0 looks for XF86Config-4 before XF86Config so you can have the 3.3 and 4.0 config files at the same time).
Finally: a friend had to add 'Options "Swcursor"' and 'Options "Usebios" "false"' to XF86Config-4 in a CF-L1HS8S with NetBSD and XFree86 4.0.3; these options might be needed for other models (see "man siliconmotion" for the configuration options).
After some effort, I was able to modify the Linux Vortex device driver so it works with the built-in Ethernet adapter!!! See my 3Com Mini PCI device driver page for more details.
Red Hat 7.0 and later already include my patch (use the 3c59x module). I was told that Red Hat 7.0 only configures the adapter when upgrading from 6.2, but not when installing anew, so set Ethernet manually in the latter case.
Suspend works and, despite what many manual pages say, hibernation also works. Just be sure to activate suspend and hibernation from the text console.
Red Hat was not optimized for laptops, so I had to make some modifications to optimize power management:
By the way, recent CF-L1 models seemingly only have ACPI, which is still not fully supported by Linux.
The floppy is connected to the USB port, which is a step in the right direction. However, the support for USB in Linux took time to mature, which caused all kinds of problems like the ones on installation.
Red Hat 7.0 and later support USB (see /etc/rc.d/rc.local on how to load the drivers). If you are using a distribution without USB drivers, use kernel 2.2.18 or 2.4.0 or later versions (this might be the only reason for you to re-compile the kernel). Tar, mtools and mount work normally. By the way, on older versions of the USB drivers you need to turn on "legacy USB support" on the BIOS to use the floppy, but on recent versions the floppy works (and apparently works better) if legacy USB support is off.
I have been using the floppy drive through Red Hat's Kudzu, which does all the necessary setups when a hot-plug device is plugged. I had to define the drive as a USB floppy in /etc/updfstab.conf.
Before using Kudzu, to have the access permissions set on login for the USB floppy (/dev/sda) on the same way they are set for a regular floppy drive (like /dev/fd0), I modified /etc/security/console.perms. I also changed you /etc/mtools.conf for mtools to use the USB floppy as "a:". Warning: don't do these changes if have SCSI disks guarantee (or other disks which are used through the SCSI device drivers) unless you can which device name the floppy is going to use.
The function keys in the keyboard (screen brightness, suspend, etc.) work, with the exception of volume control (mute works though). The mouse also works, including tapping and dragging (set it as a 2-button PS/2 mouse). Scrolling by moving your finger in the right edge does not work though.
The "henkan" key in my keyboard was producing a errors in the log file since the kernel mapping for it (at the keycode level) was undefined. Setting the mapping solved this problem (see /etc/rc.d/rc.local in the bundle).
Please see my page on mapping the mouse buttons on the keyboard for an interesting way to use the henkan keys on the keyboard.
The parallel port works without problems, I used it for PLIP before Ethernet worked. See /etc/conf.modules in the bundle for the setup parameters.
PCMCIA works with the environment (kernel, modules, utilities, etc.) as it comes in Red Hat 6.2. You just have to set /etc/sysconfig/pcmcia (see this file in the bundle). Warning: I don't have PCMCIA cards, I am saying that it works based on a short test with the Ethernet card of a friend.
IrDA worked: I was able to copy files to and from a Windows 98 machine using ircp. However, the operation is not stable, for the following two reasons. First, Linux supports the IrDA chip, the NSC PC87338, but apparently does not support properly the "dongle" attached to it. Second, even the device driver on the latest kernels (as of June 2001) is said to have bugs.
To use IrDA, first turn on the "irda" subsystem (use the Red Hat control-panel or execute "/etc/rc.d/init.d/irda start"). Then, turn on the interface itself with "ifconfig irda0 up". On the Windows side, you have to limit the IrDA speed to 115.2 kbps (in Linux you don't need to drive IrDA as a serial port, which would allow 4Mbps, however such speeds didn't work for me).
One detail: since this IrDA chip also acts as a serial port, the kernel grabs it as such on boot. In order to activate it as a PC87338, I had to release the serial port first. See /etc/irda/drivers in the bundle. One more detail: the name of the module for the NSC IrDA chip changed around Linux 2.2.16, so look for the correct name for your kernel.
On my current configuration in the bundle, I am using the SIR-based configuration that is the default in Red Hat 7.2. I included also the FIR-based configuration for Red Hat 7.0.
The ALSA (Advanced Linux Sound Architecture) device drivers support the audio codec (Cirrus Logic CS4299 rev C). By the way, use the "utils/buildrpm" script, which allows one to build RPM packages straight from the ALSA sources. By the way, before and after any usage the driver outputs a "pop" sound (aggressive power management?). I corrected most of these pops by using the esound daemon and having it grab forever the sound device (see etc/esd.conf).
If you are using Linux 2.2 turn off Plug and Play on in the BIOS, or else Linux cannot find the interrupt of the audio controller.
Recent Linux 2.4 kernels support the audio codec well enough through the OSS driver, I have been using this one recently (I included in the bundle the ALSA configuration also).
It is a Winmodem, so it does not work with Linux. But there's hope! See the end of my 3Com Mini PCI device driver page for more details.
The CF-L1S is a good computer for Linux if you are a Linux specialist or a sporadic Linux user (in other words, if you can cope with a few problems, like X bugs and a non-working modem). If you are a Linux beginner or need Linux working perfectly, I recommend you to buy a laptop from another manufacturer (most of the hardware in the CF-L1S is supported but is difficult to set up). I might change this advice sooner or later since this situation has been improving fast, and I hope that soon I'll be able to recommend the CF-L1 laptops for everybody.
All comments and criticisms on the contents above are welcome, please contact me.
Thanks to Maeda-san for this tip, and for the one on ALSA's "utils/buildrpm" script. Thanks also to Ohara-san for info on Red Hat 7.