Jak zprovoznit SPI na zařízení s OpenWRT, když nemá volný SPI port? Stačí jen najít několik volných GPIO pinů, nainstalovat pár balíčků a už to funguje.
Zobrazují se příspěvky se štítkemAsus 500gP. Zobrazit všechny příspěvky
Zobrazují se příspěvky se štítkemAsus 500gP. Zobrazit všechny příspěvky
sobota 8. listopadu 2014
úterý 24. dubna 2012
Vypínání/zapínání WiFi tlačítkem.
Ve složce /etc/hotplug.d/button, tu je nutné vytvořit pomocí příkazu mkdir -p /etc/hotplug.d/button , stačí vytvořit soubor ToggleWiFi s následujícím obsahem:
Tímto se po nabootování a nakonfigurování WiFi rozhraní zase vypne a uživatel si ho potom případně zapne.
#!/bin/sh
if [ "$BUTTON" = "ses" ] ; then
if [ "$ACTION" = "pressed" ] ; then
#LED="$(cat
/proc/diag/led/power)"
WiFi="$(uci get wireless.@wifi-device[0].disabled)"
if [ "$WiFi" = "0" ]; then
#echo
"0" > /proc/diag/led/power
uci set wireless.@wifi-device[0].disabled=1
wifi
else
#echo
"1" > /proc/diag/led/power
uci set wireless.@wifi-device[0].disabled=0
wifi
fi
fi
fi
Potom už jen stačí mu přiřadit práva pomocí chmod. Každým zmáčknutím tlačítka Easy Setup na 500gP se buď vypne nebo zapne WiFi rozhraní.
Nakonec je nutné přidat do sekce boot startovacího souboru /etc/init.d/network
Nakonec je nutné přidat do sekce boot startovacího souboru /etc/init.d/network
uci set wireless.@wifi-device[0].disabled=1
wifi
Tímto se po nabootování a nakonfigurování WiFi rozhraní zase vypne a uživatel si ho potom případně zapne.
čtvrtek 19. dubna 2012
Jak vytvářet symlinky pro zařízení
Potřeboval jsem k 500gP připojit druhou tiskárnu, bohužel tiskárny mohou uživatelé libovolně zapínat. První zapnutá tiskárna se přihlásí jako /dev/lp0, což způsobuje problémy se sdílením. Pomocí symlinku jsem tedy vytvořil pro každou tiskárnu jedinečný název.
Pomocí příkazu
do souboru /etc/udev/rules.d/10-local.rules jsem zapsal toto:
Pro udev, bylo nutné ještě startovat démona, například takto (/etc/init.d/udevd):
Otevřené i čekající porty je možné zjistit pomocí netstat -an.
Zdroje:
http://www.root.cz/clanky/jak-umravnit-zlobivy-udev/
http://www.dl8kdl.net/articles/projects/computers/netgear-wgt634u-openwrt
a diskuze:
http://forum.root.cz/index.php?topic=4209.0
Pomocí příkazu
udevadm info -a -p $(udevadm info -q path -n /dev/lp1)
jsem si nechal zobrazit všechny parametry, zvolil jsem položku ATTRS{product}=="Samsung ML-1520 Series"do souboru /etc/udev/rules.d/10-local.rules jsem zapsal toto:
ATTRS{product}=="Samsung ML-1520 Series", SYMLINK+="ML-1520"
ATTRS{product}=="CLP-320 Series", SYMLINK+="CLP-320"
Dále bylo nutné pravidla znovu načíst.udevadm control --reload-rules
Pro udev, bylo nutné ještě startovat démona, například takto (/etc/init.d/udevd):
#!/bin/sh /etc/rc.common
START=03
start () {
udevd --daemon
}
stop() {
killall -9 udevd
}
A nakonec přiřadit práva a povolit spouštění. Otevřené i čekající porty je možné zjistit pomocí netstat -an.
Zdroje:
http://www.root.cz/clanky/jak-umravnit-zlobivy-udev/
http://www.dl8kdl.net/articles/projects/computers/netgear-wgt634u-openwrt
a diskuze:
http://forum.root.cz/index.php?topic=4209.0
pátek 6. ledna 2012
Oscam na OpenWRT
Je nutné doinstalovat balíčky pro vlákna (libpthread)
opkg install libpthread
Chyba se projevuje takto:
oscam: can't load library 'librt.so.0'
oscam je nutné spouštět s parametrem -c /etc/oscam
libusb
usbutils
// konfigurace čtečky v oscam.server
[reader]
label = Phoenix1
protocol = mouse
device = /dev/ttyUSB0 # pod windows /dev/ttyS0 (COM1)
device_out_endpoint = 0x81
detect = none
mhz = 357
cardmhz = 357
group = 1
emmcache = 1,3,2
deprecated = 1
http://www.ab-forum.info/viewtopic.php?p=299502#p299502
Pro správnou funkci Oscamu s FTDI převodníkem pro čtečku je nutné zkompilovat OpenWRT s podporou výpočtů s pohyblivou čárkou (FPU), chyba se projevuje v dmesgu hláškou:
FPU emulator disabled, make sure your toolchainwas compiled with software floating point support (soft-float)
opkg install libpthread
Chyba se projevuje takto:
oscam: can't load library 'librt.so.0'
oscam je nutné spouštět s parametrem -c /etc/oscam
libusb
usbutils
// konfigurace čtečky v oscam.server
[reader]
label = Phoenix1
protocol = mouse
device = /dev/ttyUSB0 # pod windows /dev/ttyS0 (COM1)
device_out_endpoint = 0x81
detect = none
mhz = 357
cardmhz = 357
group = 1
emmcache = 1,3,2
deprecated = 1
http://www.ab-forum.info/viewtopic.php?p=299502#p299502
Pro správnou funkci Oscamu s FTDI převodníkem pro čtečku je nutné zkompilovat OpenWRT s podporou výpočtů s pohyblivou čárkou (FPU), chyba se projevuje v dmesgu hláškou:
FPU emulator disabled, make sure your toolchainwas compiled with software floating point support (soft-float)
úterý 25. října 2011
Startovací soubor pro LIGHTTPD
#!/bin/sh /etc/rc.common
pondělí 24. října 2011
SQLite3 na 500gP
Co takhle si hodnoty naměřené domácím teploměrem ukládat do databáze? A co třeba potom malovat grafy?
Nejprve je nutné nainstalovat balíček sqlite3-cli.
Nejprve je nutné nainstalovat balíček sqlite3-cli.
A nyní už je možné skriptovat:
#!/bin/bash
sqlite3 /opt/www/Databaze/teploty.db "prikaz;"
Takto vytvoříme tabulku venku, se sloupci ID, čas a teplota.
Takto vytvoříme tabulku venku, se sloupci ID, čas a teplota.
CREATE TABLE 'venku' ('ID' INTEGER PRIMARY KEY AUTOINCREMENT, 'Datum' TIMEDATE NOT NULL, 'Teplota' INT);
pondělí 12. září 2011
OpenWRT Flash
cd /tmp/
wget http://downloads.openwrt.org/backfire/10.03.1-rc5/brcm47xx/openwrt-brcm47xx-squashfs.trx
sysupgrade /tmp/openwrt-brcm47xx-squashfs.trx
wget http://downloads.openwrt.org/backfire/10.03.1-rc5/brcm47xx/openwrt-brcm47xx-squashfs.trx
sysupgrade /tmp/openwrt-brcm47xx-squashfs.trx
středa 27. července 2011
USB Serial + Storage
OpenWRT 10.03.1-rc5
nainstalovat balíčky
opkg install kmod-usb2 kmod-usb-storage kmod-usb-uhci kmod-usb-ohci kmod-nls-iso8859-1 kmod-nls-cp437 kmod-fs-vfat kmod-fs-ext2 kmod-fs-ext3 kmod-fs-ext4 nano kmod-usb-serial-ftdi luci-app-hd-idle luci-app-wol bash
Pro čtení i zápis na NTFS je nutný balíček ntfs-3g
Pomocí luci-app-hd-idle je možné nastavit čas po jehož uplynutí se HDD uspí.
Díky luci-app-wol můžeme rozesílat magic pakety k zapínání počítačů.
nainstalovat balíčky
opkg install kmod-usb2 kmod-usb-storage kmod-usb-uhci kmod-usb-ohci kmod-nls-iso8859-1 kmod-nls-cp437 kmod-fs-vfat kmod-fs-ext2 kmod-fs-ext3 kmod-fs-ext4 nano kmod-usb-serial-ftdi luci-app-hd-idle luci-app-wol bash
Pro čtení i zápis na NTFS je nutný balíček ntfs-3g
Pomocí luci-app-hd-idle je možné nastavit čas po jehož uplynutí se HDD uspí.
Díky luci-app-wol můžeme rozesílat magic pakety k zapínání počítačů.
středa 8. června 2011
Pokus o kompilaci WRTáku a balíčků
stáhnout
http://downloads.openwrt.org/backfire/10.03/brcm47xx/OpenWrt-ImageBuilder-brcm47xx-for-Linux-i686.tar.bz2
a http://downloads.openwrt.org/backfire/10.03/brcm47xx/OpenWrt.config
make menuconfig
načteme konfiguraci, přidáme volby SDK, Toolchair a ukončíme
make -j 3
spustíme a počkáme
stoličku si také přeložíme
Postup instalace do Ubuntu i jiné distribuce je na:
http://wiki.openwrt.org/doc/howto/buildroot.exigence
Balíčky pro Ubuntu x64
sudo apt-get install build-essential subversion libncurses5-dev zlib1g-dev gawk gcc-multilib flex git-core quilt
Vlastní Build je popsán na:
http://wiki.openwrt.org/doc/howto/build
http://downloads.openwrt.org/backfire/10.03/brcm47xx/OpenWrt-ImageBuilder-brcm47xx-for-Linux-i686.tar.bz2
a http://downloads.openwrt.org/backfire/10.03/brcm47xx/OpenWrt.config
make menuconfig
načteme konfiguraci, přidáme volby SDK, Toolchair a ukončíme
make -j 3
spustíme a počkáme
stoličku si také přeložíme
Postup instalace do Ubuntu i jiné distribuce je na:
http://wiki.openwrt.org/doc/howto/buildroot.exigence
Balíčky pro Ubuntu x64
sudo apt-get install build-essential subversion libncurses5-dev zlib1g-dev gawk gcc-multilib flex git-core quilt
Vlastní Build je popsán na:
http://wiki.openwrt.org/doc/howto/build
pátek 20. května 2011
Linux praktické příkazy
Zobrazení všech rozhraní
iwconfig
zobrazení nastavení všech rozhraní (obdoba ipconfigu)
ifconfig
detekce WiFi karty
wifi detect > /etc/config/wireless
jak zapnout WiFi ve firmware 500gP OpenWRT
v souboru /etc/config/wireless
option 'disabled' '0'
změnit na option 'disabled' '1'
může se také hodit seznam WiFi kanálů
http://wiki.airdump.cz/Seznam_WiFi_kan%C3%A1l%C5%AF_pro_WLAN
Karta z notebooku MSI RT-2560 funguje s ovladačem kmod-rt2500-pci.
Přesměrování výstupu do souboru (i chybové hlášky)
/usr/local/bin/oscam > /tmp/log.txt 2>&1
iwconfig
zobrazení nastavení všech rozhraní (obdoba ipconfigu)
ifconfig
detekce WiFi karty
wifi detect > /etc/config/wireless
jak zapnout WiFi ve firmware 500gP OpenWRT
v souboru /etc/config/wireless
option 'disabled' '0'
změnit na option 'disabled' '1'
může se také hodit seznam WiFi kanálů
http://wiki.airdump.cz/Seznam_WiFi_kan%C3%A1l%C5%AF_pro_WLAN
Karta z notebooku MSI RT-2560 funguje s ovladačem kmod-rt2500-pci.
Přesměrování výstupu do souboru (i chybové hlášky)
/usr/local/bin/oscam > /tmp/log.txt 2>&1
úterý 28. prosince 2010
Teploměr na blogspotu
Upravit soubor konfigurace teploměru (/etc/digitemp.conf)
TTY /dev/ttyUSB0
READ_TIME 1000
LOG_TYPE 0
LOG_FORMAT "%.2C" #"%b %d %H:%M:%S Sensor%s,%.2C;"
Nyní do CRONu přidáme řádek
* * * * * /opt/usr/bin/teplomer.sh
V souboru /opt/usr/bin/teplomer.sh bude
#!/bin/ash
export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/opt/bin:/opt/sbin:/opt/usr/bin:/opt/usr/sbin
digitemp_DS9097 -q -c /etc/digitemp.conf -t 1 > /tmp/teplota.txt &
TTY /dev/ttyUSB0
READ_TIME 1000
LOG_TYPE 0
LOG_FORMAT "%.2C" #"%b %d %H:%M:%S Sensor%s,%.2C;"
Nyní do CRONu přidáme řádek
* * * * * /opt/usr/bin/teplomer.sh
V souboru /opt/usr/bin/teplomer.sh bude
#!/bin/ash
export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/opt/bin:/opt/sbin:/opt/usr/bin:/opt/usr/sbin
digitemp_DS9097 -q -c /etc/digitemp.conf -t 1 > /tmp/teplota.txt &
úterý 30. listopadu 2010
Teploměr
načtení teploty z čidla (čidel)
digitemp_DS9097 -q -c /etc/digitemp.conf -t 0
v /etc/digitemp.conf je konfigurace:
TTY /dev/ttyUSB0
READ_TIME 1000
LOG_TYPE 0
LOG_FORMAT "%b %d %H:%M:%S Sensor%s,%.2C;"
CNT_FORMAT "%b %d %H:%M:%S Sensor %s #%n %C"
HUM_FORMAT "%b %d %H:%M:%S Sensor %s C: %.2C F: %.2F H: %h%%"
SENSORS 2
ROM 0 0x10 0xDA 0x4F 0x4C 0x01 0x08 0x00 0x59
ROM 1 0x10 0xAE 0xA2 0x4B 0x01 0x08 0x00 0xAD
digitemp_DS9097 -q -c /etc/digitemp.conf -t 0
v /etc/digitemp.conf je konfigurace:
TTY /dev/ttyUSB0
READ_TIME 1000
LOG_TYPE 0
LOG_FORMAT "%b %d %H:%M:%S Sensor%s,%.2C;"
CNT_FORMAT "%b %d %H:%M:%S Sensor %s #%n %C"
HUM_FORMAT "%b %d %H:%M:%S Sensor %s C: %.2C F: %.2F H: %h%%"
SENSORS 2
ROM 0 0x10 0xDA 0x4F 0x4C 0x01 0x08 0x00 0x59
ROM 1 0x10 0xAE 0xA2 0x4B 0x01 0x08 0x00 0xAD
pátek 22. října 2010
Jak odesílat maily ve formátu HTML
Pomocí již zmiňovaného SMTP klienta (ssmtp) je možné odesílat i zprávy ve formátu HTML, podstatný je žlutě označený řádek:
To: komu@gmail.com
From: od_koho@gmail.com
Subject: Pozdrav
Content-Type: text/html; charset="ISO-8859-1";
<html><head>
<meta http-equiv="PRAGMA" content=no-cache">
<meta http-equiv="Content-Language" content="cs">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
To: komu@gmail.com
From: od_koho@gmail.com
Subject: Pozdrav
Content-Type: text/html; charset="ISO-8859-1";
<html><head>
<meta http-equiv="PRAGMA" content=no-cache">
<meta http-equiv="Content-Language" content="cs">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
Hrátky s příkazovým řádkem
Načtení všech přihlášení či pokusů o přihlášení do routeru
pokud máme logy v souboru /opt/log/log
cat /opt/log/log | grep -i "auth"
pokud máme logy circular bufferu
logread | grep -i "auth"
grep -i retezec # vrátí pouze řádky, které obsahují retezec
A jak odesílat e-maily z ASUSE? Stačí nainstalovat SSMTP
opkg update
opkg install ssmtp
A dopsat do konfiuráku všechny údaje
nano /etc/ssmtp/ssmtp.conf
root=mejl@gmail.com
mailhub=smtp.gmail.com:587
hostname=mejl@gmail.com
UseTLS=YES
UseSTARTTLS=YES
AuthUser=uzivatel
pokud máme logy v souboru /opt/log/log
cat /opt/log/log | grep -i "auth"
pokud máme logy circular bufferu
logread | grep -i "auth"
grep -i retezec # vrátí pouze řádky, které obsahují retezec
A jak odesílat e-maily z ASUSE? Stačí nainstalovat SSMTP
opkg update
opkg install ssmtp
A dopsat do konfiuráku všechny údaje
nano /etc/ssmtp/ssmtp.conf
root=mejl@gmail.com
mailhub=smtp.gmail.com:587
hostname=mejl@gmail.com
UseTLS=YES
UseSTARTTLS=YES
AuthUser=uzivatel
úterý 12. října 2010
Jak stahovat z Ulož.to pomocí asuse?
Nejprve je nutné nainstalovat tyto balíčky: bash 3.2-2 a wget 1.12-2
například takto:
opkg update
opkg install bash
opkg install wget
potom si stačí stáhnout tento skript ZDE
cd /opt/Download
wget http://svetylk0.masquerade.cz/wdownload.sh
chmod 777 wdownload.sh
no a nyní stačí zakomentovat řádek display captcha.png &, tedy #display captcha.png &
obrázek s captchou je nutné nejprve stáhnout pomocí ftp a potom zadat do příkazové řádky
Až bude čas, tak se pokusím o nějaké naroubování toho na webové rozhraní routeru.
Skript je potom možné spustit takto
/opt/Download/wdownload.sh <adresa na uloz.to>
například takto:
opkg update
opkg install bash
opkg install wget
potom si stačí stáhnout tento skript ZDE
cd /opt/Download
wget http://svetylk0.masquerade.cz/wdownload.sh
chmod 777 wdownload.sh
no a nyní stačí zakomentovat řádek display captcha.png &, tedy #display captcha.png &
obrázek s captchou je nutné nejprve stáhnout pomocí ftp a potom zadat do příkazové řádky
Až bude čas, tak se pokusím o nějaké naroubování toho na webové rozhraní routeru.
Skript je potom možné spustit takto
/opt/Download/wdownload.sh <adresa na uloz.to>
#!/bin/bash
# Download files from uloz.to using wget
# Author: svetylk0 (svetylk0 at seznam dot cz)
# Version: 1.0.3
VER="1.0.3"
DESTDIR="downloads"
function captcha() {
echo "Downloading captcha image ..."
wget -q "$URL" -O captcha.htm
CAPTCHA_ID=`grep class=\"captcha_nb captcha.htm | head -n 1
| grep -Eo [0-9]+`
CAPTCHA_IMG=`grep -Eo "http.+$CAPTCHA_ID\.png"
captcha.htm | head -n 1`
echo $CAPTCHA_ID > CAPTCHAID
wget -q "$CAPTCHA_IMG" -O captcha.png
#display it
#display captcha.png &
echo "Enter captcha text:"
read TEXT
echo $TEXT > TEXT
}
function notify() {
#notify page and also because of form_url update
echo "Notifying page for download ..."
wget -q "$URL" -O captcha.htm
}
if ! [ -e $DESTDIR ]; then
if ! mkdir $DESTDIR; then
echo "Failed to create destination directory:
$DESTDIR"
exit
fi
fi
#parse parameters
LNUM="unlimited"
LIMIT=""
while [ -n "$1" ]; do
case $1 in
-l )
shift
LIMIT="--limit-rate="$1"k"
LNUM="$1
kB/s"
shift;;
*uloz* )
URL="$1"
shift;;
* )
shift;;
esac
done
FILE=`echo "$URL" | tr '/' '\n' | tail -n 1`
DESTDIR="downloads"
TIMEOUT=30
echo
echo "Wget uloz.to downloader version $VER"
echo
echo "URL: $URL"
echo "File: $FILE"
echo "Destination directory: $DESTDIR"
echo
echo "Download limit: $LNUM"
if [ -e TEXT ]; then
echo "Use last captcha? [Y/n]"
read IN
if [ "$IN" = n ]; then
captcha;
else
notify;
CAPTCHA_ID=`cat CAPTCHAID`
TEXT=`cat TEXT`
fi
else
captcha;
fi
DOWNLOAD="Ståhnout
FREE"
FORM_URL=`grep name=\"dwn\" captcha.htm | grep -Eo
"http.+\" " | sed s/"\" metho
d=\"post\""/""/`
OUTPUT="$DESTDIR/$FILE"
#start download
while [ true ]; do
#downloaded size checking
if [ -e "$OUTPUT" ]; then
SIZE=`du -h "$OUTPUT" | grep -oE
"^[0-9]+"`
else
SIZE=0
fi
if ! wget -c "$LIMIT" --timeout 30 --tries 0 --retry-connrefused --post-data "ca ptcha_nb=$CAPTCHA_ID&captcha_user=$TEXT&download=$DOWNLOAD" "$FORM_URL" -O "$OUT PUT"; then
echo "Error occured, retrying after
$TIMEOUT""s"
sleep $TIMEOUT
continue
fi
echo "Verifying downloaded file ..."
#check if is HTML file
if [ -e "$OUTPUT" ]; then
if file "$OUTPUT" | grep -q HTML; then
echo "Something went wrong, trying again ... after
$TIMEOUT""s"
rm "$OUTPUT"
sleep $TIMEOUT
notify;
continue
fi
#test size
NEWSIZE=`du -h "$OUTPUT" | grep -oE
"^[0-9]+"`
if [ "$NEWSIZE" = "$SIZE" ]; then
echo "Size is same as before download. Which means
that nothing has been downloa
ded"
echo "(wrong CAPTCHA or no free slots?)."
echo
echo " Retrying after $TIMEOUT""s"
echo
echo "Note: If you see above wget saying that file is
complete, you have to"
echo "terminate this process by pressing CTRL+c"
sleep $TIMEOUT
notify;
continue
fi
fi
break
done
echo "OK"
Přihlásit se k odběru:
Příspěvky (Atom)