HARDWARE LG C1

From Gentoo Linux Wiki

Jump to: navigation, search

Contents

[edit] General

Please notice that the network controller does not have a driver in the current kernel (2.6.22) and that the 2007.0 Gentoo CD's don't support the Intel PRO/Wireless LAN 3945abg network controller. So, you need to install Gentoo from the livecd.

[edit] Hardware overview

CPUIntel Core Duo U2500 (1.2Ghz)
MotherboardMobile Intel 945PM Express
Hard disk80 GB - 4200 rpm
Cd-romExternal USB Hi-Speed DVD±RW- (R dual layer) / DVD-RAM
VideoNvidia go 7300 or Intel 945GM
AudioIntel SRS WOW HD sound
Display10.6" TFT with 1280 x 768 px resolution
TabletPen tablet
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
BluetoothCambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
ModemUnknown
USB3 ports, USB 1.1 and 2.0
Audio1 Line-in, 1 Microphone, 1 SPDIF (Intel High Definition Audio)

[edit] CPU

The U2500 is a dual core CPU, for portage CFLAGS and USE

File: make.conf
 CFLAGS="-O2 -march=prescott -pipe -fomit-frame-pointer"

[edit] Tablet

For enabling the tablet, you'll need to compile your kernel with the next modules (not compiled in kernel):

File: Kernel modules for tablet
 Device Drivers  --->
   Character devices  --->
         Serial drivers  --->
            <M> 8250/16550 and compatible serial support
            <M>   8250/16550 PCMCIA device support
            (10)  Maximum number of 8250/16550 serial ports
            (10)  Number of 8250/16550 serial ports to register at runtime
            [*]   Extended 8250/16550 serial driver options

If you are using kernel 2.6.23 and below (kernel 2.6.24 and above include this patch), before compiling kernel, you'll need to put the next patch:

File: Patch the kernel

Add the next 2 lines (marked with plus) to /usr/src/linux/drivers/serial/8250_pnp.c

        /* Fujitsu Wacom Tablet PC devices */
        {       "FUJ02E5",              0       },
        {       "FUJ02E6",              0       },
 +       /* LG C1 EXPRESS DUAL (C1-PB11A3) touch screen (actually a FUJ02E6 in disguise) */
 +       {       "LTS0001",              0       },
        /* Rockwell's (PORALiNK) 33600 INT PNP */
        {       "WCI0003",              0       },
        /* Unkown PnP modems */

Then, compile your kernel and load modules 8250 & 8250_pnp:

File: load modules for tablet
 # modprobe 8250
 # modprobe 8250_pnp
 # echo "8250" >> /etc/modules.autoload.d/kernel-2.6
 # echo "8250_pnp" >> /etc/modules.autoload.d/kernel-2.6

Now, you'll need to download http://stz-softwaretechnik.com/~ke/touchscreen/fujitouch-0.6.5.tar.gz. Extract it and copy fujitsu_drv.so to /usr/lib/xorg/modules/input & stylus to /etc/init.d/:

File: configure the tablet driver
 # wget http://stz-softwaretechnik.com/~ke/touchscreen/fujitouch-0.6.5.tar.gz
 # tar -zxvf fujitouch-0.6.5.tar.gz
 # cp fujitouch-0.6.5/fujitsu_drv.so /usr/lib/xorg/modules/input/
 # cp fujitouch-0.6.5/stylus /etc/init.d/
 # /etc/init.d/stylus start && rc-update add default stylus

Then, configure your xorg.conf and add the next lines:

File: configure /etc/X11/xorg.conf
 Section "ServerLayout"
   ....
        InputDevice    "touchscreen" "SendCoreEvents"
 EndSection

 Section "InputDevice"
    Identifier "touchscreen"
    Driver "fujitsu"
    Option "Device" "/dev/ttyS0"
    Option "DeviceName" "touchscreen"
    Option "MinX" "82"
    Option "MinY" "146"
    Option "MaxX" "4036"
    Option "MaxY" "3999"
    Option "SendCoreEvents" "On"
 EndSection

[edit] Video

Relevant hardware:

  • Video card: Intel 945GM

See also HARDWARE Intel 945G

  • 10.6" XGA TFT screen (default resolution 1280 x 768)

915resolution package is needed for this resolution.

[edit] Console

For framebuffer support use the VESA VGA.

[edit] Xorg

Xorg works fine, just remember to config in make.conf:

File: make.conf :: video cards and input devices
 VIDEO_CARDS="intel i810 i945 v4l vesa vga fbdev"
 INPUT_DEVICES="keyboard mouse wacom evdev synaptics"

Some xorg.conf settings:

File: xorg.conf :: Touchpad
Section "InputDevice"

    Identifier  "Mouse1"
    Driver      "mouse"
    Option "Protocol"    "Auto" # Auto detect
    Option "Device"      "/dev/input/mice"
    Option "ZAxisMapping"   "4 5 6 7"
    Option "Emulate3Buttons"

EndSection
File: xorg.conf :: LCD
Section "Monitor"

    Identifier  "My Monitor"
    HorizSync   31.5 - 64.3
    VertRefresh 60

EndSection


File: xorg.conf :: Synaptics
Section "InputDevice"
        Identifier "Touchpad"
        Driver     "synaptics"
        Option     "SendCoreEvents"
        Option     "Protocol" "auto-dev"
        Option     "SHMConfig" "on"
        Option     "UpDownScrolling" "1"
        Option     "LeftEdge" "1900"
        Option     "RightEdge" "5400"
        Option     "TopEdge" "1400"
        Option     "BottomEdge" "4500"
        Option     "FingerLow" "25"
        Option     "FingerHigh" "30"
        Option     "MaxTapTime" "180"
        Option     "MaxTapMove" "220"
        Option     "VertScrollDelta" "100"
        Option     "MinSpeed" "0.02"
        Option     "MaxSpeed" "0.18"
        Option     "AccelFactor" "0.0010"
EndSection

Section "Module"
        Load "synaptics"
EndSection


[edit] Brightness

For brightness switcher try those two scripts:

File: /usr/bin/brightup
 #!/bin/sh
 cur_bright=`cat /sys/class/backlight/acpi_video0/brightness`
 max_bright=`cat /sys/class/backlight/acpi_video0/max_brightness`
 if [ $cur_bright -lt $max_bright ]
 then
         cur_bright=$(( $cur_bright+1 ))
         echo $cur_bright > /sys/class/backlight/acpi_video0/brightness
 fi
 echo "Brightness: " $cur_bright | osd_cat -p bottom -A center -c green -d 1 -f "-adobe-helvetica-bold-r-*-*-34-*-*-*-*-*-*-*"
File: /usr/bin/brightdown
 #!/bin/sh
 cur_bright=`cat /sys/class/backlight/acpi_video0/brightness`
 if [ $cur_bright -gt 1 ]
 then
         cur_bright=$(( $cur_bright-1 ))
         echo $cur_bright > /sys/class/backlight/acpi_video0/brightness
 fi
 echo "Brightness: " $cur_bright | osd_cat -p bottom -A center -c green -d 1 -f 

Then, just add permissions (some on startup) for the brightness files:

File: configured brightness
 # chgrp video /usr/bin/bright*
 # chmod g+x /usr/bin/bright*
 # echo "chgrp video /sys/class/backlight/acpi_video0/brightness" >> /etc/conf.d/local.start 
 # echo "chmod g+w /sys/class/backlight/acpi_video0/brightness" >> /etc/conf.d/local.start 

Note 1: Only who member in the video group can change the brightness of screen.

Note 2: To assign key map for this two scripts try this guide.

Note 3: For those scripts output you'll need xosd package. just emerge it.

[edit] Audio

Relevant hardware:

  • Multimedia audio controller: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller

The built-in sound card is a Intel High Definition Audio Controller. This is supported by the hda-intel driver in >=alsa-driver-1.0.14_rc1.

File: /etc/make.conf
ALSA_CARDS="hda-intel usb-audio"

[edit] Volume buttons

Not tested yet.

[edit] 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 manualy.

If you are using 2.6.23 kernel, pay attention to this patch.

[edit] WiFi

Relevant hardware:

  • Network controller: Intel Corporation PRO/Wireless 3945ABG Network Connection (rev 02)

See also HARDWARE ipw3945.

Make sure you have the right modules and options in your kernel, if not portage will complain.

File: Kernel modules for wifi
 Networking  --->
    Wireless  --->
       <M> Generic IEEE 802.11 Networking Stack (mac80211)
       <*> Generic IEEE 802.11 Networking Stack
       <*>   IEEE 802.11 WEP encryption (802.1x)
       <M>   IEEE 802.11i CCMP support
       <M>   IEEE 802.11i TKIP encryption
 Device Drivers  --->
    Network device support  --->
       Wireless LAN  ---> 
           [*] Wireless LAN (pre-802.11)
           [*] Wireless LAN (IEEE 802.11)
           <M> IEEE 802.11 for Host AP (Prism2/2.5/3 and WEP/TKIP/CCMP)

[edit] kernel 2.6.23 and below

Installation of the driver can be done with this command:

emerge -av net-wireless/ipw3945

[edit] kernel 2.6.24 and above

If you're using kernel 2.6.24 & above, you'll need to check more modules and options in the kernel:

File: Kernel modules for wifi
 Device Drivers  --->
    Network device support  --->
       Wireless LAN  ---> 
            [*]   Intel Wireless WiFi Link Drivers
            [*]     Enable full debugging output in iwlwifi drivers
            [*]     Enable Sensitivity Calibration in iwlwifi drivers
            [*]     Enable Spectrum Measurement in iwlwifi drivers
            [*]     Enable Wireless QoS in iwlwifi drivers
            <M>     Intel PRO/Wireless 3945ABG/BG Network Connection

Installation of the driver can be done with this command:

emerge -av net-wireless/ipw3945-ucode

see also the next bug, for further information.

[edit] Hard disk and DVD

Relevant hardware:

  • IDE interface: Mobile Intel 945PM Express
  • Hard disk: IDE UDMA-100
  • External USB Hi-Speed DVD±RW- (R dual layer) / DVD-RAM

[edit] IDE Controller

The IDE controller is a Intel chipset.

Linux Kernel Configuration: IDE Controller
Device Drivers  --->
   ATA/ATAPI/MFM/RLL support  --->
      <*> ATA/ATAPI/MFM/RLL support
      <*>   Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support
      <*>     Include IDE/ATA-2 DISK support
      [*]       Use multi-mode by default
      <*>     Include IDE/ATAPI CDROM support
      [*]     PCI IDE chipset support
      [*]       Sharing PCI IDE interrupts support
      [*]       Generic PCI bus-master DMA support
      [*]         Use PCI DMA by default when available
      [*]           Enable DMA only for disks
      <*>         Intel PIIXn chipsets support

[edit] Devices

If you have compiled USB support in the kernel, the DVD drive will be detected as /dev/sr0 Also, you need the next modules in kernel:

File: Kernel config for DVD
 Device Drivers  --->
    SCSI device support  --->
       <*> SCSI device support
       <*> SCSI disk support
       <*> SCSI CDROM support
        [*]   Enable vendor-specific extensions (for SCSI CDROM)
       <*> SCSI generic support
       <*> SCSI media changer support
       [*] Probe all LUNs on each SCSI device

Disabled this:

    Block devices  --->
       < > Low Performance USB Block driver

[edit] USB

Relevant hardware:

  • USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #1 (rev 02)
  • 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.

[edit] ACPI

[edit] General ACPI

Enable ACPI in your kernel configuration

Linux Kernel Configuration: acpi
Power management options (ACPI, APM)  --->
  CPU Frequency scaling  --->
     [*] CPU Frequency scaling
        <*> Intel Enhanced SpeedStep

[edit] Card Reader

Relevant hardware:

  • Texas Instruments PCIxx21 Integrated FlashMedia Controller
  • Texas Instruments PCI6411/6421/6611/6621/7411/7421/7611/7621 Secure Digital Controller

Not tested.

[edit] Bluetooth

You need to follow this guide to make your bluetooth work.

[edit] Internet via Bluetooth connection

Just follow this guide, and then add this script to your init:

File: Init script for internet via bluetooth (net.ppp0)
 #!/sbin/runscript
 
 depend() {
         after bluetooth
 } 
 
 start() {
         echo "     Starting Bluetooth internet with ppp connection"
         start-stop-daemon --start --background --exec /usr/bin/wvdial gprs
         echo $! > /tmp/pid.ppp0
 }
 
 stop() {
         echo "     Ending Bluetooth internet with ppp connection"
         start-stop-daemon --stop --exec /usr/bin/wvdial gprs
 }

Then just run this command to make this file executable:

 # chmod u=+x /etc/init.d/net.ppp0

This works for me with Nokia E61.

[edit] Modem

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

[edit] Lm Sensors

If you want lm sensors to work, just update your kernel:

File: kernel configuration for lm sensors
 Device Drivers  --->
     --- I2C support  --->
         --- I2C support
           <*>   I2C device interface
           I2C Hardware Bus support  --->
              <M> Intel 82801 (ICH)
           Miscellaneous I2C Chip support  --->
              <M> EEPROM reader
     <*> Hardware Monitoring support  --->
         <M>   Intel Core (2) Duo/Solo temperature sensor

Compile and reboot to the new kernel. Only the new version of lm_sensors (2.10.3 and above) work with this chip (see also in their site). So unmask before installing it.

File: Installing lm_sensors
 # echo ">=sys-apps/lm_sensors-2.10.3" >> /etc/portage/package.keywords
 # emerge -atv lm_sensors
run the sensors initialized script
 # sensors-detect
run the init script of lm sensors:
 # /etc/init.d/lm_sensors start
run sensors to see details on your chip:
 # sensors
if you want to run lm_sensors on boot:
 # rc-update add lm_sensors default

See also HARDWARE_Sensors.

[edit] See Also

[edit] Appendix A: lspci

Code: lspci
00:00.0 Host bridge: Intel Corporation Mobile 945GM/PM/GMS/940GML and 945GT Express Memory Controller Hub (rev 03)
00:02.0 VGA compatible controller: Intel Corporation Mobile 945GM/GMS/940GML Express Integrated Graphics Controller (rev 03)
00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/940GML Express Integrated Graphics Controller (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 #1 (rev 02)
00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #2 (rev 02)
00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #3 (rev 02)
00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #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.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 02)
02:00.0 Ethernet controller: Agere Systems ET-131x PCI-E Ethernet Controller (rev 03)
05:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG Network Connection (rev 02)
06:00.0 CardBus bridge: Texas Instruments PCIxx21/x515 Cardbus Controller
06:00.1 CardBus bridge: Texas Instruments PCIxx21/x515 Cardbus Controller
06:00.3 Mass storage controller: Texas Instruments PCIxx21 Integrated FlashMedia Controller
06:00.4 Generic system peripheral [0805]: Texas Instruments PCI6411, PCI6421, PCI6611, PCI6621, PCI7411, PCI7421, PCI7611, PCI7621 Secure Digital (SD) Controller

Personal tools