1 (edytowany przez esper 2009-01-24 19:32:35)

Temat: Wifitoggle kamikaze 8.09

Witam. Mam problem z uruchomieniem tego wifitonggle pod kamikaze 8.09 w asusie wl-500g v1
Udalo mi się to zrobic, z tym ze ktorys raz już wgrywam na nowo 8.09 i teraz nie mogę uruchomic.

/etc/hotplug.d/button/01-wifitoggle

. /lib/config/uci.sh
. /etc/functions.sh

config_load "wifitoggle"
local section="cfg037326"                                                               <----- tutaj trzeba cos zmienic?
config_get      "BUTTON_NAME" "$section" "button"
config_get_bool "seen" "$section" "seen" '0'

toggle_radio() {
    local section="$1"
    config_get "WIFI_RADIOSTATUS" "$section" "disabled"

    case "$WIFI_RADIOSTATUS" in
        0|"")
            uci_set "wireless" "$section" "disabled" "1"
            uci_commit "wireless"
            wifi
        ;;
        1)
            uci_set "wireless" "$section" "disabled" "0"
            uci_commit "wireless"
            wifi
        ;;
    esac
}

if [ "$BUTTON" = "$BUTTON_NAME" ] && [ $SEEN != "$seen" ] ; then
    if [ "$ACTION" = "pressed" ] ; then
        config_load "wireless"
        config_foreach toggle_radio wifi-device
    fi
fi

zawartosc pliku /etc/config/wifitoggle

config wifitoggle
    option button 'ses'
    option seen   '0'

czyli powinien reagowac na guzik ezsetup

odpowiedz na uci show (sama sekcja wifi)

wifitoggle.cfg022938=wifitoggle
wifitoggle.cfg022938.button=ses
wifitoggle.cfg022938.seen=0
wireless.wl0=wifi-device
wireless.wl0.type=broadcom
wireless.wl0.agmode=
wireless.wl0.maxassoc=
wireless.wl0.distance=
wireless.wl0.diversity=
wireless.wl0.txantenna=
wireless.wl0.rxantenna=
wireless.wl0.antenna=
wireless.wl0.channel=01
wireless.wl0.disabled=1
wireless.cfg037326=wifi-iface
wireless.cfg037326.device=wl0
wireless.cfg037326.network=lan
wireless.cfg037326.mode=ap
wireless.cfg037326.ssid=asus
wireless.cfg037326.hidden=0
wireless.cfg037326.encryption=none
wireless.cfg037326.bssid=
wireless.cfg037326.server=
wireless.cfg037326.port=
wireless.cfg037326.isolate=1
wireless.cfg037326.txpower=
wireless.cfg037326.bgscan=0
wireless.cfg037326.frag=
wireless.cfg037326.rts=
wireless.cfg037326.wds=0
wireless.cfg037326.key1=
wireless.cfg037326.key2=
wireless.cfg037326.key3=
wireless.cfg037326.key4=
wireless.cfg037326.80211h=
wireless.cfg037326.compression=
wireless.cfg037326.bursting=
wireless.cfg037326.ff=
wireless.cfg037326.wmm=
wireless.cfg037326.xr=
wireless.cfg037326.ar=
wireless.cfg037326.turbo=
wireless.cfg037326.macpolicy=none

dodam ze komenda

uci set wifitoggle.cfg1.button=ses

nie dziala, trzeba wpisywac recznie ale to chyba dlatego ze w 8.09 nie ma cfg1 tylko za kazdym nowym ustawieniem wifi generuje inny "numer". Pomóżcie

2

Odp: Wifitoggle kamikaze 8.09

uci set wifitoggle.@wifitoggle[0].button=ses

Ten plik zapewne ma jakoś inaczej wyglądać, bo nigdzie nie wczytujesz konfiguracji wireless żeby WIFI_RADIOSTATUS odczytać.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3

Odp: Wifitoggle kamikaze 8.09

nie wiem albo cos zle robie albo nie dziala.

Za to gdy wpisze tam

     if [ "$BUTTON" = "ses" ] ; then
      if [ "$ACTION" = "pressed" ] ; then
        uci set wireless.wl0.disabled=0
        uci commit wireless && wifi
      fi
     fi

wifi normalnie sie wlaczy ale nie wiem jak zrobic zeby po ponownym wcisnieciu przysicku wifi sie wylaczalo. Tak byloby prosciej...

4

Odp: Wifitoggle kamikaze 8.09

if [ "$BUTTON" = "ses" ] ; then
      if [ "$ACTION" = "pressed" ] ; then

SW=`uci get wireless.wl0.disabled`
if [ $SW == '0' ]; then
uci set wireless.wl0.disabled=1
else
uci set wireless.wl0.disabled=0
fi
wifi

      fi
     fi

Ale wcale tego nie testowałem. I nie robi commit na pliku, bo nie ma takiej potrzeby (chyba że chcesz żeby po restarcie pamiętał stan)

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

5

Odp: Wifitoggle kamikaze 8.09

Wielkie dzieki. Działa jak należy.