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
| CPU | Intel Centrino Duo T2400 (1.83Ghz) |
| Hard disk | 100 GB Serial ATA 2.5" |
| DVD-RW | LG/GoldStar GSA-4082N DVD-RAM |
| Video | ATI Mobility Radeon X1400 (some models are available with an Intel card as well) |
| Audio | Intel ICH7 Audio |
| Display | 15.35" (390mm) widescreen high-gloss TFT |
| Cardreader | CompactFlash reader and 5-in-1 (SD Memory Card, Memory Stick, Memory Stick PRO, MultiMediaCard, xD-Picture Card) |
| LAN | Agere Systems ET-131x PCI-E Ethernet Controller (10/100/1000Base) |
| WIFI | Intel Corporation PRO/Wireless 3945ABG Network Connection |
| Modem | Intel ICH7 Softmodem |
| USB | 3 ports, Intel EHCI USB 2.0 |
| IEEE1394 | 1 port, Texas Instruments PCIxx12 OHCI |
| PCMCIA/Cardbus | 1 Type-I slot, takes 16-bit PCMCIA and 32-bit Cardbus peripherals |
| Bluetooth | Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode) |
| Fingerprint Reader | AuthenTec, Inc. AES2501 |
| Audio | 1 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:
- VGA compatible controller: ATI Technologies Inc Radeon Mobility X1400 (or Intel in some models)
- 15.35" XGA TFT screen (native resolution 1280×800)
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:
- Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 02)
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:
- Multiple capture channels that seem to do nothing
- An inability to record from the line-in socket, regardless of mixer settings
- Internal speakers non-functional (but sound works through external speakers)
- The kernel emits this message in dmesg:
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:
- Ethernet controller: Agere Systems ET-131x PCI-E Ethernet Controller (rev 03)
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:
- Network controller: Intel Corporation PRO/Wireless 3945ABG Network Connection (rev 02)
See this guide.
Hard disk and DVD
Relevant hardware:
- IDE interface: Intel Corporation 82801G (ICH7 Family) IDE Controller (rev 02)
- SATA controller: Intel Corporation 82801GBM/GHM (ICH7 Family) SATA AHCI Controller (rev 02)
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:
- USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1 (rev 02) ×4
- USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 02)
The three USB ports on the laptop support USB 1 and 2.0.
Card Reader
Relevant hardware:
- Mass storage controller: Texas Instruments 5-in-1 Multimedia Card Reader (SD/MMC/MS/MS PRO/xD)
- Class 0805: Texas Instruments PCIxx12 SDA Standard Compliant SD Host Controller
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:
- (on USB) Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
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:
- (on USB) AuthenTec, Inc. AES2501 Fingerprint Sensor
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 |
Created by NickStallman.net, Luxury Homes Australia
Real estate agents should be using interactive floor plans and list their apartments, townhouses and units.
