51

(65 odpowiedzi, napisanych Oprogramowanie / Software)

Lista jest do identyfikacji urządzeń i ich czasu korzystania z wifi, że Jaś skonsumował swój czas częściowo telefonem, komputerem i tabletem, albo tylko komputerem, więc blokować należałoby osobną regułką każdy z osobna - trzy regułki dla trzech IP.

52

(65 odpowiedzi, napisanych Oprogramowanie / Software)

To w zasadzie jest gotowiec - najprościej zdublować dla każdego z osobna nazywając pliki, a w plikach adresując odpowiednio referencje (bo tak będzie najprościej wyłączyć rozdzielnie, np. usuwając sprawdzanie z crona dla jednego z nich), więc dwa zestawy na bazie poprzedniej instrukcji w ten sposób, że przykładowe 'dzieciaki' to odpowiednio 'jas' i 'malgosia', zatem:
- w rc.local

echo 0 > /tmp/timefile_jas
echo 0 > /tmp/timefile_malgosia
httpd_gargoyle -p 88 -d /limbo -PNF index.html

- w cronie

*/1 * * * * /sbin/jas_counter.sh; /sbin/malgosia_counter.sh
1 0 * * * cat /tmp/jas_timefile > /tmp/jas_timefile.old; echo 0 > /tmp/jas_timefile; /sbin/jas_limit.sh unlock; cat /tmp/malgosia_timefile > /tmp/malgosia_timefile.old; echo 0 > /tmp/malgosia_timefile; /sbin/malgosia_limit.sh unlock

- osobne /etc/jas_devices i /etc/malgosia_devices
itd....

Nie ma - to, tamto - nie moja dziedzina : ) Nie można się dać Jasiowi i Małgosi prześcignąć, bo gotowe zaraz same obczaić jak tu sarkofagom założyć limity.

53

(65 odpowiedzi, napisanych Oprogramowanie / Software)

Idąc tym tropem - tak. Cóż, moje dzieciaki, to de facto 1szt. z potencjalnie trzema (o zgrozo!) klientami, pc/tablet/telefon.
Stąd zliczanie dla wszystkich urządzeń równocześnie, bo zdarza się, że i w dwa na raz jest 'bęnione'. Więcej dzieciaków to przykładowo przez rozwinięcie niżej przytoczonego pomysłu więcej osobnych plików z przypisanemu każdemu MAC adresami i osobne przebiegi sprawdzające dla każdego z plików, żeby nie było 'wszyscy za jednego'.

Wracając zatem do sposobu na przekierowanie na stronę, to dodatkowo:
- mam dodatkowy katalog ze 'stroną', na którą trafiają banici, np. /limbo/index.html
- w rc.local instrukcję, aby po restarcie tworzyć pusty licznik i tę drugą instancję www

echo 0 > /tmp/timefile #ewentualnie potrzebne osobne dla każdej pociechy
httpd_gargoyle -p 88 -d /limbo -PNF index.html

- w cronie sprawdzenie co minutę oraz zerowanie licznika tuż po północy ze zdjęciem ewentualnie nałożonej blokady

*/1 * * * * /sbin/dzieciaki_counter.sh
1 0 * * * cat /tmp/timefile > /tmp/timefile.old; echo 0 > /tmp/timefile; /sbin/dzieciaki_limit.sh unlock

"Ten" moment w pliku /sbin/dzieciaki_counter.sh, w którym po osiągnięciu limitu następuje przekierowanie, to wywołanie /sbin/dzieciaki_limit z argumentem lock

if [ $USEDTIME -gt $LIMIT ]; then
[ -e /tmp/dzieciaki.lock ] || /sbin/dzieciaki_limit.sh lock 
fi

aż wreszcie sam /sbin/dzieciaki_limit.sh

#!/bin/sh

case "$1" in
    lock)
        [ -e /tmp/dzieciaki.lock ] && return
        touch /tmp/dzieciaki.lock
        iptables -A PREROUTING -t nat -s IP_PRZYPISANE_DO_MAC -p tcp --dport 1:65535 -j DNAT --to 192.168.1.1:88
        ;;
    unlock)
        [ -e /tmp/dzieciaki.lock ] || return
        rm /tmp/dzieciaki.lock
        iptables -D PREROUTING -t nat -s IP_PRZYPISANE_DO_MAC -p tcp --dport 1:65535 -j DNAT --to 192.168.1.1:88
        ;;
esac

Przekierowanie jak widać dla konkretnego IP wedle konfiguracji w zakładce DHCP - statycznie przypisanych adresów IP do MAC.
Całość to zlepek fragmentów rozmaitych koncepcji zaczerpniętych głównie z tutejszego forum.

54

(65 odpowiedzi, napisanych Oprogramowanie / Software)

Jako wykonywalny, ale uruchamiany co minutę przez cron, a w tym jego momencie

if [ $USEDTIME -gt $LIMIT ]; then
# jakieś zdarzenie, które odetnie 'internety'
fi

Tak, w /etc/dzieciaki_devices kolejno MAC adresy urządzeń pociech:
XX:XX:XX:XX:XX:XX
XX:XX:XX:XX:XX:XX
XX:XX:XX:XX:XX:XX
...

55

(65 odpowiedzi, napisanych Oprogramowanie / Software)

Używam czegoś w tym guście realizowanego przez licznik - sprawdzanie co minutę

#!/bin/sh
DEVICES=/etc/dzieciaki_devices # a w nim poszczególne MACi dzieciaków w kolejnych liniach
LIMIT=240
TIMEFILE=/tmp/timefile # tworzony co restart, przy założeniu, że 'dzieciaki' nie restartują : )
USEDTIME=$(cat $TIMEFILE)

for device in $(cat $DEVICES); do

if [ ! -z "$(iw dev wlan0 station dump | grep $device)" ]; then
    if [ "$(iw dev wlan0 station dump | grep -e $device -e inactive | tail -1 | awk '{print $3}')" -lt 60000 ]; then
# ignorowanie nieaktywnego połączenia, żeby było 'sprawiedliwie'
# z obserwacji - dotyczy np telefonu rzuconego w kąt, który podtrzymuje dzierżawę, ale niedotykany pozostaje 'inactive'
    let USEDTIME=$USEDTIME+1
    echo $USEDTIME > $TIMEFILE
    fi    
fi
done

if [ $USEDTIME -gt $LIMIT ]; then
# wedle uznania - u mnie aktywacja przekierowania na stronę osobnej instancji httpd_gargoyle,
# albo - jak u Ciebie - deaktywacja wydzielonego interfejsu
fi 

O północy reset licznika i zdjęcie przekirowania/blokady.
Taka dziecinada dla dzieciaków smile

Skądże - wszystkie po kolei wedle Igo postu tego wątku. Polecę jeszcze raz:

root@Gargoyle:~# opkg install opkg
Package opkg (618-3) installed in root is up to date.

root@Gargoyle:~# opkg remove haserl
No packages removed.

root@Gargoyle:~# opkg install haserl-i18n
Installing haserl-i18n (0.9.26-1) to root...
Downloading http://ecco.selfip.net/gargoyle-pl/atti … ar71xx.ipk.
Configuring haserl-i18n.

root@Gargoyle:~# opkg install --nodeps gargoyle-i18n
Installing gargoyle-i18n (0.2.1-1) to root...
Downloading http://ecco.selfip.net/gargoyle-pl/atti … -1_all.ipk.
Configuring gargoyle-i18n.

root@Gargoyle:~# opkg install plugin-gargoyle-i18n-English-EN
Installing plugin-gargoyle-i18n-English-EN (1.0.0-1) to root...
Downloading http://ecco.selfip.net/gargoyle-pl/atti … -1_all.ipk.
Configuring plugin-gargoyle-i18n-English-EN.
//usr/lib/opkg/info/plugin-gargoyle-i18n-English-EN.postinst: exit: line 129: Illegal number: -1
Collected errors:
* pkg_run_script: package "plugin-gargoyle-i18n-English-EN" postinst script returned status 2.
* opkg_configure: plugin-gargoyle-i18n-English-EN.postinst returned 2.

EDIT:
Wybrnąć udaje się przechodząc mimo to do dalszych kroków:
# opkg install --force-reinstall ddns-gargoyle (choć to też tylko z pobranego .ipk)
i dalej
# uci set gargoyle.global.fallback_lang=English-EN
# uci set gargoyle.global.language=Polish-PL
# uci set gargoyle.global.theme='Blue Ice'
# uci commit gargoyle
# for i in /rom/etc/uci-defaults/plugin-gargoyle*; do sh $i; done
# reboot

ale tu:
/usr/lib/gargoyle/i18nServices.sh
pewnie by się znalazła smile

EDIT: ale wygląda na pustą..
więc wykaszania się na - restart_lang_services ?

Oj, też coś grymasi:

root@Gargoyle:/tmp# opkg install plugin-gargoyle-i18n-English-EN
Installing plugin-gargoyle-i18n-English-EN (1.0.0-1) to root...
Downloading http://ecco.selfip.net/gargoyle-pl/atti … -1_all.ipk.
Configuring plugin-gargoyle-i18n-English-EN.
//usr/lib/opkg/info/plugin-gargoyle-i18n-English-EN.postinst: exit: line 129: Illegal number: -1
Collected errors:
* pkg_run_script: package "plugin-gargoyle-i18n-English-EN" postinst script returned status 2.
* opkg_configure: plugin-gargoyle-i18n-English-EN.postinst returned 2.

Tak poszło.

root@Gargoyle:/tmp# opkg install /tmp/gargoyle_1.6.0.4-6_ar71xx.ipk
Installing gargoyle (1.0.0-6) to root...
Configuring gargoyle.

I teraz ten krok?
opkg install plugin-gargoyle-i18n-English-EN

Też nie bangla:

Installing gargoyle (1.6.0.4-6) to root...
Collected errors:
 * opkg_download_pkg: Package gargoyle is not available from any configured src.
 * opkg_install_pkg: Failed to download gargoyle. Perhaps you need to run 'opkg update'?
 * opkg_install_cmd: Cannot install package gargoyle.

opkg update, a wcześniej opkg install opkg bez zgrzytów

Też tu utknąłem...
Po pomyślnej sekwencji:

opkg install opkg
opkg remove haserl # (choć raportuje, że nie ma co usuwać, ale może tak ma być w obecnym 1.6.0.4)
opkg install haserl-i18n
opkg install --nodeps gargoyle-i18n

to już tego:

root@Gargoyle:~# opkg install plugin-gargoyle-i18n-English-EN
Installing plugin-gargoyle-i18n-English-EN (1.0.0-1) to root...
Downloading http://ecco.selfip.net/gargoyle-pl/attitude_adjustment/ar71xx/plugins/plugin-gargoyle-i18n-English-EN_1.0.0-1_all.ipk
Installing gargoyle (1.6.0.4-6) to root...
Collected errors:
 * opkg_download_pkg: Package gargoyle is not available from any configured src.
 * opkg_install_pkg: Failed to download gargoyle. Perhaps you need to run 'opkg update'?
 * opkg_install_cmd: Cannot install package plugin-gargoyle-i18n-English-EN.

mimo tego

root@Gargoyle:~# cat /etc/opkg.conf
src/gz attitude_adjustment http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/packages
src/gz gargoylepl_plugins http://ecco.selfip.net/gargoyle-pl/attitude_adjustment/ar71xx/plugins
src/gz gargoylepl_packages http://ecco.selfip.net/gargoyle-pl/attitude_adjustment/ar71xx/packages
dest root /
dest ram /tmp
dest plugin_root /plugin_root
lists_dir ext /var/opkg-lists
option overlay_root /overlay

nie wiem jak przeskoczyć...

62

(22 odpowiedzi, napisanych Oprogramowanie / Software)

Cezary, począwszy od 1.6.0.3 pojawia się do obrazów dla 4MB z USB uwaga o pozostającej b. małej ilości miejsca we flash. Nie pojawia się natomiast informacja, że na przestrzeni od 1.6.0.1 do 1.6.0.3 przybył domyślnie wbudowany plugin USB Reset, a to pewnie też - może znikomo, ale nie bez wpływu na zajętość pamięci. Świeżo po instalacji zostaje max 92kb, a przy włączonym monitorze sieci i przez cykliczne backupy zużycia pasma waha się do granicznych 48kb, więc wiadomo, do czego to prowadzi. W 1.6.0.4 przybyło jeszcze parę zmian interfejsu, więc może być nawet gorzej.
Może zignorujesz, ale masz w postaci statystyk wiedzę nt tego, które routery 4MB korzystają z modemu 3g, a być może prosty sposób na to, aby dowiedzieć się, które poza tym w ogóle korzystają  z innych funkcjonalności USB niż sam modem.
W takiej najskromniejszej postaci zbyteczny przez wzgląd na celowość staje się funkcja 'Dodatki', więc to dalsza oszczędność, a i tak GG ma przewagę nad OFW, bo pamięta pin, ma wifi scheduler, sensowniejszy w konfiguracji firewall i ograniczenia.
Pewnie jest sporo takich zestawów 'tylko modem', to być może wzorem gałezi dla flashmodów 8-16MB na drugiej skrajni znalazłaby się przestrzeń dla obrazów bez usb-storage, block-mount, usb-reset i czego tam jeszcze w takiej sytuacji zbędnego?

+1 że ewidentnie zmiana czasu coś miesza, bo u mnie nie Aero a Orange i też podobna bolączka.

64

(11 odpowiedzi, napisanych Oprogramowanie / Software)

czuraj napisał/a:

Miałem to samo z moim, nie wiem o co chodzi, ale to dość ciekawe. Pomoże wyczyszczenie ustawień lub wgranie nowej wersji na pewno.

A miałeś to samo też dzisiaj? Bo jeśli tak, to o tyle ciekawsze, że i na moim 3420v2 działąjącym od roku bez zarzutu, a ostatnio przez kilkanaście dni bez przerw na 1.6.1, ot nagle, dziś wieczorem restart za restartem, z obserwacji logu chyba tuż po nawiązaniu połączenia i synchronizacji czasu. W kółko.

65

(26 odpowiedzi, napisanych Oprogramowanie / Software)

A swoją drogą, na co polecasz dziś iść do kina? : )

Nie, była strata 100%. W logu przy wyborze ppp skrypt zostawiał straszne fusy i konczył na failed. W NDIS bardzo krótko podsumowywał, chyba w trzech linijkach, że wynegocjował dzierżawę, właśnie taką 192.168.1.100, czyli pierwszy adres z (!) wyłączonego w mydelniczne DHCP, że wan jest up, i tyle. Cóż, ez efekt, a że był to jednodniowy kontakt, to się więcej tymczasem nie dowiem. Dzięki. Może innym razem.

Być może, bo niby daje się to skonfigurować i nawiązać połączenie Modem 3g/LTE NDIS, ale chyba konflikt tkwi poniżej, bo internetów ni mo : )

Adres IP WAN:192.168.1.100
Maska podsieci WAN:255.255.255.0

Adres bramy WAN:192.168.1.1
Serwer(y) DNS WAN:192.168.1.1

Adres IP LAN:192.100.1.1
Maska podsieci LAN:255.255.255.0

A zatem po podłączeniu i przełączeniu widoczne jest jako zaopatrzone w sterowniki:

(...)
C:* #Ifs= 3 Cfg#= 1 Atr=c0 MxPwr=100mA
I:* If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=02 Prot=02 Driver=option
E:  Ad=81(I) Atr=03(Int.) MxPS=  64 Ivl=2ms
E:  Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
I:* If#= 1 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:  If#= 2 Alt= 0 #EPs= 1 Cls=ff(vend.) Sub=02 Prot=16 Driver=cdc_ncm
E:  Ad=84(I) Atr=03(Int.) MxPS=  64 Ivl=2ms
I:* If#= 2 Alt= 1 #EPs= 3 Cls=ff(vend.) Sub=02 Prot=16 Driver=cdc_ncm
E:  Ad=84(I) Atr=03(Int.) MxPS=  64 Ivl=2ms
E:  Ad=85(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms

w logach do wychwycenia między innymi:

Mar 11 21:30:39 Gargoyle kern.info kernel: [163535.930000] cdc_ncm: wwan0: 42 mbit/s downlink 42 mbit/s uplink
Mar 11 21:30:40 Gargoyle kern.notice kernel: [163536.880000] scsi 34:0:0:0: CD-ROM            HUAWEI   Mass storage     ffff PQ: 0 ANSI: 2
Mar 11 21:30:40 Gargoyle kern.notice kernel: [163536.890000] scsi 34:0:0:1: Direct-Access     HUAWEI   Mass storage     ffff PQ: 0 ANSI: 2
Mar 11 21:30:40 Gargoyle kern.notice kernel: [163536.910000] sd 34:0:0:1: [sda] Attached SCSI removable disk

a w GUI zgłasza się jako /dev/ttyUSB0
i pojawia się interfejs WAN w postaci wwan0

Do pogodzenia pewnie IP GG i tej mydelniczki, bo domyślnie ma 192.168.1.1 i pod tym adresem panel konfiguracji. Można ten adres zmienić, można też wyłączyć/skonfigurować DHCP

Jak dotąd jeszcze bez powodzenia...

Można tego ponoć używać jako modemu na kablu, więc czy da się, żeby nie robić z GG mostu? Miałoby to pewnie tę przewagę nad modemem, że ma swoją baterię, którą router by podtrzymywał, więc nie powinno być problemu z prądem.
Konfiguracja byłaby wówczas jako kablowe DHCP, czy NDIS, zakładając, że zgłosiłby sie interfejs typu wwan0 po podłączeniu?
Z instrukcji wynika, że to żyje własnym życiem, co więcej - mam w garści, ale jeszcze z dala od dostępu do GG - samo inicjuje połączenie z internetem po włączeniu i na żądanie, więc jakby to było z odpowiedziami na ifup/ifdown wan?
Ktoś może doświadczył?

70

(0 odpowiedzi, napisanych Inne)

Podpowiedzcie gdzie szukać babola, co sprawia, że kliknąwszy w tu u góry widoczny link 'Witryna eko.one.pl' w firefox trafiam w próżnię, więc potem http://eko.one.pl/mib.html. W IE nie ma tego problemu.

71

(12 odpowiedzi, napisanych Oprogramowanie / Software)

Tak, generalnie chyba trzeba celować w ostatni interfejs diagnostyczny, którym sie modem zgłasza. Żeby móc zaobserwować wynik, to też dobrze przy pomocy picocom. Tak też sprawdzisz jakie ma tryby pracy AT+CFUN?

72

(12 odpowiedzi, napisanych Oprogramowanie / Software)

Zbadaj jeszcze najprostsze echo AT+CFUN=1,1
Tym zastąpiłem tę wcześniejszą kombinację i działało.

73

(3 odpowiedzi, napisanych Oprogramowanie / Software)

No dokładnie. Tylko że program się nie zmienił, a działał z wcześniejszymi wersjami Gargoyle. Myślałem juz, ze nie trybi zmiany certyfikatu, którym zgłasza sie router po update FW, ale równolegle łącząc się z innym urządzeniem, na którym miałem XBMClive, a teraz Openelec nie grymasi.

74

(3 odpowiedzi, napisanych Oprogramowanie / Software)

Być może to bez związku, bo na pewno za pośrednictwem putty niezauważalne, ale czy od, powiedzmy, wersji 1.5.9... do teraz nastąpiła jakaś zmiana w dropbear czy czym tam, co odpowiada za ssh, ze niektóre mobilne aplikacje klienckie, np The SSH Client dla Win Phone, straciły zdolność dostępu do GG - zwracany jest komunikat - Not SSH Server. Kiedyś w 1.5.9... nie było problemu.

Jeszce nie to samo, ale jakiś tam zysk jest - dla takiej sekwencji

echo "1" > /sys/class/gpio/gpio4/value
ifup wan

z ponad minuty zrobiło się mniej niż 45 sekund do nawiązania połączenia : )