Writings Photos Code Contact Resume Me
English

You are here

Written in English.

Debian on Acer travelmate 250

Submitted by msameer on Tue, 08/08/2006 - 12:11pm

I've installed Debian long ago. I wanted to write this howto since then but I had some problems with the laptop hardware I was unable to solve until today.

Now this laptop is really cool. I bought an extra gig RAM and replaced the 40 gigs harddrive with another 80 gigs one because The one equipped with it was dying.

  • Hardware Configuration:
    CPU: Intel(R) Pentium(R) 4 CPU 2.60GHz
    RAM: 256MB
    Hard disk: 40GB
    Optical Media: CD burner. The DVD burner never worked reliably for me.
  • lspci output:
    00:00.0 Host bridge: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)
    00:00.1 System peripheral: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)
    00:00.3 System peripheral: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)
    00:02.0 VGA compatible controller: Intel Corporation 82852/855GM Integrated Graphics Device (rev 02)
    00:02.1 Display controller: Intel Corporation 82852/855GM Integrated Graphics Device (rev 02)
    00:1d.0 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (rev 03)
    00:1d.1 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (rev 03)
    00:1d.2 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (rev 03)
    00:1d.7 USB Controller: Intel Corporation 82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (rev 03)
    00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev 83)
    00:1f.0 ISA bridge: Intel Corporation 82801DBM (ICH4-M) LPC Interface Bridge (rev 03)
    00:1f.1 IDE interface: Intel Corporation 82801DBM (ICH4-M) IDE Controller (rev 03)
    00:1f.3 SMBus: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (rev 03)
    00:1f.5 Multimedia audio controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 03)
    00:1f.6 Modem: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (rev 03)
    02:04.0 CardBus bridge: Texas Instruments PCI1520 PC card Cardbus Controller (rev 01)
    02:04.1 CardBus bridge: Texas Instruments PCI1520 PC card Cardbus Controller (rev 01)
    02:05.0 Network controller: Intersil Corporation Prism 2.5 Wavelan chipset (rev 01)
    02:0a.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
  • dmesg output:
    CPI: BOOT (v001 PTLTD  $SBFTBL$ 0x06040000  LTP 0x00000001) @ 0x4eeeafd8
    ACPI: PM-Timer IO Port: 0x1008
    Intel MultiProcessor Specification v1.4
        Virtual Wire compatibility mode.
    Allocating PCI resources starting at 60000000 (gap: 50000000:aec10000)
    Built 1 zonelists
    Kernel command line: root=/dev/hda2 ro lapic resume2=swap:/dev/hda6 ec_intr=0 i8042.nomux
    ACPI: EC polling mode.
    Local APIC disabled by BIOS -- reenabling.
    Found and enabled local APIC!
    mapped APIC to ffffd000 (fee00000)
    Enabling fast FPU save and restore... done.
    Enabling unmasked SIMD FPU exception support... done.
    Initializing CPU#0
    PID hash table entries: 4096 (order: 12, 65536 bytes)
    Detected 2598.201 MHz processor.
    Using pmtmr for high-res timesource
    Console: colour VGA+ 80x25
    Dentry cache hash table entries: 262144 (order: 8, 1048576 bytes)
    Inode-cache hash table entries: 131072 (order: 7, 524288 bytes)
    Memory: 1277348k/1293184k available (1408k kernel code, 15176k reserved, 528k data, 144k init, 113536k highmem)
    Checking if this processor honours the WP bit even in supervisor mode... Ok.
    Calibrating delay using timer specific routine.. 5203.94 BogoMIPS (lpj=10407897)
    Security Framework v1.0.0 initialized
    SELinux:  Disabled at boot.
    Capability LSM initialized
    Mount-cache hash table entries: 512
    CPU: After generic identify, caps: bfebfbff 00000000 00000000 00000000 00004400 00000000 00000000
    CPU: After vendor identify, caps: bfebfbff 00000000 00000000 00000000 00004400 00000000 00000000
    CPU: Trace cache: 12K uops, L1 D cache: 8K
    CPU: L2 cache: 512K
    CPU: After all inits, caps: bfebfbff 00000000 00000000 00000080 00004400 00000000 00000000
    Intel machine check architecture supported.
    Intel machine check reporting enabled on CPU#0.
    CPU0: Intel P4/Xeon Extended MCE MSRs (12) available
    CPU0: Thermal monitoring enabled
    CPU: Intel(R) Pentium(R) 4 CPU 2.60GHz stepping 09
    Checking 'hlt' instruction... OK.
    ACPI: setting ELCR to 0200 (from 0c30)
    checking if image is initramfs... it is
    Freeing initrd memory: 1082k freed
    NET: Registered protocol family 16
    ACPI: bus type pci registered
    PCI: PCI BIOS revision 2.10 entry at 0xfd6b4, last bus=2
    PCI: Using configuration type 1
    ACPI: Subsystem revision 20060127
    ACPI: Interpreter enabled
    ACPI: Using PIC for interrupt routing
    ACPI: PCI Root Bridge [PCI0] (0000:00)
    PCI: Probing PCI hardware (bus 00)
    Boot video device is 0000:00:02.0
    PCI quirk: region 1000-107f claimed by ICH4 ACPI/GPIO/TCO
    PCI quirk: region 1180-11bf claimed by ICH4 GPIO
    PCI: Ignoring BAR0-3 of IDE controller 0000:00:1f.1
    PCI: Transparent bridge - 0000:00:1e.0
    PCI: Bus #03 (-#06) may be hidden behind transparent bridge #02 (-#02) (try 'pci=assign-busses')
    PCI: Bus #07 (-#0a) may be hidden behind transparent bridge #02 (-#02) (try 'pci=assign-busses')
    ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
    ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PCIB._PRT]
    ACPI: PCI Interrupt Link [LNKA] (IRQs 10 11) *5
    ACPI: PCI Interrupt Link [LNKB] (IRQs *10 11)
    ACPI: PCI Interrupt Link [LNKC] (IRQs 10 11) *4
    ACPI: PCI Interrupt Link [LNKD] (IRQs *11)
    ACPI: PCI Interrupt Link [LNKE] (IRQs 10 *11)
    ACPI: PCI Interrupt Link [LNKF] (IRQs *10 11)
    ACPI: PCI Interrupt Link [LNKG] (IRQs *10 11)
    ACPI: PCI Interrupt Link [LNKH] (IRQs *10 11)
    ACPI: Embedded Controller [EC] (gpe 28) polling mode.
    Linux Plug and Play Support v0.97 (c) Adam Belay
    pnp: PnP ACPI init
    pnp: PnP ACPI: found 11 devices
    PnPBIOS: Disabled by ACPI PNP
    PCI: Using ACPI for IRQ routing
    PCI: If a device doesn't work, try "pci=routeirq".  If it helps, post a report
    pnp: 00:04: ioport range 0x600-0x60f has been reserved
    PCI: Ignore bogus resource 6 [0:0] of 0000:00:02.0
    PCI: Bus 3, cardbus bridge: 0000:02:04.0
      IO window: 00003400-000034ff
      IO window: 00003800-000038ff
      PREFETCH window: 62000000-63ffffff
      MEM window: 64000000-65ffffff
    PCI: Bus 7, cardbus bridge: 0000:02:04.1
      IO window: 00003c00-00003cff
      IO window: 00001400-000014ff
      PREFETCH window: 66000000-67ffffff
      MEM window: 68000000-69ffffff
    PCI: Bridge: 0000:00:1e.0
      IO window: 3000-3fff
      MEM window: e0200000-e02fffff
      PREFETCH window: e0500000-e05fffff
    PCI: Setting latency timer of device 0000:00:1e.0 to 64
    ACPI: PCI Interrupt Link [LNKF] enabled at IRQ 10
    PCI: setting IRQ 10 as level-triggered
    ACPI: PCI Interrupt 0000:02:04.0[A] -> Link [LNKF] -> GSI 10 (level, low) -> IRQ 10
    ACPI: PCI Interrupt Link [LNKG] enabled at IRQ 10
    ACPI: PCI Interrupt 0000:02:04.1[B] -> Link [LNKG] -> GSI 10 (level, low) -> IRQ 10
    Simple Boot Flag at 0x3c set to 0x1
    audit: initializing netlink socket (disabled)
    audit(1155032858.244:1): initialized
    highmem bounce pool size: 64 pages
    VFS: Disk quotas dquot_6.5.1
    Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
    Initializing Cryptographic API
    io scheduler noop registered
    io scheduler anticipatory registered (default)
    io scheduler deadline registered
    io scheduler cfq registered
    isapnp: Scanning for PnP cards...
    isapnp: No Plug & Play device found
    PNP: PS/2 Controller [PNP0303:PS2K,PNP0f13:PS2M] at 0x60,0x64 irq 1,12
    serio: i8042 AUX port at 0x60,0x64 irq 12
    serio: i8042 KBD port at 0x60,0x64 irq 1
    Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled
    serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
    ACPI: PCI Interrupt Link [LNKB] enabled at IRQ 10
    ACPI: PCI Interrupt 0000:00:1f.6[B] -> Link [LNKB] -> GSI 10 (level, low) -> IRQ 10
    ACPI: PCI interrupt for device 0000:00:1f.6 disabled
    RAMDISK driver initialized: 16 RAM disks of 8192K size 1024 blocksize
    NET: Registered protocol family 2
    IP route cache hash table entries: 65536 (order: 6, 262144 bytes)
    TCP established hash table entries: 262144 (order: 8, 1048576 bytes)
    TCP bind hash table entries: 65536 (order: 6, 262144 bytes)
    TCP: Hash tables configured (established 262144 bind 65536)
    TCP reno registered
    TCP bic registered
    NET: Registered protocol family 1
    NET: Registered protocol family 17
    NET: Registered protocol family 8
    NET: Registered protocol family 20
    Using IPI Shortcut mode
    ACPI wakeup devices:
    LID LANC MODM
    ACPI: (supports S0 S3 S4 S5)
    Freeing unused kernel memory: 144k freed
    input: AT Translated Set 2 keyboard as /class/input/input0
    mice: PS/2 mouse device common for all mice
    Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
    ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
    ICH4: IDE controller at PCI slot 0000:00:1f.1
    PCI: Enabling device 0000:00:1f.1 (0005 -> 0007)
    ACPI: PCI Interrupt Link [LNKC] enabled at IRQ 11
    PCI: setting IRQ 11 as level-triggered
    ACPI: PCI Interrupt 0000:00:1f.1[A] -> Link [LNKC] -> GSI 11 (level, low) -> IRQ 11
    ICH4: chipset revision 3
    ICH4: not 100% native mode: will probe irqs later
        ide0: BM-DMA at 0x1810-0x1817, BIOS settings: hda:DMA, hdb:pio
        ide1: BM-DMA at 0x1818-0x181f, BIOS settings: hdc:DMA, hdd:pio
    Probing IDE interface ide0...
    hda: FUJITSU MHV2080AT, ATA DISK drive
    ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
    Probing IDE interface ide1...
    hdc: TOSHIBA DVD-ROM SD-R6112, ATAPI CD/DVD-ROM drive
    ide1 at 0x170-0x177,0x376 on irq 15
    hda: max request size: 128KiB
    hda: 156301488 sectors (80026 MB) w/8192KiB Cache, CHS=65535/16/63, UDMA(100)
    hda: cache flushes supported
    hda: hda1 hda2 hda3 hda4 < hda5 hda6 hda7 hda8 >
    kjournald starting.  Commit interval 5 seconds
    EXT3-fs: mounted filesystem with ordered data mode.
    Linux agpgart interface v0.101 (c) Dave Jones
    usbcore: registered new driver usbfs
    usbcore: registered new driver hub
    agpgart: Detected an Intel 855 Chipset.
    agpgart: Detected 16252K stolen memory.
    agpgart: AGP aperture is 128M @ 0xe8000000
    pnp: Device 00:07 activated.
    parport: PnPBIOS parport detected.
    parport0: PC-style at 0x378 (0x778), irq 7, dma 3 [PCSPP,TRISTATE,COMPAT,EPP,ECP,DMA]
    USB Universal Host Controller Interface driver v2.3
    ACPI: PCI Interrupt Link [LNKA] enabled at IRQ 11
    ACPI: PCI Interrupt 0000:00:1d.0[A] -> Link [LNKA] -> GSI 11 (level, low) -> IRQ 11
    PCI: Setting latency timer of device 0000:00:1d.0 to 64
    uhci_hcd 0000:00:1d.0: UHCI Host Controller
    uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 1
    uhci_hcd 0000:00:1d.0: irq 11, io base 0x00001820
    usb usb1: configuration #1 chosen from 1 choice
    hub 1-0:1.0: USB hub found
    hub 1-0:1.0: 2 ports detected
    intelfb: Framebuffer driver for Intel(R) 830M/845G/852GM/855GM/865G/915G/915GM chipsets
    intelfb: Version 0.9.2
    pci_hotplug: PCI Hot Plug PCI Core version: 0.5
    i8xx TCO timer: initialized (0x1060). heartbeat=30 sec (nowayout=0)
    hdc: ATAPI 24X DVD-ROM DVD-R CD-R/RW drive, 2048kB Cache, UDMA(33)
    Uniform CD-ROM driver Revision: 3.20
    ACPI: PCI Interrupt Link [LNKD] enabled at IRQ 11
    ACPI: PCI Interrupt 0000:00:1d.1[B] -> Link [LNKD] -> GSI 11 (level, low) -> IRQ 11
    PCI: Setting latency timer of device 0000:00:1d.1 to 64
    uhci_hcd 0000:00:1d.1: UHCI Host Controller
    uhci_hcd 0000:00:1d.1: new USB bus registered, assigned bus number 2
    uhci_hcd 0000:00:1d.1: irq 11, io base 0x00001840
    usb usb2: configuration #1 chosen from 1 choice
    hub 2-0:1.0: USB hub found
    hub 2-0:1.0: 2 ports detected
    ACPI: PCI Interrupt 0000:00:1d.2[C] -> Link [LNKC] -> GSI 11 (level, low) -> IRQ 11
    PCI: Setting latency timer of device 0000:00:1d.2 to 64
    uhci_hcd 0000:00:1d.2: UHCI Host Controller
    uhci_hcd 0000:00:1d.2: new USB bus registered, assigned bus number 3
    uhci_hcd 0000:00:1d.2: irq 11, io base 0x00001860
    usb usb3: configuration #1 chosen from 1 choice
    hub 3-0:1.0: USB hub found
    hub 3-0:1.0: 2 ports detected
    ACPI: PCI Interrupt Link [LNKH] enabled at IRQ 10
    ACPI: PCI Interrupt 0000:00:1d.7[D] -> Link [LNKH] -> GSI 10 (level, low) -> IRQ 10
    PCI: Setting latency timer of device 0000:00:1d.7 to 64
    ehci_hcd 0000:00:1d.7: EHCI Host Controller
    ehci_hcd 0000:00:1d.7: debug port 1
    PCI: cache line size of 128 is not supported by device 0000:00:1d.7
    ehci_hcd 0000:00:1d.7: new USB bus registered, assigned bus number 4
    ehci_hcd 0000:00:1d.7: irq 10, io mem 0xe0100000
    ehci_hcd 0000:00:1d.7: USB 2.0 started, EHCI 1.00, driver 10 Dec 2004
    usb usb4: configuration #1 chosen from 1 choice
    hub 4-0:1.0: USB hub found
    hub 4-0:1.0: 6 ports detected
    ACPI: PCI Interrupt 0000:00:02.0[A] -> Link [LNKA] -> GSI 11 (level, low) -> IRQ 11
    intelfb: 00:02.0: Intel(R) 852GME, aperture size 128MB, stolen memory 16252kB
    intelfb: Non-CRT device is enabled ( LVDS port ).  Disabling mode switching.
    intelfb: Video mode must be programmed at boot time.
    shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
    ACPI: PCI Interrupt 0000:00:1f.5[B] -> Link [LNKB] -> GSI 10 (level, low) -> IRQ 10
    PCI: Setting latency timer of device 0000:00:1f.5 to 64
    intel8x0_measure_ac97_clock: measured 55358 usecs
    intel8x0: clocking to 48000
    ACPI: PCI Interrupt 0000:02:04.0[A] -> Link [LNKF] -> GSI 10 (level, low) -> IRQ 10
    Yenta: CardBus bridge found at 0000:02:04.0 [1025:0039]
    Yenta: Using CSCINT to route CSC interrupts to PCI
    Yenta: Routing CardBus interrupts to PCI
    Yenta TI: socket 0000:02:04.0, mfunc 0x00921b22, devctl 0x64
    8139too Fast Ethernet driver 0.9.27
    ieee80211_crypt: registered algorithm 'NULL'
    Synaptics Touchpad, model: 1, fw: 5.8, id: 0x9248b1, caps: 0x904713/0x4000
    hostap_pci: 0.4.4-kernel (Jouni Malinen <jkmaline@cc.hut.fi>)
    input: SynPS/2 Synaptics TouchPad as /class/input/input1
    Yenta: ISA IRQ mask 0x0038, PCI irq 10
    Socket status: 30000006
    pcmcia: parent PCI bridge I/O window: 0x3000 - 0x3fff
    cs: IO port probe 0x3000-0x3fff: clean.
    pcmcia: parent PCI bridge Memory window: 0xe0200000 - 0xe02fffff
    pcmcia: parent PCI bridge Memory window: 0xe0500000 - 0xe05fffff
    ACPI: PCI Interrupt 0000:02:04.1[B] -> Link [LNKG] -> GSI 10 (level, low) -> IRQ 10
    Yenta: CardBus bridge found at 0000:02:04.1 [1025:0039]
    Yenta: Using CSCINT to route CSC interrupts to PCI
    Yenta: Routing CardBus interrupts to PCI
    Yenta TI: socket 0000:02:04.1, mfunc 0x00921b22, devctl 0x64
    Yenta: ISA IRQ mask 0x0038, PCI irq 10
    Socket status: 30000020
    pcmcia: parent PCI bridge I/O window: 0x3000 - 0x3fff
    cs: IO port probe 0x3000-0x3fff: clean.
    pcmcia: parent PCI bridge Memory window: 0xe0200000 - 0xe02fffff
    pcmcia: parent PCI bridge Memory window: 0xe0500000 - 0xe05fffff
    ACPI: PCI Interrupt 0000:02:0a.0[A] -> Link [LNKD] -> GSI 11 (level, low) -> IRQ 11
    eth0: RealTek RTL8139 at 0x3000, 00:0a:e4:04:c4:8e, IRQ 11
    eth0:  Identified 8139 chip type 'RTL-8101'
    ACPI: PCI Interrupt Link [LNKE] enabled at IRQ 11
    ACPI: PCI Interrupt 0000:02:05.0[A] -> Link [LNKE] -> GSI 11 (level, low) -> IRQ 11
    hostap_pci: Registered netdevice wifi0
    wifi0: Original COR value: 0x0
    8139cp: 10/100 PCI Ethernet driver v1.2 (Mar 22, 2004)
    prism2_hw_init: initialized in 232 ms
    wifi0: NIC: id=0x8022 v1.0.0
    wifi0: PRI: id=0x15 v1.1.1
    wifi0: STA: id=0x1f v1.8.4
    wifi0: Intersil Prism2.5 PCI: mem=0xe0500000, irq=11
    wifi0: registered netdevice wlan0
    ts: Compaq touchscreen protocol output
    pccard: CardBus card inserted into slot 1
    PCI: Enabling device 0000:07:00.0 (0000 -> 0002)
    ACPI: PCI Interrupt 0000:07:00.0[A] -> Link [LNKG] -> GSI 10 (level, low) -> IRQ 10
    PCI: Setting latency timer of device 0000:07:00.0 to 64
    cs: IO port probe 0x100-0x3af: clean.
    cs: IO port probe 0x3e0-0x4ff: excluding 0x4d0-0x4d7
    cs: IO port probe 0x820-0x8ff: clean.
    cs: IO port probe 0xc00-0xcf7: clean.
    cs: IO port probe 0xa00-0xaff: clean.
    cs: IO port probe 0x100-0x3af: clean.
    cs: IO port probe 0x3e0-0x4ff: excluding 0x4d0-0x4d7
    cs: IO port probe 0x820-0x8ff: clean.
    cs: IO port probe 0xc00-0xcf7: clean.
    cs: IO port probe 0xa00-0xaff: clean.
    Adding 1349420k swap on /dev/hda8.  Priority:-1 extents:1 across:1349420k
    EXT3 FS on hda2, internal journal
    ACPI: AC Adapter [AC] (on-line)
    ACPI: CPU0 (power states: C1[C1] C2[C2])
    ACPI: Video Device [VGA] (multi-head: yes  rom: no  post: no)
    ACPI: Thermal Zone [THRS] (44 C)
    ACPI: Thermal Zone [THRC] (42 C)
    ACPI: Battery Slot [BAT0] (battery present)
    input: PC Speaker as /class/input/input2
    p4-clockmod: P4/Xeon(TM) CPU On-Demand Clock Modulation available
    [drm] Initialized drm 1.0.1 20051102
    input: Acer hotkey driver as /class/input/input3
    Acer Travelmate hotkey driver v0.5.33
    Automatic switching of wireless hardware needs polling, enabling it
    usbcore: registered new driver usbserial
    drivers/usb/serial/usb-serial.c: USB Serial support registered for generic
    usbcore: registered new driver usbserial_generic
    drivers/usb/serial/usb-serial.c: USB Serial Driver core
    drivers/usb/serial/usb-serial.c: USB Serial support registered for PocketPC PDA
    drivers/usb/serial/ipaq.c: USB PocketPC PDA driver v0.5
    usbcore: registered new driver ipaq
    fuse init (API version 7.6)
    device-mapper: 4.5.0-ioctl (2005-10-04) initialised: dm-devel@redhat.com
    kjournald starting.  Commit interval 5 seconds
    EXT3 FS on hda3, internal journal
    EXT3-fs: mounted filesystem with ordered data mode.
    kjournald starting.  Commit interval 5 seconds
    EXT3-fs warning: maximal mount count reached, running e2fsck is recommended
    EXT3 FS on hda5, internal journal
    EXT3-fs: mounted filesystem with ordered data mode.
    kjournald starting.  Commit interval 5 seconds
    EXT3 FS on hda6, internal journal
    EXT3-fs: mounted filesystem with ordered data mode.
    IA-32 Microcode Update Driver: v1.14 <tigran@veritas.com>
    microcode: CPU0 updated from revision 0x17 to 0x2e, date = 08112004
    IA-32 Microcode Update Driver v1.14 unregistered
    ACPI: Power Button (FF) [PWRF]
    ACPI: Lid Switch [LID]
    ACPI: Sleep Button (CM) [SLP2]
    NET: Registered protocol family 10
    lo: Disabled Privacy Extensions
    IPv6 over IPv4 tunneling driver
    ACPI: PCI Interrupt 0000:00:02.0[A] -> Link [LNKA] -> GSI 11 (level, low) -> IRQ 11
    [drm] Initialized i915 1.4.0 20060119 on minor 0
    [drm] Initialized i915 1.4.0 20060119 on minor 1
    eth0: link up, 100Mbps, full-duplex, lpa 0x45E1
    eth0: no IPv6 routers present
  • Sound:
    modprobe snd-intel8x0
  • X:
    # XF86Config-4 (XFree86 X Window System server configuration file)
    #
    # This file was generated by dexconf, the Debian X Configuration tool, using
    # values from the debconf database.
    #
    # Edit this file with caution, and see the XF86Config-4 manual page.
    # (Type "man XF86Config-4" at the shell prompt.)
    #
    # This file is automatically updated on xserver-xfree86 package upgrades *only*
    # if it has not been modified since the last upgrade of the xserver-xfree86
    # package.
    #
    # If you have edited this file but would like it to be automatically updated
    # again, run the following commands as root:
    #
    #   cp /etc/X11/XF86Config-4 /etc/X11/XF86Config-4.custom
    #   md5sum /etc/X11/XF86Config-4 >/var/lib/xfree86/XF86Config-4.md5sum
    #   dpkg-reconfigure xserver-xfree86

    Section "Files"
    FontPath "unix/:7100" # local font server
    # if the local font server has problems, we can fall back on these
    FontPath "/usr/share/fonts/X11/misc"
    FontPath "/usr/lib/X11/fonts/misc"
    FontPath "/usr/share/fonts/X11/cyrillic"
    FontPath "/usr/lib/X11/fonts/cyrillic"
    FontPath "/usr/lib/X11/fonts/100dpi/:unscaled"
    FontPath "/usr/lib/X11/fonts/75dpi/:unscaled"
    FontPath "/usr/share/fonts/X11/Type1"
    FontPath "/usr/lib/X11/fonts/Type1"
    FontPath "/usr/share/fonts/X11/CID"
    FontPath "/usr/lib/X11/fonts/CID"
    FontPath "/usr/lib/X11/fonts/Speedo"
    FontPath "/usr/share/fonts/X11/100dpi"
    FontPath "/usr/lib/X11/fonts/100dpi"
    FontPath "/usr/share/fonts/X11/75dpi"
    FontPath "/usr/lib/X11/fonts/75dpi"
    FontPath "/usr/share/fonts/truetype/msttcorefonts"
    EndSection

    Section "Module"
    Load "bitmap"
    Load "dbe"
    Load "ddc"
    Load "dri"
    Load "extmod"
    Load "freetype"
    Load "glx"
    Load "int10"
    Load "record"
    Load "type1"
    Load "vbe"
    Load "synaptics"
    EndSection

    Section "InputDevice"
    Identifier "Generic Keyboard"
    Driver "keyboard"
    Option "CoreKeyboard"
    Option "XkbRules" "xorg"
    Option "XkbModel" "pc104"
    Option "XkbLayout" "us,ar"
    EndSection

    Section "InputDevice"
    Identifier "Configured Mouse"
    # Driver "mouse"
      Option "CorePointer"
    # Option "Device" "/dev/input/mice"
    # Option "Protocol" "ImPS/2"
    # Option "ZAxisMapping" "4 5"
      Driver        "synaptics"
      Option        "Device"        "/dev/psaux"
      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"    "100" # was 220
      Option        "VertScrollDelta" "100"
      Option        "MinSpeed"      "0.06"
      Option        "MaxSpeed"      "0.12"
      Option        "AccelFactor" "0.0010"
      Option "SHMConfig"   "on"
    EndSection

    # The USB Mouse
    Section "InputDevice"
            Identifier      "USB Mouse"
            Driver          "mouse"
            Option          "CorePointer"
            Option          "Device"                "/dev/input/mice"
            Option          "Protocol"              "IMPS/2"
            Option          "Emulate3Buttons"       "false"
            Option          "ZAxisMapping"          "4 5"
            Option          "SendCoreEvents"        "true"
    EndSection

    Section "Device"
    Identifier "Generic Video Card"
    Driver "i810"
    # Option "BusID" "0000:00:02.1"
    #Option "Clone" "true"
    ##Option "MonitorLayout" "CRT,LFP"
    #Option "FlipPrimary" "true"
    ##Option "DevicePresence" "true"
    #Option "Display" "BIOS"
    EndSection

    Section "Monitor"
    Identifier "Generic Monitor"
    HorizSync 30-60
    VertRefresh 50-75
    Option "DPMS"
    EndSection

    Section "Screen"
    Identifier "Default Screen"
    Device "Generic Video Card"
    Monitor "Generic Monitor"
    DefaultDepth 16
    SubSection "Display"
    Depth 1
    Modes "1024x768" "800x600" "640x480"
    EndSubSection
    SubSection "Display"
    Depth 4
    Modes "1024x768" "800x600" "640x480"
    EndSubSection
    SubSection "Display"
    Depth 8
    Modes "1024x768" "800x600" "640x480"
    EndSubSection
    SubSection "Display"
    Depth 15
    Modes "1024x768" "800x600" "640x480"
    EndSubSection
    SubSection "Display"
    Depth 16
    Modes "1024x768" "800x600" "640x480"
    EndSubSection
    SubSection "Display"
    Depth 24
    Modes "1024x768" "800x600" "640x480"
    EndSubSection
    EndSection

    Section "ServerLayout"
    Identifier "Default Layout"
    Screen "Default Screen"
    InputDevice "Generic Keyboard"
    InputDevice "Configured Mouse"
           InputDevice     "USB Mouse"
    EndSection

    Section "DRI"
    Mode 0666
    EndSection

    Section "Extensions"
    #    Option        "Composite"        "Enable"
    #    Option        "RENDER"        "Enable"
    #    Option        "DAMAGE"        "true"
    EndSection

  • NIC:
    modprobe 8139cp
    modprobe 8139too

    One of them works. I'm not sure.

  • Modem:
    Works fine with Smartlink slmoden. I noticed that keeping the power supply plugged in while dialing might lead to a freeze. I'm yet to verify this.
  • 3D:
    Works fine.
  • Acpi/Suspend/Resume/Battery:
    Battery status works fine. Suspend seems working but it won't power on the monitor when you resume.
  • IRDA:
    Works fine. I can't remember the details as I used it once!
  • Wireless:
    You need acerhk
    modprobe acerhk poll=0 autowlan=1

    The wireless chip is a prism chip. Load hostap.

    modprobe hostap_pci
  • Touchpad:
    The synaptics touch pad works. You need evdev loaded
    modprobe evdev

    And you need t install the synaptics driver

    apt-get install xserver-xorg-input-synaptics

    I always had problems with that touchpad. It's jumpy and sometimes you find it selecting text randomely while you are moving the mouse cursor. Even worse, It can even click random clicks. Sticky keyboard was a pain. The keyboard eating letters is also a pain especially when you are coding ;-)
    I noticed a lot of similar lines in /var/log/messages:
    kernel: psmouse.c: TouchPad at isa0060/serio4/input0 lost sync at

    Up to 2.6.15, You can pass ec_intr=0 to the kernel and it'll be a bit better it won't resolve it completely. This option doesn't work as expected in 2.6.16 and the situation became worse. Random mouse freeze and you have to switch to a virtual console and then back to X and sometimes the touchpad speed increases and the solution is the same. Switch to a virtual console and then back. I discovered that passing "i8042.nomux" at boot time fixes everything. I'm not sure about the touchpad speed increase issue but I don't care as long as it's working fine.

  • Kernel parameters:
    lapic ec_intr=0 i8042.nomux

Google ? Google. Google! Google...

Submitted by msameer on Mon, 07/08/2006 - 8:39am

Now what ? Google is providing hosting for Open Source projects!!!
Yesterday I also discovered that google has "Google bookmarks" so you can store your bookmarks there. Not talking about personalized search, Gmail, Google spreadsheet, Orkut, Google maps, Google moon, Google desktop, Google talk, Blogger, Google video, Google OS, Google browser, ... and what ? Where are we going ?


Why is taking a decision hard ?

Submitted by msameer on Mon, 31/07/2006 - 1:23pm

Damn.
Why is it hard to take a decision or solve a problem for myself while I can easily do it for other people ?


Mutt + Broken HTML emails.

Submitted by msameer on Sat, 22/07/2006 - 2:39pm

I always had a problem with Arabic HTML emails. They don't specify the encoding.

I'm using mutt (Yes!) as my mail reader. HTML emails can be handled using lynx and a mailcap entry like this:

text/html; /usr/bin/lynx -dump '%s'; copiousoutput; description=HTML Text; nametemplate=%s.html 

The problem is that the HTML fragment in the email doesnt specify the encoding (or whatever the reason is). lynx always assumed an incorrect encoding (iso/cp1252 or whatever). I have no problem reading such emails by viewing the plain text part but It breaks when I reply to people.

The solution is to simply force lynx to use utf8

text/html; /usr/bin/lynx -assume_charset=utf8 -dump '%s'; copiousoutput; description=HTML Text; nametemplate=%s.html 

Happy mutting!


How to bypass a blocked pop3 port using SSH.

Submitted by msameer on Thu, 13/07/2006 - 1:33am

So, You are behind a firewall blocking the pop3 port ? No worries

Here's part of my fetchmailrc:

poll foolab.org with proto POP3
user 'XXX' there with password 'YYY' is 'ZZZ' here options ssl fetchall no rewrite

I'll simply change it to poll from localhost:

poll localhost with proto POP3 port 1500
user 'XXX' there with password 'YYY' is 'ZZZ' here options ssl fetchall no rewrite

Now we need SSH to forward between my laptop port 1500 and foolab.org 110
Here's the magic!

ssh -L 1500:localhost:110 foolab.org

localhost is being resolved ON THE SERVER SIDE.

Now the only problem is that SSL will not like it and you'll get something like:

4230:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:s23_clnt.c:567:
fetchmail: SSL connection failed.

I've just removed the ssl option and it's working fine now (Probably it's not needed anyway since fetchmail will negotiate TLS using the "STARTTLS" command) but anyway, we are tunneling over SSH so it's not needed.


APC Wireless day 1

Submitted by msameer on Thu, 13/07/2006 - 1:22am

OK, So to continue the last part. We spent the 12 hours in Istanbul in the Airport Hotel. They gave us a room for free. The flight to Casablanka was really boring. 5 hours is too long especially when it was delayed and the end result was a 2 hours late departure.

The moment they announced that we are going to "El dar El Baida" which is the Arabic name of casablanca (As I knew later) I started to panic.
Damn! We are supposed to go to casa. What the HELL are they doing ?? I then discovered (Diaa told me actually) that they are the same.

We arrived at 8 pm Casablanca time (GMT). The trip to Ifrane took like 4 hours but we stopped to eat. We arrived at the university by 1 am (24 hours travelling).

We slept and woke up next day. The first day was mainly an introduction to wireless, we also configured some access points. We had a small introduction to wikis.

I'm unable to exchange money until now which means that we can't even get water to drink.

The food here is mainly a mix between sweet and non-sweet things. Like chicken (Among other things) plus sugar!

I can say that I'm eating like a PIG! Damn, A lot of food here.

In the class, We can find WiFi and I can check my mail but in the room, you they blocked both pop and SMTP. I managed to bypass this but I'll put it in another post ;-)

It's now 1:15 am (Which is 4:15 am EET). Diaa is sleeping. We had a lot of jokes today during nd after the dinner ;-)


The reverse path to Morocco.

Submitted by msameer on Tue, 11/07/2006 - 3:58am

First, I'd like to say that it's stupid to fly from Cairo to Istanbul and then to Casablanca. But this is the only flight I found.

OK, The fucken guy in Cairo airport announced that it's the last call for the flight, The flight was supposed to depart at 0345 but the announcement was at 0240 so we (Me and Diaa) had to leave the smoking area and discover the trick afterwards,

OK, I slept like a (whatever) during the flight. The food was not bad, Wish they gave me a bag of bread. It's completely strange that they give you a metal fork, spoon and knife.

Is the aircraft crashing ?? No, We are landing. God damn this landing!


To Morocco...

Submitted by msameer on Sun, 09/07/2006 - 2:17pm

Yes! I've got the visa and booked today.

I will attend the APC North Africa Wireless Workshop held in Ifrane from the 12th to the 16th of July.

Will be flying with Diaa of EGLUG on the 11th and returning on the 18th.

Will have roaming soanyone can call me for any emergency but if it's not an emergency, You'd better dig your grave if you phone me ;-)

Poor Alaa, You didn't make it ;-)



Arabic status revisited.

Submitted by msameer on Thu, 15/06/2006 - 12:49pm

Arabic is somehow a complex language when it comes to computer processing, It requires certain capabilities from the rendering and processing engines.
I'd consider 2 things to be the most important things, BiDi and Shaping, While Shaping deals with the different forms of a letter according to its position in the word, BiDi deals with the arrangement of embedded Arabic and English words.

Most of the Arabic letters change their shape according to their position in the word, Thus we have Initial, Medial, Final and Isolated.
Take the Letter "LAM" for example "0x644", It has 4 shapes: 0xFEDD, 0xFEDF, 0xFEE0 and 0xFEDE. Some letters can have 3 or even less.
Theoretically speaking, We have 28 letters although the unicode standard defines more shapes in the Arabic range, Not sure whether they are used for Farsi also or not as we have some letters there for Farsi and I guess Other languages too.

It also defines presentation forms, Those presentation forms describe how the letter will look like depending on the position in the word.

The BiDi standard is described in the Unicode Standard Annex #9, It handles embedding Arabic and other right to left languages with the left to write languages "English for example".The rendering backend must also be able to resolve this situation and reorder the test sigments to obtain a visually correct order.

The rendering backend should be aware of these to be able to display Arabic correctly.
Arabic letters are stored in text files in the Isolated form, The rendering backend must then "interpret" the letters and join them correctly otherwise we'll have non-joined letters.
Now there is another thing which does require the rendering system to take care, Diacritics or what we call in arabic "tashkeel", Or the accents ;-)

I'll be basing all my points on Gtk/Pango because I'm familiar with them, Pango is a text layout and rendering engine Thanks to pango, We wouldn't have had any Arabic in Gnome ;-)

Now I'd like to say a few words regarding diacritics since I won't be talking about them again "although this is more of a cultural issue":
I was talking a few month ago with a cool British guy, He was trying t teach himself Arabic by the means of flash cards. But he discovered that the letters - even in the arabeyes wordlist - are NOT accented so he'll have problems pronouncing it. I don't write the accents myself so I can't blame anyone.

So I can say that we have the input, The output and some tools for the Arabic user, The input would be mainly the keyboard although it can be an OCR application or a speech recognition application, The output would mainly be the monitor, a text to speech application or A printer. The tools are mainly The applications we use daily.

A GNU/Linux system is composed of several components working well with each others.
The desktop is composed of the X server or the X window system, Which the layer responsible for interfacing with the hardware, It gives you a plain desktop, On which the Desktop Environments start to put the background, The icons, A panel, ..........
You open applications "windows" the position of these windows is controlled by the "window manager".

With an open system like GNU/Linux you'll find yourself having multiple window managers and multiple desktop environments, Though you can assemble your own desktop from several components.
The most popular desktop environments are KDE and GNOME.

KDE is written in C++ using the Qt toolkit, While GNOME is written in C using the GTK+ toolkit.

A few years ago we the situation of Arabic was really bad, We had only Arabic on the console, A single closed source text editor called axmedit "It was blue colored :-)", It was written in Motif "An older GUI toolkit", Mozilla Arabic support was a yet to happen, Konqueror had a not so good support.

Sometime later GTK+ hit version 2.0 and QT hit 3.0, Both brought good Arabic support. Some small problems remained but they are almost solved by now. One of them was GTK+ not supporting the letter accents, This remained a problem for a long time but it has been solved.

I'll be talking mainly about GTK+ since I'm more familiar with it.

As we said before we must have a rendering backend, The rendering backend'll be drawing strings on the toolkit widget, It might be incorporated in the toolkit like Qt, Or separated in another library like Gtk+, Which is using "pango" as the rendering backend. Since there is the X layer below the GUI toolkits, Then X provides functions to draw strings too, Actually I'll be addressing this later.
now GTK+ is using UTF-8 internally to represent the strings, UTF-8 is one of the Unicode Transformation Formats, UTF-8 is a multi-byte encoding.
Now let's try to explain this.
How do you map a certain character stored in a file to the corresponding character in the font ? The characters are stored in files, Since a character is a byte, And a byte is 8 bits, So we can't have more than 2^8 = 256 characters which might be enough to represent a language or two at the same time but are not enough to represent all the languages at the same time, Thus we had something called the encoding. We'll have a font with the Arabic letters, Another one with the Hebrew letters, A third one with Greek letters and so on. We can only use 1 font at a time to represent the character, This is simply, the encoding.

With the unicode standard we now have more space to represent all the languages with one encoding.

UTF-8 is one of the unicode representations, A character might be 1 byte, 2, 3 or 4 bytes. Arabic falls into the 2 bytes segment "0x06XX".

So now we have toolkits capable of rendering Arabic and apply bidi and shaping, Not all the toolkits can do this, But I'm talking about the major two.

The bidi might be very complex when we have an arabic string in which we embed an english string and embed an arabic string into the english string, Here comes the Unicode control characters, They are used to aid the rendering backend to resolve the bidi correctly, Though we have no keys on the keyboard to input them, But GTK+ text widgets has a right click context menu to allow the input of them, AFAIK This is not present in Qt ATM.
I think this is a fast overview abut the current state regarding the desktop, Let's try to talk about the problems.

1) No standard on how to normalize Arabic text, Stripping the diacritics or the kashida "Arabic tatweel" (0x640) is possible, But what do you do when you are searching some fully accented text for a partially accented text ? How do you normalize letters like 0x622 and 0x623 ? Do you convert them to 0x627 ? Or what ? It becomes more complicated when you consider the huge amount of text throughout the web, If the search engine doesn't take normalization into account, You'll miss a lot of results unless you search with each form of the letter. It's even problematic when it comes to text processing and even more when you think about database servers like MySQL, It can be done using a fuzzy search but a fuzzy search can not really be optimized, Think about wikis creating wiki links, How would a wiki engine know that 2 words starting with 2 forms of the letter alef are the same ?

2) Letter accents, They are not used thus making non-arabic native speakers unable to pronounce the words correctly but this is not really a problem with the software ;-)

3) The lam-alef problem, http://www.foolab.org/node/91
Lam 0x644 and alef 0x627/0x623/0x625 are combined to form a third glyph, It does not have a shape in the standard unicode Arabic range "You can obtain these glyphs via Shift+T, Shift+G, Shift+B". They are defined as presentation forms which is not bad by itself, The problem is that a few years ago, The XFree guys refused to bind the 1 keyboard key to 2 letters. As a workaround, Someone used the presentation forms in the keyboard layout, This is not bad by itself but iconv complains about those characters producing an error "iconv: illegal input sequence at position XX" whenever you try to convert them to say the windows 1256 encoding, No one tried talking to the xorg guys yet.

4) Lately, We discovered that some keys produce different characters than what they are supposed to "the key with the 2 curly braves for example", Some sweet guy created a patch but no one bother to submit it yet.

5) Automatic translation, I have really no idea about that, I know that google has a beta Arabic <-> English beta translation service but never had enough time to try it.

6) OCR and voice recognition, Same as above, But with an additional point that is no Arabic website is following the accessibility guides, So I'm not really sure. A member of the Arabeyes community is working on an application called "Siragi" which is supposed to be an Arabic OCR but It's still in the early stages "He said that gocr won't work for Arabic", I have no experience with such things so I can't tell whether he's correct or not.

7) We have no good free "as in free speech" font till now, the KACST fonts are fine as well as the Arabeyes "khotot" project but the English glyphs in those fonts are bad and sometimes the english to arabic glyph sizes are non proportional, We might get a good font by merging them with the bitstream vera font for example but I don't know anyone out there with good knowledge on how to do this.

8) No central library implementing shaping thus each application has to implement its own shaping algorithm, The CVS version of fribidi has the shaping code but it's not released yet, I personally tried having a look and see what's missing but I failed, I felt that the code is a bit over engineered, The API itself is not really a friendly API. Behdad sent a call for API proposal but I didn't know about that until it was implemented ;-)
The absence of a fribidi release means that any application not using gtk or qt must be manually patched to support Arabic and we'll end up having a separate shaping code embedded in each application making it hard to fix whenever we find a bug unlike the case when we have a library implementing it. Beside, Patching each application is tedious.
Pango has its own shaping algorithm as well as Qt, Open Office, Mozilla.

9) Even when fribidi is released, We must patch the applications manually, I had to do this for 2 applications in 1 week, I then thought: What if the shaping code is in the X library itself ? Or in the Xft library ? The problem is that I'm not sure this is the best approach and that pango/qt/open office/mozilla and any application implementing its bidi will break. This is really bad to do, It's like cutting your hand to get rid of the pain in your finger.

10) Printing plain text files from the command line is broken, A guy from Arabeyes tried to fix it, He wrote a patch already but he hit a problem where he was having problems with postscript fonts, No one was able to help him as we don't have postscript knowledge, The project is dead.

11) Copy and paste is generally working fine between all the gtk applications including firefox, It needs farther testing.
It's also broken between KDE applications and Gtk applications "especially konqueror and Open Office".

12) The spell checker: At this moment, We have 3 aspell dictionaries, The first 2 are produced using the Tim Buckwalter http://www.qamus.org/
One of them is being developed by google but not yet released, The other one is by Dan of hspell "The Hebrew spell checker", Both of them didn't know about the existence of the other and probably they'll merge.
The third one is being developed by me but not based on the Buckwalter data and it's yet small.
I'm not really going to state why I feel they are going in the wrong direction.
Another problem is that when Dan loaded the spell checker data in Open Office, It took 200 MBs of RAM which is really huge. I didn't test it myself and probably the guys from google didn't. Probably my list won't take much RAM as it's still huge, I don't know yet whether they used myspell or hunspell as I've just knew this today, I also have no idea about the diacritics.

13) Some applications like gedit "The standard GNOME editor" hardcode the supported language in the application, Now we have an arabic aspell dictionary but we can't use it with gedit, I wrote a patch to add Arabic (Egypt), It's now in the CVS but we need to wait for the new stable GNOME release to use it.
I don't know yet about other applications behaving like this, I didn't test much.

14) Some applications like gaim don't have a way to switch the spell checker language, I'm not really sure how it's detecting the language, Maybe from the locale. But I didn't have a look at the code yet. I have an en_US locale but sometimes I like to type in Arabic, It won't be spell checked. Most of the GUI applications are using aspell as the backend. AFAICT, Aspell can't handle more than one language at a time "not really sure".

15) Software don't get a lot of testing when it comes to Arabic support and those testing or patching from the Arabic community don't really use Arabic extensively.

16) Translation, I think that the process has been stalled. I don't really know why although I have a theory.

17) Gtk had an API to enforce tha direction of the text in the text editing widget, They removed this call and are auto-aligning the text now, Sometimes editing HTML pages for example becomes annoying when the direction is set to LTR because the tags are strong characters when the content itself is Arabic.

18) mozilla problems with bidi, I'm not a mozilla user myself. So, The best thing I can do
is to point you to this page which lists some mozilla bugs "among other bugs" http://wiki.arabeyes.org/OpenBugs

19) mozilla problems with joining text: Mozilla has been working fine with accented letters since the introduction of pango support, However sometimes it fails with some websites.

20) arabic in the terminal
We have 2 options:
* mlterm "Multilingual terminal". It can render Arabic "among other languages" fine.
* BiCon from Arabeyes, It should offer Arabic support on any terminal emulator, Didn't try it.

21) Quran + Unicode: I'm no expert in this subject but it looks like the Quran can't be fully encoded using Unicode, A few discussions on Arabeyes took place but I don't know what's the status.

22) A cultural issue, Not much Arabic content is available, And the available content is mainly Islamic or old books. They are either locked somehow like: alwarraq.com or available as scanned PDF files which is not indexable or search-able.

In my opinion this is a quick overview about the Arabic language in general based on my poor experience!