Michal Čihař - Blog Archives

Suspend s nvidií a 2.6.14

Kernel 2.6.14 konečně vyřešil můj problém s memory leakem kdesi v ACPI, takže nezbylo než upgradovat :-). Ovšem nvidiacký modul se poté zuřivě bránil suspendu do paměti, přestože to dříve fungovalo.

Samozřejmě řešení je jednoduché, stačí se podívat, jaké eventy se posílají:

 /*
 * There are 4 important states driver can be in:
 * ON     -- driver is working
 * FREEZE -- stop operations and apply whatever policy is applicable to a
 *           suspended driver of that class, freeze queues for block like IDE
 *           does, drop packets for ethernet, etc... stop DMA engine too etc...
 *           so a consistent image can be saved; but do not power any hardware
 *           down.
 * SUSPEND - like FREEZE, but hardware is doing as much powersaving as
 *           possible. Roughly pci D3.
 *
 * Unfortunately, current drivers only recognize numeric values 0 (ON) and 3
 * (SUSPEND).  We'll need to fix the drivers. So yes, putting 3 to all different
 * defines is intentional, and will go away as soon as drivers are fixed.  Also
 * note that typedef is neccessary, we'll probably want to switch to
 *   typedef struct pm_message_t { int event; int flags; } pm_message_t
 * or something similar soon.
 */

A příslušně opravit nvidiácké zdrojáky:

 --- orig/nv/nv.c  2005-07-19 01:58:40.000000000 +0200
+++ mod/nv/nv.c        2005-11-15 15:28:46.500089000 +0100
@@ -3624,12 +3624,13 @@
 
     switch (state)
     {
-        case PM_SUSPEND_MEM:
+        case PM_EVENT_SUSPEND:
+        case PM_EVENT_FREEZE:
             nv_printf(NV_DBG_INFO, "NVRM: ACPI: received suspend event\n");
             status = rm_power_management(nv, 0, NV_PM_ACPI_STANDBY);
             break;
 
-        case PM_SUSPEND_ON:
+        case PM_EVENT_ON:
             nv_printf(NV_DBG_INFO, "NVRM: ACPI: received resume event\n");
             status = rm_power_management(nv, 0, NV_PM_ACPI_RESUME);
             break;

Úpadek abclinuxu?

Po přečtení zápisu že Yeti zmizel , jsem si uvědomil, že ani já tu už netrávím tolik času jako dříve. A právě proto jsem ani jeho nepřítomnost nezaregistroval.

Co se v poslední době změnilo, že už jenom v RSS prohlédnu zprávičky, články a blogy, občas nějaký, podle titulku zajímavý, přečtu a na diskuze se už většinou ani nepodívám? Možná už mě nebaví pořád dokola odpovídat na ty samé dotazy, i když to asi nebude ten hlavní důvod (stejně se tomu v mailech nevyhnu). Poslední dobou se tu objevuje stále více provokatérů a nějak nehodlám ztrácet čas (kterého je vždy málo) u naprosto nesmyslné diskuze (i když nějaký ten flame občas neuškodí :-)). Nebo si třeba jenom potřebuju odpočinout (poslední dobou mám stejně nucený částečný odpočinek od počítačů).

Nejspíš to bude kombinace všeho a prostě jiné možnosti trávení času jsou prostě najednou mnohem atraktivnější. Prostě velmi dobře chápu motivaci někoho to tu zabalit, ale já nerad dělám tak silné čáry za minulostí, takže jenom pomalu ustupuji ze získaných pozic :-).

Jsem PERSONÁLNÍ POČÍTAČ

V pátek mi dorazil nádherný český spam, o který se prostě nemůžu nepodělit :-).

Vážený pán,

jsem PERSONÁLNÍ POČÍTAČ společnosti ManMark ECONOMY s.r.o. a pomáhám s vyhledáváním vhodných kandidátů. Protože jste se při hledání svého nového zaměstnání zaregistroval ve společnosti ManMark ECONOMY s.r.o., dovolím si Vám nabídnout aktuální pracovní nabídku na pozici VEDOUCÍHO VÝROBY ODD. AKVÁRIÍ.

Jako PERSONÁLNÍ POČÍTAČ se mohu občas zmýlit ve výběru, který probíhá na základě počítačového vyhodnocení. Přijměte prosím předem mojí omluvu, pokud Vám zaslaná nabídka nebude vyhovovat.

VEDOUCÍHO VÝROBY ODD. AKVÁRIÍ (mcgst)

Požadavky:
- VŠ vzdělání elektrotechnického směru
- praxi na obdobné pozici
- znalost AJ

Pracovní náplň:
- výběr vhodných elektrických spotřebičů do akvárií / filtry,
topení, osvětlení/
- orientace v technické dokumentaci
- testování el. spotřebičů přímo v akváriích
- zdokonalování výrobních technik akvárií v souladu s el.
spotřebiči
- emplementace nápravných opatření
- řízení a organizace na odd. akvárií

Nabízí:
- zajímavou práci s možností profesního růstu
- dynamické prostředí s důrazem na kreatvitu a samostatnost
- nadstandartní platové ohodnocení

Ano určitě mám tu nejlepší kvalifikaci na VEDOUCÍHO VÝROBY ODD. AKVÁRIÍ :-).

Stěžujte si s argumenty

Probíhaující boj mezi GIMPem a Photoshopem mě přinutil připomenou jednu stokrát omílanou věc.

Když si stěžujete, že něco je určitě špatně a že existuje lepší řešení, tak řekněte jaké řešení je lepší a proč. Jinak tady budeme stále mít jednoznačné chyby , které nemají jednoznačné řešení a nesmyslná nastavení , o kterých nikdo neví, proč jsou nesmyslná.

A tradiční věta na závěr: plácání v blogu nic nevyřeší, používejte bug tracking systémy!

Demo phpMyAdmina na VServeru

Jakmile jsem se dozvěděl o nové nabídce Pipni.cz , rozhodl jsem se že to je ideální služba na to co chci. Už delší dobu potřebujeme někam umístit demo phpMyAdmina, ve kterém by si uživatel mohl vyzkoušet všechno a ne jen něco s omezenými privilegii.

Registrace byla lehce problémová , ale nakonec se podařilo a nový server s Debianem mi naběhl. Následoval okamžitý upgrade na unstable a už se mohlo začít testovat. Bohužel pak jim služba nějak chcípla a následoval můj odjezd, ale dnes jsem vše dokončil.

Po běžné instalaci potřebných programů bylo nutné zajistit automatické opravování oprávnění, protože se určitě najde někdo, kdo to rozhrabe. Zatím to řeším pomocí primitivního skriptu, který kontroluje možnost připojení systémových uživatelů:

 # check for root
if ! echo 'SELECT * FROM mysql.user' | mysql -uroot > /dev/null ; then
    /root/bin/mysql-clean-mysql.sh
# check for debian
elif ! /usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf ping > /dev/null ; then
    /root/bin/mysql-clean-mysql.sh
fi

A případně obnoví databázi mysql ze zálohy:

 kill `cat /var/run/mysqld/mysqld.pid`
cd /var/lib/mysql
rm -rf mysql
tar xfj /root/mysql.tar.bz2
/etc/init.d/mysql start > /dev/null

To je asi nejjednodušší možné řešení, ale asi by to šlo řešit elegantněji, kdybych nebyl tak líný :-).

No server zatím běží, tak uvidíme jak pravdivé jsou pověsti o nespolehlivosti neplacených služeb u pipni.cz.

A pokud by se někdo chtěl podívat, tak je to pma.cihar.com .

Hrátky se symlinky

Právě se mi podařilo se zamotat ve vlastním chaosu symlinků, tak jsem se vydal trochu zkoumat jejich chování. Proč je pro ls symlink něco jiného než pro cd?

Nejdříve příklad, na kterém si to můžete vyzkoušet:

 mkdir dir1 dir2
touch dir1/file_in_1 dir2/file_in_2
ln -s ../dir1 dir2/d1

Tím vznikla takováto struktura:

 $ ls -lR
.:
total 0
drwxr-xr-x  2 michal michal 22 2005-10-25 22:09 dir1
drwxr-xr-x  2 michal michal 31 2005-10-25 22:09 dir2

./dir1:
total 0
-rw-r--r--  1 michal michal 0 2005-10-25 22:08 file_in_1

./dir2:
total 0
lrwxrwxrwx  1 michal michal 8 2005-10-25 22:09 d1 -> ../dir1/
-rw-r--r--  1 michal michal 0 2005-10-25 22:08 file_in_2

Proč ale z d2 je .. něco jiného pro cd a pro ls?

 dir2/d1$ ls
file_in_1
dir2/d1$ ls ..
dir1  dir2
dir2/d1$ cd ..
dir2$ ls
d1  file_in_2

Jak na ten zápis po napsání koukám, tak mi to připadá spíš jako core dump než zápis do blogu :-).

Lukrativní nabídka

Tak nevím, mám si nechat umístit na stránky reklamu? Když si někdo vybral takto konkrétní stránku, tak to určitě bude velmi cílená reklama, akorát mám pocit, že těch pár návštěvníků co si čte dokumentaci k API Gammu mi asi moc peněz nepřinese :-).

Our company ExpoActive operates an online advertising service and we are interested in purchasing ad space on your website. Right now we wanted to find out about placing a text based ad on the page http://www.cihar.com/gammu/docs/siemens_8h.html

However we would also be willing to have our ad shown on all pages of your site at your discretion. Currently we would be willing to pay you $ .25 for every click that this ad receives.

No aspoň se má spamassasin zase co učit…

Nemám rád ukecané uživatele

Je sice pěkné, že se někdo odhodlá nahlásit bug, ale když to bere jako slohové cvičení a stejně tak každý doplňující komentář, tak to vývojáře akorát naštve. Pravda už jsem schopný číst takové výplody letmým prohlédnutím a hledáním klíčových slov, ale pak snadno něco unikne :-).

Prostě napište bugreport mající 7 KiB a ještě k tomu připište 3 KiB komentář a máte zaručené, že vás vyvojáři budou mít rádi, nemají totiž nic lepšího na práci než si číst :-). A ještě ke všemu to je oblíbený problém s přechodem na MySQL 4.1 :-).

Dokonalý zámek

Tak nějak si hraju se zámkem na notebook a najednou jsem zjistil, že je odemčený. No to určitě byla náhoda, tak zkouším znovu a tentokrát již pozorně a opravdu není problém tento zámek odemknout na jedno otočení každým kolečkem, tomu říkám bezpečí.

No třeba to nějakého zloděje odradí, ale moje důvěra v produkty firmy Kensington® tím značně utrpěla.

Sourceforge.net a priority support

Po nějaké době používání sourceforge, jsem se rozhodl trochu přispět a stal jsem se subscriberem. Mimo jiné to nabízí priority support. Podle popisu by se mými požadavky měli zabývat dříve něž těmi od uživatelů, kteří nezaplatili.

Minulý víkend jsem si dovolil vyplnit dva požadavky a řešení zatím nikde. První se týká podivných statistik u projektů (hlavně náhodně se objevující nulové stáří položek v trackeru, což sice potěší, že nám průměrné stáří kleslo pod rok, ale jaksi to není zrovna správná hodnota :-) ) a druhý je tak trochu bezpečnostní díra sourceforge, umožňující cross site scripting (viz tento feature request).

Po týdnu je u jednoho stav. že to bylo předáno vývojáři (doufám, že ten aspoň existuje, ještě se neozval) a u druhého jsem se zatím dozvěděl, že „We are still working on this issue. As soon as I have any more information I will provide it to you ASAP“.

No musím přiznat, že prioritní řešení problémů si představuji trochu jinak.