Zobrazují se příspěvky se štítkemLenovo N200. Zobrazit všechny příspěvky
Zobrazují se příspěvky se štítkemLenovo N200. Zobrazit všechny příspěvky

13.2.08

Lenovo N200 - webkamera 2

Před nějakým tím týdnem jsem popsal, jak aspoň nějak rozjet webkameru pod notebookem Lenovo N200. Z funkčnosti jsem však dokázal vytáhnout jen to, aby jela ve Skype (který moc nepoužívám).
Teď jsem však zabředl do rozsáhlých manuálových stránek a Internetu a podařilo se mi rozjet webovou kameru v mplayeru/mencoderu! Takže se o to štěstí s váma hned podělím.

Pokud chcete jen přehrávat video z webkamery na obrazovku, použijte následující:
mplayer tv:// -tv driver=v4l2:width=320:height=240:fps=15:device=/dev/video0
Víc jak 12 fps se mi z toho nepodařilo dostat, takže těch 15 je taková normální horní mez. Doporučuji dát parametry driveru do konfiguračníhou souboru ~/.mplayer/config:
tv=driver=v4l2:input=1:width=320:height=240:fps=24:device=/dev/video0
tím budete moci spouštět webku přes mplayer je jednoduché:
mplayer tv://
No a pak už si s tím můžete hrát do libosti. Přes mencoder můžete nahrát svoje video:
mencoder tv:// -nosound -ovc lavc -o myvideo.avi
Bohužel se mi to nepovedlo rozjet i se streamováním zvuku, padá to. Zkoušel jsem toto, kdyby někdo věděl, jak to rozjet, ať dá vědět:
mencoder tv:// -tv driver=v4l2:width=320:height=240:device=/dev/video0:forceaudio:adevice=/dev/dsp -ovc lavc -oac mp3lame -lameopts cbr:br=64:mode=3 -o myvideo.avi
Další možností je využít přímo mplayer a jeho parametr -vo a nastreamovat si obrázky třeba do png, pak to převést do gifu a z gifů udělat animaci (programem gifsicle). Zkoušel jsem i -vo gif98a, ten ale má velmi omezené schopnosti a kvalita obrázků je mizivá. Takže výše uvedený postup:
mplayer tv:// -vo png -nosound
for i in *.png; do convert $i $i.gif; rm $i; done
gifsicle --delay=10 --loop *.gif > animace.gif
A je hotový gif s vaší animací v souboru animace.gif.

Aktualizace:

Tak pozor, zjistil jsem, jak z v4l2 zařízení, které má tato USB webkamera, udělat v4l zařízení! Jde o použití programu flashcam, více informací zde nebo přímo na stránkách projektu. Osobně odzkoušeno, video jede třeba i ve Flashi, který zvládá jen webkamery s v4l.

5.1.08

Lenovo N200 - problém s diskem

Stává se mi celkem často, že dělám s notebookem a ten se zničehonic sekne. Respektive přestanou jít spouštět nový aplikace a hlavně nejdou vytvářet nový soubory, filesystém je najednou pouze pro čtení. Nainstaloval jsem smartmontools, abych se něco dozvěděl, pak přišel zásek a zjistil jsem, že log obsahuje informace jako

Jan 5 01:59:11 usambara ata1.00: exception Emask 0x0 SAct 0x7fff SErr 0x0 action 0x2 frozen
Jan 5 01:59:11 usambara ata1.00: cmd 61/08:00:4a:f8:26/00:00:0a:00:00/40 tag 0 cdb 0x0 data 4096 out
Jan 5 01:59:11 usambara res 40/00:00:00:4f:c2/00:01:00:00:00/00 Emask 0x4 (timeout)
Jan 5 01:59:11 usambara ata1.00: cmd 61/08:08:fa:0d:27/00:00:0a:00:00/40 tag 1 cdb 0x0 data 4096 out
...
Jan 5 01:59:11 usambara ata1: soft resetting port
Jan 5 01:59:16 usambara ata1: port is slow to respond, please be patient (Status 0xd0)
Jan 5 01:59:21 usambara ata1: softreset failed (device not ready)
Jan 5 01:59:21 usambara ata1: hard resetting port
Jan 5 01:59:27 usambara ata1: port is slow to respond, please be patient (Status 0x80)
Jan 5 01:59:31 usambara ata1: COMRESET failed (errno=-16)
Jan 5 01:59:31 usambara ata1: hard resetting port
Jan 5 01:59:37 usambara ata1: port is slow to respond, please be patient (Status 0x80)
Jan 5 02:00:04 usambara su[8832]: Successful su for root by m1c4a1
Jan 5 02:00:04 usambara su[8832]: + pts/1 m1c4a1:root
Jan 5 02:00:06 usambara ata1: COMRESET failed (errno=-16)
Jan 5 02:00:06 usambara ata1: limiting SATA link speed to 1.5 Gbps
Jan 5 02:00:06 usambara ata1: hard resetting port
Jan 5 02:00:11 usambara ata1: COMRESET failed (errno=-16)
Jan 5 02:00:11 usambara ata1: reset failed, giving up
Jan 5 02:00:11 usambara ata1.00: disabled
Jan 5 02:00:11 usambara ata1: EH complete
Jan 5 02:00:11 usambara sd 0:0:0:0: [sda] Result: hostbyte=0x04 driverbyte=0x00
Jan 5 02:00:11 usambara end_request: I/O error, dev sda, sector 170343266
Jan 5 02:00:11 usambara sd 0:0:0:0: [sda] Result: hostbyte=0x04 driverbyte=0x00
Jan 5 02:00:11 usambara end_request: I/O error, dev sda, sector 170579562
Jan 5 02:00:11 usambara Buffer I/O error on device sda7, logical block 10520733
Jan 5 02:00:11 usambara lost page write due to I/O error on sda7
Jan 5 02:00:11 usambara Buffer I/O error on device sda7, logical block 10520734
Jan 5 02:00:11 usambara lost page write due to I/O error on sda7

Začal jsem mít obavy o existenci disku. Disk je nový tak 2 měsíce a takhle vyvádí... Našel jsem však vlákno diskuze vývojářů jádra a odpověď Alana Coxe:
"It turns out the bug is caused by a Linux bug not a drive bug and it has been fixed in 2.6.24-rc properly. The blacklist entries for it have also been removed."
Mám jádro 2.6.23-gentoo-r3, takže si musím počkat, než vyjde stable verze 2.6.24, mělo by to tu chybu opravit.
Našel jsem ještě jednu dočasnou obechcávku: do souboru /etc/rc.local nebo (u Gentoo) /etc/conf.d/local.start (prostě do souboru, který vám spouští po startu skripty) vložte následující:
echo 1 > /sys/block/sda/device/queue_depth
Tím se vypne NCQ a chyba se nebude projevovat. Disk však bude o něco pomalejší. Osobně vydržím mít pár týdnů pomalejší disk, než aby se mi nějak poškodil.

Jo a další věc - protože jde o celkem nový disk, vyskytují se na něm problémy s power managementem - je třeba nastavit hdparm na parametry "-S 0 -B 254" (zabrání přepnutí do standby módu a nastaví Advanced Power Management na hodně mírný power management, ale vyšší výkon). Jinak se moc často zastavuje a spouští disková hlava, což vede k rychlému opotřebení disku.

Aktualizace (13.3. 2008): Tak bohužel přechod na jádro 2.6.24 nezabral. :-( Stále se mi filesystém odpojuje, obvykle u nějakých her (Wesnoth, Call of Duty 1 pod Wine, ...) a u diskově náročnějších vícenásobných přístupů. Nezabírají ani ty finty, které jsem vypsal výše. Takže zatím na spásnou pomoc jen čekám. :-(

29.11.07

Lenovo N200 - zvukové klávesy

Titulek je možná zavádějící, nicméně řešení, které tu chci popsat, spočívá ve zprovoznění multimediálních kláves umožňujících nastavování hlasitosti zvuku. Řešení je pro notebook Lenovo N200 a okenní manager Fluxbox, pokud se však někdo vyzná ve svém okenním manageru či desktopu, neměl by pro něj být problém to předělat.
Postupoval jsem tak, že jsem spustil aplikaci xev, která vypisuje události XWindow. U mého notebooku byly hodnoty keycode po stiscích jednotlivých tlačítek (viz obrázek vlevo - nahoře jsou ty multimediální klávesy) takovéto:
vypnutí/zapnutí zvuku - 160
ztišení hlasitosti - 174
zvýšení hlasitosti - 176
Tyto hodnoty jsem vložil do souboru ~/.fluxbox/keys:
$ tail -n 3 ~/.fluxbox/keys
174 :ExecCommand amixer set PCM 1%-
176 :ExecCommand amixer set PCM 1%+
160 :ExecCommand script-mute PCM
Samozřejmě je třeba mít nainstalovány alsa-utils, kde se nachází prográmek amixer. Zvláštností je skript script-mute, který jsem původně chtěl napsat sám, ale naštěstí jsem ho našel na netu:
#!/bin/bash

mixerdev=$1
tmpfilename=~/".tmpmutealsa_$mixerdev"

if [ -r "$tmpfilename" ]; then
leftvalue=`amixer sget "$mixerdev" | tail -2 | cut --delimiter=" " --fields=6 | head -1`
rightvalue=`amixer sget "$mixerdev" | tail -2 | cut --delimiter=" " --fields=6 | tail -1`
if [[ "(0)" != "($leftvalue)" || "(0)" != "($rightvalue)" ]]; then rm "$tmpfilename"; fi
echo Removing Temp File
fi

if [ -r "$tmpfilename" ]; then
echo Unmute $mixerdev
leftvalue=`cat "$tmpfilename" | head -1`
rightvalue=`cat "$tmpfilename" | tail -1`
amixer sset "$mixerdev" $leftvalue,$rightvalue
rm "$tmpfilename"
else
echo Mute $mixerdev
leftvalue=`amixer sget "$mixerdev" | tail -2 | cut --delimiter=" " --fields=6 | head -1`
rightvalue=`amixer sget "$mixerdev" | tail -2 | cut --delimiter=" " --fields=6 | tail -1`
printf "$leftvalue\n$rightvalue" > "$tmpfilename"
echo $leftvalue
echo $rightvalue
amixer sset "$mixerdev" 0,0
fi

# chmod +x script-mute
# mv script-mute /usr/bin

Tento skript si uložte třeba podle příkladu do /usr/bin a znovunačtěte nastavení Fluxboxu. Tlačítka hlasitosti jsou teď pěkně funkční. :-)

27.11.07

Lenovo N200 - webkamera

Včera se mi podařilo rozjet webovou kameru pod Linuxem na Lenovu N200 řady 3000. Není to sice ideální, ale ve Skype (verze 2 a výš) to funguje víceméně bez problémů. Tato řada obsahuje dle lsusb tuto webkameru
Bus 006 Device 003: ID 04f2:b013 Chicony Electronics Co., Ltd
V první řadě musíte mít v jádře zakompilovanou podporu Video for Linux. Dále je třeba povolená podpora Enable Video For Linux API 1 compatible Layer. Jádro (moduly) překompilujte. Nyní stáhněte balíček linux-uvc, buď přímo v rámci distribuce a nebo z http://linux-uvc.berlios.de. Nahrajte modul (modprobe uvcvideo), měl by se vám vytvořit soubor /dev/video0. Teď už bystě měli být schopni používat webovou kameru třeba pod Skype. Jinde jsem to nezkoušel, nemám jak a i tak webku moc nevyužívám, jen to chci pro dobrý pocit, že mi to jede, co kdyby někdy něco... :-) Zkoušel jsem to ve Flashi, ale tam to bohužel nefunguje, aspoň podle tohoto postu, co jsem našel (na druhou stranu, možná s tím něco dělat jde, viz tento odkaz, já si s tím ale nehrál).

11.11.07

Lenovo N200 - zvuk

Před pár týdny jsem si pořídil notebook Lenovo N200. Trochu mě oklamalo to, že Lenovo vyrábí i ThinkPady, které dříve dělalo IBM a ty byly proslulé svou dobrou kompatibilitou s Linuxem. Řada N200 však s ThinkPady už skoro nic společného nemá a kompatibilita bohužel také hodně klesla. Měl jsem dost problémů s ovladači a instalací driverů, protože nejde zas o tolik rozšířený notebook, na netu bylo informací pomálu, často jsem musel vybírat informace z příbuzných řad N100 a jiných.
Pokusím se proto shrnout nějaké důležité poznatky pro případného Googlisty, který dorazí na mé stránky ve snaze rozjet na svém Lenovu N200 zvuk.

Používám notebook Lenovo N200, přesněji typ 0769-BNG. Tento typ obsahuje integrovanou kartu s chipem Realtek ALC861-VD. Tento název moc neřekne, nicméně driver, který tuto kartu zvládá, se v Alse nachází pod jménem hda-intel. Momentálně používám jádro 2.6.22, ve kterém tento driver je, nevím, jak je to u jiných jader. Takže pokud kompilujete vlastní jádro, jděte do Device drivers > Sound, nechte zkompilovat Sound card support třeba jako modul, dále vejděte do Advanced Linux Sound Architecture, kde vyberte (opět jako modul) Advanced Linux Sound Architecture, Sequencer support, dále mám RTC Timer Support. Poté vejděte do PCI devices, kde povolte pouze Intel HD Audio (jiný modul nepotřebujete). Nyní jádro zkompilujte (make &&make modules_install).
Důležitá poznámka: pokud máte externí balík alsa-drivers, tak ho odinstalujte. Odinstalujte také veškeré vaše další drivery, co jste používali při neúspěšných pokusech rozjet zvuk. Osobně mám zkušenost, když jsem hledal řešení, že různé patche (realtek6.tar.gz např.) po nahrání modulu buď vyvolaly výjimku jádra a nebo dokonce celý systém zatuhl. Nevím, kde přesně byl háček, ale vyřešilo to možná negeekovské, ale rychlé a účinné přeinstalování všeho, co má něco společného s Alsou (takže v Gentoo emerge --oneshot alsa-lib alsa-headers alsa-utils; zvláště na alsa-utils si dejte v případě externích balíčků bacha, protože když je odinstalujete, přijdete o alsamixer, alsasound atd.), také promazání /lib/modules (poté musíte opět v jádře pustit make modules_install).
A nyní hlavní hřeb článku: moduly potřebují při načítání parametr, který já v Gentoo přidávám do /etc/modules.d/alsa:
options snd-hda-intel single_cmd=1 model=lenovo
na konec tohoto souboru.
Také přidejte alsasound do spuštění po startu, v Gentoo:
rc-update add alsasound boot
Nabootujte nové jádro a nezapomeňte v alsamixeru zkontrolovat hlasitost kanálů. Pokud v alsamixeru uvidíte název své zvukové karty (Realtek ALC861-VD), tak máte nejspíše vyhráno. Aspoň mně to hraje - zvuk z noťasu sice nic extra, ale lepší než ticho. Jo a jeden problém - nepodařilo se mi rozjet sluchátka tak, abych po zastrčení konektoru do jacku měl zvuk jen ve sluchátkách a nehrálo to z externích repráků. Kdyby někdo na ten problém přišel, ať to napíše třeba sem do komentářů.