abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 22:44 | IT novinky

    IBM kupuje společnost HashiCorp (Terraform, Packer, Vault, Boundary, Consul, Nomad, Waypoint, Vagrant, …) za 6,4 miliardy dolarů, tj. 35 dolarů za akcii.

    Ladislav Hagara | Komentářů: 2
    včera 15:55 | Nová verze

    Byl vydán TrueNAS SCALE 24.04 “Dragonfish”. Přehled novinek této open source storage platformy postavené na Debianu v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 13:44 | IT novinky

    Oznámeny byly nové Raspberry Pi Compute Module 4S. Vedle původní 1 GB varianty jsou nově k dispozici také varianty s 2 GB, 4 GB a 8 GB paměti. Compute Modules 4S mají na rozdíl od Compute Module 4 tvar a velikost Compute Module 3+ a předchozích. Lze tak provést snadný upgrade.

    Ladislav Hagara | Komentářů: 0
    včera 04:44 | Nová verze

    Po roce vývoje od vydání verze 1.24.0 byla vydána nová stabilní verze 1.26.0 webového serveru a reverzní proxy nginx (Wikipedie). Nová verze přináší řadu novinek. Podrobný přehled v souboru CHANGES-1.26.

    Ladislav Hagara | Komentářů: 0
    včera 04:33 | Nová verze

    Byla vydána nová verze 6.2 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Přehled změn v příslušném seznamu. Tor Browser byl povýšen na verzi 13.0.14.

    Ladislav Hagara | Komentářů: 0
    včera 04:22 | Nová verze

    Byla vydána nová verze 30.0.0 frameworku pro vývoj multiplatformních desktopových aplikací pomocí JavaScriptu, HTML a CSS Electron (Wikipedie, GitHub). Chromium bylo aktualizováno na verzi 124.0.6367.49, V8 na verzi 12.4 a Node.js na verzi 20.11.1. Electron byl původně vyvíjen pro editor Atom pod názvem Atom Shell. Dnes je na Electronu postavena celá řada dalších aplikací.

    Ladislav Hagara | Komentářů: 2
    včera 04:11 | Nová verze

    Byla vydána nová verze 9.0.0 otevřeného emulátoru procesorů a virtualizačního nástroje QEMU (Wikipedie). Přispělo 220 vývojářů. Provedeno bylo více než 2 700 commitů. Přehled úprav a nových vlastností v seznamu změn.

    Ladislav Hagara | Komentářů: 0
    23.4. 23:22 | IT novinky

    Evropský parlament dnes přijal směrnici týkající se tzv. práva spotřebitele na opravu. Poslanci ji podpořili 584 hlasy (3 bylo proti a 14 se zdrželo hlasování). Směrnice ujasňuje povinnosti výrobců opravovat zboží a motivovat spotřebitele k tomu, aby si výrobky nechávali opravit a prodloužili tak jejich životnost.

    Ladislav Hagara | Komentářů: 8
    23.4. 16:11 | Nová verze

    Bylo oznámeno (cs) vydání Fedora Linuxu 40. Přehled novinek ve Fedora Workstation 40 a Fedora KDE 40 na stránkách Fedora Magazinu. Současně byl oznámen notebook Slimbook Fedora 2.

    Ladislav Hagara | Komentářů: 23
    23.4. 13:44 | Upozornění

    ČTK (Česká tisková kancelář) upozorňuje (X), že na jejím zpravodajském webu České noviny byly dnes dopoledne neznámým útočníkem umístěny dva smyšlené texty, které nepocházejí z její produkce. Jde o text s titulkem „BIS zabránila pokusu o atentát na nově zvoleného slovenského prezidenta Petra Pelligriniho“ a o údajné mimořádné prohlášení ministra Lipavského k témuž. Tyto dezinformace byly útočníky zveřejněny i s příslušnými notifikacemi v mobilní aplikaci Českých novin. ČTK ve svém zpravodajském servisu žádnou informaci v tomto znění nevydala.

    Ladislav Hagara | Komentářů: 29
    KDE Plasma 6
     (72%)
     (9%)
     (2%)
     (17%)
    Celkem 721 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    krutý boj s madwifi

    8.9.2007 16:45 | Přečteno: 3355× | Linux | poslední úprava: 8.9.2007 16:51

    Po delší době bych chtěl udělat upgrade softwaru (kernel, ovladače, programy), který používáme na routery v naší síti, ze začátku šlo vše skoro hladce, tedy když nepočítám to, že některé volby v jádře nedovolily systému nastartovat například ve VMware, nebo ve VirtualBoxu (ten chodil až se zapnutým SMP a pamětí nastavenou maximálně na 4GB, 64GB mu dělalo obrovský problém).

    Po cca dvou dnech jsem nasadil celý systém do ostrého provozu, ovšem nestačil jsem se divit, vypadával mi jeden kernel panic za druhým a ve virtuálních strojích se nic takového nedělo, zkusil jsem tedy nasadit starší jádro (včetně ovladačů) a vše opět fungovalo normálně.

    Hned ze začátku mi bylo jasné, že problém bude někde v madwifi ovladačích, které si s každou novou verzí připraví novou chuťovku v podobě kernel panicu za speciálních nikým nedokumentovaných okolností, ovšem že tyto okolnosti najdu 2 v aktuální stabilní verzi a 3 v trunk verzi jsem tedy z počátku opravdu netušil.

    Protože mi kamarád, který má obchod na prodej PC dovezl dvě hračky, které jsem si objednal přímo na testování, tak jsem dlouho nelenil, obě PC jsem složil na stole a začal jsem simulovat některé normální situace.

    Nejprve jsem použil aktuální nejnovější stable ovladač 0.9.3.2, hned po prvním staru jsem ale zjistil, že při nahození v režimu master (ap) je to jistý kernel-panic. Zkusil jsem tedy starší verzi 0.9.3 o které jsem věděl že chodila dobře, musel jsem najít patch, díky kterému jí zkompiluji s kernelem 2.6.22.5, poté jsem to zkusil znovu a tentokrát opravdu vše fungovalo normálně, až na jednu maličkost o té ale později.

    Začal jsem tedy pátrat který patch způsobil takto závažné problémy, po cca 14 kompilacích jsem zjistil, že tento problém způsobuje patch, který měl vyřešit ticket 1388. Po jeho odstranění ve verzi 0.9.3.2 vše šlapalo jako hodinky. Až na jednu maličkost.

    Po delším testování jsem našel další jistý kernel panic, ne tak snadno reprodukovatelný, ale přesto velmi častý. Začal jsem nejdřív simulovat různé situace, kdy se tak děje a kdy ne, přišel jsem na to, že se tak stává hlavně pokud používám AP v režimu WDS a klient v režimu WDS se nově připojí, nebo změní rychlost, ne vždy, ale třeba každé 3 připojení. Tento bug se projevuje jak ve verzi 0.9.3, tak ve verzi 0.9.3.2 a existuje i ticket 1516, který ho asi popisuje. Pokud tedy znáte nějaké AP s madwifi ve WDS režimu a chcete mu způsobit ošklivý kernel panic, nic vám v tom nezabrání :)

    Zkusil jsem tedy nejnovější trunk verzi madwifi ovladače, nejprve však DFS, která trpěla ještě větší nestabilitou, než původní verze 0.9.3.2. Kernel panic při nahození karty v režimu AP byl naprosto běžný i po odstranění výše zmíněného patche, tak se při větších přenosech stávalo, že DFS verze detekovala radar naprosto chybně (u mě doma a vždy na stejném kanále, na jakém se vysílalo) při velké zátěži, po této detekci se spojení na daném kanále přerušilo. Hledat chyby se mi už opravdu nechtělo, takže jsem to vzdal a přešel na trunk verzi.

    Trunk verz 2702, s touto verzí se mi zaseknout kernel sice nepodařilo, podotýkám že až po odstranění patche z ticketu 1388, jinak padala hned po startu karty, respektive už také podařilo, ale nejedná se o běžnou situaci (přepínání xr režimu pře iwpriv), ale nedařilo se mi navázat spojení, takže data neprotékala.

    Podíval jsem se tedy do výpisu jaké patche v poslední době šly do trunk verze, hned ten poslední byl dost divný, takže jsem zkusil předposlední verzi a hurá, už žádné časté zasekávání jádra, už žádné další libovolné restarty, po odstranění patche z ticketu 1388 a jedné drobné úpravě mohu verzi 2695 prohlásit za opravdu stabilní (relativně vzato).

    Už zbýval jen jediný problém, po instalaci aktuální verze jsem zjistil, že přenosová rychlost poklesla o cca 35%, z původních 4,2MB/s jedním směrem na 3,3MB/s, hledal jsem co se změnilo, nakonec jsem našel že to dělá asi aktivní doth režim, stačil tedy příkaz iwpriv ath0 doth 0 a už to zase jede krásné 4MB/s.

    Co z tohoto zápisu plyne, že vývojáři ovladačů jsou zase jen lidi, někteří horší, někteří lepší a že podobnou zkušenost nikomu z vás nepřeji.

    PS: O problému "udev v Debianu vs madwifi" už raději ani psát nebudu, už takhle je to ho opravdu dost.

    Přikládám obrázky a ukázkový skript, který používám pro nahození atheros karet, jednotlivé parametry si určitě doplníte:
    	dev=ath"`echo $name | perl -ne 'print $1 if (/ath([0-9])/);'`"
    	if [ $dev = "ath" ]; then
    	    echo "Wrong file name, please rename file to format *athX*"
    	    exit 1
    	fi
    	# Nastaveni karet
    	. "$1"
    	echo -n "Starting $dev..."
    	# musime provest slozitou kontrolu na chybny udev v debianu, chyba se tyka jen madwifi!
    	if [ -e "/etc/udev/persistent-net-generator.rules" ]; then
    	    while read LINE; do
    	        if [ "`echo \"$LINE\" | cut -c 1`" != "#" ]; then
    		    if [ "`echo \"$LINE\" | grep -i ath | grep \"*\"`" != "" ]; then
    		        if [ "`echo \"$LINE\" | grep \"persistent_net_generator_end\"`" != "" ]; then
    			    if [ "`echo \"$LINE\" | grep 802`" == "" ]; then
    			        break
    			    fi
    			elif [ "`echo \"$LINE\" | grep KERNEL`" != "" ]; then
    			    pom1=true
    			fi
    		    fi
    		fi
    	    done < "/etc/udev/persistent-net-generator.rules"
    	    if [ $pom1 ]; then
    	        echo "Soubor /etc/udev/persistent-net-generator.rules je chybny!"
    	        echo "Pro spravnou funkci madwifi ovladcu bude soubor upraven!"
    	        rm -f /tmp/persistent-net-generator.rules
    		while read LINE2; do
    		    if [ "`echo \"$LINE2\" | cut -d, -f1`" == "NAME==\"?*\"" ]; then
    		        echo "$LINE2" >> /tmp/persistent-net-generator.rules
    		        break
    		    else
    			echo "$LINE2" >> /tmp/persistent-net-generator.rules
    		    fi 
    		done < "/etc/udev/persistent-net-generator.rules"
    		echo '' >> /tmp/persistent-net-generator.rules
    		echo '# ignore interfaces of the madwifi driver' >> /tmp/persistent-net-generator.rules
    		echo 'KERNEL=="ath*",                         GOTO="persistent_net_generator_end"' >> /tmp/persistent-net-generator.rules
    		while read LINE2; do
    		    if [ "`echo \"$LINE2\" | cut -d, -f1`" == "NAME==\"?*\"" ]; then
    		        pom2=true
    		    elif [ $pom2 ]; then
    		        echo "$LINE2" >> /tmp/persistent-net-generator.rules
    		    fi
    		done < "/etc/udev/persistent-net-generator.rules"
    		rm -f "/etc/udev/persistent-net-generator.rules"
    		if [ -e "/etc/udev/persistent-net-generator.rules" ]; then
    		    /etc/init.d/set_readonly stop
    		    mv "/tmp/persistent-net-generator.rules" "/etc/udev/persistent-net-generator.rules"
    		    /etc/init.d/set_readonly start
    		else
    		    mv "/tmp/persistent-net-generator.rules" "/etc/udev/persistent-net-generator.rules"
    		fi
    		echo > "/etc/udev/rules.d/z25_persistent-net.rules"
    	    fi
    	fi
    	# normalne pokracujeme dal
    	case $MODE in
    	    ap|master)
    	        MODE="ap"
    	        ;;
    	    sta|managed)
    		MODE="sta"
    		;;
    	    adhoc|ad-hoc)
    		MODE="adhoc"
    	        ;;
    	    *)
    		;;
    	esac
    	# madwifi si s kazdou novou verzi pripravi novou lahudku,
    	# takze tento skript muze zpusobit pad PC!
    	#
    	# nejprve musime overit jestli neni karta v nejakem bridgi
    	if [ "`brctl show | grep $dev`" != "" ]; then
    	    I="0"
    	    # danou kartu odpojime ze vsech bridgu
    	    while [ "$I" -lt "10" ]; do
    		brctl delif br$I $dev &>/dev/null
    		((I++))
    	    done
    	fi
    	# z interfaces zjistime, jestli nektera karta neni v bridgi
    	while read LINE; do
    	    if [ "`echo $LINE | awk '{print \$1}' | cut -c 1`" != "#" ]; then
    		# radek s bridge_ports je vzdy az po rozhrani
    	        if [ "`echo $LINE | grep \"bridge_ports\" | grep $dev`" != "" ]; then
    		    BR_DEV="$BDEV"
    		elif [ "`echo $LINE | awk '{print \$2}' | grep \"br\" | grep -Eo [[:digit:]]+`" != "" ]; then
    		    BDEV="`echo $LINE | awk '{print \$2}'`"
    		fi
    	    fi
    	done < /etc/network/interfaces
    	# vypneme predchozi rozhrani
    	$ifdown $dev &>/dev/null
    	$ifconfig $dev down &>/dev/null
    	$wlanconfig $dev destroy &>/dev/null
    	sleep 0.5
    	N=`echo $dev | cut -c4`
    	WIFI="`ls -1 /proc/sys/dev/ | grep wifi | sed -n \`expr 1 + $N\`p`"
    	$wlanconfig $dev create wlandev $WIFI wlanmode $MODE 1>/dev/null
    	sleep 0.5
    	if [ "`echo $CHANNEL | cut -d- -f1`" -gt 14 ] && [ "$W_MODE" != "0" ]; then
    	    $iwpriv $dev mode 1
    	else
    	    $iwpriv $dev mode $W_MODE
    	fi
    	# rezim turbo neni v CR povolen
    	if [ "$TURBO" == "1" ]; then
    	    $iwpriv $dev turbo 1
    	else
    	    $iwpriv $dev turbo 0
    	fi
    	# zlepsuje stabilitu ovladace
    	$iwpriv $dev xr 0
    	# zlepsuje stabilitu spojeni, tyka se asi jen 802,11g
    	$iwpriv $dev protmode 0
    	# zlepsuje rychlost spojeni, tim ze neskenujeme na pozadi
    	$iwpriv $dev bgscan 0
    	# specialni nastaveni zlepsujici rychlost o 100% pro madwifi spoj
    	if [ "$CONNECTION" == "madwifi" ]; then
    	    # atheros superA/G adaptive radio zlepsuje rychlost i stabilitu spojeni
    	    $iwpriv $dev ar 1
    	    # zlepsuje pruchod videa/audio a voip
    	    $iwpriv $dev wmm 1
    	    # rezim burst zlepsuje rychlost spoje
    	    $iwpriv $dev burst 1
    	    # fast frame zlepsuje rychlost spoje velmi znatelne
    	    $iwpriv $dev ff 1
    	else
    	    $iwpriv $dev ar 0
    	    $iwpriv $dev wmm 0
    	    $iwpriv $dev burst 0
    	    $iwpriv $dev ff 0
    	fi
    	# rezim doth extremne zhorsuje prenosove rychlosti, pro A je rozdil 3 vs 4 MB/s
    	# tento rezim je zapnut az v ovladacich madwifi-ng trunk, neni zapnuty ve stable vetvi
    	$iwpriv $dev doth 0
    	# wds rezim, pouziti hlavne pro bridge, dovolime bridge jen s ethernetem!
    	if [ "$WDS" == "1" ] || [ "$BR_DEV" != "" ]; then
    	    $iwpriv $dev wds 1
    	else
    	    $iwpriv $dev wds 0
    	fi
    	# essid
    	$iwconfig $dev essid $ESSID
    	# wep klic
    	$iwconfig $dev key $KEY
    	# rychlost
    	$iwconfig $dev rate $RATE
    	# nastaveni anteny na karte
    	if [ "$ANTENNA" == "1" ] || [ "$ANTENNA" == "" ]; then
    	    echo 0 > /proc/sys/dev/$WIFI/diversity
    	    echo 1 > /proc/sys/dev/$WIFI/txantenna
    	    echo 1 > /proc/sys/dev/$WIFI/rxantenna
    	elif [ "$ANTENNA" == "2" ]; then
    	    echo 0 > /proc/sys/dev/$WIFI/diversity
    	    echo 2 > /proc/sys/dev/$WIFI/txantenna
    	    echo 2 > /proc/sys/dev/$WIFI/rxantenna
    	fi
    	# nastaveni ack, cts a slottime pro vzdalenejsi spoje
    	if [ "`echo $DISTANCE | grep km`" != "" ]; then
    	    DISTANCE="`echo $DISTANCE | cut -d \"k\" -f1`"
    	    DISTANCE="`expr $DISTANCE \* 1000`"
    	elif [ "`echo $DISTANCE | grep m`" != "" ]; then
    	    DISTANCE="`echo $DISTANCE | cut -d \"m\" -f1`"
    	fi
    	SLOTTIME="`expr \( 9 + \( $DISTANCE / 300 \) \) + \( \( $DISTANCE % 300 \)  \> \( 1 / 2 \) \)`"
    	ACKTIMEOUT="`expr $SLOTTIME \* 2 + 3`"
    	CTSTIMEOUT="`expr $SLOTTIME \* 2 + 3`"
    	echo $SLOTTIME > /proc/sys/dev/$WIFI/slottime
    	echo $ACKTIMEOUT > /proc/sys/dev/$WIFI/acktimeout
    	echo $CTSTIMEOUT > /proc/sys/dev/$WIFI/ctstimeout
    	# nastaveni kanalu
    	if [ "`echo \"$CHANNEL\" | grep -`" == "" ]; then
    	    # pro karty v rezimu sta nenastavujeme kanal
    	    if [ "$MODE" != "sta" ]; then
    	        $iwconfig $dev channel $CHANNEL
    	    fi
    	else
    	    $athchans -i $dev "$CHANNEL"
    	fi
    	if [ "$BR_DEV" != "" ]; then
    	    # rozhrani pro bridge uz existuje, takze jen pridame kartu
    	    if [ "`brctl show | grep $BR_DEV`" != "" ]; then
    		brctl addif $BR_DEV $dev
    	    fi
    	    # podstatne zrychli start bridge
    	    brctl setfd $BR_DEV 0
    	    $ifconfig $dev up
    	else
    	    $ifconfig $dev up
    	    if [ "`cat /etc/network/interfaces | grep $dev`" != "" ]; then
    		$ifup $dev
    	    fi
    	fi
    	# vykon lze nastavit az po nahozeni karty
    	$iwconfig $dev txpower $TXPOWER # Velmi problematicke nastaveni
    	echo "done."
    
           

    Hodnocení: 100 %

            špatnédobré        

    Obrázky

    krutý boj s madwifi, obrázek 1 krutý boj s madwifi, obrázek 2 krutý boj s madwifi, obrázek 3

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    8.9.2007 16:53 Smrádě
    Rozbalit Rozbalit vše off topic
    Proč si neposuneš ten stůl dál od zdi a monitor nedáš naopak ke zdi blíž (do rohu stolu)? Vždyť takhle se nedá pracovat :-)
    8.9.2007 16:56 Thunder.m | skóre: 35 | blog: e17
    Rozbalit Rozbalit vše Re: off topic
    Na tom stole jen mám ta zařízení, všechno ostatní dělám z druhé části pokoje z jiného PC přes SSH, k tomu stolu se jen zajdu podívat když vypadne kernel panic (takže celkem často) a notebook je na pojízdné židli, ten je normálně jinde, jen jsem ho tam přesunul, aby to vypadalo trochu líp :)

    PS: Kdo jako první zjistí jak ty stroje startují OS, dostane bombón :)
    8.9.2007 17:58 D-Evil | skóre: 25 | Praha
    Rozbalit Rozbalit vše Re: off topic
    Tipuju síť, ale chtěl bych čokoládu, pokud jsem se trefil. Ideálně oříškovou :-)
    8.9.2007 17:58 miso | skóre: 36 | blog: iSCSI_initiator_howto | Praha
    Rozbalit Rozbalit vše Re: off topic
    PXE + iSCSI?
    Project Satan infects Calculon with Werecar virus
    8.9.2007 18:07 Thunder.m | skóre: 35 | blog: e17
    Rozbalit Rozbalit vše Re: off topic
    PXE + ramdisk, celý operační systém je v cca 150MB velkém obrazu, který se stáhne přes tftp po síti...
    8.9.2007 20:39 Zdeněk Štěpánek | skóre: 57 | blog: uz_mam_taky_blog | varnsdorf
    Rozbalit Rozbalit vše Re: krutý boj s madwifi
    No ja ted mel taky velice "zabavnou" prihodu s madwifi. V uvozovkach proto, ze se stala kolegovi na 80m vysokem kominu.

    Zacalo to nejakym bleskem, komp umrel. Kolega tam vylezl, vytahal co se dalo a zjistil ze je vadnej PCI riser (obsahuje i IDE a ATX konektor), tak ho vymenil a zacal strkat karty. Disk prezil, bootoval. Vse slo az na atheros, jak ho tam dal, komp byl do minuty mrtvy. Karta predtim v tom AP jela a stejne tak i ten disk. Do minuty mrtvy. Zkusil vymenit kartu za jinou, zase do minuty mrtvy. OK, zkusime jiny disk (CF) se slackwarem, opet do minuty mrtvo. Jeden disk, druhej disk, jedna karta, druha karta, vzdy umrel. Zkusili jsme jeste druhou zakladni desku opet s ruznymy kombinacemi. Vzdy do minuty mrtvo.

    Zajel jsem pro komp dell (predtim to byly 2 stejne compaqy), v nem sice botnul jen puvodni disk co prezil bourku, ale opet s jakoukoliv kartou do minuty mrtvo.

    Druha karta byla zcela nova, ale jak se rika, to jeste neznamena ze je v poradku :-(

    Takze 5g ted nejede, nastesti jsme se spolupracojici siti vymysleli zalozni reseni.

    Zitra odpoledne se budu snazit slozit komp ve kterym jedna z tech karet neumre.

    Zdenek
    www.pirati.cz - s piráty do parlamentu i jinam www.gavanet.org - czfree varnsdorf
    8.9.2007 21:27 janskyj | skóre: 11 | blog: linuxuv_blog
    Rozbalit Rozbalit vše Re: krutý boj s madwifi
    Ty parametry na tunning spojení pomocí iwpriv mě upoutali. Sice jsem přečetl madwifi-user-guide, ale nebylo tam napsaný, co mam zapnout pro zvýšení rychlosti ;-) Kde jste k nim získal tip, že je máte zapnout? Zítra je mám v plánu vyzkoušet, ale podle dokumentace je většina z nich stejně v default zapnutá (pokud to hw podporuje).
    Krystaly, polovodiče, všechno směšné. Co tak konzole z digitronů, to by bylo něco pro pravé muže. :)
    8.9.2007 22:36 Thunder.m | skóre: 35 | blog: e17
    Rozbalit Rozbalit vše Re: krutý boj s madwifi
    Zkušeností (měřením), podle toho co se píše v některých ticketech na webu a také ve wiki. Ano, většina parametrů je předem zapnutá, ale pozor, pokud například spoj nepracuje proti madwifi, tak to může být ve výsledku mnohem horší (parametr CONNECTION v tom skriptu). Myslím, že pokud používáte madwifi-ng trunk, tak pomůže asi jen vypnutí doth, ale hned je to o 35% rychlejší spoj :)

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.