Archív

Autorův archiv

Oprava routeru

Už to vypadalo že se s routerem nadobro rozloučím, ale díky komentářům pod článkem router je po smrti, jsem se rozhodl pokusit se o opravu.

Dle rad jsem se tedy rozhodl vyměnit vydutý kondenzátor na desce routeru 470μF/16V 105°C pro který jsem zašel do GME, když jsem viděl tu cenu, rovnou jsem koupil dva a vyměnil i ten druhý. Vypadal sice OK, ale pro jistotu byl vyměněn. Konkrétně se jedná o tento CE 470u/16VT JAM-TK 8×11,5 RM3,5 BULK od JAMICON.

Po výměně kondenzátorů nebyl router pořád funkční a tak bylo třeba se podívat i na zdroj. Neměl jsem možnost zdroj nijak otestovat, tak jsem ho rovnou rozlousknul. Naštěstí to nebylo nic těžkého, stačí nožem šikmo zatlašit do spáry a nechat povolit lepidlo. Po otevření zdroje bylo vše jasné.

Rovněž vydutý kondenzátor s hodnotami 1200μF/10V 105°C. Bohužel ani GME a GES nenabízí kondenzátor takové kapacity, proto jsem jej nahradil modelem 1500μF/10V 105°C. Jedná se o filtrační kondenzátor, proto netřeba si příliš lámat hlavu nad jeho kapacitou. Zašel jsem tedy do GESu pro RAD 1500/10 HT RM5 od HITANO.

Stačila chvilka a kondenzátor byl vyměněn a ihned otestován v provozu. Router se rozsvítil, nastartoval a do teď běží. Paráda. Do ostrého provozu ho zatím nedám, mezitím jsem ho nahradil routerem TP-LINK TL-WR842ND. Otázkou je co s ním dál, zda nechat v provozu, nebo prodat dál. Uvidíme

Náklady na opravu celkem: 2×3 + 5 = 11 Kč za kondenzátory + vlastní práce zdarma. Výměny se netřeba bát, zvládne to každý, ale na vlastní nebezpečí!!!

Galerie z opravy:

jde se měnit

Závěrem chci poděkovat uživatelům Miro a Saf za inspiraci, dále ještě Leošovi a Jardovi za jejich rady.

Categories: Asus WL-500gP Tags:

router je po smrti

Není to tak dávno co jsem si říkal, jak ten Asus dlouho drží. Neuběhl ani měsíc a je po něm.  Byl v provozu od září roku 2008 a vydržel tedy přes 4 roky ve využití se kterým výrobce původně vůbec nepočítal.

Router jsem tenkrát kupoval na impactware.cz za 1500 Kč s DPH. Vzhledem k tomu že už se dávno neprodává, stačí se podívám do současných aukcí a zjistíte že se stále „prodává“ i za 1000Kč. Cenu tedy opravdu neztrácí.

Není tedy třeba truchlit, svět jde dál a je třeba vybrat jiný model.

Router jsem jen tak ze zvyku kuchnul. Jediné co teď dělá, střídavě bliká LAN a PWR, jak by se pořád restartoval. Z obrázků není patrná žádná „závada“ a ani ji řešit nebudu. Prostě to má za sebou. Kdyby měl někdo zájem třeba o miniPCI WiFi kartu BCM4318, počítám že bude zdravá, klidně se ozvěte.

led diody

Já jdu vybírat důstojného nástupce, minimálně takového který bude kompatibilní s OpenWrt.

Tímto tedy končí moje podpora tohoto modelu. Tento web ale nekončí, budu zde pokračovat v modech nového routeru a nadále budu odpovídat podle toho co budu vědět.

 

Categories: Asus WL-500gP Tags: ,

úprava vykreslování grafu pomocí RRDtool

RRDtool nabízí spoustu možností jak vykreslování grafů upravit a proto jsem se rozhodl i ty svoje, které používám k vykreslování průběhu měřený teplot, upravit.

Takže jsem se z původního vzhledu: původní verze Dostal až k tomuto: upravená verze

Původní skript k vykreslování grafu lite.php, který se cronem pouští každých 5 minut a vykresluje grafy jen 2 poslední dny a 3 hodiny, vypadal takto:

<?
include ("config.php");
$commands_all = array("hour"=>"--start -10800", "day"=>"--start -160000");
foreach ($commands_all as $name=>$time)
{
$command = $rrdtool.' graph '.$rrdImgDir.'all_'.$name.'.png '.$time.' ';
foreach ($sensors as $n=>$str)
{
$command .= 'DEF:d'.$n.'='.$rrdDir.$n.'.rrd:temp:AVERAGE ';
}
foreach ($sensors as $n=>$str)
{
$command .= 'LINE1:d'.$n.$color[$n].':"'.$str.'" ';
}
$command .= '-h'.$y.' -w'.$x.' -y1:2 --color GRID#dddddd --color MGRID#aaaaaa';
shell_exec($command);
}
?>

Hlavní výhodou takto napsaného skriptu je, že se změnou počtu čidel netřeba nic měnit, stačí upravit jen config.php, pro úravy je lehce nepřehledný, ale dílo se povedlo a nová verze vypadá takhle:


<?
# Cooper Dale
include ("config.php");
$commands_all = array("hour"=>"--start -10800", "day"=>"--start -160000");
foreach ($commands_all as $name=>$time)
{
$command = $rrdtool.' graph '.$rrdImgDir.'all_'.$name.'.png '.$time.' -t "Teploty u Coopera" -v "teplota v °C" --watermark "by Cooper" ';
$command .= 'HRULE:0'.$ZeroTempColor.':"'.$ZeroTempText.' \\n" ';
foreach ($sensors as $n=>$str)
{
$command .= 'DEF:d'.$n.'='.$rrdDir.$n.'.rrd:temp:AVERAGE ';
}
foreach ($sensors as $n=>$str)
{
$command .= 'LINE1:d'.$n.$color[$n].':"'.$str.' \\t" ';
$command .= 'GPRINT:d'.$n.':MIN:"Min\: %5.2lf%s \\t" ';
$command .= 'GPRINT:d'.$n.':AVERAGE:"Avg\: %5.2lf%s \\t" ';
$command .= 'GPRINT:d'.$n.':MAX:"Max\: %5.2lf°C \\n" ';
}
$command .= 'LINE2:'.$CustomLine1.$CustomLine1Color.':'.$CustomLine1.'"'.$CustomLine1Text.'\\n" ';
$command .= '-h'.$y.' -w'.$x.' -y1:2 --color GRID#dddddd --color MGRID#aaaaaa';
shell_exec($command);
}
?>

A protože i já jsem na oficiálním webu RRDtool hodně tápal, vysvětlím pár důležitých řádků skriptu.

  • Přidání názvu grafu, popisky svislé osy a vodoznaku se povedlo takto:

    $command = $rrdtool.' graph '.$rrdImgDir.'all_'.$name.'.png '.$time.' -t "Teploty u Coopera" -v "teplota v °C" --watermark "by Cooper" ';

  • Přidání vodorovné čáry, která se zobrazí jen když je třeba se děje pomocí HRULE, hladina je 0°C s barvou a textem který se načítá z config.php.

    $command .= 'HRULE:0'.$ZeroTempColor.':"'.$ZeroTempText.' \\n" ';

  • Následně se pomocí DEF načítají data z databáze a vykreslují pomocí LINE s tloušťkou čáry 1, netřeba více vysvětlovat.
  • Pak se vkládá legenda grafu pomocí GPRINT , následuje opět název proměnné, co se má vypsat, zde MINimální hodnota z vykreslovaného průběhu, popisek hodnoty, 5 značí počet pozic před desetinou čárkou, 2 za ní. Zaokrouhlování ale není u teplot třeba, ale pro jistotu a omezení chyb nechávám. Dále ze pomocí l zarovná doleva a na závěr \\tabulátor pro mezeru, po MAX \\nový řádek. Shodně se děje i pro AVEARGE, MAX i případně LAST.

    $command .= 'GPRINT:d'.$n.':MIN:"Min\: %5.2lf%s \\t" ';
    $command .= 'GPRINT:d'.$n.':AVERAGE:"Avg\: %5.2lf%s \\t" ';
    $command .= 'GPRINT:d'.$n.':MAX:"Max\: %5.2lf°C \\n" ';

  • Dále vykresluji přes LINE povinnou a pevnou hladinu, s tloušťkou 2 body, ostatní parametry jsou uloženy v config.php, ta je na rozdíl od HRULE vidět vždy.

    $command .= 'LINE2:'.$CustomLine1.$CustomLine1Color.':'.$CustomLine1.'"'.$CustomLine1Text.'\\n" ';

  • Vlastní config.php se rozrostl o tyto řádky:

    $CustomLine1 = 24;
    $CustomLine1Color = "#0DC4F250";
    $CustomLine1Text = "°C ideál pro akvárko";
    $ZeroTempColor = "#0000ff";
    $ZeroTempText = "mrzlo!";

  • Jelikož lite.php generuji každých 5 minut a měsíční a roční graf jen jedou denně, je třeba v podobném duchu upravit i graphdata.php, kde jsem už řešil jen úpravu vykreslování společných grafů.
  • na závěr trochu opakování:
    • Řádek v /opt/etc/crontab vypadá následovně:

      01 01 * * * admin php /opt/etc/tempsensor/graphdata.php
      */5 * * * * admin /opt/etc/tempsensor/teplota

    • Skript /opt/etc/tempsensor/teplota který spouští celý proces měření, zapisování, vykreslování a zároveň ošetřuje dobu kdy je obrázek s grafem, kvůli jeho generování, nedostupný:

      #!/bin/sh
      #merici skript na mereni teploty
      #mereni
      /opt/bin/digitemp_DS9097 -aq -c /opt/etc/digitemp.conf > /opt/var/log/temperature.log && mv /opt/var/log/temperature.log /opt/var/log/digitemp.txt
      #zapsani do DB
      php /opt/etc/tempsensor/logdata.php
      #vykresleni jednoducheho grafu
      php /opt/etc/tempsensor/lite.php
      #kopie souboru s obrazkem
      cp /opt/share/www/lighttpd/temperature/all_day.png /opt/share/www/lighttpd/temperature/all_day_graph.png
      cp /opt/share/www/lighttpd/temperature/all_hour.png /opt/share/www/lighttpd/temperature/all_hour_graph.png

    • Výsledek je k vidění zde: http://cz777cooper.no-ip.info/temperature/akt.php
    • Celý návod o tom jak měřím teplotu je zde – …/zprovozneni-mereni-teploty

Doufám že je tento jednoduchý návod srozumitelný a bude někomu ku prospěchu. Případné dotazy pište do komentářů.

Categories: Asus WL-500gP Tags: , , ,

ladění funkcí a příkaz tail -f

02.09.2009 Bez komentářů

Pokud, na linuxu obecně, cokoliv ladíte či upravujete, případně jen sledujete chování je velice užitečný příkaz tail.
Není třeba nic doinstalovávat, jedná se o obecný příkaz.

V případě, že potřebujete soubor průběžně sledovat (Follow) použijte jej s parametrem -f, pokud tedy chcete monitorovat hlavní log routeru – syslog, použijte následující příkaz:

tail -f /usr/tmp/syslog.log

Tail vypíše posledních 10 řádků souboru a bude je dále aktualizovat. Běh programu ukončíte stiskem Ctrl+C.
Tail je užitečné mít spuštěný v druhé konzoli a sledovat tak dopad vašich kroků v logu.
Logy které se vyplatí monitorovat:

  • tail -f /usr/tmp/syslog.log
  • tail -f /opt/var/log/lighttpd/error.log
  • tail -f /opt/var/log/lighttpd/access.log
  • a další …

Sledování lze dotáhnout k dokonalosti třeba pomocí doplňku pro PuTTY s názvem PuTTY Connection Manager. Mezi použitelné funkce patří spouštění příkazů ihned po připojení a více konzolí v jednom okně.

PuTTY Connection Manager screen
Ke stažení PuTTY Connection Manager 0.7.1.136beta .

Categories: Asus WL-500gP, Linux návody Tags:

Problém s USB HUBem – rozbočovačem

I přesto, že použit USB HUB s externím napájením, některá zařízení nejsou rozpoznána, nebo nefungují korektně. Řešením může být použití příkazu rmmod ehci-hcd , který z jádra odstraní modul ehci-hcd, pro lepší správu jej vložte do inicializačního skriptu /opt/init.usb

Categories: Asus WL-500gP Tags:

Interní USB a RS232 port

Na desce routeru Asus WL-500g Premium je čip VIA VT6212L se čtyřportovým USB řadičem, ale pouze dva jsou vyvedeny na zadní stranu routeru. Pomocí dokumentace a jistou mírou zručnosti naleznete konektory USBP3+, USBP3- a USBP4+, USBP4- a napájení. Viz příloha.  Tímto způsobem lze do nitra routeru napevno zabudovat například pevný disk nebo zvukovou kartu při zachování volných vnějších USB portů.

Na desce se také nachází piny pro konektor RS232, ten je použitelný pouze pro řízení z konzole, viz příloha.


Categories: Asus WL-500gP Tags:

Přetaktování routeru

18.05.2009 komentáře 2

Router obsahuje procesor, který je možné přetaktovat a to velice jednoduše. Přetaktování se v praxi příliš neprojevilo a tak je zmíněno pouze pro testovací účely.

Po zadání příkazu cat /proc/cpuinfo zjistíme aktuální takt procesoru:

system type Broadcom BCM4704 chip rev 9 pkg 0
procesor 0
cpu model BCM3302 V0.6
BogoMIPS 263.78

Příkazem: nvram set clkfreq=300 && nvram commit && reboot router přetaktujete.

Zpět na původní takt příkazem: nvram set clkfreq=264 && nvram commit && reboot

Categories: Asus WL-500gP Tags:

Vývoj aplikací

17.05.2009 Bez komentářů

Balíčkem ipkg-opt -t /opt install optware-devel je možné nainstalovat podporu vývoje aplikací a balíčkem ipkg -t /opt install buildroot se nainstaluje gcc/g++[1]. Přepínač -t je nutný v případě, že používáte výchozí ipkg a ne ipkg-opt. Vzhledem k tomu, že router není nijak výkonné zařízení, instalace nějaký ten čas zabere. [16]

Pro překlad první ho kódu použijte příkaz gcc hello.c, který může obsahovat například:

#include
int main()
{
printf(„Hello World\n“);
return 0;
}


[1] GNU Compiler Collection (zkráceně GCC) je sada kompilátorů vytvořených v rámci projektu GNU. Původně překladač programovacího jazyka C později byly na stejném společném základě vytvořeny překladače jazyků C++, Fortran, Ada a dalších [1]

Categories: Asus WL-500gP Tags:

Ovládání routeru pomocí připojené USB klávesnice

17.05.2009 Bez komentářů

Pro jednoduché ovládání routeru pomocí připojené klávesnice[1] může být použita jakákoliv USB klávesnice, záleží pouze na počtu požadovaných příkazů. Je možné takto ovládat veškeré funkce routeru, jako zapínání wi-fi síťové karty, ovládání hudebního serveru, restartovat router a spousta dalších.

  • nakopírujete obsah archivu cmdpad-0.0.3 do složky /opt :
  • nastavte programu práva spuštění chmod +x /opt/bin/cmdpad
  • do souboru /opt/init.usb vložíme příkazy pro spuštění a restartujte router

    # Activace USB klavesnice
    cp /opt/etc/cmdpad.conf /etc
    insmod /opt/usr/lib/cmdpad/input.o
    insmod /opt/usr/lib/cmdpad/hid.o
    insmod /opt/usr/lib/cmdpad/evdev.o
    /opt/bin/cmdpad --quiet

  • přiřaďte funkce jednotlivým klávesám: zastavte skrytě běžící cmdpad killall odpad a spusťe jen s výstupem do konzole /opt/bin/cmdpad

při stisku tlačítek vidíte jejich kódy, které následně vyplňte do konfiguračního souboru /opt/etc/cmdpad.conf a přiřaďte cestu ke svým skriptům. Tlačítka mají tři režimy P, R a H = stisk, uvolnění a držení.
[1]Byla použita USB numerická klávesnice A4Tech TK-5

Categories: Asus WL-500gP Tags:

Webcamera

17.05.2009 komentáře 3

Router je již od výrobce připraven pro připojení USB kamery. Podporovány jsou pouze již nevyráběné kamery s ovladači PWC 9.0.2 a OV51x 1.65-1.12. Většina současných kamer včetně těch levných spolupracuje s ovladačem SPCA5xx.
1. vypněte podporu USB webových kamer v administraci: USB Application – Web Camera – Enable Web Camera? – Disabled

2. telnet my.router (192.168.1.1)

3. ipkg install palantir

4. cd /opt/usr/lib

5. wget http://koppel.cz/cdmawifi/postupy/USBwebcam/spca5xx.o

6. wget http://koppel.cz/cdmawifi/postupy/USBwebcam/spcadecoder.o

7. přidejte následující doinit.usb nano /opt/init.usb

insmod videodev
insmod /opt/usr/lib/spcadecoder.o
insmod /opt/usr/lib/spca5xx.o
sleep 5
/opt/bin/palantir -C /opt/etc/palantir.conf >/dev/null&

8. případně upravte konfigurační soubor kamery /opt/etc/palantir.conf a restartujte router: reboot

9. po restartu je steam videa dostupný na adrese my.router:8000

10. nahrajte do root složky www serveru /opt/share/www/lighttpd balíček[2] s nástroji pro zobrazení kamery ve www stránkách.

Možné problémy: pokud se dočkáte v systémovém logu chybového hlášení „…DEALLOC error on init_Isoc“ je problém s propustností sběrnice USB. Nejčastějším řešením je připojení kamery přímo do USB portu routeru, nikoliv přes USB rozbočovač. A to i přesto, že má externí napájení[3].

 


 

[1]Konkrétně byla použita webová kamera Logitech QuickCam Express podporována ovladačem SPCA561A. Aktualizovaný seznam podporovaných kamer je dostupný na internetové adrese http://mxhaard.free.fr/spca5xx.html

[2]HTML verze pohledu na kameru, Java applet a Win32 aplikace ke stažení na počítač http://koppel.cz/cdmawifi/postupy/USBwebcam/www.zip

[3]Odzkoušeno s rozbočovačem MAXXTRO/ GEMBIRD USB2.0 Hub UHB-C247

Categories: Linux návody, software Tags: