Aristo Smart 400 / Compal DL71 / Compal EDL71 i jego kompatybilność z linuksem
Ostatnia zmiana: 2013-11-26 18:43




English? Go to bottom

Zmiany
+ 2007-12-22 Użycie libata powoduje timeouty na DMA. Należy używać "starego" ata_piix zamiast libata.
+ 2007-12-07 Aktualnie driver xserver-xorg-video-intel ignoruje opcję VideoRam. Więc na dzień dobry zabiera 256MB ramu dla video(!?)
+ 2007-12-07 Załadowanie obsługi USB przed załadowaniem psmouse powoduje całkowite wyłączenie touchpada!
+ 2007-09-27 Informacja o czujniku temperatury (g781)
+ 2007-09-22 Zmiana pliku xorg.conf - dostosowany do automatyki XOrg 7.3 (obsługa touchpad + zewnętrzna mysz na USB)
+ 2007-05-16 Po instalacji xserver-xorg-core 1.3 i xserver-xorg-video-intel 2.0 odpada konieczność używania 915resolution. Wszystko wykrywane jest poprawnie.
+ 2007-04-21 To już dwa lata... Dodano informację o automatycznym wyłączenia touchpada w przypadku podłączenia myszy zewnętrznej.
+ 2007-04-05 Uzupełniono informację o DSDT w przypadku upgrade pamięci
+ 2007-04-02 Odkrycie dnia: wciśnięcie litery "c" na ekranie startowym pozwala na start laptopa z cdromu. Nie trzeba ESC/wybierać nośnika itd.
+ 2007-04-02 http://www.forumpcs.com.br/viewtopic.php?t=178179 a dokładniej ftp://ftp.compal.com/Sales/Sales3/DL71 z hasłem sales030/sales030: User & Service Manual do EDL71!
+ 2007-01-27 Uszczegółowiono informację o suspend-to-disk
+ 2007-01-11 Dodano informacje o przycisku play/pause na przednim panelu
+ 2006-12-02 Kontroler SDHCI nie wspiera kart DV zasilanych 1.8V. A to oznacza że proścej jest kupić sobie czytnik kart SD za 5pln na allegro niż użerać się z problemami...
+ 2006-10-18 Pakiet 915resolution obecny w debianie unstable wzbogacił się o opcję auto: nie trzeba już podawać trybów, rozdzielczości itd. Robi to sam, automagicznie :).
+ 2006-09-21 Dodano informację o sposobie zmiany kodu regionu (i wynikającej z tego liczby kanałów) dla ipw2200
+ 2006-07-10 Dodano informację o wersji 0.12 sterownika SDHCI
+ 2006-05-12 Dodano informację o umieszczeniu wywołania 915resolution w initramfs
+ 2006-04-07 Uszczegółowiono informacje o ipw2200 oraz SDHCI, dodano informacje o zamiennikach baterii oraz Suspend2/hibernate
+ 2006-04-01 W pełni działa czytnik SD (przy jądrze 2.6.16)- patrz info w komentarzach
+ 2006-03-23 Dodano informację o framebufferze
+ 2006-03-20 Dodano informację o hw_random
+ 2006-03-12 Dodano informację o skryptach suspend
+ 2006-03-04 Dodano informację o działaniu czytnika kart SD
+ 2006-02-22 Dodano informację o gsynaptics (graficzne narzędzie do kontroli zachowania touchpada)
+ 2006-02-16 Dodano informację o rozwiązaniu problemów z agp/i915
+ 2006-02-10 Dodano informację o SDHCI (czytnik kart SD)
+ 2006-01-27 Dodano informację o rozwiązaniu problemów z pcmcia
+ 2006-01-24 Dodano informację o wskaźniku baterii w środowisku Gnome
+ 2006-01-23 Dodano informację o starszych wersjach firmware do modułu ipw2200
+ ...

Informacje ogólne

Notebook produkowany jest (jako kadłubek) przez Compal (EDL71), w Polsce sprzedawany jako Aristo Smart 400, w innych krajach występuje jako Compal DL71, ChemiBook 2071, Xpression DL71 Mecer, BOLData DL71, Trend DL71, ATOMIK Action DL71, Jetbook 9600, Crown P 10:6, (NBC-034) Tangent Shuttle 8900, RoverBook Navigator W511. Compal jest producentem OEM - wytwarza notebooki dla innych firm np. dla Dell'a (Compal N30 to Dell Inspiron 5000e) czy Fujitsu (Compal CY23 to Fujitsu Amilo-D-CY23).

Waga coś koło 2.8kg, dość cienki, pełnowymiarowa klawiatura, touchpad zintegrowany z obudową, napęd optyczny z lewej strony, 2 złącza usb z lewej, jedno z prawej, jedno gniazdo pcmcia. Sprzęt jest bardzo elastyczny w konfiguracji, możliwa jest wymiana procesora, pamięci, dysku, karty wifi, napędu optycznego, modułu TV. Moja konfiguracja obejmuje:

Procesor: Intel Pentium M 730, 1.60GHz, FSB: 533 MHz Cache: 2MB L2, Execute Disable Bit (XD)
Pamięć: dwa sloty DDR I jednokanałowe, aktualnie: 2x512MB 333MHz DDR RAM (goodramy tak swoją drogą)
Dysk: HDD 2.5"; 60GB SAMSUNG MP0603H
Napęd optyczny: DVDRW TSSTcorpCD/DVDW TS-L532A (firmware TI51, nagrywarka DVD DL)
WLAN: Intel Wireless LAN 802.11b/g (Intel 2200BG) - w slocie MiniPCI

Chipset: Intel 915 GM (Centrino/Sonoma)
Interfejsy:
                3x port USB 2.0
                1x port IEEE1394
                1x port S-Video (TV-out)
                1x port VGA
                1x wyjście Audio Out
                1x wejście mikrofonu
                1x port RJ-45 LAN
                1x port RJ-11 Modem
                1x PCMCIA typ I lub typ II (Cardbus, nie ZV)
                Kensington lock support
Wyświetlacz: 15.4"; TFT WXGA (1280 x 800, panorama 16:10, matowa)
Karta graficzna: Intel Graphics Media Accelerator (GMA) 900 (i915GM, zintegrowana, pamięć do 128MB współdzielona z RAM)
Audio:
                Wbudowana karta dźwiękowa REALTEK ALC250 AC'97 3D stereo sound system
                2 głośniki 2W
Multimedia:
                panel Audio DJ do obsługi płyt AudioCD/VideoCD/MP3 bez uruchamiania systemu operacyjnego
                przyciski: Play, Pause, Stop, Fast Forward, Rewind, Volume+, Volume-
                dwa "gorące klawisze": web i email
Komunikacja (wbudowana):
                karta sieciowa Ethernet 10/100/1000 Mbps (Realtek 8169)
                fax/modem 56K V.90/92 (Intel AC'97, programowy ICH6)
                Interfejs FireWire (mały)
Czytnik kart multimedialnych 3-in-1
                Memory Stick (MS)
                MultiMedia Card (MMC)
                Secure Digital (SD)
Zasilanie: Bateria Li-Ion 4300mAh

Brak (oczywiście istnieje możliwość dołączenia na USB czy PCMCIA):
                FDD
                IrDA
                Bluetooth
                Porty: PS/2 (klawiatury/myszy), RS232C (szeregowy), LPT (równoległy)
                Mikrofon

Całość opisu tyczy się Debiana SID z jądrem w wersji 2.6.19, ale informacje są na tyle ogólne, że powinny być użyteczne też dla innych systemów.

Budowa

lspci



00:00.0 Host bridge: Intel Corporation Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller (rev 03)
00:02.0 VGA compatible controller: Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller (rev 03)
00:02.1 Display controller: Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller (rev 03)
00:1d.0 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (rev 04)
00:1d.1 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (rev 04)
00:1d.2 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (rev 04)
00:1d.3 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (rev 04)
00:1d.7 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (rev 04)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev d4)
00:1e.2 Multimedia audio controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (rev 04)
00:1e.3 Modem: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Modem Controller (rev 04)
00:1f.0 ISA bridge: Intel Corporation 82801FBM (ICH6M) LPC Interface Bridge (rev 04)
00:1f.1 IDE interface: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller (rev 04)
00:1f.3 SMBus: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller (rev 04)
01:00.0 FireWire (IEEE 1394): VIA Technologies, Inc. IEEE 1394 Host Controller (rev 80)
01:01.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8169 Gigabit Ethernet (rev 10)
01:02.0 Network controller: Intel Corporation PRO/Wireless 2200BG Network Connection (rev 05)
01:04.0 CardBus bridge: ENE Technology Inc CB-710/2/4 Cardbus Controller
01:04.1 FLASH memory: ENE Technology Inc ENE PCI Memory Stick Card Reader Controller
01:04.2 Generic system peripheral [0805]: ENE Technology Inc ENE PCI Secure Digital Card Reader Controller

Procesor



    # cat /proc/cpuinfo
    processor : 0
    vendor_id : GenuineIntel
    cpu family : 6
    model : 13
    model name : Intel(R) Pentium(R) M processor 1.60GHz
    stepping : 8
    cpu MHz : 1596.624
    cache size : 2048 KB
    fdiv_bug : no
    hlt_bug : no
    f00f_bug : no
    coma_bug : no
    fpu : yes
    fpu_exception : yes
    cpuid level : 2
    wp : yes
    flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
            mca cmov pat clflush dts acpi mmx fxsr sse sse2 ss tm pbe nx est tm2
    bogomips : 3145.72

Działa sterowanie częstotliwością procesora, polecam pakiet powernowd (bazuje na bieżącym obciążeniu procesora) + odpowiedni aplet z GNOME.
W przypadku standardowego jądra wykorzystywany jest driver acpi-cpufreq (ACPI Processor P-States Driver); w tym przypadku dostępne są częstotliwości 800MHz, 1.07GHz, 1.33GHz, 1.60GHz. Można odpowiednio zmodyfikować plik arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c i wykorzystać driver centrino (Enhanced SpeedStep). Wskazówki do przygotowania odpowiedniego patcha dostępne są na stronie Pentium M undervolting and underclocking. Poniżej tabela wymaganych napięć procesora wg specyfikacji Intela:


                częst. mV
    0.80GHz 800 988
    1.06GHz 1066 1100
    1.20GHz 1200 1164
    1.33GHz 1333 1228
    1.46GHz 1466 1276
    1.60GHz 1600 1356

Powyższe dane przeznaczone są dla procesora Pentium M 730 1.60GHz (sonoma 533MHz) - 6,13,8.

Pentium M ma możliwość programowego sterowania częstotliwością i napięciem procesora, więc możliwe jest zarówno przetaktowanie jak i obniżenie częstotliwości procesora (poza granice przewidziane przez producenta). Obniżenie częstotliwości /napięcia procesora daje:
+ obniżenie temperatury procesora (mniej się grzeje)
+ ciszę (niższa temperatura to mniej uruchomień wiatraczka)
+ wydłużenie czasu pracy na baterii (poprzez zmniejszenie zapotrzebowania na moc przez procesor, nawet do 30 minut)
- możliwość wystąpienia niestabilnej pracy (o ile przesadzimy z obniżaniem napięcia na procesorze)
Możliwe jest przygotowanie odpowiedniego patcha; szczegóły dostępne są na wymienionej wyżej stronie: Pentium M undervolting and underclocking oraz Gentoo: HOWTO Undervolt a Pentium M CPU.

UWAGA: zabawa ze zmianą napięcia procesora może się dla niego zakończyć tragiczne.

ACPI

Generalnie jest ok, ale...

  • przy 0% naładowania (rozładowania) baterii zapisuje informacje w syslogu że ma kłopot z acpi:


    ACPI-0352: *** Error: Looking up [\_SB_.PCI0.LPCB.EC0_.ECOK] in namespace, AE_NOT_FOUND
    search_node df7c4c40 start_node df7c4c40 return_node 00000000
    ACPI-1138: *** Error: Method execution failed [\_SB_.PCI0.LPCB.EC0_.PCLK] (Node df7c4c40), AE_NOT_FOUND
    ACPI-1138: *** Error: Method execution failed [\_SB_.PCI0.LPCB.EC0_._Q1E] (Node df7c4b40), AE_NOT_FOUND

        nie wpływa to na normalne działanie systemu.
        
    UPDATE: Po zmodyfikowaniu tablicy DSDT brak tego komunikatu.

  • w moim egzemplarzu nie działa przełącznik od zamknięcia wyświetlacza - Lid Switch. Jest wykrywany przez acpi, ale jest zdefiniowany cały czas jako "open", niezależnie od jego faktycznego stanu, co oznacza, że nie można zdefiniować sobie wejścia systemu w suspend w przypadku zamknięcia wyświetlacza. W innych egzemplarzach może działać (patrz komentarze)
  • W Gnome 2.10 nie jest zwracany czas działania na bateriach ("nieznany"), za to poprawnie wyświetlane jest procentowe naładowanie baterii. Bez problemu za to zwracany jest czas w Gnome 2.12 i późniejszych oraz KUbuntu LiveCD 5.10.
  • zmodyfikowana tablica DSDT: dla 512MB RAM oraz dla 1GB RAM. Usunięty został jeden błąd oraz dodatkowo dodałem odczyt temperatury poprzez Thermal Zone (podaje temperaturę CPU).
Instalacja nowej tablicy DSDT jest bardzo łatwa - plik należy umieścić np. w /boot/compal.hex, przekompilować jądro zaznaczając opcję


    ACPI (Advanced Configuration and Power Interface) Support
        [*] Include Custom DSDT
        (/boot/compal.hex) Custom DSDT Table file to include

i zainstalować nowe jądro. Przeglądając komunikaty startowe (dmesg) można się upewnić, że nasza nowa tablica jest ładowana. Więcej na temat dsdt i kompilacji dostępne jest na http://acpi.sf.net (wiki).

Należy pamiętać, że w tablicy DSDT przechowywana jest także całkowita ilość pamięci RAM. Jeżeli następuje rozbudowa pamięci, należy pamiętać o ponowej rekompilacji czystego DSDT, ponieważ mogą wyjść różne błędy - od błędów acpi: AE_NO_MEMORY do braku sterowania dynamicznie częstotliwością procesora.

Suspend-to-ram

Suspend-to-ram (S3) działa poprawnie - można notebooka "uśpić" poleceniem:


    # echo "mem" > /sys/power/state

    ale niestety poprawne obudzenie go wymaga dodania do lilo opcji


    append="acpi_sleep=s3_bios"

bez tej opcji nie jest możliwe przywrócenie działania wyświetlacza (polecam Documentation/power/video.txt w jądrze linuksa).

Z obudzeniem komputera związany jest jeszcze jeden problem, o ile używane jest ACPI. W debianie skrypty od ACPI zbudowane są dość prosto - praktycznie rzecz biorąc jest tylko jeden domyślny i jeden od zamknięcia systemu. W tym notebooku, obudzić komputer można na dwa sposoby - otworzyć LID lub nacisnąć przycisk POWER. Naciśnięcie przycisku co prawda wybudza komputer, ale też powoduje natychmiastowy shutdown systemu. Rozwiązanie jest dość proste - należy zmodyfikować dwa pliki
- /etc/acpi/powerbtn.sh: dodać na początku pliku:


    POWER_IGNORE=/var/run/ignore_powerbtn
    if [ -f $POWER_IGNORE ]; then
        exit 0
    fi

- /etc/acpi/default.sh: dodać na początku pliku:


    POWER_IGNORE=/var/run/ignore_powerbtn
    if [ -f $POWER_IGNORE ]; then
        rm -f $POWER_IGNORE
        exit 0
    fi

Aby wprowadzić komputer w stan uśpienia należy zrobić to w następujący sposób:


    touch /var/run/ignore_powerbtn
    echo "mem" > /sys/power/state

Należy pamiętać, że nie wszystkie elementy mogą obsługiwać suspend (r8169 w 2.6.15 miał błędy; w 2.6.16 działa już bez problemu) w takim przypadku należy przed wprowadzeniem komputera w stan uśpienia wyładować wszystkie moduły, a po jego wybudzeniu ponownie je załadować.

Można też zrobić to prościej instalując program hibernate i wydając polecenie hibernate-ram

Suspend-to-disk

Można go zrealizować instalując Suspend2. Po ściągnięciu łatki, należy postąpić zgodnie ze wskazówkami zawartymi w dokumentacji (patchowanie jądra, konfiguracja, kompilacja, odpowiednie wpisy w lilo/grub), a następnie zainstalować pakiet hibernate:


    # aptitude install hibernate

Komputer można teraz uśpić wydając polecenie hibernate-disk (sudo hibernate-disk jako zwykły user).

UWAGA: w przypadku korzystania z natywnej rozdzielczości w X'ach (1280x800) należy odpowiednio zmodyfikować pliki umożliwiając wykonanie polecenia 915resolution. Wystarczy utworzyć plik np. o nazwie aristo.conf w katalogu /etc/hibernate o następującej zawartości:


    OnResume 89 /etc/init.d/915resolution start
    OnResume 90 /sbin/rmmod acerhk; /sbin/modprobe acerhk
    DownInterfaces eth1
    UpInterfaces auto

a następnie włączyć ten plik co całości skryptów


    # echo "Include aristo.conf" >> /etc/hibernate/common.conf


UWAGA: Jeżeli do hibernacji używamy opcji "Compressor lzf" należy w konfiguracji jądra włączyć na stałe (nie jako moduł!) algorytm kompresji LZF (CONFIG_CRYPTO_LZF=y).

USB

Trzy złącza USB 2.0, doskonale współpracujące z zewnętrznymi urządzeniami. Z zewnętrznym interfejsem USB/IDE zapewnia transfer na poziomie 20MB/s (!). Działa usb-storage, mysz, klawiatura, aparat cyfrowy, bluetooth, kamera cyfrowa, mikrofon. Nie ma kłopotów z wykrywaniem zewnętrznych dysków USB 2.0.
Bios umożliwia start systemu z FDD dołączonego na USB jak również z dysku wymiennego czy flashdrive (w tym przypadku w biosie należy wybrać uruchomienie z HDD i wybrać USB jako pierwsze urządzenie).

Video

  • bios karty graficznej (VBIOS) nie informuje o trybie 1280x800 - dotyczy to większości notebooków z panoramiczną matrycą. Należy skompilować i uruchomić program 855resolution lub jego nowszy odpowiednik - 915resolution, i wykonać odpowiednie polecenie np.


    # 915resolution 5c 1280 800

przed uruchomieniem X'ów! Liczba 5c określa tryb graficzny, który ma być zastąpiony; 915resolution -l podaje listę wszystkich trybów.
W debianie jest gotowa paczka, więc:


    # aptitude install 915resolution

    i ustawić żądane wartości w /etc/defaults/915resolution. Nie jest to wymagane w ostanich wersjach pakietu, wystarczy opcja auto.

  • w XFree86 nie ma wsparcia dla i915GM. Dostępne to jest w spaczowanych xorg; debian SID zawiera już odpowiednie paczki (a tym samym wsparcie dla 915GM). Jeżeli masz inną wersję systemu - czeka cię chyba kompilacja. Driver to oczywiście i810 lub w nowszych intel
  • w przyszłych wersjach XOrg stanie się zbędne używanie 915resolution dzięki włączeniu tego programu do projektu. Więc jeżeli używasz wersji CVS możesz spróbować użyć opcji: Option "ForceBIOS" "1600x1200=1280x800"
    UPDATE: Po instalacji xserver-xorg-core 1.3 and xserver-xorg-video-intel 2.0 nie jest wymagane uruchamianie 915resolution. Wszystko wykrywane jest samodzielnie przez x.org, bez dodatkowych opcji konfiguracyjnych.

  • karta graficzna jest dual-head, umożliwia podłączenie zewnętrznego monitora i pracę na 2 ekranach. Konfiguracja xorg.conf zawiera właśnie taką konfiguracje xinerama - monitor CRT na lewo od notebooka, dwa pulpity robocze. Szczegóły konfiguracji zawarte są w opisie xineramy
  • wydajność OpenGL karty graficznej wynosi ok. 800klatek/s w glxgears.
    UPDATE: chyba istnieje jakiś problem z driverem od i810, bo czasami wydajność OpenGL sama z siebie potrafi się zmniejszyć dziesięciokrotnie. Zrestartowanie Xów przywraca normalne działanie OpenGL. Być może rozwiązaniem jest patch podany na linux-kernel - został on włączony standardowo do jądra 2.6.16.


Framebuffer
Można go uzyskać na trzy sposoby

  • intelfb. W aktualnych wersjach jądra obsługuje chip i915G, więc można go używać. Niestety, ponieważ nie potrafi działać poprawnie na LFP (wbudowanym LCD), jedyna możliwa do uzyskania rozdzielczość to 1024x768; dodatkowo rzuca warningami przy przełączaniu z trybu graficznego do konsoli
  • vesafb. Działa doskonale, niestety nie pozwala się skompilować jako moduł, tym samym można uzysać tylko standardowe rozdzielczości narzucone przez VBIOS - w tym przypadku 1024x768.
  • vesafb-tng. Chyba jedyne słuszne rozwiązanie (polecam!). Można skompilować do modułu.
Aby uzyskać framebuffer w rozdzielczości 1280x800 należy:
- zainstalować patch od vesafb-tng
- skompilować jądro z zaznaczeniem vesafb-tng jako moduł
- w trakcie uruchamiania systemu najpierw uruchomić i915resolution, a następnie załadować moduł:


    # 915resolution 5c 1280 800
    # modprobe vesafb-tng mode=1280x800-32@60

Uzyskamy konsolę w natywnej rozdzielczości (mieści 160x50 znaków).

initramfs
Ponieważ framebuffer nie jest inicjowany przy starcie systemu, do załadowania init'a jądro pracuje w trybie tekstowym. Można przyśpieszyć inicjalizację framebuffera przez umieszczenie całego kodu w initramfs.
Należy zainstalować pakiet initramfs-tools, a następnie utworzyć plik o nazwie np. 915res w katalogu /etc/mkinitramfs/scripts/init-top/ o następującej zawartości:


    #!/bin/sh
    mknod /dev/mem c 1 1
    /bin/915resolution 5c 1280 800
    modprobe vesafb-tng mode=1280x800-32@60

Następnie należy skompilować statycznie program 915resolution: ściągamy źródła


    # apt-get source 915resolution

kompilujemy program i umieszczamy go w katalogu, który będzie /bin w initrd:


    # cd 915resolution-0.5.2
    # gcc -static -o 915resolution 915resolution.c
    # strip 915resolution
    # cp 915resolution /usr/lib/klibc/bin/

Dajemy możliwość uruchamiania skryptu oraz niezapominamy o włączeniu do initramfs modułu vesafb-tng


    # chmod 755 /etc/mkinitramfs/scripts/init-top/915res
    # echo "vesafb-tng" >> /etc/mkinitramfs/modules

Następną czynnością jest wygenerowanie nowego initramfs


    # update-initramfs -u

Od następnego restartu systemu framebuffer o natywnej rozdzielczości powinien pojawić się prawie na starcie systemu. UWAGA: initramfs wymaga skompilowania jądra z włączonym na stałe wsparciem dla ramdysków i initrd.

WiFi

To w moim przypadku karta Intel PRO/Wireless 2200BG (54Mbit).

  • Sterowniki do WLAN dostępne są na http://ipw2200.sourceforge.net ; należy pamiętać o przełączeniu przycisku włączającego wifi na przednim panelu!
  • Ruszył projekt oprogramowania AP na tej karcie - http://ipw2200-ap.sf.net ; można się spodziewać niedługo możliwości uruchomienia programowego AP (coś na kształt HostAP).
  • Odpowiedni sterownik dostępne są także w kernelach >= 2.6.15. Jeżeli moduł WLAN używany jest tylko do połączenia z Access Pointem, można użyć sterownika zawartego w jądrze. Należy pamiętać o zainstalowaniu odpowiedniego firmware!
  • W przypadku problemów z połączeniem (lub notorycznych komunikatach o przeładowaniu firmware) należy dodać przy ładowaniu modułu opcję "hwcrypto=0" (jest ona domyślna przy bieżących wersjach sterownika) przy ładowaniu modułu ipw2200, można też skompilować moduł z wyłączeniem QoS. Niestety, jest to kwestia niedostatecznej stabilności firmware w wersji 2.4.
  • Jeżeli ma być używany tryb monitor (rfmon), należy używać możliwie najnowszej wersji sterowników i firmware (na dzień dzisiejszy - kwiecień 2006r - jest to wersja 1.1.2 oraz firmware 3.0). W przypadku innych wersji mogą występować częste problemy z połączeniem, gubieniem ramek i komunikatami o przeładowaniu firmware. Zwykle obsługa trybu monitor nie jest domyślnie kompilowana; należy włączyć odpowiednią opcję w pliku Makefile lub ipw2200.c. Do obsługi trybu monitor zaleca się także włączyć obsługę radiotap.
Ostatnie wersje sterownika ipw2200 sprawdzają kod zawarty w EEPROM karty i pozwalają na ustawienie maksymalnego numeru kanału w zależności od tego kodu. Można to oczywiście zmienić, pomysł wraz odpowiednimi łatkami dostępny jest na stronie http://saftware.de/#ipw2200

PCMCIA

Generalnie działa; mimo że ENE nie udostępnia dokumentacji, ten kontroler jest kompatybilny z TI i posiada wsparcie w linuksie. Jednakże przy uruchomieniu usług pcmcia-cs (czy pcmciautils - moduły ładowne przez udev) można zauważyć wyłączenie się ekranu lub całkowite zatrzymanie systemu (freeze :)). Rozwiąznie problemu jest proste:

  • należy przełączyć na ekran zewnętrzny (!) przy pomocy Fn + F5 i z powrotem na LCD
  • nie używać pcmcia :). Notebook ma większość wymaganych interfejsów i całkiem możliwe, że nie potrzebujmy pcmcia
  • wyłączyć na stałe ACPI - ale tracimy możliwość sterowania częstotliwością procesora i innych przydatnych funkcjonalności
  • w pliku /etc/pcmcia/config.opts zakomentować linię


    include port 0x800-0x8ff

Polecam rozwiązanie ostatnie. Problem ten dotyczy większości notebooków wyposażonych w kontroler Ene lub Texas Instruments PCIxx21/x515 - znane przypadki to Toshiba Satellite M30x-125/M30x-144, Acer TravelMate 4600 czy Sony Vaio VGN-S3XP.

Czytnik kart SD/MMC/MS

Sprawia problemy, ale działa. Sterownik dostępny jest na liście dyskusyjnej SDHCI (wersja 0.11). Po instalacji sterownika i włożeniu karty mogą w logu pojawić się informacje o timeoutach, jak również może przestać działać klawiatura. Należy poczekać kilkadziesiąt sekund - mija to i karta jest normalnie rozpoznawana (można ją zamontować). Można sprawdzić działanie czytnika po wykonaniu następujących poleceń:


    # mknod /dev/mmcblk0 b 253 0
    # mknod /dev/mmcblk0p1 b 253 1

    włóż kartę do slotu

    # modprobe mmc_core
    # modprobe mmc_block
    # modprobe sdhci

UPDATE: 31 marca 2006r ukazała się łatka całkowicie usuwająca problem timeoutów (dla wersji 0.11). Zestaw zawierający sterownik SDHCI wraz z poprawkami dla jądra 2.6.16 dostępny jest na stronie aceJacek. Niestety, łatka dostępna jest tylko do tej wersji sterownika i działa tylko z jądrem w wersji 2.6.16.
Należy pamiętać, żeby załadować także moduł mmc_block - można to zrobić dodając do /etc/modprobe.d odpowiednią linię:


    # echo "install sdhci modprobe --ignore-install sdhci ; modprobe --ignore-install mmc_block;" >> /etc/modprobe.d/sdhci

Sterownik SDHCI przeznaczony jest tylko do kart SD/MMC. Nie ma jeszcze modułu do obsługi kart MS.
W wersji 0.12 sterownik sprawia te same problemy. Mogą także wystąpić problemy po wyjściu z trybu suspend jak również w odczycie kart większej pojemności (> 1GB).

Hotkey

Należy skompilować moduł do obsługi przycisków hotkey - acerhk (co prawda jest przeznaczony dla Acerów i podobnych maszyn, ale działa też ze wszystkimi notebookami wyposażonymi w rozszerzenie dritek), a następnie załadować moduł poleceniem:


    # modprobe acerhk force_series=6000.

i zmapować przyciski do odpowiedniej akcji (np. w środowisku GNOME). Oczywiście dotyczy to nie tylko tych dwóch obok power-on, ale również tych z przodu obudowy - działa volume, play/pause/stop.
Nie ma problemów z obsługą klawiszy specjalnych - Fn+Fx: działa zmiana jasności LCD, głośności, wyciszania i przełączania LCD/TV/CRT. Przy domyślnej konfiguracji xorg w trybie bez xineramy, po podłączeniu zewnętrznego monitora/TV, przy pomocy klawiszy funkcyjnych jest możliwość przełączenia obrazu na zewnętrzny CRT/TV lub jego sklonowania.

Do zmapowania przyciski play/pause na przednim panelu niezbędne jest odczytanie jego kodu (pojawi się w logu po jego naciśnięciu). Następnie wystarczy wydać odpowiednie polecenie:


    # setkeycodes e078 120

żeby przycisk był dostępny. Powyższe polecenie można dodać do skryptu /etc/rc.local, który uruchamia się po starcie systemu.

Bateria

Model BATCL50L, 14,8V, 4300mAh, litowo - jonowa. Realny czas pracy bez włączonego modułu WLAN to ok. 4,5 godziny.
Ten sam model baterii występuje też w następujących notebookach: Acer Aspire 9100, 9500 i TravelMate 290, 2350, 4050, 4150, 4650, Arm, Compal, HyperData, Systemax CL50, CL51, CL56, DL70, DL71, więc z przypadku poszukiwania zamiennika nie powinno być problemu. Cena nowej baterii na dzień dzisiejszy (kwiecień 2006r) to ok. 400pln; dostępne są bez problemu w sklepach internetowych lub serwisach aukcyjnych.

Uwagi dodatkowe

  • bios sygnowany jest przez Insyde; jest bardzo ubogi (v1.03a). Ustawienie daty, obsługa USB przez bios, logo startowe, hasła zabezpieczające i kolejność startu z nośników. To wszystko.
  • domyślnie nie są wykrywane żadne czujniki temperatury, ani przez lm_sensors, ani przez mbmon, ani przez thermal zone (acpi). Po modyfikacji tablicy DSDT można odczytać temperaturę procesora


    $ acpi -V
        Thermal 1: ok, 48.0 degrees C
        ...

    Wynika z tego, że czujniki są w podzespołach, natomiast brak standardowo możliwości odczytu temperatury to niedoróbka biosu (acpi). Działa natomiast hddtemp dla dysku - podaje jego temperaturę


    # hddtemp /dev/hda
        /dev/hda: SAMSUNG MP0603H: 37°C

    Do tego samego celu można oczywiście wykorzystać S.M.A.R.T. dysku.
    
UPDATE Zgodnie z dokumentacją comapl jest wyposażony w czujnik g781. Nie jest on obsługiwany przez lm_sensors, ale za to jest open i2c w OpenBSD 4.0. Ktoś ma OpenBSD?
    

  • do obsługi modemu należy zainstalować pakiet


    # aptitude install sl-modem-daemon

    (pakiet jest z non-free); wybrać w ustawieniach POLAND. Można później przy pomocy minicoma (/dev/SL0, 115200 8N1) sprawdzić czy reaguje na polecenia AT

  • w konfiguracji xorg został dołączony także driver touchpada - alps (driver synaptics lub debianowy pakiet xserver-xorg-input-synaptics/xfree86-driver-synaptics). Taka konfiguracja umożliwia wykorzystanie "scrolla" w touchpadzie, przydatne jak nie ma się kółka w myszy. Dostępny jest także pakiet gsynaptics, umożliwiający graficzną konfigurację kilku parametrów touchpada.
UPDATE: moduł psmouse powinien być załadowany PRZED modułami obsługi USB, w przeciwnym przypadku touchpad zostanie całkowicie wyłączony bez możliwości obsługi w Xach!


  • jeżeli ktoś nie wie - smart400/edl71 może być wyposażony w wewnętrzną kartę tunera TV (zestaw na minipci (?) LifeView z pilotem, czujnik podczerwieni jest na przednim panelu), niestety niedostępne na polskim rynku.
  • napęd optyczny to nagrywarka DVD DL (Samsung & Toshiba) o następujących parametrach:


    DVD+R zapis 8X (10 800 KB/sek.) odczyt 8X (10 800 KB/sek.)
    DVD+R Double zapis 2.4X (3 240 KB/sek.) odczyt 3.6X (3 600 KB/sek.)
    DVD+RW zapis 4X (5 400 KB/sek.) odczyt 6X (8 100 KB/sek.)
    DVD-R zapis 8X (10 800 KB/sek.) odczyt 8X (10 800 KB/sek.)
    DVD-RW zapis 4X (5 400 KB/sek.) odczyt 6X (8 100 KB/sek.)
    DVD-ROM odczyt 8X (10 800 KB/sek.)
    CD-ROM odczyt 24X (3 600 KB/sek.)
    CD-R zapis 24X (3 600 KB/sek.) odczyt 24X (3 600 KB/sek.)
    CD-RW zapis 24X (3 600 KB/sek.) odczyt 24X (3 600 KB/sek.).

    Jak widać demonem prędkości to to nie jest, ale małe prędkości sprawiają, że napęd nie hałasuje. Można go przefleshować na Toshibę SD-R6472 (firmware dostępne jest na http://hijacker.rpc1.org/toshiba/index.php?path=SD-R6472/ ; przynajmniej będzie czytał wszystkie nośniki - w tej chwili ma problem z rozpoznawaniem niektórych nośników). Niestety spięty jest jako slave razem z HDD.

  • mplayer - działa doskonale; jednakże ze względu na panoramiczny ekran warto dodać do opcji konfiguracyjnych parametr "monitoraspect=16:10" - będzie wtedy poprawnie skalował filmy panoramiczne 16:9 i te zwykłe, 4:3.
  • mimo że chip laptopa jest odpowiedni (8086:2448), próba załadowania modułu hw_random kończy się niepowodzeniem. Wygląda na to, że poprostu go nie ma (! update: nowsze wesje chipsetu faktycznie nie mają generatora liczb losowych; driver tego nie rozróżnia)
  • Jeżeli dużo pisze się na klawiaturze, wbudowany touchpad czasami przeszkadza, bo można go niechcący dotykać (i kursor się gdzieś przemieszcza). Rozwiązniem może być chwilowe wyłączenie touchapda lub wyłączenie go na stałe jak jest podpięta zewnętrzna mysz.

Podsumowanie

Na dzień dzisiejszy (2006-03-03, jądro 2.6.15) wszystkie podzespoły w notebooku są poprawnie wykrywane i działają. Warto skompilować i używać najnowsze wersje jądra, gdyż często zawierają poprawki polepszające działanie całości.

Chipset, procesor: TAK (powernowd)
Video (tv-out, vga-out): TAK (framebuffer/vesa/intelfb/vesafb-tng, 915resolution, xserver-xorg)
Audio: TAK (alsa)
PCMCIA: TAK (pcmcia-cs)
DVDRW: TAK (cdrecord, dvd+rw-tools)
USB 2.0: TAK (kernel)
FireWire: TAK (kernel)
LAN: TAK (kernel)
Modem: TAK (alsa, sl-modem-daemon)
WiFi: TAK (ipw2200)
Hotkeys: TAK (acerhk)
Touchpad: TAK (synaptics)
Czytnik SD/MMC/MS: TAK (tylko SD/MMC dla 2.6.16- zobacz uwagi o czytniku kart SD)

Pliki

- config 2.6.22.3, główny system plików na XFS / 1GB memory
- xorg.conf
- zmodyfikowana tablica DSDT dla EDL71 DL7x (512MB RAM)
- zmodyfikowana tablica DSDT dla EDL71 DL7x (1GB RAM)
- zestaw wszystkich niezbędnych poprawek przygotowany przez aceJacek

Programy do zainstalowania

  • 915resolution (resolution modify tool for Intel graphic chipset)
  • cdrecord/wodim (command line CD writing tool)
  • dvd+rw-tools (command line DVD writing tool)
  • pcmcia-cs (PCMCIA Card Services for Linux)
  • pcmciautils (dla jąder > 2.6.13 + udev)
  • powernowd (control cpu speed and voltage using 2.6 kernel)
  • sl-modem-daemon (SmartLink software modem daemon)
  • xserver-xorg-input-synaptics/xfree86-driver-synaptics (Synaptics TouchPad driver for X.Org/XFree86 server)
  • xserver-xorg (the X.Org X server)
  • ipw2200-source (dla kerneli < 2.6.14-rc2), ale lepiej pobrać najnowszą wersję (od wersji 1.0.6 wspiera tryb monitor i tym samym umożliwia działanie programów typu kismet czy aircrack).
Opcjonalnie:

  • hibernate (activates your computer's suspend functionality)
  • ifplugd, wpasupplicant, ifmetric, guessnet; jeżeli notebook używany jest wielu sieciach. Dzięki temu uzyskamy automatyczną konfigurację sieci w przypadku podłączenia kabla czy wykrycia znanej sieci WLAN.
  • smartmontools (control and monitor storage systems using S.M.A.R.T.)
  • laptop-mode-tools (Userland scripts to control "laptop mode")
  • gsynaptics (configuration tool for Synaptics touchpad driver)
  • NetworkManager (bardzo rozbudowany graficzny manager połączeń kablowych i bezprzewodowych)
  • usplash/splashy (odpowiednik bootsplasha ale całkowicie w userspace)

Short in english

- install 915resolution for wide screen (mode 1280x800 is not reported by bios)
- install ipw2200 driver for WiFi or use kernel >= 2.6.15
- patch DSDT table: for 512MB memory or for 1GB memory for ThermalZone - see http://acpi.sf.net
- install synaptics driver for touchpad alps
- install acerhk for hotkeys support, then load it with "modprobe acerhk force_series=6000".
- comment out line "include port 0x800-0x8ff" in file /etc/pcmcia/config.opts (LCD freeze on starting pcmcia services)

See my kernel config (2.6.22.3), xorg.conf

Works: cpufreq, ACPI, suspend-to-ram, hotkeys, dualhead/xinerama, audio, modem, pcmcia, wifi (with hardware switch, monitor mode), video + OpenGL.

Brief summary:
Chipset, procesor: OK (powernowd)
Video (tv-out, vga-out): OK (framebuffer/vesa/intelfb/vesafb-tng, 915resolution, xserver-xorg)
Audio: OK (alsa)
PCMCIA: OK (pcmcia-cs)
DVDRW: OK (cdrecord, dvd+rw-tools)
USB 2.0: OK (kernel)
FireWire: OK (kernel)
LAN: OK (kernel)
Modem: OK (alsa, sl-modem-daemon)
WiFi: OK (ipw2200)
Hotkeys: OK (acerhk)
Touchpad: OK (synaptics)
SD/MMC/MS reader: OK (only SD/MMC - see mailing list SDHCI)


This report is listed at TuxMobil - Linux on laptops, notebooks, PDAs and mobile phones