Instalacja Debiana na HP nx6310 - EY501ES (część 2)
Maciej Rutecki (2006.11.04)

Druga część będzie krótsza, ponieważ opisuje te problemy, którwe nie zostały rozwiązane w poprzednim artykule.

Podziękowania

Serdecznie dziękuję wszystkim tym, którzy pomogli mi przy rozwiązywaniu problemów z komputerem, zarówno tych pomagających osobiście, jak tym, którzy zrobili to poprzez tworzenie dokumentacji i opisów instalacji. Szczególnie dziękuję osobom, które wytrzymymały moją upierdliwość :-). Nie wymieniam z nazwiska, bo to dosyć długa lista.


VGA out
OK
DVD
OK (odczyt i nagrywanie)
Bluetooth
Wygląda na to, że OK
56 kbps modem
Nie mam możliwości przetestowania
Suspend
Na pewno działa suspend to RAM
Hibernacja
Nie sprawdzałem (bo i nie potrzebuję :-) )

Bluetooth

Korzystałem z poniższego opisu:

http://www.gentoolinux.org/doc/pl/bluetooth-guide.xml

Ładowanie sterowników wykonuje się poprawnie, należy nacisnąć przycisk zasilania od WiFi, aby uaktywnić Bluetooth. Nie mam sprzętu do potestowania (sponsor wanted ;-) )

Wyjście VGA

Wystarczy dodać w sekcji "Device" następujący wpis (plik /etc/X11/xorg.conf):

Option          "MonitorLayout"         "CRT,LFP"
Option          "Clone"                 "true"


Przełaczanie odbywa się za pomocą kombinacji "Fn"+F4", sekwencyjnie: Laptop->Laptop+VGA->VGA->Laptop

Modem

Nie mam możliwości przetestowania, najprawdopodobniej działa z programem "slmodem"

Suspend (to RAM)

W kernelach do 2.6.18.* jest problem z AHCI (libata), problemy z poprawnym wybudzeniem dysku. Rozwiązaniem jest użycie patcha git-libata-all-2.6.18-mm1.patch ze strony (dzięki za pomoc ludziom z kernel.org):

ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.18/2.6.18-mm1/broken-out/git-libata-all.patch

i nalożenie go na któryś z kerneli (działa z 2.6.18 oraz 2.6.18.1). Podczas nakładania łatki może się pojawić informacja, że częsciowo źródła były wcześniej łatane - wybrać w takim przyopadku odpowiedź "n".
Łatkę nakładamy poleceniem (w katalogu ze źródłami jądra):

patch -p1 < nazwa_latki.patch

Uwaga! Zmieni się w menuconfig położenie opcji dotyczących SATA, teraz będą w Serial ATA a nie SCSI.

Bez łatania można użyć jądra 2.6.19-rcx, ale wtedy nie bądą chciały się zainstalować sterowniki od WiFi.

Ponieważ częstym problemem jest aktywacia ekranu przy wybudzaniu, to do do sekcji "Device" należy dodać poniższą opcję (plik /etc/X11/xorg.conf):

Option          "VBERestore"            "true

Zaś przykładowy skrypt uruchamiający usypianie może wyglądać następująco (na podstawie [1]):

/home/maciek/bin/suspend_to_ram.sh

#!/bin/sh

# discover video card's ID
ID=`lspci | grep VGA | awk '{ print $1 }' | sed -e 's@0000:@@' -e 's@:@/@'`

# securely create a temporary file
TMP_FILE=`mktemp /var/tmp/video_state.XXXXXX`
trap 'rm -f $TMP_FILE' 0 1 15

# switch to virtual terminal 1 to avoid graphics
# corruption in X
chvt 1

# write all unwritten data (just in case)
sync

# dump current data from the video card to the
# temporary file
cat /proc/bus/pci/$ID > $TMP_FILE

# suspend
echo -n mem > /sys/power/state

# restore video card data from the temporary file
# on resume
cat $TMP_FILE > /proc/bus/pci/$ID

# switch back to virtual terminal 7 (running X)
chvt 7

# remove temporary file
rm -f $TMP_FILE


Należy dodać prawa wykonywalności temu plikowi.

Aby komputer automatycznie się usypiał po zamknięciu laptopa należy w /etc/acpi/events dodać następujący plik:

/etc/acpi/events/lid

event=button[ /]lid.*
action=/home/maciek/bin/suspend_to_ram.sh

I zrestartować demona acpid

Ciekawe adresy:
Automatyczne usypianie:
[1] http://www.linux.com/article.pl?sid=06/05/24/1716222
Dysk SATA:
[2] http://www.gatago.com/fa/linux/kernel/18663011.html
Wyjście VGA itp.:
[3] http://gentoo-wiki.com/HOWTO_Dual_Monitors
Gentoo i laptopy:
[4] http://gentoo-wiki.com/HOWTO_Gentoo_on_laptops
Suspend 2:
[6] http://gentoo-wiki.com/HOWTO_Software_Suspend_v2
Bluetooth:
[7] http://www.gentoolinux.org/doc/pl/bluetooth-guide.xml
Suspend to RAM:
[8] http://linux.spiney.org/debian_gnu_linux_on_an_ibm_thinkpad_t43p_suspend_to_ram

Załaczniki
xorg.conf
grub - menu.lst
.config - 2.6.18 (bez initrd)
git-libata-all.patch