Sunday, January 18, 2009

colin mcrae rally 2005 through Wine :)

It took me  a while, but finally I managed.

I had to build wine 1.1.13 from source and install it. then install Windows Media player 6.4. then I used NoDVD crack.

and it works, the FPS is rather slow, but it is due to my low graphics card, though it is still playable. c2duo t5450 ati x1100. Hope it helps

Thursday, January 8, 2009

Asus WL-500gp v2

Konfigurácia Olega na Asus WL-500gp V2 

DISCLAIMER: Nasledujúci text je subor zozbieraných informácii doplnených o moje vysvetlenie a skúsenosti. Uvedené postupy môžu, ale nemusia vo vašom prípade fungovať Nezodpovedám za ujmu, ktorú môžete utrpieť nasledovaním tohto postupu, ako ani za zneužívanie softwéru na nelegálne účely.

 Asus WL-500gp V2 je, z mojich skúseností, veľmi vydarený kus HW a prináša vysoký komfort a možnosti do domácej siete za veľmi priaznivú cenu. Konfigurácia tohoto routra bola moja prvá skúsenosť s headless strojom. Existuje veľká komunita okolo Asus WL-500gp, teda všetko už raz bolo napisané, stačí to iba nájsť a dať dokopy. A keďže mne to trvalo závratné 3 dni, rozhodol som sa podeliť s mojimi skúsenosťami, nech nemusíte strácať čas. Router som si nakonfiguroval, aby umožnil:
nezávisle na PC bežiaci torrent klient
zdieľanie disku po sieti
sťahovanie suborov pomocou wget
samozrejme, umožňuje aj vytvorenie ftp/webservera (konfigurácia nie je neuvedená v tomto článku, možno neskôr :) )

 Najskôr pár poznámok k firmwareu (FW). Originálny firmware umožňuje základné nastavenia, a po updatnutí na poslednú verziu (3.x) získate aj veľmi pekne graficky spracované web rozhranie. Avšak, v originálnom firmwari nie je povolený telnet/ssh, a teda akékoľvek ovládanie je možné len cez prehliadač. Súčasťou je takmer nefunkčný Download manager (vo verzii iba pre windows).
 Ako prvé som sa rozhodol nainštalovať (flashnuť) DD-WRT. Môžete použiť rovnako *.bin ako aj *.trx súbory. Ja som flashoval dd-wrt.v24_mega_generic.bin aj dd-wrt.v24_mini_asus.trx,
oboje funguje bez problémov. DD-WRT ma veľmi dobrú dokumentáciu a prehľadný web interface. Na ukladanie nainštalovaných programova používá JIFFS2 súborový systém a je možné ho uložiť na externý disk, poprípade na USB klúč. No mne sa to nepodarilo, tak som prešiel o “dům dál”. 
 Podpora OpenWRT je oficiálne WIP (work in progress), no niekomu sa to podarilo rozchodiť, a teda som skúsil aj ja, konkrétne openwrt-brcm-2.4-squashfs.trx. Neúspešne (moja nešikovnosť). Postúpil som ďalej, v zmysle “poznaj možnosti a potom si vyber tú najlepšiu”.
 Tzv. Olegov firmware je dielo Olega, ktorý ho publikuje na webe - http://oleg.wl500g.info/
Okolo Olegovho firmwaru je sice velmi silná komunita, no dokumentácia je trošku chaotická, avšak konfigurácia je priamočiara, veľmi jednoduchá a firmware je stabilný.

 Takže poďme na to.
 Špecifikácie HW:

Architektúra
MIPS
CPU
240MHz BCM3302 V2.9 RISC
RAM
32MB
ROM
8MB FLASH
Wifi
Onboard BCM5354 802.11b/g
2.412 - 2.484 GHz
USB
2x USB 2.0
Ethernet
(4) 10/100 LAN + (1) 10/100 WAN, Auto MDX
Spotreba
MAX 12W
Externý disk
500GB Sata, pripojený cez USB

 Flashovanie
 Stiahneme príslušný FW (http://oleg.wl500g.info/1.9.2.7-10/WL500gpv2-1.9.2.7-10.zip, http://www.mediafire.com/?1tucwcmhwir ), a rozbalíme ho. KÁBLOM sa pripojime na router. 

Upozornenie: Nemeňte predtým žiadne nastavenia! Dôležité je, aby IP routra bola 192.168.1.1 a vaša ip v rozmedzi 192.168.1.1-100, resp. priradená DHCP a nie statická, rovnako NEPRIPÁJAJTE router k modemu.

Nainštalujeme utilitky (cez wine, ja mám ver. 1.0) z priloženáho CD, prípadne stiahneme si ich z asus.com stranky. 

cd /home/myso/.wine/drive_c/Program Files/ASUS/WL-500gP V2 Wireless Router Utilities
su
“heslo”
wine Rescue.exe

Zadáme cestu k trx súboru (prípadne bin u DD-WRT) a klikneme UPLOAD.
Dostaneme správičku: Waiting for upload to begin a odpočitávanie.
Potom odpojíme router z elektriky, stlačíme čierny RESTORE gombík na zadnej strane a držíme ho stlačený, pripojíme adaptér do elektriky. Po chvíli sa začne firmware uploadovať a vtedy môžeme “čudlík” pustiť. 

Po uploade nasleduje hlásenie: Wait for the system to reboot.
 Pri Olegovi systém naozaj rebootol, u DD-WRT po 5 piatich minútach čakania som musel router znova odpojiť a nasledne pripojiť, potom už nabehol.
Do Web interface sa dostaneme rovnako, ako pri originálnom firmwarei, tj. Cez adresu http://192.168.1.1 a za pomoci užívateľského mena a hesla: admin/admin
 Web interface je priamočiary a nevyžaduje komentár. Nastavte si všetko, čo potrebujete pre pripojenie na net, okrem kolonky USB appliacation (NFS, SAMBA, FTP). Pri poslednom nastavení nezabudnite kliknúť na FINISH, SAVE&REBOOT aby sa zmeny uložili. 
 Po reboote sa pripojte na sieť a uistite sa, že funguje.
 Na router budeme pristupovať cez telnet, ktorý je štandardne zapnutý na strane routra, aj keď v niektorých distribúciách je nutné ho doinštalovať. Odporúčam si vytvoriť alias na: telnet 192.168.1.1 , môj alias je router, a tento budem používať ďalej v článku. (upozorňujem, že IP mojho routru je 192.168.1.254, keďže 192.168.1.1 je IP mojho modemu a aj ten, čuduj sa svete, beží na BusyBoxe)
Do konzoly zadáme:
router
root/admin
a sme pripojení, viď obr. 3.


 Router má iba 40MB priestoru, v ktorom je možné operovať. Pokiaľ bude používaný len na routovanie je to samozrejme dostačujúce. Na všetko ostatné potrebujeme viac miesta, a preto musíme pripojiť externý disk alebo USB klúč, kde budeme inštalovať potrebný software. Ja som pripájal 500GB disk rozdelený do 3 primárnych partícií. (podporovaný filesystém je fat, ext2/3, pravdepodobne aj XFS, avšak vzhľadom na pomalý prístup k disku nasadzovanie iného FS ako ext3 nemá asi zmysel)
 Svoj disk som si rozdelil a naformátoval nasledovne:
1.250MB ext3 - miesto na inštalovanie softwareu
2.40MB swap
3.zvyšok ext3 - zdielaná partícia

Po pripojení disku nám fdisk -l vyhodí:

Disk /dev/scsi/host0/bus0/target0/lun0/disc: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

  Device Boot Start End Blocks Id System
/dev/scsi/host0/bus0/target0/lun0/part1 1 25 200781 83 Linux
/dev/scsi/host0/bus0/target0/lun0/part2 26 57 257040 82 Linux swap
/dev/scsi/host0/bus0/target0/lun0/part3 58 35288 282993007+ 83 Linux

Aby sme mohli s diskom pracovať, musime ho pripojiť:

mount -t ext3 -o noatime,rw /dev/scsi/host0/bus0/target0/lun0/part1 /opt
mkdir /opt/harddisk
mount -t ext3 -o noatime,rw /dev/scsi/host0/bus0/target0/lun0/part3 /opt/harddisk
swapon /dev/scsi/host0/bus0/target0/lun0/part2

Skontrolujeme si to pomocou príkazov df -h a free, kde očakávame obdobný výpis:

[root@lombok-air root]$ df -h
Filesystem Size Used Avail Use% Mounted on
rootfs 3.0M 3.0M 0 100% /
/dev/root 3.0M 3.0M 0 100% /
/dev/discs/disc0/part1
  250M 212M 38M 91% /opt

[root@lombok-air root]$ free -m
  total used free shared buffers cached
Mem: 29 28 0 0 0 12
-/+ buffers/cache: 15 14
Swap: 40 25 15


Teraz už máme priestor na inštaláciu potrebného softwaru. Baliky sa budú inštalovať do priečinka /opt a nebudú zapĺňať RAMku na routri.

Inštalovanie balíkov

 router
 “admin/admin”
 ipkg.sh update

Tento skript inicializuje repozitáre a balíkový systém. Skript obsiahnutý v štandardnom FW ale obsahuje zlú adresu repozitára a preto ho doinštalujeme nasledujúcimi príkazmi:

cd /opt
wget http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/uclibc-opt_0.9.28-13_mipsel.ipk 
ipkg.sh install uclibc-opt_0.9.28-13_mipsel.ipk
wget http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/ipkg-opt_0.99.163-10_mipsel.ipk 
ipkg.sh install ipkg-opt_0.99.163-10_mipsel.ipk

následne zaktualizujeme zoznam dostupných balíkov pomocou prikazu ipkg update:

[root@lombok-air /opt]$ ipkg update
Downloading http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/Packages.gz
Inflating http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/Packages.gz
Updated list of available packages in /opt/lib/ipkg/lists/optware
Successfully terminated.

Už máme priestor a spôsob, môžme sa pustiť do inštalácie.
Najprv si nainštalujeme základne utility: 
ipkg install nano cron mc diffutils less screen htop wget coreutils grep procps



Konfigurácia, alebo aby router robil to, čo chceme

 Olegov firmware je dômyselne zostavený. Nielenže podporuje automatické bootovanie z externého disku (o tom možno nabudúce), ale je tu zakomponovaná aj podpora spúšťania scriptov v logickej následnosti.
Sú to scripty, pre-mount, post-mount, post-firewall, pre-shutdown. Najprv si ich ale musíme vytvoriť:

mkdir -p /usr/local/sbin/
touch /usr/local/sbin/post-firewall 
touch /usr/local/sbin/post-mount
touch /usr/local/sbin/pre-shutdown
touch /usr/local/sbin/pre-mount
chmod +x /usr/local/sbin/*

Na editovanie použijeme nano. (obsah sa tam dá sa pastnúť ;), Ctrl+O uloží dokument, Ctrl+X je Exit)

nano /usr/local/sbin/pre-mount

obsah môjho pre-mount, myslím, že bližší komentár nie je potrebný:

#!/bin/sh
swapon /dev/discs/disc0/part2
e2fsck -p /dev/discs/disc0/part1
mount -t ext3 -o noatime,rw /dev/discs/disc0/part1 /opt
e2fsck -p /dev/discs/disc0/part3
mount -t ext3 -o noatime,rw /dev/discs/disc0/part3 /opt/harddisk

ďalej pokračujeme pri pre-shutdown. Skript zastavi vsetky sluzby v /opt/etc/init.d, cize cron, rtorrent, pripadne ftpserver alebo ine sluzby. Dalej remountne vsetky particie read-only a nasledne odpoji swap particiu:

nano /usr/local/sbin/pre-shutdown

vložíme doň:

#!/bin/sh
/opt/etc/init.d/rc.unslung stop
sleep 10s
for i in `cat /proc/mounts | awk '/ext3/{print($1)}'` ; do
  mount -o remount,ro $i
done
swapoff /dev/scsi/host0/bus0/target0/lun0/part2
sleep 1s

nasleduje sa pozrieme na post-mount, skriptik, ktory sa spusti, ako nazov napoveda potom ako su mountnute particie. :

nano /usr/local/sbin/post-mount

a vložíme tam skript:

#!/bin/sh
/opt/etc/init.d/rc.unslung start
killall syslogd &&/sbin/syslogd -m 0 -O /opt/var/log/messages -S -l 7


Vysvetlenie: Syslogd je logovaci daemon, ktorý by nám postupne zapĺňal ramku svojimi správami, preto ho po boote vypneme a následne zapneme tak, aby logy ukladal do /opt/var/log/messages, čiže na ext. disk kde máme miesta dosť.


Posledný skript, ktorý nakonfigurujeme je post-firewall, tu je mozne upravovat, nastavit pravidla pre firewall(standardny iptables) a spusit wondershaper.

nano /usr/local/sbin/post-firewall

môj obsahuje iba:

#!/bin/sh
wshaper start vlan1 2000 220

Jeden z dôvodov, prečo som chcel router s linuxom je možnosť pusťiť na ňom práve wondershaper. Ten umoží komfortné surfovanie na nete, aj keď súčasne beží torrent. Wondershaper je súčasťou olegovho FW. Syntax je nasledovny wshaper start/stop/clear wan_port(vlan1) max_download max_uplod (rychlosti v kbitoch). Rychlosti by mali byt o nieco mensie ako maximalne mozne. Ja mam ruzove pripojenie 2Mbit/256kbps. Limitovat download nie je az take dolezite pre vysledny efekt.

Potom nastavíme spúšťanie služieb, teda sluzieb spustatelny cez standarne init scripty.
nano /opt/etc/init.d/rc.unslung

ktorý by mal obsahovať tento skript:

#! /bin/sh

# Start/stop all init scripts in /opt/etc/init.d
# starting them in numerical order and
# stopping them in reverse numerical order
#
if [ $# -ne 1 ]; then
printf "Usage: $0 {start|stop}\n" >&2
exit 1
fi

daemons=`echo $(/usr/bin/dirname $0)/S??*`
[ $1 = "stop" ] && daemons=`echo $daemons | /usr/bin/tr " " "\n" | /usr/bin/sort -r`

for i in $daemons; do

# Ignore dangling symlinks (if any).
[ ! -f "$i" ] && continue

# Write to syslog
logger -t rc.unslung "$1 service $i"

case "$i" in
*.sh)
# Source shell script for speed.
(
trap - INT QUIT TSTP
set $1
. $i
)
;;

POZOR!
Tieto skripty budú uložené vo flash pamäti routra. Na to, aby sa uložili treba zadať:

flashfs save && flashfs commit && flashfs enable
a nasledne reštartovať router:
reboot

A ak sme všetko dobre urobili, tak router nabehne aj s mountutymi diskami, zapnutým wondershaperom a spusteným cronom.
Skontrolujeme to pomocou príkazov: df -h, free a pidof cron.

A teraz to, prečo sme si ten router kupovali.

Cez webinterface si následne nastavíme zdielanie.

Ftp.
Nastavte si priečinok, do ktorého chcete pristupovať a ďalej treba pridať používateľov a prístupové práva. Títo používatelia nemusia byť vytvorený na routri, je to len pristupové meno/heslo na ftp.


Samba
Treba nastaviť Manual share list a následne špecifikovať prístupové práva a zložku, ktorú chceme zdielať.


NFS
Ja som nakoniec skončil pri zdielaní cez NFS. Má svoje nevýhody, najmä čo sa týka bezpečnosti. Avšak cez NFS pracujete akoby bol disk pripojený priamo k počítaču.
Dôležitejšie ale je, že cez SAMBU som dosahoval rýchlosti okolo 1-1.5 MB/s, cez NFS je to v priemere 2,5MB/s. (pozn. ftp je ešte o niečo málo rýchlejšie).

Pre zdieľanie cez NFS treba nastaviť tzv. EXPORTS, čo je definícia užívateľov na základe IPčky a ich prístupových práv. Aby toto korektne fungovalo, treba nastaviť staticku IP pre pripájajce sa PC na základe MAC adresy (v Menu- IPCONFIG-DHCP server).


Správny syntax je:
zdielaný_priečinok IP_klienta(prístupové_práva)
v mojom prípade:
/opt/harddisk 192.168.1.100(rw,no_subtree_check,sync)

Rovnako aj pre ostatných klientov.
Na strane klienta možno priečinok mountnuť ručne:

mount 192.168.1.254:/opt/harddisk /mnt/router
resp. do /etc/fstab pridať:
192.168.1.254:/opt/harddisk /mnt/router nfs rw,soft,intr 0 0

alebo použiť utilitku autofs. Viac o utilitke autoFS nájdete v článku na root.cz (http://www.root.cz/clanky/nfs-a-autofs/).







Všetko čo konfigurujetm cez webinterface je zapísaná na flash pamäti routru. Pre uloženie zmien je nutné kliknúť na: FINISH, SAVE&RESTART. (alebo ak len chceme ulozit zmeny a nepotrebujeme reštartovať, stačí sa na router pripojiť cez telnet a zadať: flashfs save && flashfs commit && flashfs enable a zmeny sa uložia)

MC - Midnight commander
Na spustenie MC cez telnet v správnej podobe som použil túto fintu:

export TERMINFO="/opt/share/terminfo"
export TERM="xterm"
/opt/bin/mc

a aby sme si ulahčili život, premenujeme /opt/bin/mc na /opt/bin/mcc (cez MC, alebo pomocou mv)

touch /opt/bin/mc
chmod +x /opt/bin/mc
a vložte do tohto suboru nasledovné:

#!/bin/sh
export TERMINFO="/opt/share/terminfo"
export TERM="xterm"
/opt/bin/mcc /opt /opt/etc

Odteraz sa nám bude MC otvárať cez prikaz mc v takej podobe, ako ho chceme. Rovnako sa priamo otvorí v priečinkoch /opt a /opt/etc (keďže tu budeme robiť 98% zmien)

Torrent klient

 Jedným z lákadiel tohto routra je možnosť priamo na ňom pustiť torrent klienta. Sťahovať DVD linuxových distribúcií trvá niekedy dosť dlho. Prípadne ich zdieľanie alebo uploadovanie vlastných remastrov. Nechať ale kvoli tomu pustený PC sa mi zdá zbytočné. Navyše, ak sú na sieti pustené súčasne 2 torrent-klienti, nerobí to dobrotu. Okrem toho, nemáte kontrolu nad nastavením toho druhého klienta,. Preto je idálne riešenie spustiť na sieti len 1 torrent klienta, ku ktorému majú všetci užívatelia prístup a navyše, máte nad ním plnú kontrolu.  
 Po vyskúšaní Transmission, Torrentfluxu, Torrentflux-b4rt som si nakoniec zvolil rTorrent+nTorrent. Pre lepší prehľad som sa rozhodol spísať hlavné výhody a nevýhody vyššie spomenutých torrent klientov:

 Transmission 
Výhody:
+“fancy” rozhranie
+globálne nastavovanie uploadu a downloadu
+rýchle sťahovanie
Nevýhody:
-zadávať na sťahovanie je možné len priamo *.torrent súbor, nie je možné cez transmission priamo stiahnuť torrent súbor
-každý torrent potrebuje na bežanie 5-10% CPU, čo pri siedmich torrentoch dosahuje okolo 60% a router sa stáva nepoužiteľným na ostatné účely
-nemožnosť sťahovať len časť torrentu, nie je možné nastavť priority pre torrenty 

 Torrentflux
Výhody:
-možnosť nastavenia rôznych užívateľov s rôznymi právami a obmedzeniami pri sťahovaní
-integrované sťahovanie cez wget
-možnosť stiahnuť len niektoré súbory z torrentu
Nevýhody:
-veľmi pomalé ovládanie, pridať torrent a nastaviť jeho sťahovanie trvá neuveriteľne dlho
-práca cez web rozhranie zaťažuje CPU na 50-80%, čím limituje použitie ostatných služieb

 Torrentflux-b4rt
Výhody:
-všetky výhody torrentfluxu
-krajší interface, viac možností
Nevýhody:
-ale taktiež prevzal aj všetky nevýhody Torrentflux-u


 rTorrent+nTorrent
 Po menšej frustrácii som, našťastie, natrafil na túto kombináciu. rTorrent je bittorent klient pre NCURSES, ktorý má až neuveriteľne nízke nároky na CPU a RAM. Veď uvážte sami. 

 5% CPU a 15MB RAM pri managovaní 23 torrentov...... 
nTorrent je interface pre rTorrent napísaný v jave a umožňuje plnohodnotne ovladanie torrentov(velmi podobny uTorrentu). Mozno nastaviť sťahovanie len niektorých súborov z torrentu, rozdelenie torrentov do skupín, rôzne priority pre torrent/ súbor. Prístup na router je cez HTTP alebo cez SSH, ja som sa priklonil k SSH. 


Ako na to
Pripojíme sa na router a nainštalujeme potrebný software:
router
ipkg update
ipkg install screen rtorrent dropbear

Kedze standardne nebezi na routri SSH daemon, ktory by akceptoval pripojenie cez ssh, musime si ho spustit a nastavit. Posluzi dropbear.
nastavenie ssh daemona (dropbear):

mkdir -p /opt/etc/dropbear
dropbearkey -t dss -f /opt/etc/dropbear/dropbear_dss_host_key
dropbearkey -t rsa -f /opt/etc/dropbear/dropbear_rsa_host_key
echo "dropbear -d /opt/etc/dropbear/dropbear_dss_host_key -r /opt/etc/dropbear/dropbear_rsa_host_key" >> /usr/local/sbin/post-boot
-prave sme vygenerovali klúčem uložili ich a následne povolili spustanie ssh daemona pri štarte. Teraz ešte uložíme všetky zmeny:
flashfs save && flashfs commit && flashfs enable
a spustíme dropbear 
dropbear -d /opt/etc/dropbear/dropbear_dss_host_key -r /opt/etc/dropbear/dropbear_rsa_host_key


konfiguracia rTorrentu:

rm /opt/etc/rtorrent.conf
nano /opt/etc/rtorrent.conf

moj konfiguračný súbor obsahuje nasledujúce nastavenia:

#port na pripojenie
scgi_port = localhost:5005

#min/max peers per torrent
#min_peers = 10
max_peers = 20

#min/max peers per seeding torrents
#min_peers_seed = 1
max_peers_seed = 1
#pocet upload/download slotov pre torrent
max_uploads = 1
#max_downloads = 10

#max pocet sucasne beziacich upload/download torrentov
max_uploads_global = 10
max_downloads_global = 50

#standardne up/down rychlosti
download_rate = 100
upload_rate = 14
check_hash = no

#directory for saving downloaded files
directory = /opt/harddisk/rtorrent/work
#ak je torrent ulozeny do tohto priecinka, rtorrent ho automaticky prida na stahovanie
schedule = watch_directory,5,5,load_start=/opt/harddisk/rtorrent/stiahnut/*.torrent

#automaticke zastavenie a odstaranenie torrentu ak torrent file odstranime s horeuvedeneho priecinku
#schedule = untied_directory,5,5,stop_untied=

#zastavit torrenty pri nedostatku miesta - 10MB
#schedule = low_diskspace,5,60,close_low_diskspace=10M

zastavit torret pri pomere zdielania 150%, minimalne naseedovat 300MB
#schedule = ratio,60,60,stop_on_ratio=150,50,300

#miesto na ukladanie metadat
session = /opt/harddisk/rtorrent/session

port_range = 51750-51780
use_udp_trackers = yes
safe_sync = yes
dht = on
dht_port = 6881
peer_exchange = yes
tracker_numwant = 100

Rtorrent umožňuje nastavenie časovača a automatickú zmenu rýchlostí DL/UPLOADU v určity čas. Týchto pravidiel možno používať súčasne niekoľko. Syntax by mal byť jasný z uvedeného príkladu.
#####Comment out this section if not needed
####scedule an unlimited download throttle at 00:00 and upload to 25kbps
schedule = download_1,00:00:00,24:00:00,download_rate=0
schedule = upload_1,00:00:00,24:00:00,upload_rate=25



Ďalej je nutné vytvoriť priečinky, ktoré bude rTorrent používať.

mkdir -p /opt/harddisk/torrent/work
mkdir /opt/harddisk/torrent/dl
mkdir /opt/harddisk/torrent/session

nano /opt/etc/init.d/S90rtorrent

Tu je nutné odkomentovať “dirlayout=RTORRENT_DEFAULT” 
a zmeniť to na: “dirlayout=RTORRENT_ANOTHER“, čo zabezpečí, že nastavenie priečinkov do ktorých sa má sťahovať a pracovať si rTorrent načíta z /opt/etc/rtorrent.conf a nebude pouzivat defaultne nastavenie.
Ostáva nám ešte zmeniť user="user" na user="vas_login" (pravdepodobne root alebo admin)
a vymeniť “ps -A” za “ps”. Je to súčasť jedneho príkazu - na viacerých fórach odporúčajú vykonať túto zmenu. Nie som si istý, či je to nutné meniť, nakoľko som rtorrent bez tejto zmeny nikdy neskúšal Odporúčam upraviť koniec súboru na:

checkcnfg

case "$1" in
  start)
  echo -n "Starting $DESC: $NAME"
  d_start
  sleep 5
  renice 19 `pidof rtorrent`
  echo "."
  ;;
  stop)
  echo -n "Stopping $DESC: $NAME"
  kill -s SIGTERM `pidof rtorrent`
  echo "."
  ;;

Nakoniec si spustíme rtorrent a skontrolujeme, že naozaj beží (htop,pidof): 
/opt/etc/init.d/S99rtorrent start

nTorrent si stiahnete z http://ntorrent.googlecode.com/files/nTorrent-bin-0.5.tar.bz2
Rozbaliť, spustiť, nakonfigurovať (viď obrázok) a pripojiť. Ak je všetko správne nastavené, tak ste pripojený a môžete začať sťahovať. V menu PLUGIN zaškrtneme žiadúce pluginy. Ak rtorrent nebeží (väčšinou kvoli nesprávne formatovanému config), skontrolujte /opt/share/torrent/rtorrentInit.log)



WGET

 Pre jednoduché sťahovanie súborov pomocou wget som si nainštaloval rozhranie Mwget z http://wl500g.info/attachment.php?attachmentid=1977&d=1194669565 , resp. http://www.mediafire.com/?jydjcmyfe2n .Aj keď ide pravdepodobne o alfa release a už dlhšiu dobu nebol vydaný update, na základnú prácu postačuje (každopádne, dalo by sa na ňom pár vecí vylepšiť)


Inštalácia:

ipkg update
ipkg install wget php-fcgi php perl python lighttpd sqlite xmlrpc-c

Je nutné zmeniť /opt/etc/php.ini, pridať na koniec súboru:
extension=pdo.so
extension=sqlite.so
extension=pdo_sqlite.so

a uistite sa ,že nasledovné nastavenia platania vo Vašom konfiguračnom súbore php.ini:
safe_mode = Off
allow_url_fopen = On
cgi.fix_pathinfo = 1

Ďalej je potrebné nastaviť lighttpd webserver:
nano /opt/etc/lighttpd/lighttpd.conf

musia byť odkomentované nasledujúce riadky, ktoré zabezpečia načítanie modulov:
"mod_access",
"mod_fastcgi",
"mod_cgi"

cgi.assign = ( ".pl" => "/opt/bin/perl",
  ".cgi" => "/opt/bin/perl" )

include_shell "cat /opt/etc/lighttpd/conf.d/*.conf"

Ďalej si nastavte port webservra napríklad na 8081, keďže na porte 80 beží administratívne webrozhranie:
server.port = 8081

Súbor /opt/etc/lighttpd/conf.d/10-php-fcgi.conf by mal obsahovať, čo zabezpečí funkčnosť PHP skriptov:


fastcgi.server = ( ".php" =>
  ( "localhost" =>
  ( "socket" => "/tmp/php-fcgi.sock",
  "bin-path" => "/opt/bin/php-fcgi",
  "max-procs" => 1,
  "min-procs" => 1,
  "max-load-per-proc" => 4,
  )
  )
  )



Reštartujeme webserver:
/opt/etc/init.d/S80lighttpd stop
/opt/etc/init.d/S80lighttpd start

na adrese: http://192.168.1.254:8081/ by sme teraz mali dostať správu:

lighttpd server is running.

Stiahneme Mwget, skopírujeme obsah Mwget_1.06a.zip/Mwget_1.06a/Mwget do /opt/share/www/cgi-bin/Mwget

Je nutné nastaviť priečinky na sťahovanie, logovanie atd. V konfiguračnom súbore Mwget. Môj info.cgi obsahuje:

nano /opt/share/www/cgi-bin/Mwget/data/info.cgi


# Directory for Wget logs
$logsdir = "/opt/harddisk/wget/logs";

# Directory for tasks for wget
$tasksdir = "/opt/harddisk/wget/tasks";

# There save downloading files
$filesdir = "/opt/harddisk/wget/files";

# Perion of refresh statistic page (in second)
$refreshstat = 30;

# Numbers of tries to download when generated errors 5xx or 4xx
$numbersoftry = 1;

# Username and Password for login
# 1 = require, your browser must enable cookies
# 0 = disable, admin account is used
$login_require = 0;


# Size of log recoding
# Log file will be written when file was downloaded
# 0 = Every 50 KB (Default)
# 1 = Every 384 KB 
# 2 = Every 3072 KB

$log_written_size = 0;

1;

a žiadané priečinky treba aj vytvoriť:

mkdir -p /opt/harddisk/wget/logs
mkdir -p /opt/harddisk/wget/tasks
mkdir -p /opt/harddisk/wget/files

stránka http://192.168.1.254:8081/cgi-bin/Mwget/Mwget.cgi by Vás mala uvítať:






 Záver
 Ide o veľmi šikovný router, niekde na pomedzí profesionálneho a domáceho nasadenia. S dobrým know-how je z neho možné dostať veľa. Škoda len, že prístupová rýchlosť k súborom cez lan je na hranici 3MB/s , avšak na pozeranie filmov po sieti, či počúvanie hudby je to rýchlosť bohate dostačujúca. Uznajte sami, za 2000SK/€67 dostanete kvalitný Wi-fi router, prípadne ethernet switch + možnosť zdieľať súbory po LANe aj možnosť prevádzkovať vlastný webserver/ftp server. 

PS: Nešetrite diskusiu otázkami a komentármi, konstruktívnymi samozrejme... Ak viem, rád odpoviem.





Užitočné odkazy:

Homepage asusu: http://asus.com/products.aspxmodelmenu=2&model=1712&l1=29&l2=172&l3=743&l4=59

OpenWRT: 
http://wiki.openwrt.org/OpenWrtDocs/Hardware/Asus/WL500GPV2
DD-WRT:  
http://thoughtsbyclayg.blogspot.com/2008/09/how-to-dd-wrt-on-asus-wl-500g-premium.html
http://www.dd-wrt.com/wiki/index.php/WL-500g_Premium_V2

Recenzia:
http://www.xbitlabs.com/articles/networking/display/asus-wl500g-premium_2.html
Oleg homepage: 
http://oleg.wl500g.info
Konfigurácia Olega na Asus WL-500gp V2 

DISCLAIMER: Nasledujúci text je subor zozbieraných informácii doplnených o moje vysvetlenie a skúsenosti. Uvedené postupy môžu, ale nemusia vo vašom prípade fungovať Nezodpovedám za ujmu, ktorú môžete utrpieť nasledovaním tohto postupu, ako ani za zneužívanie softwéru na nelegálne účely.

 Asus WL-500gp V2 je, z mojich skúseností, veľmi vydarený kus HW a prináša vysoký komfort a možnosti do domácej siete za veľmi priaznivú cenu. Konfigurácia tohoto routra bola moja prvá skúsenosť s headless strojom. Existuje veľká komunita okolo Asus WL-500gp, teda všetko už raz bolo napisané, stačí to iba nájsť a dať dokopy. A keďže mne to trvalo závratné 3 dni, rozhodol som sa podeliť s mojimi skúsenosťami, nech nemusíte strácať čas. Router som si nakonfiguroval, aby umožnil:
nezávisle na PC bežiaci torrent klient
zdieľanie disku po sieti
sťahovanie suborov pomocou wget
samozrejme, umožňuje aj vytvorenie ftp/webservera (konfigurácia nie je neuvedená v tomto článku, možno neskôr :) )

 Najskôr pár poznámok k firmwareu (FW). Originálny firmware umožňuje základné nastavenia, a po updatnutí na poslednú verziu (3.x) získate aj veľmi pekne graficky spracované web rozhranie. Avšak, v originálnom firmwari nie je povolený telnet/ssh, a teda akékoľvek ovládanie je možné len cez prehliadač. Súčasťou je takmer nefunkčný Download manager (vo verzii iba pre windows).
 Ako prvé som sa rozhodol nainštalovať (flashnuť) DD-WRT. Môžete použiť rovnako *.bin ako aj *.trx súbory. Ja som flashoval dd-wrt.v24_mega_generic.bin aj dd-wrt.v24_mini_asus.trx,
oboje funguje bez problémov. DD-WRT ma veľmi dobrú dokumentáciu a prehľadný web interface. Na ukladanie nainštalovaných programova používá JIFFS2 súborový systém a je možné ho uložiť na externý disk, poprípade na USB klúč. No mne sa to nepodarilo, tak som prešiel o “dům dál”. 
 Podpora OpenWRT je oficiálne WIP (work in progress), no niekomu sa to podarilo rozchodiť, a teda som skúsil aj ja, konkrétne openwrt-brcm-2.4-squashfs.trx. Neúspešne (moja nešikovnosť). Postúpil som ďalej, v zmysle “poznaj možnosti a potom si vyber tú najlepšiu”.
 Tzv. Olegov firmware je dielo Olega, ktorý ho publikuje na webe - http://oleg.wl500g.info/

Okolo Olegovho firmwaru je sice velmi silná komunita, no dokumentácia je trošku chaotická, avšak konfigurácia je priamočiara, veľmi jednoduchá a firmware je stabilný.

Linux z SD karty, alebo ako mountnut root fs read-only

Hi all,

toto je prvotny navod, uz mi to dlhsiu dobu funguje tak som sa rozhodol ze sa podelim. Ide len o scketch, mozno to casom opravim. Akekolvek otazky postnite do diskusie, mozno odpoviem ;)

good luck

Aj vy zobudzate pocitac na 5 minut len preto aby ste si pozreli na nete nejake info a hned to aj vypnete? 20x za den?
Robil som to aj ja, ale iritovali ma nutne load/unload cykly harddisku. Tak som sa rozhodol si to trosku zmenit a bezat  s read-only root filesystemom z SD karty.

Ako to cele funguje?

SD karta nie je bootovatelna, potrebujeme USB kluc s grubom a vmlinuz/initrd ktore sa z neho nacitaju a nasledne nabootuju s SD karty.

SD karta bude obsahovat len standardny root filesystem, priecinky do ktorych je nutne pristupovat/zapisovat budu v RAMke a teda ako tmpfs.

Podme teda na to, ja pouzivam PCLinuxOS2009Beta2 (neuveritelne stabilne, aspon an mojom HW):

1.nainstalujte a nakonfigurujte si vasu instalaciu - root filesystem by mal byt ext2!!!!!

2.skopirujte celu / particiu, cez livecd/usb PartitionMagic alebo obdobne na SD kartu.

3.nutne upravy:

priecinky nutne zapisovatelne su: /tmp a /var a samozrejme /home  /root

  •  /tmp vybabreme lahko, kedze ziadne subory s tohto priecinku nemusia byt zachovane po vypnuti PC

teda pridame do /etc/fstab:

tmpfs /tmp tmpfs defaults 0 0

  • /var, /home a /root usposobime tak, aby sa pri boote nacital to ramky aj so ziadanym obsahom a to nasledovne
    • /var premenujeme na /var2, /home na /home2 a /root na /root2
    • vytvorime symlinky ln -s /home /dev/shm/home
    • ln -s /root /dev/shm/root
    • var obsahuje aj zlozku /var/lib ktora je staticka a nie je nutne do nej zapisovat, okrem toho ma 140MB(aspon u mna) ktore by som zbytocne drzal v ramke
      • preto v priecinku /var vytvorime symlinky vsetkych priecinkov na prislusny priecinok v /dev/shm/var/xyz okrem /var/lib, ktory presunieme naspat do zlozky /var
  • dalsim potrebnym zapisovatelnym suborom je /etc/mtab, vyriesime to jednoducho, rm /etc/mtab , ln -s /etc/mtab /proc/mounts
  • priecinok /etc/resolvconf a subor resolv.conf by tiez rad bol zapisovatelny
    • mkdir /etc/resolveshm
    • mv /etc/resolvconf /etc/resolvshm
    • mv /etc/resolv.conf /etc/resolvshm
    • ln -s /etc/resolvconf /dev/shm/etc/resolvconf
    • ln -s /etc/resolv.conf /dev/shm/etc/resolv.conf
    • rm /etc/resolv.conf.save
  • uz nam zostava len nastavit init tak, aby pri bootovani tieto priecinky boli v /dev/shm vytvorene a nakopirovany don spravny obsah. Viem, dalo by sa to vyriesit aj elegantnejsie, ale toto funguje ;)
  • otvorte si: /etc/rc.d/rc.sysinit
  • riadok 444 pridame nieco taketo, chown je nutny, priradte adekvatne cislo a nahradte xyz vasim username
  • #modified to boot from SD ro
  • cp -r /etc/resolveshm /dev/shm/etc
  • cp -r /root2 /dev/shm/root
  • cp -r /var2 /dev/shm/var
  • cp -r /home2 /dev/shm/home
  • chown -R 501 /dev/shm/home/xyz

dalej, okolo riadku 817:

upravte remount-rw na remount-ro

 

# Remount the root filesystem read-only, modified  4 SD boot, otherwise should be rw
if remount_needed ; then
  action "Remounting root filesystem in read-only mode!!!!: " mount -n -o remount,ro /
fi

 

that is it.

Vybrat HDD, zmenit /etc/fstab aby:

#root filesystem

/dev/sda1 / ext2 noatime,ro 0 0

 

nabootvat z USB, potom ako sa nacita vmlinuz a initrd vybrat usb kluc (aby SD karte bolo priradeny identifier sda)

 

 

vychytavky:

mam k routru pripojeny HDD, takze zmeny, ktore si spravim v /home priecinku a chcem mat zachovane ak potrebujem reboot si tam mozem ukladat a pri boote nahrat naspat. samozrejme, pri velkych zmenach je idealne ich ulozit na SD kartu.

po urcitom case pouzivania, ked sa zaplni cache, nie je mozne spustit nijaku aplikaciu, resp. niektore ktore su narocne na ram, v konzole vyhodi Segmentation fault. Mozno to obist vyprazdnenim cache, ako root zadat:  sync; echo 3 > /proc/sys/vm/drop_caches

 

 

 

echo 1 > /proc/sys/vm/drop_caches # free pagecache
  [OR]
echo 2 > /proc/sys/vm/drop_caches # free dentries and inodes
  [OR]
echo 3 > /proc/sys/vm/drop_caches # free pagecache, dentries and inodes
sync # forces the dump to be destructive

 

 

There are huge consequences to dumping these caches and running sync. If you are writing data at the time you run these commands, you’ll actually be dumping the data out of the filesystem cache before it reaches the disk, which could lead to very bad things.

While discussing the issue with a coworker, he found a different method for correcting the issue that was much safer. You can echo values into /proc/sys/vm/vfs_cache_pressure to tell the kernel what priority it should take when clearing out the inode/dentry caches. LinuxInsight explains the range of values well:

At the default value of vfs_cache_pressure = 100 the kernel will attempt to reclaim dentries and inodes at a “fair” rate with respect to pagecache and swapcache reclaim. Decreasing vfs_cache_pressure causes the kernel to prefer to retain dentry and inode caches. Increasing vfs_cache_pressure beyond 100 causes the kernel to prefer to reclaim dentries and inodes.

In short, values less than 100 won’t reduce the caches very much as all. Values over 100 will signal to the kernel that you want to clear out the caches at a higher priority. I found that no matter what value you use, the kernel clears the caches at a slow rate. I’ve been using a value of 10000 on the server I talked about earlier in the article, and it has kept the caches down to a reasonable level.

 

/.Xauthority  tiez do ram

/etc/X11/xorg.conf do ram

/usr/share/X11/xkb/compiled redirect link to /var/lib/xkb

/var/lib/xkb do ram a upravit link