Running Linux on the E-Machines M5310 Laptop
Updates
|
| 04.29.2004 |
The Linux NDIS Wrapper (Web Site) works with the
included Broadcom wireless interface. Unfortunately, it only seems to work on my system for a
short period of time. It's been a couple of months since I tried it, but it's definitely worth
further investigation. This driver, unlike the Intersil drivers I'm using for a Netgear PCMCIA
card, work with the standard Linux wireless utilities.
SUCCESS: Using Kernel 2.6.5 and NDIS Wrapper 0.7, I now have the system running on
the Broadcom interface, and it's no longer losing the connection every few minutes. Performance
seems as good or better than the older Intersil drivers I was using on the Netgear card.
|
|
| 12.10.2003 |
Using Kino along with a Sony Mini DV camera produced excellent results through firewire. Just make
sure you modprobe all of the right firewire modules if you compiled them as loadable modules.
|
|
Overview
The E-Machines M5310 Laptop offers a lot of power in an inexpensive package. You can find a review of the system on the JJCC web site. Needless to say, as with almost all PC laptops, installing a non-Windows operating system can turn into a challenge. However, the M5310 running a 2.6 development kernel with a few add-ons works nicely under Gentoo Linux. Unfortunately, stable kernels enter an infinite loop on the usb hotplug system.
Hardware
Before installing Linux, it is useful to investigate the underlying hardware using the pre-installed version of Windows. The Device Manager in the System tool allows you to print out more information than you want (and less in some cases).
The M5310 includes the following:
- AMD Athlon XP-M 2400+ Processor
- Broadcom 4400 Integrated Ethernet and 802.11g Wireless
- Ali 54xx Sound
- ATI Radeon Mobility Video
- 3 USB 2.0 Ports
- IEEE 1394 Firewire
- Synaptics Touchpad
- 56k Modem
- DVD-ROM / CD-RW Combo Drive
- One Type-II Cardbus Socket
Prepare to be disappointed because NO drivers exist for the integrated wireless. To be truly mobile, you will need a Cardbus 802.11b/g card. In my case, I installed a Netgear 802.11g (WG511) card. If you do not need 802.11g, I would highly recommend looking at the kernel configuration options and selecting a fully supported wireless card. The drivers for the WG511 come from a 3rd party and do not install easily on a 2.6.x kernel.
Operating System Choice
Having worked more with FreeBSD on the server side, the
Gentoo Linux Distribution caught my attention as a suitable candidate. You can read more about the advantages and disadvantages of Gentoo on their site. I will say, however, that the install is not for the point and click user. You will tend to get your hands a little dirty when you install Gentoo, especially on the M5310 where we need a custom-configured beta kernel to get the hardware support we need.
If you decide to go with another distribution, you can use this document as a guide when configuring your 2.6 kernel.
Installation
- Go ahead and boot into the preinstalled Windows XP.
- Download the latest Gentoo Athlon Live CD ISO and burn it to CD. You
can find some freeware Windows applications to burn ISOs for you on
Tucows.
- Keep the CD in the drive and reboot. This should boot you into the
Gentoo Live CD.
- If you're unfamiliar with Gentoo, the Live CD gives you a working
Linux system running off of a CD. From here, you configure your hard
drives, configure and install a kernel, configure and install a boot
loader, and install any other necessary software to get your system up
and running. There is no install program.
- Follow the
Gentoo instructions using a Stage 3 install and build your own kernel.
- To build your kernel, use the development-sources kernel. You should be
able to use a command like "emerge sys-kernel/development-sources". Note that
I'm using 2.6-test6 on my system currently. Adjust which kernel source you
decide to use appropriately.
- This will give you development sources in /usr/src with a symlink
called linux-beta. The symlink often gets hooked up wrong. Check it before
you proceed.
- Configure your kernel with the usual options and make sure to include
the following features. Use Modules where possible. You can review my
configuration
if you need help.
- Synaptics Touchpad Kernel Support
- EHCI for USB 2.0
- OHCI for USB 1.x Compatibility
- B44 Modules for 10/100 Ethernet
- Advanced Linux Sound Architecture (ALSA) for ALI 54xx Support
- Turn off APM Support
- Turn on ACPI Support
- Include PCMCIA CardBus Support with Yenta and Wireless
- IEEE 1394
- To use the CD burning features of the CD/RW, you will need the
SCSI emulation support for IDE devices. You will likely need to
pass the kernel parameter hdb=ide-scsi to get this to work (I haven't
tested this function).
Note that if you use modules, you may have to load them through /etc/modules.autoload.d/kernel-2.6.
Use the lsmod utility to see which modules have loaded and modprobe to manually load modules. You might
also make sure that sound and network drivers are listed in the hotplug blacklist file.
- Build and install the kernel as directed by the Gentoo installation instructions.
- Complete the remaining Gentoo installation instructions and reboot your machine.
- At this point, you need to install XFree86 4.x. To make XFree86 work well with this laptop, you need
to add the Synaptics XFree86 touchpad driver and configure the ATI Radeon driver for 1280x800 resolution.
See my XFree86.config for details. The
Synaptics touchpad driver can be found at here.
- That should complete M5310 specific installation. You'll likely want to add Gnome or KDE using Gentoo Portage.
Problems and Todos:
- Suspend: I haven't yet tackled this one. Suspend support seems to be changing in the 2.6.x kernel series.
- Sound: Use alsamixer to both turn up the volume and un-mute your sound. CD audio still doesn't work for
me, but I can watch DVDs using Ogle.
- Touchpad: I need to find a way to turn off tap clicking. My mouse is all over the place if I let my
wrists fall and swipe the touchpad.
- Modem: Haven't tried it yet.
- Keyboard: Haven't attempted to use the macro keys up by the power button.
- USB and Firewire: The core drivers load, but I haven't connected anything to them yet.