Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za duben (YouTube).
Provozovatel čínské sociální sítě TikTok dostal v Evropské unii pokutu 530 milionů eur (13,2 miliardy Kč) za nedostatky při ochraně osobních údajů. Ve svém oznámení to dnes uvedla irská Komise pro ochranu údajů (DPC), která jedná jménem EU. Zároveň TikToku nařídila, že pokud správu dat neuvede do šesti měsíců do souladu s požadavky, musí přestat posílat data o unijních uživatelích do Číny. TikTok uvedl, že se proti rozhodnutí odvolá.
Společnost JetBrains uvolnila Mellum, tj. svůj velký jazykový model (LLM) pro vývojáře, jako open source. Mellum podporuje programovací jazyky Java, Kotlin, Python, Go, PHP, C, C++, C#, JavaScript, TypeScript, CSS, HTML, Rust a Ruby.
Vývojáři Kali Linuxu upozorňují na nový klíč pro podepisování balíčků. K původnímu klíči ztratili přístup.
V březnu loňského roku přestal být Redis svobodný. Společnost Redis Labs jej přelicencovala z licence BSD na nesvobodné licence Redis Source Available License (RSALv2) a Server Side Public License (SSPLv1). Hned o pár dní později vznikly svobodné forky Redisu s názvy Valkey a Redict. Dnes bylo oznámeno, že Redis je opět svobodný. S nejnovější verzí 8 je k dispozici také pod licencí AGPLv3.
Oficiální ceny Raspberry Pi Compute Modulů 4 klesly o 5 dolarů (4 GB varianty), respektive o 10 dolarů (8 GB varianty).
Byla vydána beta verze openSUSE Leap 16. Ve výchozím nastavení s novým instalátorem Agama.
Devadesátková hra Brány Skeldalu prošla portací a je dostupná na platformě Steam. Vyšel i parádní blog autora o portaci na moderní systémy a platformy včetně Linuxu.
Lidi dělají divné věci. Například spouští Linux v Excelu. Využít je emulátor RISC-V mini-rv32ima sestavený jako knihovna DLL, která je volaná z makra VBA (Visual Basic for Applications).
Revolut nabídne neomezený mobilní tarif za 12,50 eur (312 Kč). Aktuálně startuje ve Velké Británii a Německu.
Volba toho správného notebooku je velmi těžká věc. Zvláště, máte-li nějakým způsobem omezený rozpočet. Často je nutné přistoupit k nejrůznějším kompromisům a vybírat z nabídky méně renomované firmy sestavu, jež splňuje za příslušný peníz všechny požadavky. Ve stejné situaci jsem se v březnu ocitl i já.
Po dlouhém prohlížení nejrůznějších recenzí jsem se rozhodl ke koupi notebooku Asus M6B00R, který se v inkriminované době dal pořídit za necelých 40 000,- Kč (pracovníci rozpočtových organizací jistě pochopí, proč). Stroj splňoval přesně mé požadavky: vybaven Centrinem disponujícím procesorem na taktovací frekvenci 1,6 GHz, samozřejmě bezdrátovou kartou (Intel 2200 802.11b/g), 512 MB paměti, 60 GB pevným diskem a vypalovačkou DVD+/-R(W). Navíc se dá pořídit bez Windows (a cena je pak skutečně o jednu zbytečnou licenci nižší). Faktem však je, že člověk za rozhodnutí instalovat pouze Linux platí tím, že si musí systém do značné míry upravit, aby fungovalo vše, co potřebuje.
Hned na úvod musím podotknout, že notebook můžete využít taktéž jako přehrávač CDček a to i v případě, že je vypnutý. Posunutím tlačítka vlevo vepředu se ve vypnutém stavu aktivuje mód CD přehrávače, kdy můžete vysouvat/zasouvat CD mechaniku, pomocí kláves na levé straně CD ovládat a dokonce fungují kombinace Fn+F10 až Fn+F12 na ovládání hlasitosti. V tomto módu je přístroj zřejmě schopen přehrávat pouze audio CD, žádnou z mých kolekcí MP3 neakceptoval.
Protože se v nejrůznějších fórech množí dotazy na zprovoznění Linuxu na noteboocích řady M6, rozhodl jsem se napsat krátký návod s postupem krok za krokem. Odchován RedHatem rozhodl jsem se nainstalovat distribuci Fedora Core 3 (nicméně postupy zde popsané snad půjdou aplikovat i v jiných distribucích). Notebook má totiž svá jistá specifika.
Kdo by si myslel, že vloží instalační CD/DVD do mechaniky, nabootuje a všechno tak nějak pojede, může narazit na dosti zajímavý problém. Empiricky zjištěno totiž grafická karta (ATI Mobility Radeon 9100 IGP) nemá z nějakých záhadných důvodů ráda VESA framebuffer, s nímž s oblibou instalační CD RedHatu/Fedory bootují. Instalátor se pak nedostane příliš daleko. Do bootovacího promptu je třeba použít:
linux nofb
Na další problémy jsem při instalaci nenarazil. Distribuce pak byla samozřejmě pomocí yum update
updatována o nejnovější balíčky.
Notebooky Asus řady M6 (a možná i jiné) mají svoje zajímavé specifikum: chybné ACPI. Z toho, co jsem vyrozumněl z internetových fór, ACPI-BIOS je kompilován kompilátorem od Microsoftu, který nemá problémy zkompilovat i ne zcela korektní kód. A proto např. funkce vracející stav baterie není zcela korektní. Linux ovšem očekává, že ACPI je zcela v pořádku. V logách se pak objeví pár zoufalých kernelových hlášek a dobrá polovina ACPI funkcí nefunguje:
ACPI: Found ECDT Completing Region/Field/Buffer/Package initialization:................................................................ Initialized 24/25 Regions 22/22 Fields 28/28 Buffers 31/31 Packages (863 nodes) Executing all Device _STA and_INI methods:...................................................... 54 Devices found containing: 54 _STA, 3 _INI methods ACPI: Interpreter enabled ACPI: Using PIC for interrupt routing ACPI: PCI Root Bridge [PCI0] (00:00) PCI: Probing PCI hardware (bus 00) PCI: Ignoring BAR0-3 of IDE controller 0000:00:14.1 PCI: Transparent bridge - 0000:00:14.4 ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.P0P1._PRT] ACPI: Embedded Controller [EC0] (gpe 6) ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.P0P2._PRT] ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 7 10 *11 12 14 15) ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 *5 7 10 11 12 14 15) ACPI: PCI Interrupt Link [LNKC] (IRQs 3 *4 5 7 10 11 12 14 15) ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 7 *10 11 12 14 15) Linux Plug and Play Support v0.97 (c) Adam Belay pnp: PnP ACPI init exoparg2-0436 [13] ex_opcode_2A_1T_1R : Index value (14) beyond end of buffer (14) psparse-1138: *** Error: Method execution failed [\MCTH] (Node ddf05ee8), AE_AML_BUFFER_LIMIT psparse-1138: *** Error: Method execution failed [\OSFL] (Node ddf05f28), AE_AML_BUFFER_LIMIT psparse-1138: *** Error: Method execution failed [\_SB_.RMEM._CRS] (Node ddf0dca8), AE_AML_BUFFER_LIMIT uteval-0158: *** Error: Method execution failed [\_SB_.RMEM._CRS] (Node ddf0dca8), AE_AML_BUFFER_LIMIT pnp: PnPACPI: METHOD_NAME__CRS failure for PNP0c01 pnp: PnP ACPI: found 12 devices Linux Kernel Card Services options: [pci] [cardbus] [pm] usbcore: registered new driver usbfs usbcore: registered new driver hub PCI: Using ACPI for IRQ routing ** PCI interrupts are no longer routed automatically. If this ** causes a device to stop working, it is probably because the ** driver failed to call pci_enable_device(). As a temporary ** workaround, the "pci=routeirq" argument restores the old ** behavior. If this argument makes the device work again, ** please email the output of "lspci" to bjorn.helgaas@hp.com ** so I can fix the driver. pnp: 00:06: ioport range 0x228-0x22f has been reserved Machine check exception polling timer started. Initializing Cryptographic API evregion-0405: *** Error: Handler for [EmbeddedControl] returned AE_TIME psparse-1138: *** Error: Method execution failed [\_SB_.PCI0.SBRG.EC0_.RDC3] (Node ddf16528), AE_TIME psparse-1138: *** Error: Method execution failed [\ECIO] (Node ddf18ae8), AE_TIME psparse-1138: *** Error: Method execution failed [\_SB_.PCI0.SBRG.EC0_.ACPS] (Node ddf16668), AE_TIME psparse-1138: *** Error: Method execution failed [\ACPS] (Node ddf0d528), AE_TIME psparse-1138: *** Error: Method execution failed [\_SB_.PCI0.AC0_._PSR] (Node ddf145e8), AE_TIME acpi_ac-0098 [06] acpi_ac_get_state : Error reading AC Adapter state evregion-0405: *** Error: Handler for [EmbeddedControl] returned AE_TIME dswexec-0446 [15] ds_exec_end_op : [Store]: Could not resolve operands, AE_TIME psparse-1138: *** Error: Method execution failed [\_SB_.PCI0.SBRG.EC0_.SMBR] (Node ddf18e68), AE_TIME psparse-1138: *** Error: Method execution failed [\_SB_.PCI0.SBRG.EC0_.BIF0] (Node ddf16d28), AE_TIME psparse-1138: *** Error: Method execution failed [\_SB_.PCI0.BAT0._BIF] (Node ddf141a8), AE_TIME acpi_battery-0147 [07] acpi_battery_get_info : Error evaluating _BIF ACPI: Power Button (FF) [PWRF] ACPI: Lid Switch [LID] ACPI: Sleep Button (CM) [SLPB] ACPI: Video Device [VGA] (multi-head: yes rom: no post: no) evregion-0405: *** Error: Handler for [EmbeddedControl] returned AE_TIME psparse-1138: *** Error: Method execution failed [\_SB_.PCI0.SBRG.EC0_.RDC3] (Node ddf16528), AE_TIME psparse-1138: *** Error: Method execution failed [\ECIO] (Node ddf18ae8), AE_TIME psparse-1138: *** Error: Method execution failed [\_SB_.PCI0.SBRG.EC0_.ACPS] (Node ddf16668), AE_TIME psparse-1138: *** Error: Method execution failed [\ACPS] (Node ddf0d528), AE_TIME psparse-1138: *** Error: Method execution failed [\_PR_.CPU1._PPC] (Node ddf24a28), AE_TIME acpi_processor-0132 [11] acpi_processor_get_pla: Error evaluating _PPC acpi_processor-0210 [11] acpi_processor_get_thr: duty_cycle spans bit 4 ACPI: Thermal Zone [THRM] (56 C) Asus Laptop ACPI Extras version 0.29 M6R model detected, supported
Existují jisté indicie, že jádro 2.6.9 vanilla (ne z distribuce) problémy nedělá. Z nejrůznějších důvodů jsem ale potřeboval jádro novější. Pod čarou dodávám, že jsem se pokoušel nabootovat velké množství live-distribucí (Berry Linux, Knoppix, Mandrake Move, SUSE Live) a žádná z dostupných verzí (byť postavených na jádře 2.6.9) neuměla se špatným ACPI správně zacházet. Neinstaloval jsem žádná Microsoft Windows, takže ani nevím, jestli pod nimi fungují všechny ACPI funkce ještě před instalací ovladačů od Asusu.
Hledáním na internetu se dá najít patch do kernelu, který špatné chování ACPI obchází. Stáhnout ho lze např. zde a mé zkušenosti ukazují, že funguje na jádrech do 2.6.10 včetně. Na 2.6.11.x se mi jej sice podařilo aplikovat bez chyb, ale problém s ACPI neřešil. Chybové hlášky byly sice jiné, ale ACPI stejně nefungovalo. Jinou možností, než patchovat jádro, je možnost vnutit jádru opravenou DSDT v iniciálním ramdisku. To ovšem znamená, že musíte tuto opravenou DSDT tabulku někde sehnat, nebo si ji opravit sami. Již opravenou tabulku se mi pro tento model notebooku sehnat nepodařilo a její přeprogramování se opravdu necítím.
Z důvodů, které není důležité rozepisovat, jsem se rozhodl opatchovat distribuční jádro a to ještě distribuční jádro doplněné o Software Suspend 2.
To se dá najít na stránkách Matthiase Henslera a potřeba je sice soubor zdrojáků jádra. Následuje sekvence příkazů, kterou i naprostý BFU je snad schopen všechno rozchodit (předpokládejme, že byl stažen soubor kernel-2.6.10-1.770_FC3_cubbi2_swsusp2.src.rpm). Podotýkám, že je samozřejmě potřeba mít nainstalovaný kompilátor a rpmbuild.
su - wget http://mhensler.de/swsusp/download/kernel-2.6.10-1.770_FC3_cubbi2_swsusp2.src.rpm wget http://mrhammy2.ath.cx:81/aml_method_exec_hack.patch rpm -i kernel-2.6.10-1.770_FC3_cubbi2_swsusp2.src.rpm cd /usr/src/redhat/SPECS rpmbuild -bp --target=i686 kernel-2.6.spec cd ../BUILD/kernel-2.6.10/linux-2.6.10/ patch -p1 < /root/aml_method_exec_hack.patch make oldconfig # je dobre povolit SWSUSP2 patch pokud chceme počítač uspávat a zbavit se problémů např. s neprobouzením síťovky i dalších zařízení #případně make config|menuconfig|xconfig, pokud chcete dále upravovat konfiguraci jádra make bzImage modules make modules_install make install
V GRUBu se pak objeví další položka - 2.6.10-prep a to je ta, kterou chceme bootovat. Jádro by pak mělo bez problémů naběhnout včetně ACPI. Ověřit si to může zcela každý například tím, že mu bude v KDE/GNOME fungovat ukazatel stavu baterie.
Notebook je podporován modulem acpi4asus (dostupný v každém novějším kernelu) a jeho zprovoznění pak umožní používat nejrůznější ACPI funkce, které přístroj nabízí. Od sledování stavu baterie, po změnu frekvence procesoru za běhu (cpuspeed) a také používání nejrůznějších klávesových zkratek, které jsou buď dostupné přes přeřaďovač Fn, nebo jako speciálních pět tlačítek nad klávesnicí.
Hodně srandy si užijete, pokud se pokusíte zprovoznit nejrůznější funkční tlačítka, kterými notebook oplývá. Podstatné totiž je, že některá fungují bez problémů, některá s problémy a některá se nepodaří rozchodit vůbec. Jejich společným jmenovatelem je ACPI.
Začněme od těch jednodušších: tlačítka, která fungují téměř hned. Mezi ně lze započítat tlačítka manipulující s podsvícením LCD displeje. Ta jsou totiž obsloužena modulem acpi4asus. Jde konkrétně o kombinace Fn+F5 (ztlumení podsvícení), Fn+F6 (zvýšení intenzity podsvícení) a Fn+F7 (vypnutí/zapnutí podsvícení). Ta fungují bez větších problémů. Kombinace Fn+F10 (vypnutí/zapnutí systémových reproduktorů), Fn+F11 (snížení intenzity zvuku), Fn+F12 (zvýšení intenzity zvuku), pět tlačítek nad klávesnicí a čtyři tlačítka CD přehrávače, kterým lze přiřadit libovolnou funkci (jsou to horké ACPI klávesy obsloužené ACPI démonem). Co se mi rozjet nepodařilo (a podle nejrůznějších ohlasů na internetu to zřejmě ani nejde), je kombinace Fn+F8 (přepínání LCD/externí CRT/TV out).
![]() |
![]() |
ACPI tlačítka notebooku a jejich hotkey-kódy |
Tlačítka obloužená ACPI démonem lze jednoduše konfigurovat pomocí skriptů. Např.:
Do /etc/acpi/events:
event=hotkey ATKD .* action=/usr/local/sbin/hotkey.sh %e
a následně do /usr/local/sbin/hotkey.sh např.:
#!/bin/sh case "$3" in # vypnuti/zapnuti zvukoveho vystupu 00000032)/usr/bin/amixer set Master toggle ;; #zvyseni hlasitosti 00000030)/usr/bin/amixer set Master 1+ ;; #snizeni hlasitosti 00000031)/usr/bin/amixer set Master 1- ;; #klavesy CD prehravace -- presmenovany na ovladani XMMS 00000040)su - michal -c "/usr/bin/xmms -r" ;; 00000043)su - michal -c "/usr/bin/xmms -s" ;; 00000045)su - michal -c "/usr/bin/xmms -t" ;; 00000041)su - michal -c "/usr/bin/xmms -f" ;; # nad klavesnici klavesa s obalkou 00000050)su - michal -c "export DISPLAY=:0.0;/usr/bin/kmail &" ;; # nad klavesnici klavesa s e-ckem 00000051)su - michal -c "export DISPLAY=:0.0;/usr/bin/mozilla &" ;; # nad klavesnici klavesa s Wi-Fi 0000005d)/usr/local/sbin/centrino_check.sh ;; *)logger "ACPI hotkey $3 is not defined" ;; esac
V této konfiguraci zůstávají ještě dvě nevyužité klávesy nad klávesnicí -- klávesa mající vypínat Touchpad (scan-kód 0000006a a 0000006b) a klávesa PowerGear+ (scankód 0000005c), pro které jsem nenašel žádné smysluplné využití. Jako ACPI událost je namapováno též otevření nebo zavření víka notebooku (jako událost button/lid). Zrovna tak samozřejmě stisknutí vypínacího/zapínacího tlačítka (jako událost button/power), na které já osobně mám namapováno volání skriptu hibernate:
#/etc/acpi/events/power event=button/power.* action=/usr/local/sbin/swsuspend
Pokud si chcete softwarově blikat světýlkama, jsou na přední straně v sadě LEDek dvě modré, které lze ovládat programově. Ve Windows zřejmě fungují jako signalizace zapnuté bezdrátově sítě a přišedšího emailu. Ovládat je lze jednoduše zápisem do /proc/acpi/asus/mled a /proc/acpi/asus/wled. Zápisem hodnoty "1" se LEDka rozsvítí, zápisem hodnoty "0" kupodivu zhasne. Toto hraní brzy omrzí, ale dá se s tím užít i legrace.
Přes ACPI je též ovlivnitelná aktuální taktovací frekvence procesoru. To je docela výhodné, neboť bez vypínání disku při běžné kancelářské práci s procesorem běžícím na 600 MHz notebook vydrží na baterky přinejhorším 3,5 hodiny, tak pokud běží procesor na plné frekvenci (1,6 GHz), bez bateriové energie budete tak během necelých dvou hodin. Pro kontrolu rychlosti CPU v závislosti na aktuální zátěži používám cpuspeed. Zprovozněno (bez nějakého dalšího komentáře) pomocí skriptu:
BASE=/sys/devices/system/cpu/cpu0/cpufreq if grep -q ondemand $BASE/scaling_available_governors then echo -n "Setting up ondemand CPUfreq governor: " echo ondemand > $BASE/scaling_governor echo 200000 > $BASE/ondemand/sampling_rate echo 5 > $BASE/ondemand/sampling_down_factor echo 75 > $BASE/ondemand/up_threshold echo 50 > $BASE/ondemand/down_threshold echo "Done." fi cpuspeed -d -i 10 -t /proc/acpi/thermal_zone/THRM/temperature 79 -a /proc/acpi/ac_adapter/AC0/state
Toto nastavení způsobí, že každých 10 sekund se prověří aktuální load a podle toho se pohne s frekvencí procesoru. Agresivnější snižování frekvence pak nastane v případě provozu na baterie a pokud teplota procesoru překrocí 79 stupňů Celsia. Tento skript je dobré dát např. do /etc/rc.d/rc.local.
Fedora Core 3 přichází s Xorg verze 6.8.2. Pokud se spokojíte s open-source ovladačem radeon (nebo ati), samozřejmě vše funguje. Jen LCT má poněkud méně typický rozměr 1280x800 bodů a toto rozlišení je třeba do xorg.conf dopsat.
ModeLine "1280x800" 83.5 1280 1344 1480 1680 800 801 804 828
Nicméně pod opensourcovým ovladačem se mi nepodařilo rozběhat VGA port, do kterého lze připojit externí monitor nebo datový projektor. Resp. nepodařilo se mi jej rozběhat pod lepším rozlišením, než je 800x600. Pokud chcete lepší, nezbývá vám, než sáhnout po proprietárních ATI ovladačích. Naštěstí bez ohledu na původní skepsi s nimi nemám až tak šílené zkušenosti, jaké si lze přečíst v nejrůznějších internetových fórech. Konfigurační soubor vám buď vygeneruje utilitka fglrxconfig (která působí dosti neprůhledným dojmem), nebo stačí nahradit v xorg.conf ovladač ati (nebo radeon) za fglrx. Bohužel, integrovaná grafická karta není podporována ve 3D a to žádným z dostupných ovladačů. Nicméně instalace proprietárních ovladačů je nesmírně jednoduchá: stačí stáhnout (distribuováno jako rpm) a nainstalovat. Posléze změnit driver v xorg.conf. A je to.
Rozchození externího monitoru tak, jak si jeho funkci běžný uživatel představuje (tedy plug-and-play bez restartů), byla tak trochu magie. Přestože je v manuálu notebooku jasně napsáno, že takto to nefunguje (externí monitor se musí připojovat při bootu), stačí jeden řádek v xorg.conf v sekci devices, který toto umožní, přestože je to v rozporu s manuálem. Relevantní část xorg.conf vypadá takto:
Section "Device" Identifier "ATI Graphics Adapter" Driver "fglrx" Option "DesktopSetup" "0x00000100" Option "MonitorLayout" "LCD, CRT" # MonitorLayout muze obsahovat nasledujici hodnoty: # AUTO - autodetekce, CRT - zarizeni pres CRT(VGA) port, TMDS - zarizeni pres DVI port, LVDS - snad monitor notebooku # STV - S-Video port (povinne musi byt pripojen pri bootu). LCD neni v dokumentaci, ale evidentne funguje
Je dobré mít v zásobě nějaké rozumné rozlišení, neboť drtivá většina datových projektorů si nebude s 1280x800 rozumět. TV-out se mi přes veškerou snahu zatím rozběhat nepodařilo a není jisté, zda to vůbec jde.
Pokud hodláte používat uspávání (software suspend libovolné verze), pak vězte, že po probuzení se neprobere jednak modul fglrx a i v případě použití opensourcového ovladače xv-extension. Pomáhá start druhého X-serveru po probuzení (a třeba jeho opětovné shození). Tato vlastnost se dá poměrně jednoduše implementovat do uspávacích skriptů.
# /usr/local/sbin/swsuspend #!/bin/bash # XMMS je nekompatiblnim programem se swsusp a dela akorad blbosti killall -9 xmms /usr/sbin/alsactl store /usr/local/sbin/centrino_wlan.sh stop sleep 2 /usr/sbin/hibernate sleep 4 /sbin/clock --hctosys /usr/X11R6/bin/X :1 & DRUHAX=$! /usr/sbin/alsactl restore sleep 5 kill $DRUHAX # po resume je zvukovka nepochopitelne ztisena -- hnuti s mixerem pomuze. /usr/bin/amixer set Master 1+ /usr/bin/amixer set Master 1- # artsd po resume obvykle zpusobuje zatizeni systemu na 99 % pri 1600 MHz sleep 10 killall -9 artsd
Touchpad je automaticky detekován (funguje s driverem Synaptic) a do konfigurace provedené instalátorem netřeba zasahovat. Taktéž hotplug funguje velmi dobře, takže při připojení USB myšky (malá a velmi skladná USB myška Logitech je dodávána s notebookem) se s ní dá ihned pracovat (pokud tedy funguje USB-subsystém -- viz kapitolka Software suspend). Problém s PS/2 myší nenastávají, protože notebook nemá PS/2 port.
Relevantní část xorg.conf:
# ********************************************************************** # Core Pointer's InputDevice section # ********************************************************************** Section "InputDevice" Identifier "Mouse0" Driver "mouse" Option "Protocol" "IMPS/2" Option "Device" "/dev/input/mice" Option "ZAxisMapping" "4 5" Option "Emulate3Buttons" "yes" EndSection Section "InputDevice" Identifier "Synaptics" Driver "synaptics" Option "Device" "/dev/input/mice" Option "Protocol" "auto-dev" Option "Emulate3Buttons" "yes" EndSection
Asus M6B00R je v zásadě vybaven třemi rozhraními pro přístup k sítím. S žádným nejsou větší problémy.
Ethernetová karta je postavena na čipsetu Realtek 8139, tudíž funguje s modulem 8129too a je správně detekována už při instalaci.
8139too Fast Ethernet driver 0.9.27 ACPI: PCI interrupt 0000:02:06.0[A] -> GSI 5 (level, low) -> IRQ 5 divert: allocating divert_blk for eth0 eth0: RealTek RTL8139 at 0xe800, 00:00:00:00:00:00, IRQ 5 eth0: Identified 8139 chip type 'RTL-8101'
Wi-Fi je Intel PRO/Wireless 2200BG a funguje velmi dobře s opensourcovým modulem ipw2200. Jen je třeba nezapomenout, že nahráním modulu to nekončí, je třeba ještě do příslušné cesty hotplugu rozbalit firmware (/lib/firmware). Na jádrech starších než 2.6.11 má problémy při používání jaderného Software supend (neprobudí se korektně -- viz dále), ovšem jak již bylo napsáno, zatím na 2.6.11 jádrech nepomáhá patch zprovozňující ACPI.
ipw2200: Intel(R) PRO/Wireless 2200/2915 Network Driver, 1.0.1 ipw2200: Copyright(c) 2003-2004 Intel Corporation ACPI: PCI Interrupt Link [LNKC] enabled at IRQ 4 PCI: setting IRQ 4 as level-triggered ACPI: PCI interrupt 0000:02:07.0[A] -> GSI 4 (level, low) -> IRQ 4 ipw2200: Detected Intel PRO/Wireless 2200BG Network Connection divert: allocating divert_blk for eth1
Modem je zařízení ponechané s velkým otazníkem. Zařízení se hlásí jako
00:14.6 Modem: ATI Technologies Inc IXP AC'97 Modem (rev 01)
nicméně si pod tím lze představit leccos. Detekční skript scanModem oznámí, že modem může být vybaven buď čipem od Agere Systems (Lucent), nebo Conexant nebo od Intelu. Nicméně ani jeden z dostupných driverů se k zařízení nehlásí. Dekomprimací windowsovských ovladačů z přiloženého CD a chvilkovým hledáním v INF souborech se ukazuje, že správným typem bude Agere Systems (Lucent). Každopádně ani s tímto zařízení nefunguje. Nejnadějněji se tváří zřejmě driver slmodemd (využívajícího Alsu), nicméně ani tak se z modemu nepodařilo vyloudit ani vyzváněcí tón.
Zvuková karta je integrována na chipsetu ATI a je tudíž ovládána ALSA modulem snd_atiixp. Instalátorem je detekována bez problémů.
ACPI: PCI interrupt 0000:00:14.5[B] -> GSI 5 (level, low) -> IRQ 5 ALSA device list: #0: ATI IXP rev 0 with AD1980 at 0xfba00000, irq 5Karta má jediný problém, a to sice že po probuzení se Software suspend nevyluzuje žádné zvuky, přestože je všechno v pořádku a zvuk není ztlumený. Postačí však zahýbat s mixerem a již je vše v pořádku. Tento krok je možné zadat i do probouzecího skriptu:
/usr/bin/amixer set Master 1+ /usr/bin/amixer set Master 1-
Notebook má integrované dva reproduktory, které vyluzují zvuky v nezvyklé kvalitě (aneb subjektivně mi připadají o třídu lepší, než běžná chrčítka u notebooků se vyskytující). Samozřejmostí je možnost výstupu přes 3,5mm jack (údajně zvládající i digitální výstup, ale netestováno).
Pokud váš nebaví po restartu neustále obnovovat začatou práci, není nic jednoduššího, než využívat služeb Software suspend -- tedy vysypání paměti na disk (do swapu) a po novém zapnutí její relativně rychlé obnovení. Software suspend je v současnosti ve dvou verzích -- jedna je přímo dostupná v kernelu a druhá je dostupná jako patch.
Ta první verze je sice dostupná v libovolném kernelu, ale má jistá omezení. Mé zkušenosti například ukázaly, že co není v jádře, to se velmi obtížně probouzí zpět k životu. Typicky USB subsystém. Nepomohlo ani odebrání modulů přes suspend a jejich opětovné přidání po resume (to dokonce v 90 % případů vedlo k zatuhnutí počítače). Tento problém se podařilo vyřešit zakompilováním nekorektně se chovajících modulů přímo do jádra. Ostatně má to smysl -- myš je v portu zasunuta 80 % doby chodu notebooku (jen ve vlaku a autobusu se s myší špatně manipuluje). K opuštění této varianty mně však přiměl fakt, že se po resume neprobudila wi-fi karta.
Apr 11 14:14:03 eowyn kernel: ipw2200: Intel(R) PRO/Wireless 2200/2915 Network Driver, 1.0.1 Apr 11 14:14:03 eowyn kernel: ipw2200: Copyright(c) 2003-2004 Intel Corporation Apr 11 14:14:03 eowyn kernel: ACPI: PCI interrupt 0000:02:07.0[A] -> GSI 4 (level, low) -> IRQ 4 Apr 11 14:14:03 eowyn kernel: ipw2200: Detected Intel PRO/Wireless 2200BG Network Connection Apr 11 14:14:03 eowyn udev[32167]: removing device node '/dev/0000:02:07.0' Apr 11 14:14:03 eowyn udev[32194]: removing device node '/dev/0000:02:07.0' Apr 11 14:14:03 eowyn udev[32221]: removing device node '/dev/0000:02:07.0' Apr 11 14:14:04 eowyn kernel: ipw2200: failed to send TX_POWER command Apr 11 14:14:09 eowyn last message repeated 4 times Apr 11 14:14:09 eowyn kernel: ipw2200: Unable to initialize device after 5 attempts. Apr 11 14:14:09 eowyn kernel: ipw2200: failed to register network device Apr 11 14:14:09 eowyn kernel: ipw2200: probe of 0000:02:07.0 failed with error -5
Po konzultaci s vývojáři modulu ipw2200 bylo shledáno, že je to známá chyba, která by již měla být opravena v jádrech 2.6.11. Nicméně jak jsme psal výše, s jádrem 2.6.11 nefunguje půlka ACPI funkcí.
Rozhodl jsem se tedy přejít na Software suspend 2 (konkrétně verzi 2.1.7), který uvedenými postupy netrpí. Použil jsem již opatchované distribuční jádro (adresa ke stažení je popsána výše) a problémy s probouzením zařízení ustaly. Navíc mi swsusp2 přijde rychlejší a má graficky lépe zpracované oba procesy.
Pokud hodláte jádro opatchované pro Fedoru kompilovat a hodláte-li používat při bootu ramdisk (default volba), tak je potřeba sestavený ramdisk
mírně upravit. Po klasickém make bzImage modules modules_install install
je nutné jako root udělat ještě následující krátkou proceduru:
cd mkdir myinitrd cd myinitrd gzip -dc < /boot/initrd-2.6.10-prep.img | cpio -i
Pak je třeba editovat soubor init a přidat v počáteční fázi skriptu (po namountování /proc, ale před mountováním jakýchkoli jiných disků,
čili v mém případě jako druhý výkonný řádek skriptu) echo > /proc/software_suspend/do_resume
. A pak pokračovat příkazem:
find . | cpio -o -c |gzip -9 > /boot/initrd-2.6.10-prep.img
A je to. Samozřejmě je zapotřebí nainstalovat ještě skript hibernate, který se postará o uspání a posléze probuzení. Stáhnout ho lze opět jako rpm-balík u Matthiase Henslera.
Závěrem snad jen to, že hardware, který jsem zde explicitně nepopsal, funguje "tak nějak sám" bez zásahu, nebo jsem ho neměl možnost otestovat.
Čili klávesnice, disk, vypalovačka,
paralelní port. IrDa (infračervený port) jsem neměl možnost vyzkoušet, neboť nevlastním žádné vhodné zařízení. Nicméně po
natažení příslušných modulů (např. pomocí service irda start
) dojde k vytvoření nového síťového zařízení (irda0), které se zdá
komunikativní (jediné, co bylo nutné upravit, bylo zařízení v /etc/sysconfig/irda (DEVICE=/dev/ircomm0
)). Slot PCMCIA karet má v sobě
integrovanou čtečku paměťových karet (zřejmě SecureDigital a podobných). Zařízení je detekováno,
nicméně tím to končí, nepodařilo se mi ji zprovoznit. Osobně mě to příliš nebolí, protože sám žádné SD karty nevlastním a pro karty SmartMedia,
které používám, čtečka určena není. Samotný PCMCIA slot zůstává netestován, neboť nemám k dispozici žádnou PCMCIA kartu. Nicméně zařízení je
detekováno a zprávy jiných uživatelů v internetových diskusních fórech naznačují, že by mělo fungovat bez větších problémů.
Každopádně pokud nejste naprostí začátečníci a dokážete v linuxu zkompilovat jádro, dokážete pracovat s vyhledávačem (nejlepší je google), neměl by být větší problém rozběhat většinu hardware, který je v sestavě obsažen. Osobně mám z notebooku spíše pozitivní pocity. Působí poměrně robustním dojmem (šasi má být vyrobena z Mg-Al slitiny), klávesnice je příjemná pro práci, nikde nic nevrže, displej se zdá býti dosti kvalitním a přestože zejména z počátku může širokoúhlý obraz působit problémy, velice rychle si na něj zvyknete.
A před konečnými odkazy na "literaturu" ještě pár systémových výpisů:
/sbin/lspci: 00:00.0 Host bridge: ATI Technologies Inc RS300 Host Bridge (rev 02) 00:01.0 PCI bridge: ATI Technologies Inc Radeon 9100 IGP AGP Bridge 00:13.0 USB Controller: ATI Technologies Inc OHCI USB Controller #1 (rev 01) 00:13.1 USB Controller: ATI Technologies Inc OHCI USB Controller #2 (rev 01) 00:13.2 USB Controller: ATI Technologies Inc EHCI USB Controller (rev 01) 00:14.0 SMBus: ATI Technologies Inc ATI SMBus (rev 18) 00:14.1 IDE interface: ATI Technologies Inc: Unknown device 4349 00:14.3 ISA bridge: ATI Technologies Inc: Unknown device 434c 00:14.4 PCI bridge: ATI Technologies Inc: Unknown device 4342 00:14.5 Multimedia audio controller: ATI Technologies Inc IXP150 AC'97 Audio Controller 00:14.6 Modem: ATI Technologies Inc IXP AC'97 Modem (rev 01) 01:05.0 VGA compatible controller: ATI Technologies Inc RS300M AGP [Radeon Mobility 9100IGP] 02:05.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev ac) 02:05.1 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev ac) 02:05.2 FireWire (IEEE 1394): Ricoh Co Ltd R5C552 IEEE 1394 Controller (rev 04) 02:06.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10) 02:07.0 Network controller: Intel Corp. PRO/Wireless 2200BG (rev 05)
cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 13 model name : Intel(R) Pentium(R) M processor 1.60GHz stepping : 6 cpu MHz : 600.034 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 mce cx8 apic mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 ss tm pbe est tm2 bogomips : 1191.93
Tuxmobil -- linux na notebookách a jiných přenosných zařízeních
Fedora Core 2 na Asus M6R -- zkušenosti Jana Kasprzaka
Fórum o problémech linuxu na Asus M6N(e) noteboocích -- mnohé informace jsou použitelné též pro M6R
Notebook Asus M6B00 a linux -- zkušenosti Zdeňka Wágnera
Abclinuxu -- diskusní fórum v češtině, vyjadřuje se tu spousta velmi zkušených jedinců
Google -- použijte, než se kdekoli zeptáte
Tiskni
Sdílej:
width
a height
.
Ale kecat do toho nebudu.A jak říkáš tomu co si právě provedl?
Díky za podporu, nicméně jsme se s Robertem dohodli jinak (viz citace jeho emailu). Sám jsem si nebyl jist, jestli je to na článek (právě kvůli té konkrétnosti). V tom textu je sice dost práce, nicméně první idea byla, že to je hlavně pro mě (až budu přeinstalovávat, tak některé chytré postupy určitě zapomenu). Že by bylo dobré to dát někam ven je až druhý nápad.
Každopádně až najdu chvilku, pokusím se to přeložit do angličtiny a zaregistrovat někde na www.tuxmobil.org nebo na linux-laptop.net. Kdyby se někomu chtělo už teď do překladu, tak je vítán.