Revolut nabídne neomezený mobilní tarif za 12,50 eur (312 Kč). Aktuálně startuje ve Velké Británii a Německu.
Společnost Amazon miliardáře Jeffa Bezose vypustila na oběžnou dráhu první várku družic svého projektu Kuiper, který má z vesmíru poskytovat vysokorychlostní internetové připojení po celém světě a snažit se konkurovat nyní dominantnímu Starlinku nejbohatšího muže planety Elona Muska.
Poslední aktualizací začal model GPT-4o uživatelům příliš podlézat. OpenAI jej tak vrátila k předchozí verzi.
Google Chrome 136 byl prohlášen za stabilní. Nejnovější stabilní verze 136.0.7103.59 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 8 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.
Homebrew (Wikipedie), správce balíčků pro macOS a od verze 2.0.0 také pro Linux, byl vydán ve verzi 4.5.0. Na stránce Homebrew Formulae lze procházet seznamem balíčků. K dispozici jsou také různé statistiky.
Byl vydán Mozilla Firefox 138.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 138 je již k dispozici také na Flathubu a Snapcraftu.
Šestnáctý ročník ne-konference jOpenSpace se koná 3. – 5. října 2025 v Hotelu Antoň v Telči. Pro účast je potřeba vyplnit registrační formulář. Ne-konference neznamená, že se organizátorům nechce připravovat program, ale naopak dává prostor všem pozvaným, aby si program sami složili z toho nejzajímavějšího, čím se v poslední době zabývají nebo co je oslovilo. Obsah, který vytvářejí všichni účastníci, se skládá z desetiminutových
… více »Richard Stallman přednáší ve středu 7. května od 16:30 na Technické univerzitě v Liberci o vlivu technologií na svobodu. Přednáška je určená jak odborné tak laické veřejnosti.
Jean-Baptiste Mardelle se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 25.04.0 editoru videa Kdenlive (Wikipedie). Ke stažení také na Flathubu.
Někdy i užitečné výplody z mozku závislého linuxáka.
Článek se zabývá instalací openSUSE 10.3 64-bit a nastavením operačního systému tak, aby fungovala všechna rozšíření typická pro řadu Lenovo ThinkPad. Též je kladen důraz na nastavení správy spotřeby energie. Notebook, na nejž je systém instalován, byl popsán v minulém dílu série. Vzhledem k podobnosti celé jednašedesátkové řady ThinkPadů se dá většina postupů uplatnit i na jiných modelech (T61, R61, příp. X300).
Než jsem se odhodlal k nákupu tohoto stroje, musel jsem zvážit, stejně jako u jakéhokoli jiného nákupu HW, zda bude fungovat v Linuxu. Protože je notebook postaven na intelích komponentách a navíc jej stvořilo Lenovo, nebyly obavy z možné nefunkčnosti velké a rozhodl jsem se ty nedokonalosti, o kterých jsem věděl (např. regulace jasu) ignorovat s tím, že se to později nějak vyřeší.
Jakmile se mi notebook dostal do rukou, vyměnil jsem originální disk Hitachi 120 GB za nový, Samsung HM250JI. Jednak jsem si tím ušetřil starosti s rozdělováním disku tak, abych zachoval Lenovo Predesktop partišnu (a zároveň odstranil původní Windows Vista) a jednak jsem ten původní mohl odložit do krabice, kde si počká, než budu notebook případě prodávát.
Výhodou tohoto konkrétního balení, která se dle toho, co jsem měl možnost zjistit, liší kus od kusu, je přítomnost DVD pro obnovu celého systému včetně tzv. predesktop oddílu Lenovo. To pochopitelně značně zjednodušuje situaci těm, kteří si chtějí v notebooku ponechat originální disk. Třetí možností je potom si při bootu spustit Lenovo Resuce and Recovery, kde je (je-li počítač zadokován) možné si vysmažit vlastní obnovovací DVD. Zbývá podotknout, že jak DVD, která vám přišla v balení, tak ta, která si vytvoříte sami, lze použít jen pro instalaci na váš notebook a ne na jiný počítač (půjde to ale nejspíš na všechny modely jedné řady). Takže plány, že vezmete to Resuce DVD a Windows Vista si nainstalujete do QEMU nebo VMware, nepůjdou uskutečnit. Tedy aspoň ne, pokud si někde neseženete normální instalační DVD.
Pokud jste originální disky s notebookem nedostali a již se vám podařilo disk naformátovat, je možné si je dodatečně objednat. Je dobré vědět, že to nebude nejspíš zadarmo a že může být vyžadováno, aby váš stroj byl v záruce.
Kdo by zde čekal popis toho, jak vezmu DVD, dám jej do mechaniky a pak budu krok po kroku popisovat instalaci distribuce, je na omylu. Podobný odstavec by asi postrádal smysl když zvážím jak jednoduchá (next-next-next-done) instalace v dnešní době je a s jakou lehkostí v případě tohoto notebooku vše šlo.
Jedinou poznámku snad přidám: je velmi vhodné už při instalaci zaškrtnout balíčky pro notebook, stejně je budeme později potřebovat abychom mohli rozjet vše pro maximální úsporu energie a nejvyšší pohodlí uživatele.
Tento návod je značne orientovaný na SUSE a je pravděpodobné, že některé nástroje, které budou použity, ve vaší distribuci nenajdete. Proto buď použijte SUSE nebo Google, který vám napoví, jak se věci mají v distribuci, kterou používáte.
Konfigurace instalovaného notebooku (opis z předchozího dílu) je následující:
# lspci 00:00.0 Host bridge: Intel Corporation Mobile PM965/GM965/GL960 Memory Controller Hub (rev 0c) 00:02.0 VGA compatible controller: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (rev 0c) 00:02.1 Display controller: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (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 Contoller #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: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.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) 02:00.0 Memory controller: Intel Corporation Turbo Memory Controller (rev 01) 03:00.0 Network controller: Intel Corporation PRO/Wireless 4965 AG or AGN Network Connection (rev 61) 05:00.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev ba) 05:00.1 FireWire (IEEE 1394): Ricoh Co Ltd R5C832 IEEE 1394 Controller (rev 04) # cat /proc/cpuinfo processor : 0 [u druhého jádra je 1] vendor_id : GenuineIntel cpu family : 6 model : 15 model name : Intel(R) Core(TM)2 Duo CPU T7300 @ 2.00GHz stepping : 10 cpu MHz : 2001.000 cache size : 4096 KB physical id : 0 siblings : 2 core id : 0 cpu cores : 2 fpu : yes fpu_exception : yes cpuid level : 10 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx lm constant_tsc pni monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr lahf_lm bogomips : 3994.33 clflush size : 64 cache_alignment : 64 address sizes : 36 bits physical, 48 bits virtual power management:
Uvedený stav se vztahuje k distribučnímu jádru 2.6.22.17-0.1. Označení (+) znamená, že funkce/hardware fungoval už po instalaci, (-) znamená, že bylo nutné provést nějaké (většinou jednoduché) nastavení.
Správně jste usoudili, že se mi podařilo na tomto notebooku rozchodit naprosto vše mimo netestovaného hardwaru (kdo dnes potřebuje modem?) a akcelerometru pro parkování disku. Aktuální SUSE jádro totiž neobsahuje potřebné patche a kompilovat jádro jen kvůli této featuře se mi nechtělo.
První věcí, do které jsem se po instalaci pustil, bylo nastavení X serveru. Jelikož notebook disponuje integrovanou grafikou Intel X3100 (GM965), můžeme použít poměrně slušný opensource ovladač intel
. Vzhledem k rozměrům displaye potažmo celého notebooku, je celkem pravděpodobné, že si uživatel k notebooku připojí externí obrazovku. Zde je opět nepříjemná nepřítomnost jiného než VGA portu jak na těle NB, tak na dokovací stanici. Doufejme, že bude tato záležitost v další řadě vyřešena. (Pozn.: V diskusi s designery Lenova se někdo ptal, proč nemají nové notebooky na těle DVI. Odpovědí bylo, že jsou jednak moc velké a jednak to, že DisplayPort už není zas taková hudba budoucnosti a tak budou zatím raději montovat VGA přičemž, jakmile to bude možné, přejdou na DisplayPort.)
Já jsem se rozhodl připojit k tomuto notebooku Samsung SyncMaster 245B, což je 24" TN LCD s rozlišením 1920x1200 a výhodnou cenou (za cenu všech nevýhod technologie TN). V tomto případě, protože je můj notebook položen dost daleko od LCD, jsem se rozhodl nikoli pro Xineramu, tj. rozšíření plochy, nýbrž pro prosté klonování obrazu.
Než se mi podařilo přesvědčit Samsung, aby jel v 1920x1200 a zároveň byl nějaký obraz i na vnitřním panelu, stálo mě to dost nervů a zkoušení různých variant. Níže uvedená je plně funkční a lze ji snadno přizpůsobit vaší konfiguraci. Když nemáte v úmyslu používát externí monitor, můžete tento odstavec v klidu (až na posledních pár slov k BIOSu a jasu) ignorovat a použít variantu, kterou vám vygeneroval instalátor.
/etc/X11/xorg.conf (část nastavení zobrazení) Section "Monitor" DisplaySize 518 323 HorizSync 30-81 Identifier "ExternalLCD" ModelName "SyncMaster 245B" Option "DPMS" VendorName "Samsung" VertRefresh 60-75 Modeline "1920x1200" 154.00 1920 1968 2000 2080 1200 1203 1209 1235 Option "DPI" "96x96" EndSection Section "Monitor" DisplaySize 245 184 HorizSync 30-81 Identifier "InternalLCD" ModelName "ThinkPad LCD 1024x768" Option "DPMS" VendorName "Lenovo" VertRefresh 60-75 Modeline "1024x768" 69.71 1024 1080 1184 1344 768 769 772 798 Modeline "800x600" 48.91 800 840 920 1040 600 601 604 627 Modeline "640x480" 24.70 640 656 720 800 480 481 484 498 EndSection Section "Screen" DefaultDepth 24 SubSection "Display" ViewPort 0 0 Depth 16 Modes "1024x768" "800x600" "640x480" EndSubSection SubSection "Display" ViewPort 0 0 Depth 24 Modes "1024x768" "800x600" "640x480" EndSubSection Device "Device0" Identifier "InternalScreen" Monitor "InternalLCD" EndSection Section "Screen" DefaultDepth 24 SubSection "Display" ViewPort 0 0 Depth 16 Modes "1920x1200" "1024x768" "800x600" "640x480" EndSubSection SubSection "Display" ViewPort 0 0 Depth 24 Modes "1920x1200" "1024x768" "800x600" "640x480" EndSubSection Device "Device1" Identifier "ExternalScreen" Monitor "ExternalLCD" EndSection
Pro tyto dvě obrazovky je následně potřeba vytvořit i dvě grafické karty. Sice to vypadá lehce nelogicky, funguje to ale skvěle
Section "Device" BoardName "X3100" Driver "intel" Identifier "Device0" Screen 0 Option "MonitorLayout" "CRT,LFP" Option "MetaModes" "1920x1200,1024x768" VendorName "Intel" Option "FramebufferCompression" "on" #Option "AccelMethod" "exa" EndSection Section "Device" BoardName "X3100" Driver "intel" Identifier "Device1" Screen 1 Option "MonitorLayout" "CRT,LFP" VendorName "Intel" EndSection
Ještě je třeba v ServerLayoutu zapnout klonování. Potom už nám zobrazení bude fungovat dobře jak na externím, tak na interním panelu. Možná budete ještě muset zapnout ve vašem správci oken napevno nastavení 96x96 DPI jelikož třeba v mém případě jsem nebyl systém schopný nastavit tak, aby ignoroval data, které posílá monitor a tak jsem měl všechna písma obrovská.
Tato konfigurace má ale tu vlastnost, že snižuje výkon vykreslování v Mplayeru, což má za následek že třeba Full HD 1080p (Elephant's Dream) video se mi dost seká ač na jiném počítači s o 1/2 slabší konfigurací jede téměř plynule (je to feature nebo bug?). Každopádně je do ~/.mplayer/config
třeba přidat řádek xineramascreen=0
aby nám video fungovalo i na externím monitoru. Divné na tom je, že když stejné video pustím ve VLC, tak jede úplne krásně.
Celý xorg.conf
si můžete stáhnout.
Mnozí z vás možná znají historky o nemožnosti regulace jasu, resp. špatné regulaci na novějších strojích od Lenova. Původcem těchto problému je změněný rozsah regulace, kdy bylo přidáno několik stupnů pro jemnější regulaci, což následně zapříčinilo příliš tmavý obraz. Tento problém byl ale v nových verzí thinkpad_acpi
vyřešen a i aktuální openSUSE jádro tuto opravu obsahuje. Na ThinkWiki se můžete dočíst o spoustě lidí, která bojuje s nefunkčním displejem po probuzení ze Save to RAM. Tento problém je zapříčiněn většinou chybným nastavením s2ram
a dočtete se o něm v další kapitole. Jen doplním, že je opravdu snadné jen vyřešit :)
Některým uživatelům se stává, že při regulaci jasu začne displej blikat. Tento problém lze údajně řešit zavoláním xrandr --output LVDS --set BACKLIGHT_CONTROL native
. Tímto příkazem se změní způsob, jímž je nastavován jas LCD. Bohužel, můj X server, jak se zdá, si s tímto povelem nerozumí a výstupem je X Error of failed request: BadName (named color or font does not exist)
. Blikání naštěstí není nijak hrozné a myslím si, že je většina uživatelů ani nezaregistruje. Projevuje se navíc jen v X, v konzoli je obraz stabilní.
Starší BIOSy (pre-1.11) obsahovaly chybu, která zřejmě postihovala nejen deklarované Windows XP ale i Linux. Notebook totiž potom při probuzení z uspaného stavu měl nastavené podsvícení na maximum. Po instalaci nového BIOSu (nejnovější je 2.07 z 29. 1. 2008), tento problém zmizel. I tak se ale občas stane, že po resume je obrazovka nastavena do jiného jasu, než by měla. Stačí jen přepnout profil v KPowersave na nějaký jiný a zase zpět, čímž se jas přenastaví. Novější BIOSy taktéž řeší chybu USB řadiče, který vyvolával neočekávaná přerušení, která v dmesg
vypadala třeba takto:
irq 21: nobody cared (try booting with the "irqpoll" option) [<c014e3b6>] __report_bad_irq+0x36/0x75 [<c014e5d0>] note_interrupt+0x1db/0x217 [<f885fa1e>] usb_hcd_irq+0x21/0x4e [usbcore] [<c014dadd>] handle_IRQ_event+0x23/0x51 [<c014ed3d>] handle_fasteoi_irq+0x86/0xa6 [<c0106552>] do_IRQ+0x55/0x6f [<c0127fa0>] irq_exit+0x53/0x6b [<c0115d1b>] smp_apic_timer_interrupt+0x71/0x7d [<c010487b>] common_interrupt+0x23/0x28 ======================= handlers: [<f885f9fd>] (usb_hcd_irq+0x0/0x4e [usbcore]) Disabling IRQ #21
Po instalaci jsem čekal, že bude uspávání fungovat samo od sebe, chtělo ale ještě trošku postrčit. Fungovalo pouze uspávání na disk, které ale nepoužívám tak často (jen když mi dochází baterie a chci přepnout na druhou). S2ram, který se o něj prostřednictvím klikátka KPowersave stará, totiž pracuje na základě whitelistu. Pokud v něm váš stroj není, tak se uspat odmítne aby nezpůsobil poškození systému (což je asi správný přístup).
Jak jsem už psal, save to disk funguje naprosto korektně out-of-box. Zjistil jsem ale jednu zajímavost. V návodech týkajících se uspávání na disk se vždy píše, že by velikost swapu měla být nejméně tak velká, jak velký je součet velikosti RAM a grafické paměti. Ale můj počítač má 4 giga RAM! To mám zbytečně vyhradit tolik místa na swap když stejně zůstane po 98% doby běhu počítače naprosto prázdný? Tak jsem to risknul a swap nastavil na 1024 MB i přesto, že mám RAM čtyřnásobek. A víte co? On ten suspend funguje i tak :) Jen je třeba si hlídat množství obsazené paměti přes uspáním, jinak systém při suspendu tak v polovině případů vytuhne. Pokud je obsazenost (bez diskové cache) pod 1 GB, suspend proběhne bez problémů i s malým swapem.
Uspávání do RAM po instalaci nefunguje, KPowersave nahlásí chybu. Systém totiž není ve whitelistu, který si můžete prohlédnout na stránkách projektu S2ram. Tedy nebyl dokud jsem se nespojil se správcem tohoto seznamu a nenechal jej tam přidat (model 7675). Ve whitelistu jsou teď modely 7673, 7674 a 7675 a pokud máte dost nový S2ram, tak vám stroj půjde uspat už out of box. My se ale budeme zabývat možností, kdy váš model ve whitelistu není a KPowersave potažmo S2ram si stěžuje a váš stroj neuspí.
Podle toho, co se kde píše, je doporučeno spouštět S2ram s následujícím volbami (jako root):
# s2ram -f -a 3
-f
znamená force (ignorovat whitelist) a -a 3
říká, že se má před uspáním nastavit parametr acpi_sleep s3_bios a s3_mode. Tyto volby by měly ± fungovat na všech jednašedesátkových ThinkPadech. Pokud příkaz spustíte, notebook se uspí a pak se vám jej zpět do X podaří probudit bez jakýchkoli problému, tak můžeme přikročit k uložení do konfigurace. Když se setkáte s nějakými problémy, doporučuji spustit s2ram --help
a vyzkoušet některé další volby. Tyto si zapamatujte a celá sestava se uloží do souboru /etc/pm/config.d/sleep
. Tento soubor bude tedy potom vypadat například takto:
# cat /etc/pm/config.d/sleep S2RAM_OPTS="-f -a 3"Další možností konfigurace je volba
SUSPEND_MODULES="<moduly>"
, kterou řekneme S2ram, jaké moduly má před uspáním vyhodit. Já mám tuto volbu prázdnou a zdá se, že to tak stačí :)
Po této konfiguraci by vám již uspávání do RAM mělo fungovat i z klikátek jako je KPowersave. Při použití doku se hodí vypnout automatické uspání při zavření víka (to provedete právě v tom KPowersave). Pokud vás zajímá spotřeba v uspaném stavu, tak vězte, že notebook spotřebovává cca 160 mW. Z toho plyne, že by měl ve stavu Save to RAM vydržet asi 8 a půl dne při použití tříčlánkové baterie.
K notebookům ThinkPad již neodmyslitelně patří červený klitoris nazývaný TrackPoint. Pod Linuxem je jeho podpora stejně kvalitní jako pod majoritním systémem. TrackPoint se jednak nastavuje v /etc/X11/xorg.conf
, jednak se některé funkce nastavují posíláním stringů do /sys/
. Téměr výchozí konfigurace (kterou jsem použil) je k vidění níže v podobě výpisku z xorg.conf
: : Section "InputDevice" Driver "mouse" Identifier "Mouse[1]" Option "Buttons" "11" Option "Device" "/dev/input/mice" Option "Name" "MS Wireless InteliMouse Explorer 2.0 / ThinkPad Trackpoint" Option "Protocol" "explorerps/2" Option "Vendor" "Microsoft / Lenovo" Option "ZAxisMapping" "4 5" Option "EmulateWheel" "on" Option "EmulateWheelTimeOut" "200" Option "EmulateWheelButton" "2" Option "YAxisMapping" "4 5" Option "XAxisMapping" "6 7" Option "ZAxisMapping" "4 5" EndSection : : Section "ServerLayout" InputDevice "Mouse[1]" "CorePointer" EndSection : :Jak sami vidíte, je to sdružená sekce i pro myš zapojenou do USB. Pomocí volby
EmulateWheel
umí ovladač emulovat kolečko když u posunu kurzoru stisknete prostřední tlačítko (horizontálně i vertikálně). Skvělá funkce! Mimo nastavení scrollování má TrackPoint několik dalších voleb (viz dále uvedený adresář v /sys
), já osobně používám jen press-to-select, kdy klepnutí na trackpoint vyvolá kliknutí. Nefunguje to sice na 100% spolehlivě, je to ale velmi pohodlný způsob práce. Toto se nastaví příkazem echo -n 1 > /sys/devices/platform/i8042/serio1/press_to_select
. Příkaz je vhodné vložit do nějakého startovacího skriptu aby se provedl vždy po spuštění systému.
Ještě dodám, že mám na USB připojenou externí klávesnici USB Travel Keyboard with UltraNav, která umí přes Fn vyvolávat APCI eventy a tak nemusím zadokovaný notebook vůbec otevírat když chci například vypnout Bluetooth. Stejně tak mohu ovládát hlasitost systému. Touchpad jsem na této klávesnici nenastavoval, jeho konfigurace je ale stejně snadná jako v případě TrackPointu.
Počítač obsahuje intelí integrovanou zvukovou kartu, Intel High Definition Audio, konkrétně čip Analog Devices 82801H. K tomuto HW přísluší ovladač AD1984 zahrnutý v ALSA 1.0.15 (Linux 2.6.23). OpenSUSE 10.3 sice obsahuje ALSA 1.0.14, nejspíše ale s potřebnými patchi a tak zvuk funguje již out-of-box.
Abyste něco slyšeli, tak musíte mít jednak zapnutý modem v BIOSu a jednak je nutné zvuk povolit hardwarovými tlačítky nad klávesnicí.
Nahrávání z integrovaného mikrofonu funguje, jen je třeba v utilitě alsamixer
či jí podobné nastavit hlasitost vstupu Internal Mic.
Na boku notebooku najdeme štěrbinu pro zasunutí SD/SDHC/SDIO karet s indikační LED čtení. Jde o čtečku Ricoh Co Ltd R5C822 a je připojena ke sběrnici PCI. Čtečka je podporována ovladačem sdhci
od jádra 2.6.17-rc1, v openSUSE 10.3 tedy funguje out-of-box. Čtečka dosahuje rychlosti čtení kolem 3.5 MiB/s, nijak ohromující výkon.
Nad čtečkou SD karet se nalézá CardBus slot. Lenovo sice deklaruje, že by pomoci nějakého adapteru měl podporovat i Express Card karty, tomuto tvrzení ale příliš nevěřím (nebo to bude jen nějaká emulace). Tak či tak, standardní 32-bit CardBus i starší 16-bit PCMCIA karty v něm fungují bezproblémově.
V notebooku nalezneme vcelku běžný gigabitový adapter Intel 82566MM, známější jako Intel PRO/1000 Gigabit Ethernet. Ovladač e1000
je zahrnut v jádře, síťové připojení funguje out-of-box.
Jestli čekáte zádrhel, dočkali jste se. Bezdrátová karta Intel Wireless WiFi Link 4965AGN sice funguje s ovladačem iwlwifi
hned po instalaci, problém je ale v aktuálnosti ovladačů. V čerstvě nainstalovaném systému bez aktualizací nenajde karta polovinu sítí a vůbec nevidí ty se skrytým ESSID. Oba tyto problémy jsou opraveny ve verzi 1.1.10 (což je momentálně nejnovější verze dostupná přes aktualizační repozitář). Novější verze (minimálně do 1.2.25) se potýkají s potížemi s připojením k sítím zabezpečeným pomocí WPA Enterprise autentizace (EAP-TLS, EAP-TTLS), což se týka například evropské univerzitní sítě Eduroam. Naštěstí se zdá, že nestabilní verze z GIT repozitáře již tímto nedostatkem netrpí a tak si stačí jen počkat na vydání stabilního releasu.
Nefungující indikátor zapnutého WiFi je vyřešen v jádrech od verze 2.6.24
Pokud používáte jen WEP a WPA, tak se zřejmě s žádnými problémy kromě ne zcela dokonalé stability karty nesetkáte. Někteří uživatelé raději volí cestu nahrazení této miniPCI Express karty jinou, třeba od Atherosu. Tu Lenovo taktéž nabízí (a proto nebude problém s neautorizovaným hardwarem), koupit ji lze pod názvem ThinkPad 11a/b/g Wireless LAN Mini Express Adapter.
Kartu, která se v notebooku nachází, jsem zkoušel rozjet i pomocí NDISwrapperu. Mám 64-bit jádro, budu tedy muset použít 64-bit ovladače z Windows. Bohužel, když je do NDISwrapperu nacpu, tak je jediným výsledkem SEGFAULT
a žádný bezdrát se nekoná. V 32 bitech by tato cesta mohla být úspěšnější.
Lenovo použilo bluetoothový adaptér BCM2045B od Broadcomu a připojilo jej do USB. Po instalaci je hardware správně rozpoznán, není třeba žádné konfigurace a s pomocí BlueZ (potažmo desktop aplikací jako je KBluetooth a bluetooth:/
v Konqueroru) je možno s ním pracovat.
Jak Bluetooth zapínat a vypínat klávesovou zkratkou, se dozvíte v kapitole o ACPI, v odstavci Příklad: Zpracování APCI události -- zapnutí/vypnutí Bluetooth.
Čtečka otisků prstů (od SGS Thomson Microelectronics) je jedna z věcí, jejíž funkčnost hned po instalaci mě překvapila. Čekal jsem minimálně nějakou editaci konfigurace PAM ale v SUSE se do toho opřeli a veškeré nastavení se dá naklikat. Při instalaci pouze jednotlivým uživatelským účtům přiřadíte příslušný otisk a potom se už tímto otiskem můžete přihlásit.
Problém fingerprintu není ani na straně SUSE ani na straně ovladače. Problém je v KDE, v aplikacích KDM a KScreensaver (resp. kdesktop_lock
). Stejný problém mají i veškeré dialogy pro zadání hesla (kdesu
). KDE prostě se otisky prstů nepočítá. Například KScreensaver nastavený na zamykání obrazovky se při použití tohoto modulu zablokuje a je nutné jej odstřelit z konzole (to naštěstí není případ jiných dialogů).
Zdá se, že alternativní binární ovladač bioapi
by problém mohl vyřešit, bohužel je jeho použítí dost komplikované. Já osobně jsem problém prozatím obešel použitím GDM místo KDM (které přihlášení otiskem prstu podporuje) a zadáváním hesel v KDE ručně. Není to sice tak efektní a rychlé jako při použití čtečky, rozhodně ale méně náročné na instalaci a nastavení.
Dodám je, že přihlášení v konzoli funguje po přiřazení otisků prstů spolehlivě. Menší problém bych viděl v tom, že dle domovské stránky opensource ovladače ThinkFinger, který je v SUSE použit, vyšla nejnovější stabilní verze téměr před rokem a v SVN se toho taky moc neděje. Budoucnost je tedy dost nejasná.
V Linuxu, zejména v novějších verzích jádra, máme to štěstí, že jsou veškeré speciální klávesy a akce (zavření víka displaye, odebrání počítače z doku a podobně) výborně podporovány díky modulu thinkpad_acpi
(dříve ibm_acpi
). Tento modul se stará o to, že při každé takovéto akci je vygenerována APCI událost, kterou můžeme za pomocí daemona acpid
zachytit a nějakým způsobem zpracovat. V případě openSUSE 10.3 s aktuálním distribučním jádrem je toho třeba nastavit opravdu jen minimum abychom dosáhli stavu, na který jsou například uživatelé systému Windows zvyklí. V dalším textu popíšu na příkladu, jak se události zpracovávají a jak se jimi vyvolávají v systému akce. Tyto znalosti dále zužitkujeme v kapitole Dokovací stanice.
Zcela záměrně se nezmiňuji o událostech jako je zavření víka displaye či vysunutí UltraBay jednotky, většina uživatelů zřejmě jejich nastavení ponechá ve výchozím nastavení (případně maličko doladí v KPowersave). Pokud by ale bylo žádoucí zpracovávat i tyto eventy, jejich ACPI kódy jsou k dispozici v README modulu thinkpad_acpi
.
Jak tedy zpracování oněch událostí funguje? Zcela jednoduše. Pokud nemáme v úmyslu nechat zpracování na KPowersave, vytvoříme si soubor libovolného snadno zapamatovatelného názvu a umístíme jej do adresáře /etc/acpi/events/<název události>
. Tento soubor bude obsahovat dva řádky; první, kde popíšeme regulárním výrazem (není nutný) událost a druhý, kde řekneme daemonu acpid
, jaký program či skript má po zachycení události vykonat. Celé si to ukážeme na příkladu zapínání a vypínaní Bluetoothu klávesovou zkratkou Fn + F5.
Bluetooth se stejně jako kterákoli jiná služba či daemon ovládá init skriptem v /etc/init.d/<název služby>
. Další věcí, kterou potřebujeme vědět, je ACPI kód generovaný příslušnou klávesou. V případě Fn + F5 je to ibm/hotkey HKEY 00000080 00001005
. Jelikož nechceme Bluetooth jen jednorázově zapínat, budeme potřebovat jakýsi mezistupeň v podobě následujícího skriptu:
# cat /etc/acpi/actions/bluetooth #!/bin/bash # Bluetooth enable/disable script for X61 /etc/init.d/bluetooth status | grep -q running if [ "$?" -ne 0 ]; then /etc/init.d/bluetooth start > /dev/null echo enabled > /proc/acpi/ibm/bluetooth echo "Bluetooth enabled" else /etc/init.d/bluetooth stop > /dev/null echo disabled > /proc/acpi/ibm/bluetooth echo "Bluetooth disabled" fiTento po zavolání zjistí, zda Bluetooth běží či ne a přepne jej do opačného stavu. Zároveň zapne nebo vypne indikační LED na displayi.
Na výše uvedený skript se budeme odvolávat v ACPI event handleru níže:
# cat /etc/acpi/events/bluetooth event=ibm/hotkey HKEY 00000080 00001005 action=/etc/acpi/actions/bluetoothZachycením kódu příslušného k Fn + F5 je vyvolána akce
/etc/acpi/actions/bluetooth
, což je náš skript pro ovládání Bluetooth.
Stejně jako jsme si vytvořili ovládání Bluetooth, je možné si vytvořit ovládání jakéhokoli programu, který máme v systému. Populární je například připojit ke klávese ThinkVantage YaST či obdobné ústřední klikátko vaší distribuce. A kterým klávesám můžeme přiřadit nějakou akci? Čtěte dále.
Tyto klávesy generují ACPI eventy (nebo stisky kláves v X), které jsou již ve výchozím stavu odchytávány aplikací KPowersave a není třeba je nijak dodefinovávat, akce se sama po stisknutí klávesy provede. V případě kláves označených jako HW systém pouze registruje událost, její provedení je ale na hardwaru. Proto tyto klávesy fungují vždy.
ibm/hotkey HKEY 00000080 00001002
)ibm/hotkey HKEY 00000080 00001004
)ibm/hotkey HKEY 00000080 0000100c
)ibm/hotkey HKEY 00000080 00001012
, HW)XF86AudioMute
, HW)Tyto klávesy generují nějaký druh zprávy o svém stisknutí, nejsou ovšem nijak propojeny s aplikacemi, jím přiřazené akce se tudíž neprovedou. Dají se ovšem najít i vyjímky v podobě například některých webových prohlížečů, které mají už XF86Back/Forward spojeno s akcemi Zpět a Vpřed. Další klávesy, které negenerují ACPI události nýbrž stisky kláves, je možné spojit s programy v definici klávesových zkratek.
ibm/hotkey HKEY 00000080 00001008
a ibm/hotkey HKEY 00000080 00001009
)XF86AudioStop
)XF86AudioPlay
)XF86AudioPrev
)XF86AudioNext
)XF86Back
)XF86Forward
)ibm/hotkey HKEY 00000080 00001010
)ibm/hotkey HKEY 00000080 00001011
)ibm/hotkey HKEY 00000080 00001018
)ibm/hotkey HKEY 00000080 00001001
)ibm/hotkey HKEY 00000080 00001003
)ibm/hotkey HKEY 00000080 00001005
)ibm/hotkey HKEY 00000080 00001006
)ibm/hotkey HKEY 00000080 00001007
)ibm/hotkey HKEY 00000080 00001008
)ibm/hotkey HKEY 00000080 00001009
)ibm/hotkey HKEY 00000080 0000100a
)ibm/hotkey HKEY 00000080 0000100b
)Podopora regulace jasu out-of-box, jaká je k vidění na starších modelech, se prý připravuje do některé z nadcházejících verzí thinkpad_acpi
ve spolupráci s kódem v X (minimální verze je thinkpad_acpi
0.18 zahrnutá v jádře 2.6.24). Prozatím je třeba použít například xbacklight
, který spojíte postupem uvedeným výše s klávesami Fn + Home a Fn + End.
Nákup dokovací stanice UltraBase X6 k tomuto mazlíkovi je více než vhodný. Jednak je neustálé připojování kabelů po příchodu s notebookem domů otravné a jednak si tím časem vyglajdáte konektory. S dokem (který bohužel v našich končinách není zrovna nejlevnější) je vše velmi pohodlné. Doky ThinkPadů jsou dobře podporované díky sadě skritpů Dockutils (další SUSE-specifická věc), která nám zařídí vykonání akcí s prací s dokem spojených (např. znovupřipojení DVD mechaniky). Pravděpodobně budou fungovat dokovací funkce i notebooků jiných značek, zásadní je ovšem podpora v jádře, zejména v ACPI.
Ve výchozím stavu můžete počítač oddokovat (za použití tlačítka na doku) a zadokovat. To zvládne systém sám od sebe. Bohužel se vám ale třeba nenastaví automaticky rozlišení na externím monitoru. Musíme tudíž Dockutils trošku pomoci, aby nám i takovéto libůstky fungovaly. Opět, pokud vás externí monitor nebo něco automatické připojení DVD jednotky nezajímá, nemusíte toto vůbec řešit, práce s dokem funguje sama od sebe.
Pokud chceme vše automatizovat, musíme začít vytvořením háčků ve skriptech Dockutils. Adresář tohoto balíků se nachází v /usr/lib/dockutils
. Nás bude konkrétně zajímat podadresář hooks/thinkpad/
, do kterého umístíme obslužný skript. Skript je uveden níže. Pokud nepoužíváte externí monitor, stačí z něj odmazat řádky týkající se programu /usr/bin/xrandr
a skript se tak bude starat jen o mechaniku v UltraBay slotu.
# cat /usr/lib/dockutils/hooks/thinkpad/70x61 #!/bin/bash # dock/undock script for Thinkpad X61 export DISPLAY=:0 # xhost +local:root has to be in /etc/X11/xinit/xinitrc.d/<script name> if [ "$1" = "dock" ]; then echo "X61 dock" # non-present dvd drive workaround /bin/rescan-scsi-bus.sh --hosts=1 --channels=0 --ids=0 --luns=0 --forceremove & # set external display resolution & dpi /usr/bin/xrandr --output VGA --auto /usr/bin/xrandr --screen 0 -s 1920x1200 /usr/bin/xrandr --screen 0 --dpi 96x96 elif [ "$1" = "undock" ]; then echo "X61 undock" # turn external display off, internal on and set res /usr/bin/xrandr --screen 0 -s 1024x768 /usr/bin/xrandr --output LVDS --auto /usr/bin/xrandr --output VGA --off /usr/bin/xrandr --screen 0 --dpi 96x96 fi
Jak je ve skriptu uvedeno, pokud chceme řídit rozlišení X serveru, musíme to povolit i rootovi. To učiníme zavoláním xhost +local:root
po spuštění X. Tento příkaz je nanejvýš vhodé umístit do /etc/X11/xinit/xinitrc.d/
, kde bude automaticky spouštěn po startu X. Jen připomínám, že oba dva skripty musí mít právo spouštění (chmod +x <název skriptu>
). Dále skript obsahuje řízení, zda jde o oddokování nebo zadokování. V prvním případě je třeba proskenovat SATA sběrnici (pomocí skriptu, který je už v distribuci) a DVD jednotlu připojit. Následně se provede zapnutí VGA výstupu a nastaví se rozlišení monitoru. V druhém případě nemusím DVD řešit, jednotka se odpojí sama. Jen je třeba vypnout VGA výstup (šetří to energii) a nastavit správné rozlišení vnitřního LCD panelu. Tím máme háček hotový a přesuneme se k vytvoření ACPI event handleru. Užitečné je také vědět, že monitor, který má vyšší rozlišení než vnitřní panel (1024x768) musí být připojen k doku už před spuštěním X. Jinak si totiž nebudete toto vyšší rozlišení pomocí xrandr
nastavit.
Tak, jak to teď máme, by vše sice fungovalo, pro oddokování nebo zadokování bychom ale museli volat # docker undock
nebo # docker dock
, pak by se teprve háček provedl. Protože jsme ale pohodlní, tak si to zjednodušíme a necháme systém, ať docker
spouší za nás. Zužitkujeme znalosti z předchozí kapitoly a vytvoříme si dva soubory:
# cat /etc/acpi/events/dock event=(ibm/dock GDCK 00000000 00000003|ibm/hotkey HKEY 00000080 00001008) action=/usr/sbin/docker docka ještě
# cat /etc/acpi/events/undock event=(ibm/dock GDCK 00000003 00000001|ibm/hotkey HKEY 00000080 00001009) action=/usr/sbin/docker undock
Tyto nám odchytí jak samotné fyzické oddokování, tak zmáčknutí klávesy za dokování zodpovědné (Fn + F8 a Fn + F9) a tuto událost přepošle na Dockutils, kde už se tato událost zpracuje. Tím jsme zakončili nastavení doku. Důležitou informací je to, že systém se sám oddokuje při uspání a při probuzení dojde k jeho opětnému zadokování, což nám umožní jej uspaný přenést jinam aniž by to počítač zmátlo.
Že by segment, který bychom měli závidět uživatelům systému s pomačkaným oknem v logu? Nikoli, situace je mnohem lepší než se zdá. O tom, že powermanagement na tomto stroji funguje na výbornou, se vás pokusím přesvědčit následujícími odstavci.
Se škálováním procesoru nemá systém sebemenší problémy. Buď lze použít nějakého daemona (např. powersaved
, který je použit v SUSE), jenž se vám o nastavení optimální rychlosti procesoru sám postará (jakým způsobem, to si opět naklikáte v KPowersave) nebo lze použít přímo ACPI rozhraní a pomocí filesystému /sys/
si vše řídit ručně (více viz ThinkWiki). Procesor se umí přepínat mezi frekvencemi 2001, 2000, 1600, 1200 a 800 MHz. Snížení na nižší stupeň se pochopitelně značně projeví na spotřebě. Přál bych si, aby existovala ještě volba tak 500 Mhz, na práci s webem to vzhledem k použitému CPU stačí a ušetřili bychom tím nemálo energie. Bohužel se asi Intel rozhodl, že majoritní systém potřebuje pro svoji bezproblémovou funkčnost frekvenci vyšší. S trochou štěstí by ale mohl stačit patch na jádro, který umožní provozovat procesor na napětích, se kterými výrobce nepočítal.
Za pomocí stránky LessWatts.org jsem vyzkoušel několik možností, jak dále snížit spotřebu systému tak, abychom se dostali na úroveň již zmíněného pomačkaného okna.
Níže uvedená nastavení jsem si uložil do /etc/rc.d/boot.local
, což je RC skript, který se spouští úplně na konec, po startu všech předchozích init skriptů.
cat /etc/rc.d/boot.local #! /bin/sh # Linux Powersave # rozhozeni procesu na vic procesoru echo 1 > /sys/devices/system/cpu/sched_mc_power_savings # power management na wifine echo 5 > /sys/bus/pci/drivers/iwl4965/0000\:03\:00.0/power_level # vypnuti disku po peti minutach necinnosti, power management hdparm -B128 -S60 /dev/sda > /dev/null # writebacky na disk az po 5 minutach echo 3000 > /proc/sys/vm/dirty_writeback_centisecs # sdruzovani IO disku echo 5 > /proc/sys/vm/laptop_mode # vypnuti Wake on LAN ethtool -s eth0 wol d
Toto nastavení by mělo snížit spotřebu WiFi, počet zápisů na disk a vypínat disk po 5 minutách nečinnosti. Parametr -B128
pro hdparm
vychází z testů. Při nižším nastavení (např 112) byl registrován značný pokles výkonu, mnohdy až o 20 MiB/s. Tato hodnota se tedy zdá být optimem mezi pomalým a žravým diskem. Accoustic management není použit, disk totiž není vůbec slyšet i bez něj. Mimo nastavení výše uvedeného je taktéž vhodné vypnout WiFi a Bluetooth, když je nepoužíváte. Stejné je to s podsvícením displeje. Osobně jej vždy provozuji na nejnižší únosné úrovni. Vypnutím Wake on LAN ušetříme energii když notebook spí nebo je vypnut.
Zvědaví? Já jsem byl taky. Podařilo se mi spotřebu stáhnout na velmi slušných 14,6 W při jasu na 44%, zapnutém bezdrátu a procesoru v režimu Powersave (trvale 800 Mhz). Dlouhodobá spotřeba by se dle PowerTOPu měla pohybovat na úrovni 13,2 W. Pokud jsem vypnul WiFi i Bluetooth, spotřeba klesla na skvělých 12,4 W (teď už vím, proč je na pravé straně pod klávesnicí takové teplo -- sídlí tam WiFi karta). Uvedená čísla byla naměřena při zapnutém chlazení, vypnutí větráku (pomocí skriptu z ThinkWiki) snížílo spotřebu přibližně o 1,2 wattu. Dalšího snížení spotřeby by se nám podařilo dosáhnout asi už jen použitím tickless jádra v kombinaci s rozličnými patchi pro SATA power management, ACPI a USB (stránky Intelu uvádějí rozdíl asi 2 W). Když to shrnu, tak bychom se mohli s dokonale vyladěným systémem dostat i pod 10 W. Na tento výsledek si ale budeme muset počkat minmálně do další verze openSUSE (pokud si nechceme překládat jádro vlastní).
Ukázali jsme si, jakým způsobem je možno na ThinkPadu X61 zprovoznit téměř všechny komponenty, které obsahuje. Po provedení výše uvedených nastavení se z notebooku stal stroj, který bude většinu otravných věcí provádět automaticky, případě nám bude stačit pár kliků abychom dosáhli kýženého stavu. Návod ukazuje, že ani v případě těch nejnovějších strojů není s konfigurací nějaký obzvláštní problém, že ThinkPady jsou dobře podporovány. V případě notebooku T61 a R61 bychom mohli postupovat obdobným způsobem, celá řada obsahuje téměř stejné komponenty. Distribuce openSUSE 10.3 prokázala svojí skvělou podporu hardwaru a vysokou míru automatické konfigurace bez zásahu uživatele a jednoznačně ji pro použití na tomto stroji doporučuji.
EDIT: Pro zájemce přikládám screenshot svého desktopu a to jak v plném 1920×1200, tak v polovičním 960×600 pro snazší prohlížení. Komu by se zalíbila kreace použitá jako tapeta, je též k dispozici. Čisté KDE 3.5.7, ve spodní liště nějaké defaultně dostupné applety.
Tiskni
Sdílej:
Diky ;)
Kdyby ses nekdy pustil do HDAPS, napis o tom prosim clanek - je to vlastne jedina hardwarova vec, ktera mi nefungujeSkvělý článek, taky moc děkuju, konečně mám po problému, jakou distribuci pro NTB zvolit. Super, díky
Na NTB žádnou, 3 měsíce si lámu hlavu co do R61. Na Gentoo, které má manžel na IBM si netroufám. Mandriva tam jde taky, ale co si pamatuju, nebylo to ono.
Bus 001 Device 003: ID 0483:2016 SGS Thomson Microelectronics Fingerprint Readera zadam prikaz tf-tool --acquire tak mi to hodi tuto chybu:
tf-tool --acquire
ThinkFinger 0.3 (http://thinkfinger.sourceforge.net/)
Copyright (C) 2006, 2007 Timo Hoenig < thoenig @ suse.de >
Initializing... done.
Please swipe your finger (successful swipes 3/3, failed swipes: 2)... done.
Storing data (/tmp/test.bir)...Warning: usb_bulk_read expected to read 0x40 (read 0xc bytes).
a to jsem zkousel openSUSE, Debian, ArchLinux, Ubuntu a vsude stejna chyba :-/