Až Vám zčerná obrazovka, přejděte na Linux!

Proč používat Linux

úterý 8. prosince 2009

Invalid checksum na UDP paketech

Nějakou dobu jsem laboroval s tím, že mi javovská aplikace běžící na IBM xSeries x3650 s OpenSuSE 11.0 generovala invalidní UDP pakety. Hlásil mi to WireShark (dříve ethreal).
Firmware jednočipu G2 to nebyl sto sežrat a pokud jsem na něj chtěl data dostat, musel jsem to vyřešit. Tak jsem Gůglil a zkoušel...

Výsledek mého snažení lze shrnout do těchto bodů:
  • Je to víc jak rok známý problém a řeší se, ale ještě není vyřešen.
  • Problém není v Javě, ale někde mezi jádrem a síťovkou. Stejný kernel na jiné síťovce funguje, jsou prý kernely, které s těmito síťovkami fungují. V tomto případě to nechodí na Broadcom Corporation NetXtreme II BCM5708 Gigabit Ethernet (rev 12)
  • Na vině je chybné generování checksumu síťovkou, neboť při použití Raw Socket (což Java dělá), generuje checksum právě síťovka (nebo její modul, nevím, ve zdrojácích jsem nebyl)
  • Řešením je použití TCP checksum offload, které vypíná ono generování kontrolního součtu.
  • Na Linuxu se k vypnutí použije ethtool -K ethN rx off tx off, kde ethN odpovídá konkrétní síťovce, kde to chcete vypnout (tedy eth0, eth1,...)

Třeba to někomu pomůže...

středa 2. prosince 2009

Pochromovaný chameleon aneb Google Chrome na OpenSuSE 11.2

JO! Už je to tady! Máme hrábě v ruce! Teda nikoli hrábě, ale Google Chrome. Jeden z uživatelů OpenSuSE Build Service, dbuck, připravil OpenSuSE Chromium repository s oním přelomovým prohlížečem. Až budu mít nějaké dlouhodobější zkušenosti, dám vědět. Na Ubuntu 9.10 64bit běhá naprosto krásně, a to včetně nepodporovaného Flashe.

Instalace probíhá násůedovně:
1) Přidejte dbuckovu repository pro zypper:
Pro uživatele openSUSE 11.2:
sudo zypper ar http://download.opensuse.org/repositories/home:/dbuck/openSUSE_Factory/ Chromium

Pro uživatele openSUSE 11.1:
sudo zypper ar http://download.opensuse.org/repositories/home:/dbuck/openSUSE_11.1/ Chromium

Pro uživatele openSUSE 11.0:
sudo zypper ar http://download.opensuse.org/repositories/home:/dbuck/openSUSE_11.1/ Chromium

Díky tomu, že dbuck nachystal build tak, že se zdrojáky tahají přímo ze svn projektu chromium, prohlížeč je tedy chromium-browser, nikoli chrome.

Když je repository přidána, můžeme instalovat:
sudo zypper in chromium-browser

No a spustí se pomocí
chromium-browser

Spolu pak můžeme jenom poděkovat dbuckovi za dobře odvedenou práci..