Portál AbcLinuxu, 25. dubna 2024 04:22

Lenovo ThinkPad T61p #6460-8XU

Podpora: kompletní
Ovladač: v jádře

Technické parametry

Identifikace pod Linuxem

$ lspci
00:00.0 Host bridge: Intel Corporation Mobile PM965/GM965/GL960 Memory Controller Hub (rev 0c)
00:01.0 PCI bridge: Intel Corporation Mobile PM965/GM965/GL960 PCI Express Root Port (rev 0c)
00:19.0 Ethernet controller: Intel Corporation 82566MM Gigabit Network Connection (rev 03)
00:1a.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #4 (rev 03)
00:1a.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #5 (rev 03)
00:1a.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #2 (rev 03)
00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 03)
00:1c.0 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 1 (rev 03)
00:1c.1 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 2 (rev 03)
00:1c.2 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 3 (rev 03)
00:1c.3 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 4 (rev 03)
00:1c.4 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 5 (rev 03)
00:1d.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #1 (rev 03)
00:1d.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #2 (rev 03)
00:1d.2 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #3 (rev 03)
00:1d.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #1 (rev 03)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev f3)
00:1f.0 ISA bridge: Intel Corporation 82801HBM (ICH8M-E) LPC Interface Controller (rev 03)
00:1f.1 IDE interface: Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) IDE Controller (rev 03)
00:1f.2 SATA controller: Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) SATA AHCI Controller (rev 03)
00:1f.3 SMBus: Intel Corporation 82801H (ICH8 Family) SMBus Controller (rev 03)
01:00.0 VGA compatible controller: nVidia Corporation Quadro FX 570M (rev a1)
03:00.0 Network controller: Intel Corporation PRO/Wireless 4965 AG or AGN Network Connection (rev 61)
15:00.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev ba)
15:00.1 FireWire (IEEE 1394): Ricoh Co Ltd R5C832 IEEE 1394 Controller (rev 04)
15:00.2 SD Host controller: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 21)
15:00.3 System peripheral: Ricoh Co Ltd R5C843 MMC Host Controller (rev 11)
15:00.4 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 11)
15:00.5 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev 11)

Postup zprovoznění pod Linuxem

Popisuji zprovoznění laptopu na 64bitové verzi Ubuntu Hardy Heron tak, jak by to asi dělal běžný uživatel-laik.

Hardy Heron

Instalace Hardy Heron proběhla bez problémů, veškerý hardware funguje rovnou. Nefungují jen některé speciální klávesy a LED signalizující stav WiFi. Ochrana disku při pádu a čtečka otisků prstů nejsou nainstalované. Vše lze doinstalovat velice snadno. Co asi nelze doinstalovat je tzv. Intel Turbo Flash memory o velikosti 1GB, což je nějaké mě neznámé řešení, které funguje pouze společně s Windows. Prosím o komentář v případě, že o tom víte něco víc (nebo jestli kecám)... Jakékoliv připomínky k tomuto návodu jsou velice vítané!

Nvidia

Nainstaloval jsem nabízený nesvobodný ovladač pro VGA Nvidia (v. 192.12+2.6.24.13-18.41). Tento ovladač má následující problémy:

Nahraďte:
<!-- T61 (8895), intel card 32bit works with S3_MODE, but 64bit needs VBE_MODE 
T61p (6460), does not work with the NVidia driver-->

<match key="system.hardware.product" prefix_outof="8895;8897;6457;6460;6464;6465">
  <merge key="power_management.quirk.s3_bios" type="bool">true</merge>
  <merge key="power_management.quirk.vbemode_restore" type="bool">true</merge>
</match>
tímto:
<!-- T61 (8895), intel card 32bit works with S3_MODE, but 64bit needs VBE_MODE 
T61p (6460), does not work with the NVidia driver-->
<match key="system.hardware.product" prefix_outof="8895;8897;6457;6460;6464;6465">
  <merge key="power_management.quirk.s3_mode" type="bool">true</merge>
  <merge key="power_management.quirk.s3_bios" type="bool">false</merge>
  <merge key="power_management.quirk.save_pci" type="bool">true</merge>
</match>
deb http://ppa.launchpad.net/superm1/ubuntu hardy main
deb-src http://ppa.launchpad.net/superm1/ubuntu hardy main

Za chvíli vás systém vyzve k instalaci nových aktualizací, ty proveďte a restartujte. Hotovo.
Poznámka: Používání neznámých a nepodepsaných repozitářů není úplně nejlepší nápad, především s ohledem na bezpečnost. Jestli si nejste jisti, zda repozitář použít, hledejte další informace na webu.

Hibernate mi sice stále nefunguje, ale s novými ovladači od Nvidie to prý půjde, takže počkám. Nezkoušel jsem instalovat beta ovladač manuálně, protože uspání na disk stejně nepoužívám (probuzení z hibernate trvá déle než normální boot), stačí mi Suspend. Hibernate jsem proto zakázal pomocí

sudo gconf-editor

Dále jděte na aps -> gnome-power-manager -> general -> can_hibernate (odškrtnout a pak ještě pravým tlačítkem a zvolit Nastavit jako implicitní) a pak ještě editací /etc/gdm/gdm.conf (odebrat HIBERNATE z SystemCommandsInMenu a z AllowLogoutActions).

Ochrana disku při pádu

K tomuto slouží hdaps. Vycházel jsem z tohoto článku. Nainstalujete pomocí apt-get, vyzkoušíte pomocí modprobe a když budou fungovat (měli by, tzn. že modprobe proběhne bez chybové hlášky) tak přidáte do /etc/modules.

sudo apt-get install hdaps*
sudo modprobe hdaps_ec
sudo modprobe tp_smapi
sudo echo "hdaps_ec" >> /etc/modules
sudo echo "tp_smapi" >> /etc/modules

Vyzkoušejte hdaps-gl, měli by jste vidět natočení svého notebooku vzhledem ke středu zeměkoule :-)

Nyní je ještě potřeba upravit nastavení pro hdapsd démona, aby chránil ten správný disk. V souboru /etc/default/hdapsd jsem musel změnit DISK="hda" na DISK="sda".

V současném kernelu je bug, který způsobí, že se démon nenačte. Buď můžete zkompilovat vlastní jádro, anebo počkat, než se oprava objeví v novém jádře. Do té doby NENÍ disk chráněn při pádu.

Modul tp_smapi lze využít na prodloužení životnosti (nikoliv výdrže) baterií (podrobnosti ve výše zmiňovaném článku na ThinkWiki):

sudo echo 40 > /sys/devices/platform/smapi/BAT0/start_charge_thresh 
sudo echo 70 > /sys/devices/platform/smapi/BAT0/stop_charge_thresh 
sudo cat /sys/devices/platform/smapi/BAT0/*_charge_thresh 

Čtečka otisku prstů

Vycházel jsem z tohoto článku.

sudo apt-get install thinkfinger-tools libpam-thinkfinger
sudo /usr/lib/pam-thinkfinger/pam-thinkfinger-enable

Nyní jsem musel restartovat. Po restartu (nepoužívejte sudo) uložte svůj otisk prstu (kvůli ověření musíte zadat celkem 3x):

tf-tool --acquire

A vyzkoušejte jeho vkládání:

tf-tool --verify

Nic víc jsem nemusel udělat, všechny přihlašovací dialogy již namísto hesla akceptují otisk prstu.
Poznámka 1: I když si většina uživatelů myslí opak, používání otisku prstu namísto hesla znamená SNÍŽENÍ úrovně zabezpečení vašeho počítače. Ale je to pohodlné.
Poznámka 2: Tam, kde je nutné zadat uživatelské jméno musíte nejprve zadat uživatelské jméno a až pak otisk prstu namísto hesla.
Poznámka 3: Výzva k zadání otisku prstu je téměř vždy Password or swipe finger (tzn. anglicky, ne česky).

Zprovoznění nefunkčních kláves

Po instalaci mi nefungovaly následující klávesy resp. klávesové kombinace (pro detekci jsem použil program xev):

Kromě kláves zpět a vpřed to jsou spíše zbytné klávesy, nicméně jsem se rozhodl i zbylé klávesy zprovoznit. Vyčerpávající článek naleznete opět na ThinkWiki, zde je stručný postup.
Nejprve zprovozníme Zpět a Vpřed. Většina návodů doporučuje využít Xmodmap, ovšem Xmodmap se nemá příliš rád s xkb a neměl by se proto používat současně s xkb. Mě se víc líbí řešení popsané zde, které vkládá kódy přímo do xkb souborů. Takto zjistíte které rozložení klávesnice používáte:

setxkbmap -print
Potom v adresáři /usr/share/X11/xkb/symbols upravte patřičné soubory (v mém případě se jedná o následující soubory cz a us - odkazy obsahují již upravené soubory) a doplňte mezi první symboly (na začátku souboru) následující:
    key <I6A>   { [ XF86Back                            ]       };
    key <I69>   { [ XF86Forward                         ]       };

Nyní by měli klávesy Zpět a Vpřed fungovat jak ve Firefoxu 3, tak třeba v nautilu, stejně jako Alt + šipka vlevo a Alt + šipka vpravo. Zbylé klávesy (kromě Fn + F8) lze zprovoznit pomocí programu tpb:

sudo apt-get install tpb

Zde je můj soubor /etc/tpbrc a /usr/local/bin/callback.sh. Volbu THINKPAD (co dělat po stisku tlačítka ThinkVantage) jsem si navázal na start Firefoxu. Bez těch voleb -T ntpctl -e ntpctl mi to otevírá na každý stisk asi tak 3-5 oken s Firefoxem, s chybovou hláškou, že Firefox již běží. Pro automatický start je třeba upravit vlastníky a práva výše uvedeným souborům a přidat uživatele, kteří mohou využívat program tpb do skupiny nvram.

sudo chown root:root /etc/tpbrc
sudo chown root:nvram /usr/local/bin/callback.sh
sudo chmod 644 /etc/tpbrc
sudo chmod 775 /usr/local/bin/callback.sh
sudo adduser vase_uzivatelske_jmeno nvram

Poslední řádek je nutné udělat pro všechny uživatele, kteří mohou používat tento program. Po restartu již vše běží jak má.

Fn + F8 (zapnutí a vypnutí touchpadu) zprovozníte programem gsynaptic:

sudo apt-get install gsynaptics

Potom je ještě potřeba do /etc/X11/xorg.conf, do sekce Synaptics Touchpad dopsat tento řádek:

        Option          "SHMConfig"     "True"

Poznámka: Cca po 2 týdnech jsem si všiml, že mi Fn + F8 přestalo fungovat. Mezitím jsem se připojil k Advanced Docku, taky se aktualizovalo jádro a událo mnoho dalších věcí, takže nevím, co přesně způsobilo, že Fn + F8 přestalo fungovat. Oprava (opět díky skvělé ThinkWiki) spočívala v následujícím příkazu:

sudo su
echo enable,0xffff >/proc/acpi/ibm/hotkey

Aby se tato změna provedla při každém spuštění počítače, přidejte stejný příkaz někam ke konci /etc/rc.local (před "exit 0"):

echo enable,0xffff >/proc/acpi/ibm/hotkey

Když jsem si článek přečetl pořádně tak jsem zjistil, že tpb je vcelku zbytečný program, vše, co řeším pomocí tpb, šlo snadno vyřešit editací souborů v /proc/acpi/ibm. Jediná výhoda tpb je tedy OSD (výpis hlášek na display).
Když už máte otevřený xorg.conf, hned doporučuji do sekce Configured Mouse dopsat následující řádky, které zprovozní skrolování Trackpointem při současném držení stisknutého prostředního tlačítka (horizontálně i vertikálně):

	Option		"EmulateWheel"	"true"
	Option		"EmulateWheelButton"	"2"
        Option          "EmulateWheelTimeOut" "200"
	Option		"YAxisMapping"		"4 5"
	Option		"XAxisMapping"		"6 7"

Po restartu již vše běží jak má. Je super, že stále funguje kliknutí prostředním tlačítkem na připojené USB myši pro otevření nového panelu např. ve Firefoxu, zároveň lze skrolovat kolečkem myši a při stisknutém a drženém kolečku na myši lze skrolovat horizontálně (a samozřejmě i vertikálně).

TrackPoint

Fajn funkce je povolit poklepání na TrackPoint jako kliknutí levým tlačítkem myši (detaily na ThinkWiki):
Na konec souboru /etc/rc.local, před řádek obsahující exit 0 vložte následující řádek:

echo -n 1 > /sys/devices/platform/i8042/serio1/serio2/press_to_select

WiFi LED

LED zobrazující stav Wi-Fi zařízení se současným ovladačem nefunguje. Ubuntu slibuje brzké zprovoznění, takže buď počkejte anebo nainstalujte (nepodporovaný) backportovaný ovladač pomocí:

sudo apt-get install linux-backports-modules-hardy

Advanced Dock

Doplnění: Nedávno jsem začal používat Advanced Dock, který funguje rovnou bez jakýchkoliv problémů. Nainstalujte si nvidia-settings, který Vám umožní zapínat a vypínat druhý monitor připojený k docku. Program umí změnit rozlišení okamžitě, bez restartu X, nové nastavení můžete nebo nemusíte nechat uložit do xorg.conf (čím lze ovlivnit, v jaké konfiguraci monitorů nastartuje X server při příštím zpuštění). V případě, že budete používat nastavení 2 nezávislých X serverů (1 pro každý monitor) a nepoužijete Xineramu, lze použít tlačítko Fn + F7 na cyklické přepínání monitorů pomocí xrandr (nějak takhle) volání biosu. Bohužel já potřebuji TwinView (nebo 2 X servery + Xineram - ovšem výsledek je stejný). V takovém nastavení xrandr nelze použít pro změnu rozlišení (buď nefunguje, nebo to přepne do nějakého podivného stavu). Je potřeba počkat, až bude nesvobodný ovladač od nvidie podporovat RandR extensions. Takže zapínání a vypínání druhého monitoru je možné pouze z GUI nástroje nvidia-settings (naštěstí funguje dobře i bez restartu X). Jestliže okna po zapnutí druhého monitoru v režimu TwinView nerespektují hranice obrazovek, stačí restartovat X. Anebo se vykašlete na nesvobodný ovladač a máte po problémech (a také po 3D akceleraci). Ve dvoumonitorové konfiguraci pomocí TwinView mi samozřejmě Zoom (Fn + mezerník) nefunguje, protože xrandr neumí změnit rozlišení, kombinace funguje ok když nejsem v docku…

Aktualizace 28.6.2008

Po nějaké době jsem se nabažil efektů prostředí Compiz a rozhodl se vrátit ke svobodnému ovladači (použijte Systém -> Správa -> Ovladače hardware). Ten má tu výhodu, že automaticky přepíná rozlišení po vložení počítače do doku (resp. že následuje volání biosu). Fn-F7 funguje perfektně, po aktualizaci biosu na ver. 2.19-1.08 počítač hibernuje i suspenduje jedna báseň. Před aktualizací biosu jsem upravil nastavení v souboru /usr/share/hal/fdi/information/10freedesktop/20-video-quirk-pm-lenovo.fdi na původní (nevím, jestli to bylo třeba, a už se mi to nechce zkoušet).

Ve výše popisovaném souboru /usr/local/bin/callback.sh jsem změnil rozlišení pro příkaz zoom, svobodný ovladač podporuje mnohem více rozlišení, mě se nejvíc líbilo 1280x800:

(zoom)
                case $2 in
                        (on)
                                xrandr -s 1280x800
                                echo "CALLBACK: $0 $1 $2 (should be zoom on)"
                          
                                ;;
                        (off)
                                xrandr -s 1920x1200
                                echo "CALLBACK: $0 $1 $2 (should be zoom off)"
                                
                                ;;

Zde je můj finální xorg.conf, včetně následujícího řádku v sekci Default Screen:

Virtual         3600 1200

To jediné je třeba doplnit ručně do xorg.conf, zbytek (rozlišení a polohu monitorů) nakonfigurujete pomocí gnome-display-properties = Systém -> Volby -> Rozlišení obrazovky. Monitor na NTB má rozlišení 1920x1200, druhý monitor má rozlišení 1680x1050 a je vlevo od NTB, proto 1680+1920=3600, 1200 je větší z čísel 1050 a 1200…

Aktualizace 10.12.2009

Vzhledem k tomu, že už je docela dlouho dostupný nový BIOS 2.26-1.08, zkusil jsem ho nahrát. Výsledkem je, že notebook má s nesvobodným ovladačem stále stejné problémy jako jsem popisoval výše (žádná změna).

Poznámka

Oproti konkurenci je to velice robustní přístroj, ovšem oproti legendární T43 už je zpracování znatelně horší.

Display bych klidně bral 1680x1050, 1920x1200 je na 15,4" monitor docela brutální...

Dokument vytvořil: iv0, 8.6.2008 21:23 | Poslední úprava: iv0, 27.2.2011 15:09 | Další přispěvatelé: Pev, Fluttershy, yay! | Historie změn | Zobrazeno: 3231×

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.