Search:  
Gentoo Wiki

LG_P1_Express

Contents

General

This guide is about how to install Linux on the LG P1 Express.

This machine is very similar technically to the LG C1.

Hardware overview

CPUIntel Centrino Duo T2400 (1.83Ghz)
Hard disk100 GB Serial ATA 2.5"
DVD-RWLG/GoldStar GSA-4082N DVD-RAM
VideoATI Mobility Radeon X1400 (some models are available with an Intel card as well)
AudioIntel ICH7 Audio
Display15.35" (390mm) widescreen high-gloss TFT
CardreaderCompactFlash reader and 5-in-1 (SD Memory Card, Memory Stick, Memory Stick PRO, MultiMediaCard, xD-Picture Card)
LANAgere Systems ET-131x PCI-E Ethernet Controller (10/100/1000Base)
WIFIIntel Corporation PRO/Wireless 3945ABG Network Connection
ModemIntel ICH7 Softmodem
USB3 ports, Intel EHCI USB 2.0
IEEE13941 port, Texas Instruments PCIxx12 OHCI
PCMCIA/Cardbus1 Type-I slot, takes 16-bit PCMCIA and 32-bit Cardbus peripherals
BluetoothCambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
Fingerprint ReaderAuthenTec, Inc. AES2501
Audio1 Line-in, 1 Microphone input, 1 Headphone output

CPU

The T2400 is a dual core CPU, for portage, I used:

File: make.conf
 CFLAGS="-O2 -march=pentium-m -pipe"
 USE="sse sse2 mmx mmxext [...]"

Video

Relevant hardware:

Console

For console, I used plain VGA, since the box spends much of its time in X. VESA should work however.

Xorg

X.org 7.2.0 works flawlessly, however on an ATI-based laptop like the one I set up, one has to either put up with VESA graphics, or use the ATI Proprietary driver. I haven't bothered with OpenGL, however it should work in theory. Configuration of X with the ATI driver largely JustWorks, on VESA I couldn't get it to run at the screen's native resolution.

For the touch pad, you'll want the Synaptics driver installed. The relevant parts of xorg.conf are listed below.

File: xorg.conf :: Touchpad
Section "InputDevice"
        Identifier  "TouchPad"
        Driver      "synaptics"
        Option      "Device" "/dev/input/mouse0"
        Option      "Protocol" "auto-dev"
        Option      "LeftEdge" "1700"
        Option      "RightEdge" "5300"
        Option      "TopEdge" "1700"
        Option      "BottomEdge" "4200"
        Option      "FingerLow" "25"
        Option      "FingerHigh" "30"
        Option      "MaxTapTime" "180"
        Option      "MaxTapMove" "220"
        Option      "VertScrollDelta" "100"
        Option      "MinSpeed" "0.09"
        Option      "MaxSpeed" "0.18"
        Option      "AccelFactor" "0.0015"
        Option      "SHMConfig" "on"
EndSection

Audio

Relevant hardware:

For this device, use the in-kernel snd-hda-intel driver in kernel 2.6.23 or above (it may work in earlier releases too). However, there's a catch -- the driver doesn't autodetect the mixer correctly. The symptoms include:

hda_codec: Unknown model for ALC880, trying auto-probe from BIOS...

The card is based around the Realtek ALC880 codec which comes in a number of forms. This autodetection can be overridden via the model parameter to the snd-hda-intel driver.

The model parameter takes a number of parameters, see your kernel sources in linux/sound/pci/hda/patch_realtek.c and grep for alc880_models for an up-to-date list. The following is taken from kernel 2.6.23:

File: linux/sound/pci/hda/patch_realtek.c
static const char *alc880_models[ALC880_MODEL_LAST] = {
        [ALC880_3ST]            = "3stack",
        [ALC880_TCL_S700]       = "tcl",
        [ALC880_3ST_DIG]        = "3stack-digout",
        [ALC880_CLEVO]          = "clevo",
        [ALC880_5ST]            = "5stack",
        [ALC880_5ST_DIG]        = "5stack-digout",
        [ALC880_W810]           = "w810",
        [ALC880_Z71V]           = "z71v",
        [ALC880_6ST]            = "6stack",
        [ALC880_6ST_DIG]        = "6stack-digout",
        [ALC880_ASUS]           = "asus",
        [ALC880_ASUS_W1V]       = "asus-w1v",
        [ALC880_ASUS_DIG]       = "asus-dig",
        [ALC880_ASUS_DIG2]      = "asus-dig2",
        [ALC880_UNIWILL_DIG]    = "uniwill",
        [ALC880_UNIWILL_P53]    = "uniwill-p53",
        [ALC880_FUJITSU]        = "fujitsu",
        [ALC880_F1734]          = "F1734",
        [ALC880_LG]             = "lg",
        [ALC880_LG_LW]          = "lg-lw",
#ifdef CONFIG_SND_DEBUG
        [ALC880_TEST]           = "test",
#endif
        [ALC880_AUTO]           = "auto",
};

The magical setting we want, is "lg". The following is what I use to load the driver:

File: /etc/modprobe.d/alsa
# Generated stuff by alsaconf...
alias /dev/mixer snd-mixer-oss
alias /dev/dsp snd-pcm-oss
alias /dev/midi snd-seq-oss

alias snd-card-0 snd-hda-intel
alias sound-slot-0 snd-hda-intel
# generated stuff ends here...

## Tell the driver what model mixer you have
options snd-hda-intel model=lg

Once you've done this, run update-modules and you should be set.

Network controller

Relevant hardware:

This card works with the et131x driver, but this driver is not yet included with the kernel or portage. To get this driver you'll have to download the source from the Agere ET131x ethernet driver project [1] and compile it manually.

WLAN

Relevant hardware:

See this guide.

Hard disk and DVD

Relevant hardware:

For this device, you use the ata_piix driver:

Linux Kernel Configuration: ata_piix
Device Drivers  --->
  <*> Serial ATA (prod) and Parallel ATA (experimental) drivers  --->
    <*>   Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support

Include this in-kernel, and also make sure you throw in SCSI disk support:

Linux Kernel Configuration: sd_mod
Device Drivers  --->
  SCSI device support  --->
    <*> SCSI disk support
    <*> SCSI CDROM support
    <*> SCSI generic support

The latter two may be modules, but if you're booting without an initrd like I am, you must have SCSI disk support compiled in.

USB

Relevant hardware:

The three USB ports on the laptop support USB 1 and 2.0.

Card Reader

Relevant hardware:

Works in kernel >=2.6.19 using the tifm_sd module:

Linux Kernel Configuration: tifm_sd
Device Drivers --->
  [*] Misc devices  --->
    <M>   TI Flash Media interface support (EXPERIMENTAL)
    <M>     TI Flash Media PCI74xx/PCI76xx host adapter support (EXPERIMENTAL)
  <M> MMC/SD card support  --->
    <M>   TI Flash Media MMC/SD Interface support  (EXPERIMENTAL)

Not tested with SDIO devices, however it works fine with SD storage cards.

Modem

The modem is supported by the hsfmodem. See this guide.

Bluetooth

Relevant Hardware:

The bluetooth device embedded in this laptop sits on USB, and is supported by the hci_usb driver.

Linux Kernel Configuration: hci_usb
Networking  --->
  <M>   Bluetooth subsystem support  --->
    Bluetooth device drivers  --->
      <M> HCI USB driver

Works flawlessly, tested with a Bullant ABA700 bluetooth headset. For userland tools, look at the Bluez tools.

Fingerprint Reader

Relevant Hardware:

Support for fingerprint readers under Linux is really crude at the moment, especially for this device. You'll want to have a look at the fprint project for tools to use this device. I can get it to scan my fingerprint, but it seems I'm not precise enough with my movements to get it to verify it correctly.

Appendix A: lspci

Code: lspci
00:00.0 Host bridge: Intel Corporation Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (rev 03)
00:01.0 PCI bridge: Intel Corporation Mobile 945GM/PM/GMS, 943/940GML and 945GT Express PCI Express Root Port (rev 03)
00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 02)
00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 02)
00:1c.2 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 3 (rev 02)
00:1c.3 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 4 (rev 02)
00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1 (rev 02)
00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #2 (rev 02)
00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #3 (rev 02)
00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #4 (rev 02)
00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2)
00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02)
00:1f.1 IDE interface: Intel Corporation 82801G (ICH7 Family) IDE Controller (rev 02)
00:1f.2 SATA controller: Intel Corporation 82801GBM/GHM (ICH7 Family) SATA AHCI Controller (rev 02)
00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 02)
01:00.0 VGA compatible controller: ATI Technologies Inc Radeon Mobility X1400
02:00.0 Ethernet controller: Agere Systems ET-131x PCI-E Ethernet Controller (rev 02)
05:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG Network Connection (rev 02)
06:00.0 CardBus bridge: Texas Instruments PCIxx12 Cardbus Controller
06:00.1 FireWire (IEEE 1394): Texas Instruments PCIxx12 OHCI Compliant IEEE 1394 Host Controller
06:00.2 Mass storage controller: Texas Instruments 5-in-1 Multimedia Card Reader (SD/MMC/MS/MS PRO/xD)
06:00.3 Class 0805: Texas Instruments PCIxx12 SDA Standard Compliant SD Host Controller

Appendix B: lsusb

Code: lsusb
Bus 005 Device 001: ID 0000:0000
Bus 004 Device 003: ID 08ff:2580 AuthenTec, Inc.
Bus 004 Device 001: ID 0000:0000
Bus 001 Device 001: ID 0000:0000
Bus 003 Device 003: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
Bus 003 Device 001: ID 0000:0000
Bus 002 Device 001: ID 0000:0000
Retrieved from "http://www.gentoo-wiki.info/LG_P1_Express"

Last modified: Thu, 28 Aug 2008 21:13:00 +0000 Hits: 3,071