Tole pišem dejansko iz dveh razlogov zato ker sem večkrat se že stem zajebaval in nisem imel mojih skript nikjer napisanih drugič pa zato ker da boste še ostali lahko izkoristili popolno moč teh routerčkov. Osebno vam priporočam Linux "distribucijo" X-wrt!
Za začetek naj povem kako se jih posodobi;
1. izklopiš router
2. pritisneš reset tipko
3. vklopiš router
4. poženeš ukaz;
atftp --trace --option "timeout 1" --option "mode octet" --put --local-file openwrt-brcm47xx-squashfs.trx 192.168.1.1
5. Resetiraš
6. Potem pa je potrebno nastaviti geslo;
telnet 192.168.1.1
passwd
# dvakrat vpišeš geslo za root
7. Potem je potrebno router spet resetirati...
Takoj zatem se jaz odpravim na spletno stran routerja kjer nastavim internet... ker imam v omrežju že drug router le tega nastavim na 192.168.1.2 za gateway pa nastvim on pravi router...
Kajkmalu zatem jaz na router priklopim usb ključ, formatiran na ext3, osebno ne spreminjam kaj preveč samega operacijskega sistem, saj uporabljam flash iz naprave, na usb pa nalagam nove programčke...
Kot prvo vedno naložim nano, saj brez njega ne morem nikjer nič naredit, (saj vi je naložen ampak vedno znorim pri njem če se usedem za kako tujo tipkovnico zato sem zvest nanu!) lahko bi tudi joe ampak je razlika v velikosti tako majhna, da se ne splača...
Ker upam, da znate nastaviti internet - vsaj preko web vmesnika, se v to ne bom spuščal...
opkg update
opkg install nano (ali pa joe...)
No ker imamo preprost urejevelnik teksta sedaj ustvarimo nepogrešljivo skripto ki sem jo našel na internetu...
nano /bin/opkg-link
in notri prilepimo;
#!/bin/sh
COMMAND=$1
PACKAGE=$2
setdest () {
for i in `grep dest /etc/opkg.conf | cut -d ' ' -f 3`; do
if [ -f $i/usr/lib/opkg/info/$PACKAGE.list ]; then
DEST=$i
fi
done
if [ "x$DEST" = "x" ]; then
echo "Can not locate $PACKAGE."
echo "Check /etc/opkg.conf for correct dest listings";
echo "Check name of requested package: $PACKAGE"
exit 1
fi
}
addlinks () {
setdest;
cat $DEST/usr/lib/opkg/info/$PACKAGE.list | while read LINE; do
SRC=$LINE
DST=`echo $SRC | sed "s|$DEST||"`
DSTNAME=`basename $DST`
DSTDIR=`echo $DST | sed "s|$DSTNAME\$||"`
test -f "$SRC"
if [ $? = 0 ]; then
test -e "$DST"
if [ $? = 1 ]; then
mkdir -p $DSTDIR
ln -sf $SRC $DST
else
echo "Not linking $SRC to $DST"
echo "$DST Already exists"
fi
else
test -d "$SRC"
if [ $? = 0 ]; then
test -e $DST
if [ $? = 1 ]; then
mkdir -p $DST
else
echo "directory already exists"
fi
else
echo "Source directory $SRC does not exist"
fi
fi
done
}
removelinks () {
setdest;
cat $DEST/usr/lib/opkg/info/$PACKAGE.list | while read LINE; do
SRC=$LINE
DST=`echo $LINE | sed "s|$DEST||"`
DSTNAME=`basename $DST`
DSTDIR=`echo $DST | sed "s|$DSTNAME\$||"`
test -f $DST
if [ $? = 0 ]; then
rm -f $DST
test -d $DSTDIR && rmdir $DSTDIR 2>/dev/null
else
test -d $DST
if [ $? = 0 ]; then
rmdir $DST
else
echo "$DST does not exist"
fi
fi
done
}
mountdest () {
test -d $PACKAGE
if [ $? = 1 ]; then
echo "Mount point does not exist"
exit 1
fi
for i in $PACKAGE/usr/lib/opkg/info/*.list; do
$0 add `basename $i .list`
done
}
umountdest () {
test -d $PACKAGE
if [ $? = 1 ]; then
echo "Mount point does not exist"
exit 1
fi
for i in $PACKAGE/usr/lib/opkg/info/*.list; do
$0 remove `basename $i .list`
done
}
case "$COMMAND" in
add)
addlinks
;;
remove)
removelinks
;;
mount)
mountdest
;;
umount)
umountdest
;;
*)
echo "Usage: $0"
echo " Commands: add, remove, mount, umount"
echo " Targets:, "
echo "Example: $0 add kismet-server"
echo "Example: $0 remove kismet-server"
echo "Example: $0 mount /mnt/usb"
echo "Example: $0 umount /mnt/usb"
exit 1
;;
esac
exit 0
dodelimo pravice:
chmod a+x /bin/opkg-link
Da bomo sploh lahko uporabljali usb naložimo
opkg install kmod-usb-core kmod-usb-uhci kmod-usb-ohci kmod-usb2 kmod-usb-storage kmod-fs-ext3 kmod-nls-base kmod-fs-msdos kmod-fs-vfat
opkg install kmod-nls-cp1250 kmod-nls-cp437 kmod-nls-cp850 kmod-nls-iso8859-1 kmod-nls-iso8859-15 kmod-nls-iso8859-2 kmod-nls-utf8
uredimo konfiguracije...
nano /etc/opkg.conf
kot prvo dodamo
dest usb /mnt/usbdrive
Prvo zato da nam kasneje pri vsakem paketku ni potrebno navajati kam...
RESETIRAMO!!!
Jaz rad nastavim še 64mb swap-a na usb saj imam 1 gb kjuč in mislim da ni škodatega prostora...
opkg install swap-utils
dd if=/dev/zero of=/mnt/usbdrive/swapfile bs=1024 count=65536
mkswap /mnt/usbdrive/swapfile
# jaz vedno ob rebootu nastavim svap z
swapon /mnt/usbdrive/swapfile
Jaz se rad igram tudi z zvokom saj sem iz routerja naredu preprost mp3 predvajalnik in tudi internetni radijo!
le tega se lotim tako:
opkg install kmod-sound-core kmod-usb-audio alsa-lib libncurses libpthread alsa-utils zlib libid3tag libmad madplaynajbrž bi bilo še pametno omeniti da po vsakem nalaganju paketov potrebno pognati opkg-link skripto, ki poveže programčke iz usbja na /
reboot
opkg-link mount /mnt/usbdrive
Jaz ponavadi vežem ez-setup tipko na ukaz
wget -O - http://nekinternetniradio | madplay -
in lahko poslušam musko ...
no tole skriptico imam na /etc/hotplug.d/button/play
#!/bin/sh
LED=`cat /proc/diag/led/power`
if [ "$BUTTON" = "ses" ] && [ "$ACTION" = "pressed" ]; then
if [ "$LED" = "1" ]; then
wget -O - http://67.149.90.53:8014 | madplay -a -45 -&
echo "0" > /proc/diag/led/power
fi
if [ "$LED" = "0" ]; then
killall madplay
echo "1" > /proc/diag/led/power
fi
fi
in ko stisnem tipkico ze-setup mi začne špilat muska :D
PS:
V načrtu imam še več podobnih funkcionalnosti, ampak tiste bodo zahtevale veliko časa, znanja in predvsem denarja, zato so zaenkrat le v idejnem delu razvoja.
Če so kaka vprašanja, le pokomentirajte ali pa me kako drugače kontaktirajte in vam bom z veseljem pomagal!
PPS:
Skripto za predvajanja internetnega radija sem malce popravil in to tako, da sedaj poslušalca ne bolijo ušesa med predvajanjem!




