Hirdetés
-
PROHARDVER!
Padavan firmware image file-ok, hasznos infók
Új hozzászólás Aktív témák
-
varso
tag
Sziasztok! Tudtok valami leírást adni arról, hogy honnan, hogy kell telepíteni ASUS RT-AC57U routerre?
-
rErEaT
senior tag
Egyébként a generate gombra "Failed" felirat fogad...
Consoleban generálta le haverom ssh-n keresztül a certeket :/ -
Vidr@
újonc
Sziasztok!
Tegnap felraktam én is a no-skins változatot az RT-AC57U-ra és azt kell mondjam hogy megtáltosodott a router ettől a Padavan firmware-től! A weboldalak gyorsabban töltődnek be, gyorsult az ftp, a transmission, a rengeteg plusz beállítási lehetőségről nem is beszélve. Köszönöm szépen!
-
rErEaT
senior tag
PPTP VPN-t felrakni egyszerű, de ahogy látom elég sok tűzfal letiltja :-/
OpenVPN-t valaki állított már be Padavanon? Tegnap próbálkoztunk, elvileg a szerver fele megvan, de a klienshez nem tudtuk importálni az adatait :-/
-
válasz
attilav2 #190 üzenetére
Nem is értem miért épp tőlem, amikor én is kezdő Padavanos vagyok.
Egyébként az Automatic I/O RAM Caches Reclaim nálam 50%-on van, ennyi is volt, én nem nyúltam hozzá. Persze lehet, hogy csak akkor aktiválódik, ha ténylegesen rákötsz egy háttértárat. Nekem van rajta HDD.
Az Auto Check Filesystem on Storage Plug-In? végül is hasznos lehet, főként ha torrentezel, mert ugye akkor rengeteg írási, olvasási, és törlési művelet van a HDD-n, így könnyebben előfordulhat filerendszer sérülés is. Ugyanakkor ha mondjuk rendszeresen le/fel húzgálod a HDD-t, mert mondjuk átkötöd TV-re amikor meg akarsz nézni róla valamit, vagy másoláshoz PC-re dugod, akkor bosszantó és felesleges is tud lenni a sok ellenőrzés, ami nagy HDD esetén nem kevés idő lesz. Persze attól is függ, hogy milyen szintű ellenőrzést csinál, sosem próbáltam, nem ismerem a működését, de ha a felhasználás jellegéből adódóan túl gyakran futna így az fs-check, akkor jobban jársz ha x időnként inkább manuálisan ellenőrzöd.
-
attilav2
őstag
Intruder2k5 től és/vagy woodworm-től kérdezném hogy az Usb application/Common setting
alatt az Automatic I/O RAM Caches Reclaim értékét mire érdemes állítani? Vagy legyen NO?
Nyilván ez a beállítás külső lemez rádugása esetén lényeges, pl ha torrenteznék a routeren akkor az I/O Ram Caches Recleaim értéke mi legyen? Illetve ha csak simán filmet néznék róla nfs megosztásról akkor milyen érték beállítása javasolt?
Illetve még az "Auto Check Filesystem on Storage Plug-in?" beállítást érdemes bekapcsolni? -
attilav2
őstag
Én recovery módból raktam most fel az általam forgatott no-skins fw-t, a beállítások maradtak, nem resetelődtek, meg is lepődtem. Nem az admin/admin -al hanem a régi név/jelszóval tudtam belépni és maradtak a beállítások. Gyorsan nyomtam egy resetet, utána néztem egy memória foglalást:
Hát olyan sokkal több memória szerintem nem lett, visszatöltöttem a beállításaimat amit a régi fw alól mentettem, újraindult a router, utána így alakult a memóriafelhasználás:
A beállított skint egyébként szerintem valahova az adott böngésző cache-jébe menti, mert volt hogy átállítottam alap asus skin-re, és másik böngészőből(de akár másik címről, my.router a 192.168.1.1 helyett) bejelentkezve a régi sötét hátterű és színvilágú skin fogadott.
Nagyon sok értelme szerintem sincs ezeknek a skineknek. Azért tettem most fel a no-skins fw-t mert a full-skins fw-n lement a szabad memória 88mb-ról 86mb-ra. Kíváncsi vagyok ez a skin mentes fw tartja e a 90mb szabad memóriát.Egyébként amikor a skines fw volt fenn akkor a kezelőfelület betöltésénél látszott egy pillanatra hogy először az alap asus skint próbálja betölteni, majd utána lép át a választott skinre. A no-skins fw-vel a felület betöltése gyorsabb lett pár mp vel
-
rErEaT
senior tag
Igazából nekem eleve feleslegesek a skinek, nem sűrűn fogom használni a WebUI-t, egyébként nekem 33 mega van szabadon :)
VPN és SMB fut csak :D
-
nrg_52
addikt
-
válasz
attilav2 #182 üzenetére
Sosem értettem ezt az aggódást a szabad RAM mennyisége miatt. A RAM nem azért van, hogy üresen álljon, hanem, hogy használja a rendszer. Ha éppen a kernelnek és az alkalmazásoknak nincs már szüksége többre, akkor cachelésre, pufferelésre használja, ezzel is gyorsítva a működést. Láthatod nálam is, a Mi Router 3G-ben 256MB RAM van, plusz mivel én futtatok rajta entware-t is, több alkalmazással, így van még 256MB swap is beállítva. Mindemellett a szabad RAM mennyisége ~20MB, de ha megnézed a részletes infókat, ott már látszik, hogy a foglalt területből ~50MB a cache, ~80MB a buffer, és a swap-et nem is használja. De én ezzel sosem foglalkozom, intézi a kernel.
-
attilav2
őstag
Azt a skin nélkülit raktad fel amit én forgattam?
Nálam általában 90mb szabad ram van a skinessel, ha rádugok 1 pendrive-t akkor lemegy 70-85mb-re, ha kihúzom a pendrive-t és újraindítom a routert akkor megint 90mb szabad.
Most 2 nap üzemidő után ennyi szabad ramot jelez:
Kábelen megvan a 8-900mbit általában, a szelessav.net -en most 930mbit körül mértem.
Neked a skin nélküli fw-vel mennyi a szabad ramod?
Rakj be egy olyan képet mint én, windowson keresésbe képmetsző és azzal tudsz ilyet lőni.
Linuxon meg a spectacle az egyik jó screenshot alkalmazás. -
nrg_52
addikt
Hat nem tudom, nekem az osszes felsorolt oldal bejon android 9-en 57U + padavan, digis net, natolt wan IP. Mas baj lesz ott szerintem.
@Attilav2: vegul attertem a sima fw-re, tobb a szabad ram + nalam gyorsabb. A skinessel 250-60 megabiteket mertem wifin telefonnal, a simaval 300 felett is megy.
-
rErEaT
senior tag
Sziasztok!
Felraktam sikeres a Padavant RT-AC56U routeremre.
Az lenne a kérdésem, hogy VPN-en keresztül elérem a SMB megosztást igaz?
Segítenétek a VPN beállításában?
Elvileg a DDNS megvan.
extFat-ot se sikerült beállítanom sajnos -
attilav2
őstag
Linkelem az alábbi threadet ahol maga Andy Padavan tisztázza hogy működik a Guest isolation:
Link
Idézem is Andyt:
Andy Padavan (REPO OWNER)
Isolation work between:
Guest AP clients <-> Guest AP clients
Guest AP clients <-> Main AP clients
Guest AP clients <-> Any LAN clients
Isolation not work between:
Guest AP clients <-> Router LAN IP -
attilav2
őstag
Egy hibát találtam a padavanban, a vendég izoláció (Guest AP) úgy tűnik nem működik.
Bekapcsolni ugyan be lehet, és be is tudok lépni a guest ssid-re, de ugyanabbanól az IP tartományból oszt ki címet a Guest AP -ra csatlakozóknak mint a fő AP-ra csatlakozóknak. A router oldala is elérhető Guest AP-vel csatlakozva. Keresgettem a google-n és valaki valahol írta hogy a router oldalát nem izolálja ellenben a többi gépet állítólag izolálja a vendéghálózattól, nehezen hiszem, hiszen ugyanabból az IP tartományból oszt ki IP-t a vendég wifinek is, szóval...
Egy ilyen alapvető dolgot elszúrniRáadásul linaro már nem is feljleszti tovább.
Na tesztelgettem még egy kicsit a vendégwifit. Létrehoztam windowsban egy samba megosztást, a fő ssid-ről simán rá tudtam lépni a megosztásra a telefonról. Átjelentkeztem a Guest AP-ra, na itt már elérhetetlen lett a megosztás. Csak működik valamennyire az izoláció,
de nem tökéletes, mivel a router oldala a vendégwifiről is elérhető. -
-
loosht
senior tag
válasz
Intruder2k5 #161 üzenetére
Igen, az admin felületre gondoltam. Fura, hogy azzal nem lehet feltenni. N56U-nál mindig azzal csináltam, a formátum itt is ugyanaz. De hiszek neked, nem próbálom meg azzal. A firmware restoration tool bitang lassú, ezért kerültem volna el ezt a megoldást.
-
attilav2
őstag
NFS szervert is kipróbáltam, itt az exFat pendrive gyökérkönyvtára is látszik ha felcsatolom a windowsban a router nfs megosztását.
Felcsatolás előtt beléptem ssh-val és kiírattam az /etc/exports tartalmát:
cat /etc/exports
Ebből lehet tudni hogy milyen néven fut a megosztás és így tudjuk felcsatolni windowsban az nfs szolgáltatások telepítése után.
A \\192.168.1.1\media\(lemezcímke) szokott lenni az nfs csatolási pont. Windows alatt ha telepítve van az nfs szolgáltatások akkor a hálózati meghajtó csatlakoztatásával lehet az intézőben felcsatolni. A routeren az /etc/exports fájlban tudjuk állítani az nfs paramétereit, utána az exportfs -arv paranccsal kell frissíteni a beállításokat. -
attilav2
őstag
válasz
attilav2 #159 üzenetére
Na meg is válaszolom magamnak a kérdést!
Van exFAT támogatás a legutóbbi prometheus-sal forgatott fw-imben, nem állítottam semmi extrát (a skineket leszámítva) a prometheusban, az exFAT támogatás mégis bekerült. Tehát a mostani prometheus automatikusan beleforgatja a támogatást! Ez jó hír!
exFAT-ra formázott pendrive-al lett tesztelve, smb megosztással. A gyökérkönyvtárba másolt fájlokat nem látni a routerre dugott exFAT pendrive megosztásban, de létrehoztam rajta egy könyvtárat is, és az látszik, a belemásolt fájlokkal együtt.
A router log szerint is van exFAT támogatás:
Na, akkor legalább nem kell újraforgatni az fw-imet.
Digi IpV6 is prímán megy az alábbi beállításokkkal:
Gyári firmmel mindig gond volt az IpV6-al.
Kifejezetten ajánlom a Padavan felrakását AC57U-ra! Gyorsabb mint a gyári fw, a komolyabb beállítások módosításakor sem csinál router restartot, a módosítások mentése gyorsabb mint a gyári fw-ben.
Viszont aki fel akarja rakni az feltétlen nézze meg az AC57U-ját nehogy V2 verziós legyen! Csak a sima AC57U-ra garantált hogy felmegy a padavan. -
Nem tudom mit értesz pontosan a "router firmware update" alatt, de a webes admin felületről nem megy fel, kell hozzá az asus firmware restoration tool.
Firmware feltöltése ASUS routerre
vagy...
[Wireless] Hogyan használható a router mentési módja? - Asus -
loosht
senior tag
AC57U-ra ugyanúgy feltehető a router firmware update-tel a padavan, mint az N56U-nál?
-
attilav2
őstag
Érdemes a firmwareba beleforgatni az exFat
támogatást? Routerre csatlakoztatott merevlemezre jó teljesítményt nyújt az exFat?
Forgassak egy AC57U fw-t exFat támogatással?
Woodworm itt írta hogyan lehet beleforgatni az exFat támogatást:
https://itcafe.hu/tema/re_szoszo94_xiaomi_mi_router_3g_padavanra_fel/hsz_2187-2187.html -
attilav2
őstag
Na, utolsóként én is rászántam magam hogy felrakjam a Padavant az AC57U-ra, sikerült
Az asus helyreállító alkalmazásával raktam fel. A leírás szerint helyreállító módba raktam a routert, beállítottam a leírásban szereplő IP címet. A fw restoration tool megtalálta a routert és szépen felrakta a cfw-t.(A Full skines-et raktam fel), utána visszaállítottam a windowst dhcp-re, beállítottam az internetet és működikImmár Padavannal
-
loosht
senior tag
válasz
Intruder2k5 #155 üzenetére
-
loosht
senior tag
válasz
Intruder2k5 #153 üzenetére
Igen, csak wifin és csak 9-es Androidon.
Kiszolgßlˇ: RT-N56U_B1
Address: 192.168.1.1
Nem mérvadó válasz:
NÚv: decathlon.hu
Addresses: 149.126.74.21
149.126.72.21 -
-
loosht
senior tag
válasz
Intruder2k5 #151 üzenetére
Nincs NAT-olva, azt már nagyon régen kértem tőlük. Próbáltam másik routerrel, meg ezen is a gyári fw-vel és úgy minden működött. Csak a padavan csinál valamit rosszul. De mit?
-
-
loosht
senior tag
válasz
Intruder2k5 #149 üzenetére
Beállítottam, így sem jó. PPPoE, digi. Egy ZTE F668 van ellőtte bridge módban.
-
-
loosht
senior tag
válasz
Intruder2k5 #147 üzenetére
Nem próbáltam, bár hirtelen nem is tudom hol lehet beállítani. Ha a névfeloldás lenne a gond, akkor kábelen sem menne, nem?
-
A névfeloldás jól működik? Próbáltál olyan beállítást, hogy ne a router legyen a névszerver, hanem a dhcp közvetlenül a klienseknek kiossza mondjuk a google dns címeket? Illetve én összevetném a routing útvonalakat is padavan-al és gyárival is, bár az annyira nem a routeren múlik már.
-
loosht
senior tag
válasz
attilav2 #139 üzenetére
RT-N56U B1 és a legfrissebb padavan. Próbálkoztam korábbi verziókkal is, de egyikkel sem jó. Csak a gyári fw-vel működik, de az meg használhatatlan több okból is.
-
loosht
senior tag
Sziasztok!
Bejártam az internet bugyrait, de nem találtam megoldást a problémámra. Padavan-nal egyszerűen nem megy egy csomó oldal (ebay, imdb, amazon, decathlon stb.).Appból próbálva sem, nem csak böngészőből. A vicces, hogy csak 9-es Androidon csinálja. PC-n, laptopon, 8-as Androiddal simán működnek. Mélyreható, scriptes, egyedi konfigos, vagy akármilyen megoldásra vevő vagyok. -
-
Azharel
aktív tag
válasz
Intruder2k5 #132 üzenetére
Úgy kell, router-t rescue módba kell tenni, ip-t 192.168.1.10 -re állítani, asus restoration toolba betallózni aztán mehet. Vissza állíni is így kell. Openwrt-t meg ssh-n keresztül tettem fel.
-
rErEaT
senior tag
válasz
Intruder2k5 #132 üzenetére
Köszönöm szépen!
-
AC57U még nem volt a kezemben, de szerintem ugyanúgy kell ott is, mint minden más ASUS routernél.
Firmware feltöltése ASUS routerre
vagy...
[Wireless] Hogyan használható a router mentési módja? - AsusDe előttünk a "kacsa" már túl van ezen, majd Ő megerősít.
Letöltési linket is pár hsz.-el fentebb tettek be. [link] Ne zavarjon meg, hogy 1200GU-t ír, de ez kell neked is.
-
rErEaT
senior tag
válasz
Intruder2k5 #130 üzenetére
Tudsz segíteni, hogy mit és hogyan kell feltelepíteni?
és letöltési linket :) -
-
rErEaT
senior tag
Sziasztok!
Nekem is egy RT-AC57U routerem van, de hiányolom belőle a VPN klienst, DDNS-ét használom az jól működik :)
Padavanban van mindkettő?
-
-
-
nrg_52
addikt
válasz
Intruder2k5 #124 üzenetére
Na ezt reggel megprobalom, nagyon koszonom!
-
-
nrg_52
addikt
válasz
Intruder2k5 #122 üzenetére
-
-
attilav2
őstag
Mutass pár képet milyen skinek vannak!
Egyelőre nem merek semmilyen cfw-t felflashelni mert ha téglásodna a router akkor anyám megöl, ő is használja a tabletjével.
Egyébként direkt azért dobtam fel a gépre egy Kubuntut hogy a prometheus scripttel buildelhessek AC57U fw-t, így egyszerűbb volt mint virtuális gépből kihalászni a .trx fájlt, nomeg a buildelés gyorsabb natív környezetben. -
attilav2
őstag
Megosztottam az AC57U Padavan fw-t, itt a Link
Fenn van mindkét változat, a Full-Skins a nagyobbik, az összes skin-nel, a No-Skins a kisebbik firmware, skinek nélkül. A "download as zip" -re kattintva lejön mindkettő egy zip fájlban.
Lehet tesztelgetni. -
válasz
attilav2 #113 üzenetére
Semmilyen hatással nincs sem a sebességre, sem a stabilitásra, hogy mekkora az fw. Vagy befér a flashbe, vagy nem. Anno Tomato-t is használtam kevés flash memóriával rendelkező routereken, olykor csak 1-200KB maradt szabadon, már a JFFS-t sem lehetett megformázni, de ott sem volt gond. Az ilyen embedded rendszerek nem használják semmire a flash memória szabadon maradó részét, szóval teljesen mindegy, hogy 2KB van szabadon vagy 5MB. Nyugodtan tedd fel a fullosat.
-
attilav2
őstag
Kinek mi a tapasztalata? 13.6mb-os (az összes skin bele lett fordítva) fw-t fel lehet tolni AC57U-ra? Nem befolyásolja negatív irányban a stabilitást hogy kevés marad a szabad hely?
Vagy érdemes skinek nélküli fw-t feltenni ?(ami csak 11.7mb).
Leforgattam az összes skinnel és skinek nélkül is egy fw-t. -
woodworm
veterán
-
attilav2
őstag
Ha jól látom Linaro1985 Padavan-NG tárhelye a githubon megszűnt: link
404-et dob az oldal. Hova költözött? -
válasz
attilav2 #108 üzenetére
Már asus AC57U v2 is van... Vajon erre is felmegy a padavan?
Ezt nem tudom, még nem jártam utána a specifikációnak.Működik már az ASUS Firmware Restoration Tool 64 bites windows alatt?
Igen, amiket most letöltesz az ASUS-tól, azok már biztosan támogatják.Mert azt írtad a "Firmware feltöltése ASUS routerre" összefoglalóban hogy 64bites win alatt nem találja a routert.
Igen, de az évekkel ezelőtt volt, csak a fenének se volt ideje aktualizálni. -
attilav2
őstag
válasz
Intruder2k5 #107 üzenetére
Már asus AC57U v2 is van, ha valaki most vesz AC57U-t nyilván már ilyet kap. Vajon erre is felmegy a padavan?
Működik már az ASUS Firmware Restoration Tool 64 bites windows alatt? Mert azt írtad a "Firmware feltöltése ASUS routerre" összefoglalóban hogy 64bites win alatt nem találja a routert. Ha felmegyek az RT-AC1200GU támogatási oldalára akkor Drivers&Tools nál a 64bites win10-et választva az ASUS Firmware Restoration version 2.1.0.2 -t dobja ki, ez már működik rendesen 64bites win alatt is? -
válasz
attilav2 #106 üzenetére
Gondolom az ASUS RT-AC57U-ban is elérhető a recovery vagy más néven failsafe mód, mint tudtommal minden más ASUS routerben is. Ha így van, akkor nem tudod téglásítani. Ha egy mp3 file-t flashelsz rá akkor sincs semmi, csak nem fog elindulni a router, de újra tudod flashelni gond nélkül.
Firmware feltöltése ASUS routerre
[Wireless] Hogyan használható a router mentési módja? - AsusIlletve már a MiR3G-re is van olyan bootloader amiben van webes recovery mód, igaz ennek cseréje ugyanúgy "kockázatos", de ha egyszer már fent van, akkor ugyanúgy használható mint az ASUS recovery módja.
Padavan firmware telepítése Xiaomi Mi Router 3G eszközre
A vége felé van róla kép Breed Web Recovery Consol néven.
-
attilav2
őstag
Mint topikindító örülök hogy sikerült felhekkelni a padavant az AC57U-ra
Én még nem mertem belekezdeni, mert itthon többen is használjuk a routert és ha téglásodna akkor másik gigabites router nincs itthon, csak 100-as. Gondoltam hogy veszek még egy Ac57U-t kísérletezésre, de egyelőre még nincs rá pénzem.
Ha jól látom a Xiaomi MiR3G alternatívája lehet az AC57U, ráadásul utóbbinál annyival jobb is a helyzet hogy nem kell megszendvedni az SSH elérésért, sőt a firmware restoration progival is felmegy a padavan. -
Vtmk
tag
Vagy áthozni az ujabba azt a funkciót?
-
Vtmk
tag
És nem lehet a két kernelt összébb hozni? Mármint kompatibilisebb legyen a konfigjuk?
-
Vtmk
tag
Ez ami kódot beraktál ez az asus melyik file-ában van?
Ez van a mienkben:
# CONFIG_MT76X2_AP_LED is not set
CONFIG_MT76X2_AP_LED_SOFT=y
CONFIG_MT76X2_AP_LED_SOFT_GPIO=15
# AP MODE MediaTek MT7603E PCIe Wireless driver
#
# CONFIG_MT76X3_AP_LED is not set
CONFIG_MT76X3_AP_LED_SOFT=y
CONFIG_MT76X3_AP_LED_SOFT_GPIO=14Nagyon nem ugyanaz a kernel..
-
woodworm
veterán
Válasszd ki az Other-t az oprendszernél. Ott az fw és a forrás is.
-
woodworm
veterán
Sziszifuszi munka ez így, a kód elején ott vannak a hivatkozások, azokat is illene átnézni.
A board.h (ott van definiálva a két softled) mellett pedig ott a kernel-3.4.x.config, abban ugyancsak vannak idevonatkozó beállítások.# AP MODE MediaTek MT7620/MT7602E/MT7612E RBUS/PCIe Wireless driver
#
# CONFIG_MT76X2_AP_LED is not set
CONFIG_MT76X2_AP_LED_SOFT=y
CONFIG_MT76X2_AP_LED_SOFT_GPIO=15
# AP MODE MediaTek MT7603E PCIe Wireless driver
#
# CONFIG_MT76X3_AP_LED is not set
CONFIG_MT76X3_AP_LED_SOFT=y
CONFIG_MT76X3_AP_LED_SOFT_GPIO=14A beállítások így megegyeznek a gyárival.
-
woodworm
veterán
Beszélgetünk itt ugyan, de még nekem sincs meg a módosított dict fájl. Én egyébként is az orosz helyére tenném, alapbeállításban az szokott a prometheusban bejelölve lenni az angol mellett. Sok ismeretanyag van a neten és egyértelműbben el lehet igazodni az angol nyelvű menüpontok alapján.
A csere egyébként könnyű, ha egy fw már leforgott, akkor a \home\user\padavan-ng\trunk\romfs\www\ könyvtárban cserélni kell az XX.dict fájlt a módosítottra és újraforgatni az fw-t.
-
Gyurka6
őstag
Köszi!
Mondjuk ehhez kevésnek érzem magam! Egy olyan megoldást gondoltam, amit a dir-860-on meg lehet lépni, a teljes firm-et (szinte) kimásolja egy pen-re és azután onnan indul. Így különösebb kockázat nélkül ki lehetne próbálni. Most az egyiken padavan a másikon lede/wrt tanyázik, egyelőre nem cserélném le őket.
Azért megköszönöm (az eddigieket is), ha át tudod küldeni. -
-
Gyurka6
őstag
Hali!
A nyelvit nem talaltam, ezt irja ki:
Firmware: MI-R3G_3.4.3.9L-100.trx
File size of MI-R3G_3.4.3.9L-100.trx is 13052882 bytes. The file size completely corresponds to the maximum allowed size of 20971520 bytes
A kiiras szerint ez mukodhet?
Az altalad hasznalt/keszitett nyelvi valtozatot, mir3g-be be lehetne illeszteni? -
Vtmk
tag
Asszem megvan a wifi ledes dolog csak még nem tudom a matek végét:
Trunk/user/rc/net_wifi_c
/*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
* the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*/
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#include <errno.h>
#include <syslog.h>
#include <ctype.h>
#include <string.h>
#include <unistd.h>
#include <sys/types.h>
#include <net/if.h>
#include <time.h>
#include "rc.h"
#include "switch.h"
#include "gpio_pins.h"
static int
wif_control(const char *wifname, int is_up)
{
return doSystem("ifconfig %s %s 2>/dev/null", wifname, (is_up) ? "up" : "down");
}
void
mlme_state_wl(int is_on)
{
nvram_set_int("mlme_radio_wl", is_on);
}
void
mlme_state_rt(int is_on)
{
nvram_set_int("mlme_radio_rt", is_on);
}
void
mlme_radio_wl(int is_on)
{
#if BOARD_HAS_5G_RADIO
const char *wifname = find_wlan_if_up(1);
if (!wifname)
return;
doSystem("iwpriv %s set %s=%d", wifname, "RadioOn", (is_on) ? 1 : 0);
#endif
mlme_state_wl(is_on);
#if defined(BOARD_GPIO_LED_SW5G)
LED_CONTROL(BOARD_GPIO_LED_SW5G, (is_on) ? LED_ON : LED_OFF);
#endif
}
void
mlme_radio_rt(int is_on)
{
const char *wifname = find_wlan_if_up(0);
if (!wifname)
return;
doSystem("iwpriv %s set %s=%d", wifname, "RadioOn", (is_on) ? 1 : 0);
mlme_state_rt(is_on);
#if defined(BOARD_GPIO_LED_SW2G)
LED_CONTROL(BOARD_GPIO_LED_SW2G, (is_on) ? LED_ON : LED_OFF);
#endif
#if defined(USE_RT3352_MII)
if (is_on) {
int i_val = nvram_wlan_get_int(0, "TxPower");
doSystem("iwpriv %s set %s=%d", wifname, "TxPower", i_val);
}
// isolation iNIC port from all LAN ports
phy_isolate_inic((is_on) ? 0 : 1);
#endif
}
int
get_mlme_radio_wl(void)
{
return nvram_get_int("mlme_radio_wl");
}
int
get_mlme_radio_rt(void)
{
return nvram_get_int("mlme_radio_rt");
}
int
get_enabled_radio_wl(void)
{
return nvram_wlan_get_int(1, "radio_x");
}
int
get_enabled_radio_rt(void)
{
return nvram_wlan_get_int(0, "radio_x");
}
int
get_enabled_guest_wl(void)
{
return nvram_wlan_get_int(1, "guest_enable");
}
int
get_enabled_guest_rt(void)
{
return nvram_wlan_get_int(0, "guest_enable");
}
int
get_mode_radio_wl(void)
{
return nvram_wlan_get_int(1, "mode_x");
}
int
get_mode_radio_rt(void)
{
return nvram_wlan_get_int(0, "mode_x");
}
int
is_apcli_wisp_wl(void)
{
return nvram_wlan_get_int(1, "sta_wisp");
}
int
is_apcli_wisp_rt(void)
{
return nvram_wlan_get_int(0, "sta_wisp");
}
int
get_apcli_sta_auto(int is_aband)
{
int i_sta_auto = 0;
#if defined(USE_RT3352_MII)
// iNIC not support ApCliAutoConnect
if (is_aband)
#endif
i_sta_auto = nvram_wlan_get_int(is_aband, "sta_auto");
return i_sta_auto;
}
char *
get_apcli_wisp_ifname(void)
{
int i_mode_x;
#if !defined(USE_RT3352_MII)
i_mode_x = get_mode_radio_rt();
if (get_enabled_radio_rt() && (i_mode_x == 3 || i_mode_x == 4) && is_apcli_wisp_rt() &&
(strlen(nvram_wlan_get(0, "sta_ssid")) > 0))
return IFNAME_2G_APCLI;
#endif
#if BOARD_HAS_5G_RADIO
i_mode_x = get_mode_radio_wl();
if (get_enabled_radio_wl() && (i_mode_x == 3 || i_mode_x == 4) && is_apcli_wisp_wl() &&
(strlen(nvram_wlan_get(1, "sta_ssid")) > 0))
return IFNAME_5G_APCLI;
#endif
return NULL;
}
static void
check_apcli_wan(int is_5g, int radio_on)
{
int man_id, wisp_id;
char *man_ifname, *wisp_ifname;
if (get_ap_mode())
return;
is_5g &= 1;
man_id = -1;
man_ifname = get_man_ifname(0);
if (strcmp(man_ifname, IFNAME_2G_APCLI) == 0)
man_id = 0;
#if BOARD_HAS_5G_RADIO
else if (strcmp(man_ifname, IFNAME_5G_APCLI) == 0)
man_id = 1;
#endif
wisp_id = -1;
wisp_ifname = get_apcli_wisp_ifname();
if (wisp_ifname) {
if (strcmp(wisp_ifname, IFNAME_2G_APCLI) == 0)
wisp_id = 0;
#if BOARD_HAS_5G_RADIO
else if (strcmp(wisp_ifname, IFNAME_5G_APCLI) == 0)
wisp_id = 1;
#endif
}
if (man_id != wisp_id) {
/* MAN interface changed, need full restart WAN */
full_restart_wan();
} else if (radio_on && wisp_id == is_5g) {
/* MAN interface still ApCli, need restart WAN after acpli0 down/up */
try_wan_reconnect(1, 0);
}
}
static inline void
wif_control_m2u(int is_aband, const char *wifname)
{
#if !defined(USE_IGMP_SNOOP)
int i_m2u = nvram_wlan_get_int(is_aband, "IgmpSnEnable");
brport_set_m2u(wifname, i_m2u);
#endif
}
#if defined(USE_RT3352_MII)
static void
update_inic_mii(void)
{
#if 0
int i;
const char *ifname_inic = IFNAME_INIC_MAIN;
// below params always set in new iNIC_mii.obj
doSystem("iwpriv %s set %s=%d", ifname_inic, "asiccheck", 1);
// config RT3352 embedded switch for VLAN3 passthrough
doSystem("iwpriv %s switch setVlanId=%d,%d", ifname_inic, 2, INIC_GUEST_VLAN_VID);
// power down unused PHY of RT3352 embedded switch
for(i = 0; i < 5; i++)
doSystem("iwpriv %s switch setPortPowerDown=%d,%d", ifname_inic, i, 1);
// add static IGMP entries (workaround for IGMP snooping bug in iNIC firmware)
doSystem("iwpriv %s set IgmpAdd=%s", ifname_inic, "01:00:5e:7f:ff:fa"); // SSDP IPv4
doSystem("iwpriv %s set IgmpAdd=%s", ifname_inic, "01:00:5e:00:00:fb"); // mDNS IPv4
doSystem("iwpriv %s set IgmpAdd=%s", ifname_inic, "01:00:5e:00:00:09"); // RIP IPv4
// doSystem("iwpriv %s set IgmpAdd=%s", ifname_inic, "33:33:00:00:00:0c"); // SSDP IPv6
// doSystem("iwpriv %s set IgmpAdd=%s", ifname_inic, "33:33:00:00:00:fb"); // mDNS IPv6
#endif
}
static void
start_inic_mii(void)
{
const char *ifname_inic = IFNAME_INIC_MAIN;
if (nvram_get_int("inic_disable") != 1) {
/* release iNIC reset pin */
cpu_gpio_set_pin(1, 1);
usleep(50000);
/* enable iNIC RGMII port */
phy_disable_inic(0);
/* start iNIC boot */
wif_control(ifname_inic, 1);
/* update some iNIC params */
update_inic_mii();
if (get_mlme_radio_rt()) {
/* clear isolation iNIC port from all LAN ports */
phy_isolate_inic(0);
} else {
/* disable mlme radio */
doSystem("iwpriv %s set %s=%d", ifname_inic, "RadioOn", 0);
}
/* add rai0 to bridge (needed for RADIUS) */
br_add_del_if(IFNAME_BR, ifname_inic, is_need_8021x(nvram_wlan_get(0, "auth_mode")));
} else {
/* force disable iNIC (e.g. broken module) */
/* down iNIC interface */
wif_control(ifname_inic, 0);
// set isolate iNIC port from all LAN ports
phy_isolate_inic(1);
/* disable iNIC RGMII port */
phy_disable_inic(1);
/* raise iNIC reset pin */
cpu_gpio_set_pin(1, 0);
logmessage(LOGNAME, "iNIC module disabled! (NVRAM %s=1)", "inic_disable");
}
}
void
check_inic_mii_rebooted(void)
{
int rt_mode_x;
if (!get_mlme_radio_rt()) {
doSystem("iwpriv %s set %s=%d", IFNAME_INIC_MAIN, "RadioOn", 0);
return;
}
rt_mode_x = get_mode_radio_rt();
if (rt_mode_x != 1 && rt_mode_x != 3) {
/* check guest AP */
if (!is_interface_up(IFNAME_INIC_GUEST) && is_guest_allowed_rt())
wif_control(IFNAME_INIC_GUEST, 1);
}
}
#endif
void
update_vga_clamp_wl(int first_call)
{
#if BOARD_HAS_5G_RADIO
#if defined (USE_WID_5G) && (USE_WID_5G==7612)
int i_val;
const char *wifname;
wifname = find_wlan_if_up(1);
if (!wifname)
return;
i_val = nvram_wlan_get_int(1, "VgaClamp");
if (i_val == 0 && first_call)
return;
doSystem("iwpriv %s set %s=%d", wifname, "VgaClamp", i_val);
#endif
#endif
}
void
update_vga_clamp_rt(int first_call)
{
#if defined (USE_WID_2G) && (USE_WID_2G==7602 || USE_WID_2G==7612)
int i_val;
const char *wifname;
wifname = find_wlan_if_up(0);
if (!wifname)
return;
i_val = nvram_wlan_get_int(0, "VgaClamp");
if (i_val == 0 && first_call)
return;
doSystem("iwpriv %s set %s=%d", wifname, "VgaClamp", i_val);
#endif
}
void
stop_wifi_all_wl(void)
{
#if BOARD_HAS_5G_RADIO
// stop ApCli
wif_control(IFNAME_5G_APCLI, 0);
// stop WDS (4 interfaces)
wif_control(IFNAME_5G_WDS3, 0);
wif_control(IFNAME_5G_WDS2, 0);
wif_control(IFNAME_5G_WDS1, 0);
wif_control(IFNAME_5G_WDS0, 0);
// stop AP (guest + main)
wif_control(IFNAME_5G_GUEST, 0);
wif_control(IFNAME_5G_MAIN, 0);
#if defined (BOARD_GPIO_LED_SW5G)
LED_CONTROL(BOARD_GPIO_LED_SW5G, LED_OFF);
#endif
#endif
}
void
stop_wifi_all_rt(void)
{
#if defined(USE_RT3352_MII)
stop_inicd();
// set isolate iNIC port from all LAN ports
phy_isolate_inic(1);
#endif
// stop ApCli
wif_control(IFNAME_2G_APCLI, 0);
// stop WDS (4 interfaces)
wif_control(IFNAME_2G_WDS3, 0);
wif_control(IFNAME_2G_WDS2, 0);
wif_control(IFNAME_2G_WDS1, 0);
wif_control(IFNAME_2G_WDS0, 0);
// stop AP (guest + main)
wif_control(IFNAME_2G_GUEST, 0);
wif_control(IFNAME_2G_MAIN, 0);
#if defined (BOARD_GPIO_LED_SW2G)
LED_CONTROL(BOARD_GPIO_LED_SW2G, LED_OFF);
#endif
}
void
start_wifi_ap_wl(int radio_on)
{
#if BOARD_HAS_5G_RADIO
int i_mode_x = get_mode_radio_wl();
// check WDS only, ApCli only or Radio disabled
if (i_mode_x == 1 || i_mode_x == 3 || !radio_on)
{
br_add_del_if(IFNAME_BR, IFNAME_5G_GUEST, 0);
br_add_del_if(IFNAME_BR, IFNAME_5G_MAIN, 0);
}
mlme_state_wl(radio_on);
// check Radio enabled and not WDS only, not ApCli only
if (radio_on && i_mode_x != 1 && i_mode_x != 3)
{
wif_control(IFNAME_5G_MAIN, 1);
br_add_del_if(IFNAME_BR, IFNAME_5G_MAIN, 1);
wif_control_m2u(1, IFNAME_5G_MAIN);
if (is_guest_allowed_wl())
{
wif_control(IFNAME_5G_GUEST, 1);
br_add_del_if(IFNAME_BR, IFNAME_5G_GUEST, 1);
wif_control_m2u(1, IFNAME_5G_GUEST);
}
}
#endif
}
void
start_wifi_ap_rt(int radio_on)
{
int i_mode_x = get_mode_radio_rt();
#if defined(USE_RT3352_MII)
int is_ap_mode = get_ap_mode();
#endif
// check WDS only, ApCli only or Radio disabled
if (i_mode_x == 1 || i_mode_x == 3 || !radio_on)
{
#if defined(USE_RT3352_MII)
if (!is_ap_mode)
br_add_del_if(IFNAME_BR, IFNAME_INIC_GUEST_VLAN, 0);
#else
br_add_del_if(IFNAME_BR, IFNAME_2G_GUEST, 0);
br_add_del_if(IFNAME_BR, IFNAME_2G_MAIN, 0);
#endif
}
mlme_state_rt(radio_on);
#if defined(USE_RT3352_MII)
// iNIC_mii driver always needed rai0 first before use other interfaces (boot firmware)
start_inic_mii();
// check Radio enabled and check not WDS only, not ApCli only
if (radio_on && i_mode_x != 1 && i_mode_x != 3 && is_guest_allowed_rt())
{
wif_control(IFNAME_INIC_GUEST, 1);
if (!is_ap_mode)
br_add_del_if(IFNAME_BR, IFNAME_INIC_GUEST_VLAN, 1);
}
// start iNIC_mii checking daemon
if (nvram_get_int("inic_disable") != 1)
start_inicd();
#else
// check Radio enabled and check not WDS only, not ApCli only
if (radio_on && i_mode_x != 1 && i_mode_x != 3)
{
wif_control(IFNAME_2G_MAIN, 1);
br_add_del_if(IFNAME_BR, IFNAME_2G_MAIN, 1);
wif_control_m2u(0, IFNAME_2G_MAIN);
if (is_guest_allowed_rt())
{
wif_control(IFNAME_2G_GUEST, 1);
br_add_del_if(IFNAME_BR, IFNAME_2G_GUEST, 1);
wif_control_m2u(0, IFNAME_2G_GUEST);
}
}
#endif
}
void
start_wifi_wds_wl(int radio_on)
{
#if BOARD_HAS_5G_RADIO
int i_mode_x = get_mode_radio_wl();
if (radio_on && (i_mode_x == 1 || i_mode_x == 2))
{
int i_wds_num = 4;
if (nvram_wlan_get_int(1, "wdsapply_x") == 1)
i_wds_num = nvram_wlan_get_int(1, "wdsnum_x");
if (i_wds_num > 3) {
wif_control(IFNAME_5G_WDS3, 1);
br_add_del_if(IFNAME_BR, IFNAME_5G_WDS3, 1);
}
if (i_wds_num > 2) {
wif_control(IFNAME_5G_WDS2, 1);
br_add_del_if(IFNAME_BR, IFNAME_5G_WDS2, 1);
}
if (i_wds_num > 1) {
wif_control(IFNAME_5G_WDS1, 1);
br_add_del_if(IFNAME_BR, IFNAME_5G_WDS1, 1);
}
wif_control(IFNAME_5G_WDS0, 1);
br_add_del_if(IFNAME_BR, IFNAME_5G_WDS0, 1);
}
else
{
br_add_del_if(IFNAME_BR, IFNAME_5G_WDS3, 0);
br_add_del_if(IFNAME_BR, IFNAME_5G_WDS2, 0);
br_add_del_if(IFNAME_BR, IFNAME_5G_WDS1, 0);
br_add_del_if(IFNAME_BR, IFNAME_5G_WDS0, 0);
}
#endif
}
void
start_wifi_wds_rt(int radio_on)
{
int i_mode_x = get_mode_radio_rt();
if (radio_on && (i_mode_x == 1 || i_mode_x == 2))
{
int i_wds_num = 4;
if (nvram_wlan_get_int(0, "wdsapply_x") == 1)
i_wds_num = nvram_wlan_get_int(0, "wdsnum_x");
if (i_wds_num > 3) {
wif_control(IFNAME_2G_WDS3, 1);
#if !defined(USE_RT3352_MII)
br_add_del_if(IFNAME_BR, IFNAME_2G_WDS3, 1);
#endif
}
if (i_wds_num > 2) {
wif_control(IFNAME_2G_WDS2, 1);
#if !defined(USE_RT3352_MII)
br_add_del_if(IFNAME_BR, IFNAME_2G_WDS2, 1);
#endif
}
if (i_wds_num > 1) {
wif_control(IFNAME_2G_WDS1, 1);
#if !defined(USE_RT3352_MII)
br_add_del_if(IFNAME_BR, IFNAME_2G_WDS1, 1);
#endif
}
wif_control(IFNAME_2G_WDS0, 1);
#if !defined(USE_RT3352_MII)
br_add_del_if(IFNAME_BR, IFNAME_2G_WDS0, 1);
#endif
}
#if !defined(USE_RT3352_MII)
else
{
br_add_del_if(IFNAME_BR, IFNAME_2G_WDS3, 0);
br_add_del_if(IFNAME_BR, IFNAME_2G_WDS2, 0);
br_add_del_if(IFNAME_BR, IFNAME_2G_WDS1, 0);
br_add_del_if(IFNAME_BR, IFNAME_2G_WDS0, 0);
}
#endif
}
void
start_wifi_apcli_wl(int radio_on)
{
#if BOARD_HAS_5G_RADIO
const char *ifname_apcli = IFNAME_5G_APCLI;
int i_mode_x = get_mode_radio_wl();
if (radio_on && (i_mode_x == 3 || i_mode_x == 4) && (strlen(nvram_wlan_get(1, "sta_ssid")) > 0))
{
wif_control(ifname_apcli, 1);
br_add_del_if(IFNAME_BR, ifname_apcli, !is_apcli_wisp_wl() || get_ap_mode());
if (nvram_wlan_get_int(1, "sta_auto"))
doSystem("iwpriv %s set %s=%d", ifname_apcli, "ApCliAutoConnect", 1);
}
else
{
br_add_del_if(IFNAME_BR, ifname_apcli, 0);
}
#endif
}
void
start_wifi_apcli_rt(int radio_on)
{
const char *ifname_apcli = IFNAME_2G_APCLI;
int i_mode_x = get_mode_radio_rt();
if (radio_on && (i_mode_x == 3 || i_mode_x == 4) && (strlen(nvram_wlan_get(0, "sta_ssid")) > 0))
{
wif_control(ifname_apcli, 1);
#if !defined(USE_RT3352_MII)
br_add_del_if(IFNAME_BR, ifname_apcli, !is_apcli_wisp_rt() || get_ap_mode());
if (nvram_wlan_get_int(0, "sta_auto"))
doSystem("iwpriv %s set %s=%d", ifname_apcli, "ApCliAutoConnect", 1);
#endif
}
#if !defined(USE_RT3352_MII)
else
{
br_add_del_if(IFNAME_BR, ifname_apcli, 0);
}
#endif
}
void
reconnect_apcli(const char *ifname_apcli, int force)
{
int is_aband, i_mode_x;
if (strcmp(ifname_apcli, IFNAME_2G_APCLI) == 0)
is_aband = 0;
#if BOARD_HAS_5G_RADIO
else if (strcmp(ifname_apcli, IFNAME_5G_APCLI) == 0)
is_aband = 1;
#endif
else
return;
if (!is_interface_up(ifname_apcli))
return;
i_mode_x = nvram_wlan_get_int(is_aband, "mode_x");
if (i_mode_x != 3 && i_mode_x != 4)
return;
if (get_apcli_sta_auto(is_aband)) {
doSystem("iwpriv %s set %s=%d", ifname_apcli, "ApCliAutoConnect", 1);
} else if (force) {
doSystem("iwpriv %s set %s=%d", ifname_apcli, "ApCliEnable", 0);
usleep(300000);
doSystem("iwpriv %s set %s=%d", ifname_apcli, "ApCliEnable", 1);
}
}
void
restart_wifi_wl(int radio_on, int need_reload_conf)
{
#if BOARD_HAS_5G_RADIO
stop_8021x_wl();
stop_wifi_all_wl();
if (need_reload_conf) {
gen_ralink_config_5g(0);
nvram_set_int_temp("reload_svc_wl", 1);
}
start_wifi_ap_wl(radio_on);
start_wifi_wds_wl(radio_on);
start_wifi_apcli_wl(radio_on);
start_8021x_wl();
restart_guest_lan_isolation();
check_apcli_wan(1, radio_on);
if (radio_on)
update_vga_clamp_wl(0);
#if defined (BOARD_GPIO_LED_SW5G)
if (radio_on)
LED_CONTROL(BOARD_GPIO_LED_SW5G, LED_ON);
#endif
#endif
}
void
restart_wifi_rt(int radio_on, int need_reload_conf)
{
stop_8021x_rt();
stop_wifi_all_rt();
if (need_reload_conf) {
gen_ralink_config_2g(0);
nvram_set_int_temp("reload_svc_rt", 1);
}
start_wifi_ap_rt(radio_on);
start_wifi_wds_rt(radio_on);
start_wifi_apcli_rt(radio_on);
start_8021x_rt();
restart_guest_lan_isolation();
check_apcli_wan(0, radio_on);
if (radio_on)
update_vga_clamp_rt(0);
#if defined (BOARD_GPIO_LED_SW2G)
if (radio_on)
LED_CONTROL(BOARD_GPIO_LED_SW2G, LED_ON);
#endif
}
int is_need_8021x(char *auth_mode)
{
if (!strcmp(auth_mode, "wpa") ||
!strcmp(auth_mode, "wpa2") ||
!strcmp(auth_mode, "radius"))
return 1;
return 0;
}
void
start_8021x_wl(void)
{
#if BOARD_HAS_5G_RADIO
if (!get_enabled_radio_wl())
return;
if (is_need_8021x(nvram_wlan_get(1, "auth_mode")))
eval("rt2860apd", "-i", IFNAME_5G_MAIN);
#endif
}
void
start_8021x_rt(void)
{
#if !defined(USE_RT3352_MII)
if (!get_enabled_radio_rt())
return;
#endif
if (is_need_8021x(nvram_wlan_get(0, "auth_mode")))
eval("rtinicapd", "-i", IFNAME_2G_MAIN);
}
void
stop_8021x_wl(void)
{
#if BOARD_HAS_5G_RADIO
char* svcs[] = { "rt2860apd", NULL };
kill_services(svcs, 3, 1);
#endif
}
void
stop_8021x_rt(void)
{
char* svcs[] = { "rtinicapd", NULL };
kill_services(svcs, 3, 1);
}
void
stop_8021x_all(void)
{
char* svcs[] = { "rt2860apd", "rtinicapd", NULL };
kill_services(svcs, 3, 1);
}
int
is_radio_on_wl(void)
{
#if BOARD_HAS_5G_RADIO
#if defined(USE_IWPRIV_RADIO_5G)
return (is_interface_up(IFNAME_5G_MAIN) && get_mlme_radio_wl());
#else
return is_interface_up(IFNAME_5G_MAIN) ||
is_interface_up(IFNAME_5G_GUEST) ||
is_interface_up(IFNAME_5G_APCLI) ||
is_interface_up(IFNAME_5G_WDS0) ||
is_interface_up(IFNAME_5G_WDS1) ||
is_interface_up(IFNAME_5G_WDS2) ||
is_interface_up(IFNAME_5G_WDS3);
#endif
#else
return 0;
#endif
}
int
is_radio_on_rt(void)
{
#if defined(USE_IWPRIV_RADIO_2G) || defined(USE_RT3352_MII)
return (is_interface_up(IFNAME_2G_MAIN) && get_mlme_radio_rt());
#else
return is_interface_up(IFNAME_2G_MAIN) ||
is_interface_up(IFNAME_2G_GUEST) ||
is_interface_up(IFNAME_2G_APCLI) ||
is_interface_up(IFNAME_2G_WDS0) ||
is_interface_up(IFNAME_2G_WDS1) ||
is_interface_up(IFNAME_2G_WDS2) ||
is_interface_up(IFNAME_2G_WDS3);
#endif
}
int
is_radio_allowed_wl(void)
{
return timecheck_wifi(1, "radio_date_x", "radio_time_x", "radio_time2_x");
}
int
is_radio_allowed_rt(void)
{
return timecheck_wifi(0, "radio_date_x", "radio_time_x", "radio_time2_x");
}
int
is_guest_allowed_wl(void)
{
if (get_enabled_guest_wl())
return timecheck_wifi(1, "guest_date_x", "guest_time_x", "guest_time2_x");
return 0;
}
int
is_guest_allowed_rt(void)
{
if (get_enabled_guest_rt())
return timecheck_wifi(0, "guest_date_x", "guest_time_x", "guest_time2_x");
return 0;
}
int
control_radio_wl(int radio_on, int manual)
{
int is_radio_changed = 0;
#if BOARD_HAS_5G_RADIO
if (radio_on)
{
if (!is_radio_on_wl()) {
#if defined(USE_IWPRIV_RADIO_5G)
mlme_radio_wl(1);
#else
restart_wifi_wl(1, 0);
#endif
is_radio_changed = 1;
}
}
else
{
if (is_radio_on_wl()) {
#if defined(USE_IWPRIV_RADIO_5G)
mlme_radio_wl(0);
#else
restart_wifi_wl(0, 0);
#endif
is_radio_changed = 1;
}
}
if (is_radio_changed && !manual)
logmessage("WiFi scheduler", "5GHz radio: %s", (radio_on) ? "ON" : "OFF");
#endif
return is_radio_changed;
}
int
control_radio_rt(int radio_on, int manual)
{
int is_radio_changed = 0;
if (radio_on)
{
if (!is_radio_on_rt()) {
#if defined(USE_IWPRIV_RADIO_2G) || defined(USE_RT3352_MII)
mlme_radio_rt(1);
#else
restart_wifi_rt(1, 0);
#endif
is_radio_changed = 1;
}
}
else
{
if (is_radio_on_rt()) {
#if defined(USE_IWPRIV_RADIO_2G) || defined(USE_RT3352_MII)
mlme_radio_rt(0);
#else
restart_wifi_rt(0, 0);
#endif
is_radio_changed = 1;
}
}
if (is_radio_changed && !manual)
logmessage("WiFi scheduler", "2.4GHz radio: %s", (radio_on) ? "ON" : "OFF");
return is_radio_changed;
}
int
control_guest_wl(int guest_on, int manual)
{
int is_ap_changed = 0;
#if BOARD_HAS_5G_RADIO
const char *ifname_ap = IFNAME_5G_GUEST;
int radio_on = get_enabled_radio_wl();
int i_mode_x = get_mode_radio_wl();
// check WDS only, ApCli only or Radio disabled (force or by schedule)
if ((guest_on) && (i_mode_x == 1 || i_mode_x == 3 || !radio_on || !is_interface_up(IFNAME_5G_MAIN)))
{
return 0;
}
if (guest_on)
{
if (!is_interface_up(ifname_ap)) {
wif_control(ifname_ap, 1);
is_ap_changed = 1;
}
br_add_del_if(IFNAME_BR, ifname_ap, 1);
wif_control_m2u(1, ifname_ap);
}
else
{
if (is_interface_up(ifname_ap)) {
wif_control(ifname_ap, 0);
is_ap_changed = 1;
}
br_add_del_if(IFNAME_BR, ifname_ap, 0);
}
if (is_ap_changed)
restart_guest_lan_isolation();
if (is_ap_changed && !manual)
logmessage("WiFi scheduler", "5GHz guest AP: %s", (guest_on) ? "ON" : "OFF");
#endif
return is_ap_changed;
}
int
control_guest_rt(int guest_on, int manual)
{
int is_ap_changed = 0;
const char *ifname_ap = IFNAME_2G_GUEST;
int radio_on = get_enabled_radio_rt();
int i_mode_x = get_mode_radio_rt();
#if defined(USE_RT3352_MII)
int is_ap_mode = get_ap_mode();
#endif
// check WDS only, ApCli only or Radio disabled (force or by schedule)
if ((guest_on) && (i_mode_x == 1 || i_mode_x == 3 || !radio_on || !is_interface_up(IFNAME_2G_MAIN)))
{
return 0;
}
if (guest_on)
{
if (!is_interface_up(ifname_ap)) {
wif_control(ifname_ap, 1);
is_ap_changed = 1;
}
#if defined(USE_RT3352_MII)
if (!is_ap_mode)
br_add_del_if(IFNAME_BR, IFNAME_INIC_GUEST_VLAN, 1);
#else
br_add_del_if(IFNAME_BR, ifname_ap, 1);
wif_control_m2u(0, ifname_ap);
#endif
}
else
{
if (is_interface_up(ifname_ap)) {
wif_control(ifname_ap, 0);
is_ap_changed = 1;
}
#if defined(USE_RT3352_MII)
if (!is_ap_mode)
br_add_del_if(IFNAME_BR, IFNAME_INIC_GUEST_VLAN, 0);
#else
br_add_del_if(IFNAME_BR, ifname_ap, 0);
#endif
}
if (is_ap_changed)
restart_guest_lan_isolation();
if (is_ap_changed && !manual)
logmessage("WiFi scheduler", "2.4GHz guest AP: %s", (guest_on) ? "ON" : "OFF");
return is_ap_changed;
}
static void
ebtables_filter_guest_ap(const char *wifname, int is_aband, int i_need_dhcp)
{
if (i_need_dhcp) {
/* drop all IPv4 traffic to router host (exclude DHCPv4) */
doSystem("ebtables -A %s -i %s -p IPv4 --ip-protocol ! %s -j %s",
"INPUT", wifname, "udp", "DROP");
doSystem("ebtables -A %s -i %s -p IPv4 --ip-protocol %s --ip-destination-port ! %d -j %s",
"INPUT", wifname, "udp", 67, "DROP");
} else {
/* drop all traffic to router host */
doSystem("ebtables -A %s -i %s -j %s",
"INPUT", wifname, "DROP");
}
/* drop forwards between 2.4/5Ghz AP wifs */
#if BOARD_HAS_5G_RADIO
if (is_aband) {
#if defined(USE_RT3352_MII)
doSystem("ebtables -A %s -i %s -o %s -j %s", "FORWARD", wifname, IFNAME_INIC_GUEST_VLAN, "DROP");
#else
doSystem("ebtables -A %s -i %s -o %s -j %s", "FORWARD", wifname, IFNAME_2G_MAIN, "DROP");
doSystem("ebtables -A %s -i %s -o %s -j %s", "FORWARD", wifname, IFNAME_2G_GUEST, "DROP");
#endif
} else {
doSystem("ebtables -A %s -i %s -o %s -j %s", "FORWARD", wifname, IFNAME_5G_MAIN, "DROP");
doSystem("ebtables -A %s -i %s -o %s -j %s", "FORWARD", wifname, IFNAME_5G_GUEST, "DROP");
}
#endif
}
void
restart_guest_lan_isolation(void)
{
int bp_isolate, is_need_ebtables = 0;
int is_ap_mode = get_ap_mode();
const char *rt_ifname_guest = IFNAME_2G_GUEST;
#if BOARD_HAS_5G_RADIO
const char *wl_ifname_guest = IFNAME_5G_GUEST;
bp_isolate = 0;
if (is_interface_up(wl_ifname_guest)) {
if (nvram_wlan_get_int(1, "guest_lan_isolate")) {
if (!is_ap_mode)
bp_isolate = 1;
else
is_need_ebtables |= 0x10;
}
}
brport_set_param_int(wl_ifname_guest, "isolate_mode", bp_isolate);
#endif
bp_isolate = 0;
if (is_interface_up(rt_ifname_guest)) {
if (nvram_wlan_get_int(0, "guest_lan_isolate")) {
if (!is_ap_mode)
bp_isolate = 1;
else
is_need_ebtables |= 0x01;
}
}
#if defined(USE_RT3352_MII)
rt_ifname_guest = IFNAME_INIC_GUEST_VLAN;
if (is_ap_mode)
is_need_ebtables &= ~0x01;
#endif
brport_set_param_int(rt_ifname_guest, "isolate_mode", bp_isolate);
if (!is_ap_mode)
return;
if (is_need_ebtables) {
int i_need_dhcp = is_dhcpd_enabled(1);
module_smart_load("ebtable_filter", NULL);
doSystem("ebtables %s", "-F");
doSystem("ebtables %s", "-X");
#if BOARD_HAS_5G_RADIO
if (is_need_ebtables & 0x10)
ebtables_filter_guest_ap(wl_ifname_guest, 1, i_need_dhcp);
#endif
if (is_need_ebtables & 0x01)
ebtables_filter_guest_ap(rt_ifname_guest, 0, i_need_dhcp);
}
else if (is_module_loaded("ebtables")) {
doSystem("ebtables %s", "-F");
doSystem("ebtables %s", "-X");
module_smart_unload("ebt_ip", 0);
module_smart_unload("ebtable_filter", 0);
module_smart_unload("ebtables", 0);
}
}
int
manual_toggle_radio_rt(int radio_on)
{
if (!get_enabled_radio_rt())
return 0;
if (radio_on < 0) {
radio_on = !is_radio_on_rt();
} else {
if (is_radio_on_rt() == radio_on)
return 0;
}
notify_watchdog_wifi(0);
logmessage(LOGNAME, "Perform manual toggle %s radio: %s", "2.4GHz", (radio_on) ? "ON" : "OFF");
return control_radio_rt(radio_on, 1);
}
int
manual_toggle_radio_wl(int radio_on)
{
#if BOARD_HAS_5G_RADIO
if (!get_enabled_radio_wl())
return 0;
if (radio_on < 0) {
radio_on = !is_radio_on_wl();
} else {
if (is_radio_on_wl() == radio_on)
return 0;
}
notify_watchdog_wifi(1);
logmessage(LOGNAME, "Perform manual toggle %s radio: %s", "5GHz", (radio_on) ? "ON" : "OFF");
return control_radio_wl(radio_on, 1);
#else
return 0;
#endif
}
int
manual_change_radio_rt(int radio_on)
{
if (get_enabled_radio_rt() == radio_on)
return 0;
if (radio_on) {
notify_watchdog_wifi(0);
usleep(300000);
}
nvram_wlan_set_int(0, "radio_x", radio_on);
logmessage(LOGNAME, "Perform manual %s %s %s", (radio_on) ? "enable" : "disable", "2.4GHz", "radio");
return control_radio_rt(radio_on, 1);
}
int
manual_change_radio_wl(int radio_on)
{
#if BOARD_HAS_5G_RADIO
if (get_enabled_radio_wl() == radio_on)
return 0;
if (radio_on) {
notify_watchdog_wifi(1);
usleep(300000);
}
nvram_wlan_set_int(1, "radio_x", radio_on);
logmessage(LOGNAME, "Perform manual %s %s %s", (radio_on) ? "enable" : "disable", "5GHz", "radio");
return control_radio_wl(radio_on, 1);
#else
return 0;
#endif
}
int
manual_change_guest_rt(int radio_on)
{
if (get_enabled_guest_rt() == radio_on)
return 0;
if (radio_on) {
notify_watchdog_wifi(0);
usleep(300000);
}
nvram_wlan_set_int(0, "guest_enable", radio_on);
logmessage(LOGNAME, "Perform manual %s %s %s", (radio_on) ? "enable" : "disable", "2.4GHz", "AP Guest");
return control_guest_rt(radio_on, 1);
}
int
manual_change_guest_wl(int radio_on)
{
#if BOARD_HAS_5G_RADIO
if (get_enabled_guest_wl() == radio_on)
return 0;
if (radio_on) {
notify_watchdog_wifi(1);
usleep(300000);
}
nvram_wlan_set_int(1, "guest_enable", radio_on);
logmessage(LOGNAME, "Perform manual %s %s %s", (radio_on) ? "enable" : "disable", "5GHz", "AP Guest");
return control_guest_wl(radio_on, 1);
#else
return 0;
#endif
}
int
timecheck_wifi(int is_aband, const char *nv_date, const char *nv_time1, const char *nv_time2)
{
#define DOW_MASK_SUN (1 << 0)
#define DOW_MASK_MON (1 << 1)
#define DOW_MASK_TUE (1 << 2)
#define DOW_MASK_WED (1 << 3)
#define DOW_MASK_THU (1 << 4)
#define DOW_MASK_FRI (1 << 5)
#define DOW_MASK_SAT (1 << 6)
time_t now;
struct tm *tm;
char *aDate, *aTime1, *aTime2;
int i, current_min, current_dow, schedul_dow, iTime1B, iTime1E, iTime2B, iTime2E;
aDate = nvram_wlan_get(is_aband, nv_date);
aTime1 = nvram_wlan_get(is_aband, nv_time1);
aTime2 = nvram_wlan_get(is_aband, nv_time2);
if (strlen(aDate) != 7 || strlen(aTime1) != 8 || strlen(aTime2) != 8)
return 1;
if (strcmp(aDate, "1111111")==0 &&
strcmp(aTime1, "00002359")==0 &&
strcmp(aTime2, "00002359")==0)
return 1;
// Mon..Fri time
iTime1B = ((aTime1[0]-'0')*10 + (aTime1[1]-'0'))*60 + (aTime1[2]-'0')*10 + (aTime1[3]-'0');
iTime1E = ((aTime1[4]-'0')*10 + (aTime1[5]-'0'))*60 + (aTime1[6]-'0')*10 + (aTime1[7]-'0');
// Sat, Sun time
iTime2B = ((aTime2[0]-'0')*10 + (aTime2[1]-'0'))*60 + (aTime2[2]-'0')*10 + (aTime2[3]-'0');
iTime2E = ((aTime2[4]-'0')*10 + (aTime2[5]-'0'))*60 + (aTime2[6]-'0')*10 + (aTime2[7]-'0');
time(&now);
tm = localtime(&now);
current_min = tm->tm_hour * 60 + tm->tm_min;
current_dow = 1 << tm->tm_wday;
schedul_dow = 0;
for(i=0; i<7; i++){
if (aDate[i] == '1')
schedul_dow |= (1 << i);
}
/* Saturday */
if (current_dow & DOW_MASK_SAT)
{
if (schedul_dow & DOW_MASK_SAT)
{
if (iTime2B < iTime2E)
{
if (current_min >= iTime2B && current_min <= iTime2E)
return 1;
}
else
{
if (current_min >= iTime2B)
return 1;
/* Check Friday -> Saturday after midnight (special check after workweek) */
if ((schedul_dow & DOW_MASK_FRI) && (iTime1B < iTime1E) && (current_min <= iTime2E))
return 1;
}
}
/* Check cross-night from Friday */
if ((schedul_dow & DOW_MASK_FRI) && (iTime1B >= iTime1E) && (current_min <= iTime1E))
return 1;
}
else /* Sunday */
if (current_dow & DOW_MASK_SUN)
{
if (schedul_dow & DOW_MASK_SUN)
{
if (iTime2B < iTime2E)
{
if (current_min >= iTime2B && current_min <= iTime2E)
return 1;
}
else
{
if (current_min >= iTime2B)
return 1;
}
}
/* Check cross-night from Saturday */
if ((schedul_dow & DOW_MASK_SAT) && (iTime2B >= iTime2E) && (current_min <= iTime2E))
return 1;
}
else /* Monday */
if (current_dow & DOW_MASK_MON)
{
if (schedul_dow & DOW_MASK_MON)
{
if (iTime1B < iTime1E)
{
if (current_min >= iTime1B && current_min <= iTime1E)
return 1;
}
else
{
if (current_min >= iTime1B)
return 1;
/* Check Sunday -> Monday after midnight (special check after weekend) */
if ((schedul_dow & DOW_MASK_SUN) && (iTime2B < iTime2E) && (current_min <= iTime1E))
return 1;
}
}
/* Check cross-night from Sunday */
if ((schedul_dow & DOW_MASK_SUN) && (iTime2B >= iTime2E) && (current_min <= iTime2E))
return 1;
}
else /* Tuesday..Friday */
{
if (schedul_dow & current_dow)
{
if (iTime1B < iTime1E)
{
if (current_min >= iTime1B && current_min <= iTime1E)
return 1;
}
else
{
if (current_min >= iTime1B)
return 1;
}
}
/* Check cross-night from previous day */
if ((schedul_dow & (current_dow >> 1)) && (iTime1B >= iTime1E) && (current_min <= iTime1E))
return 1;
}
return 0;
} -
Gyurka6
őstag
Koszi, kerestem kozben... most mar ilyent ir ki:
Please select a repository:
1) Padavan-ng (Linaro)
2) Padavan [Not supported in this version]Kozben latom hogy Neked is ezt irta
de azert meg is mas
You have just selected the padavan-ng (linaro) repository.
Some parts of code in the Linux kernel related to a chip flashing has been rewritten and not carefully tested!
It's NOT RECOMMENDED to use this repository if your device HAS NO RECOVERY MODE
Press any key to continue...
Meg is megy tobvabb.... meglatom mi lesz -
Vtmk
tag
Ubuntu magyar desktopot szoktam felrakni. Programokban beirod a keresobe terminal.
Sudo su
Bekeri a jelszot enter es root vagy.Berakod a 3 parancsot es megy a script..
En se tudtam megtanultam sokat olvastam.
Nem olyan egyszeru tudni kell mit akarsz es mi kell hozza.
Telepites terminalban ha kell valami mas apt get install glances pl.
-
-
Gyurka6
őstag
Hali!
Ubuntu, letoltottem a wget....
Inditom a start.sh -tEz jelenik meg, a konyvtarakat kezzel hoztam letre, mert elsore a megjegzzeshez nem volt a mar letezik kiegeszites:
mkdir: nem lehet a következő könyvtárat létrehozni: ”//scripts”: A fájl már létezik
mkdir: nem lehet a következő könyvtárat létrehozni: ”//configs”: A fájl már létezik
mkdir: nem lehet a következő könyvtárat létrehozni: ”//files”: A fájl már létezik
mkdir: nem lehet a következő könyvtárat létrehozni: ”//logs”: A fájl már létezik
tar: update.tar: a következő függvény meghiúsult: open: Nincs ilyen fájl vagy könyvtár
tar: Error is not recoverable: exiting now
/start.sh: sor: 87: ./scripts/up2.sh: Nincs ilyen fájl vagy könyvtár
Скрипты: OKAz egy kicsit gyanus, hogy amd64 -es megjegyzesu file/-okat telepitgetett
-
Vtmk
tag
Komolyan mindent lefogok írni lépésről lépésre. Elfelejtettem vagy valamit nem jól állrítottam be de nem találom a mentési mappát.
-
Vtmk
tag
Bassz nem tudom már hova menti ez a szutyok a trx file-t beszarok...
-
Vtmk
tag
válasz
Intruder2k5 #70 üzenetére
Köszi. De nagyon amatőr vagyok ebben..
-
+ ha lehet javasolni...
A Wifi-t inkább WiFi-nek írnám, így kevésbé folyik össze, bár ez inkább csak esztétikai kérdés. Viszont a "Block" és az "Unblock" nálad pont fordított értelmet nyert mint az eredeti angol nyelvű változatban. Talán jobb lenne "Blokkol" és "Felold", esetleg "Enged".
Amúgy gratula, hamar belejöttél.
-
woodworm
veterán
A config a fordítóé, csodálkoznék, ha ezt ilyen egyszerű formában kimazsoláznád a kibontott trx fájlból. A 7zip ugyanis csak a számára értelmezhető formátumot jeleníti meg, de az image nem csak ennyiből áll.
Az asusnál leráztak, a honlapon letölthető a forráskód, igaz, hogy teljesen más logikával épül fel, de azért meg lehet benne találni a kérdéses beállítást.#elif defined(ASUS_RTAC1200GU)
#define RST_BTN 41 /* ND_WP */
#define WPS_BTN 43 /* ND_CLE */
#define PWR_LED 48 /* ND_D3 */
#define WIFI_2G_LED 14 /* WLAN_N */
#define USB_LED 47 /* ND_D2 */
#define WIFI_5G_LED 15 /* WLAN_N */
#define WAN_LED 16 /* EPHY_LED0 */
#define LAN_LED 7 /* EPHY_LED1 */Mivel ez első látásra megegyezni látszik a padavanos értékekkel, lehet, hogy máshol a hiba.
(#68) Vtmk
Az az "Avg használat" még mindig bántja a szememet. Nem láttam még fordítani sehol, de az Átlagos (Átl.) használat vagy terhelés inkább megfelelne oda. Én hagynám az eredetit. -
Vtmk
tag
Megkerdeztem nemreg az asust. Hogy a firmwareban hol talalhato a wifi led funkcio. Nem tudtak megmondani a technikain. Sot meg a gyartot megkerdeznek biztos nem mondana el..
Tehat marad az amerikai kezi...
Asus gyari firmware letolt 7zip kipakol es szemrebbenes nelkul belekockulva keresni konfig filet meg annak a megfelelo funkcio fule at. Annyit mondott megvan adva melyik porton kell lennie a wifi ledeknek.Most az meg a kerdes a padavanban benne van a wifi led funkcio vagy nincs mert a .configba hiaba irom at az undefin defined re meg annak a portjat ha nem is letezik benne a wifi led funkcio.
-
Vtmk
tag
Én csak a magyart akartam. Se angol se orosz csak magyar. Ha irtam volna bele magyart az angol is ott fityegne. De na nehogy mán. Én nich sprechen english! Daaaa.
Full magyar 6-7 skin. Jó ez így neken.A ledes dolgot a wifi 2 nev 5g még nem tom szerintem kinézem a gyári firmware bol. Csak remenykedek,hogy abban az 1 file ban kell csak firkalni... utana kb soha tobbet nem kell felmennem a panelba. Es lesz egy kozeposztalyos rutyibol egy fullos.
Befejezem a router gyartasat a gyarto helyett. Már megérte megvenni -
woodworm
veterán
-
Vtmk
tag
Szia. Tudom a nyelven még sokat kell írnom ez még csak teszt. Amúgy bekapcsoltam az összes témát. És megjelenik a panelben egy téma választó logót lehet megadni url ben meg a betüket formázni. Hátteret.
De én kicseréltem a logot.
A nyrlvi fájl. Az english file írtam át és a ruszkit kikapcsoltam.
Csak 11 órakor már nem álltam neki buildelni. 52 percig tart. De majd ma írom tovább. Win 7 mellett van fent az ubuntu 16.04 abban bármikor tudom folytatni.
Amugy prometheusban a fomenuben 3 rleg volt ztana 4 firmware skinek ja meg a condig szerkesztesben a rus kinyomtam #
Azt build daralas.De a logo méretet at fogom irni nagyobbra. Delutan rakok fel képet róla.
Az angol nyelvi file 2 db van enheader es enfooter. -
woodworm
veterán
Gratula! Ugyan egy kis finomítás ráférhet még, néhány helyen érdekes lett a megfogalmazás. Pl. avg használat, operációs mód. Előbbi akár maradhatna az eredeti is, utóbbi pedig egyszerűen Üzemmód, Müködési mód.
A logót és dict fájlt egy meglévőt cserêltél vagy újat hoztál létre és módosítottad a html kódot hozzá?
-
-
Vtmk
tag
Mire írjam át?
/* ASUS RT-AC1200GU */
#define BOARD_PID "RT-AC1200GU"
#define BOARD_NAME "RT-AC1200GU"
#define BOARD_DESC "ASUS RT-AC1200GU Wireless Router"
#define BOARD_VENDOR_NAME "ASUSTek Computer Inc."
#define BOARD_VENDOR_URL "http://www.asus.com/"
#define BOARD_MODEL_URL "http://www.asus.com/Networking/RTN56U_B1/"
#define BOARD_BOOT_TIME 30
#define BOARD_FLASH_TIME 120
#define BOARD_GPIO_BTN_RESET 41
#define BOARD_GPIO_BTN_WPS 43
#define BOARD_GPIO_LED_ALL 46
#undef BOARD_GPIO_LED_WIFI
#define BOARD_GPIO_LED_SW2G 14 /* soft led */
#define BOARD_GPIO_LED_SW5G 15 /* soft led */
#define BOARD_GPIO_LED_POWER 48
#define BOARD_GPIO_LED_LAN 7
#define BOARD_GPIO_LED_WAN 16
#define BOARD_GPIO_LED_USB 47
#undef BOARD_GPIO_LED_ROUTER
#undef BOARD_GPIO_PWR_USB
#define BOARD_HAS_5G_11AC 1
#define BOARD_NUM_ANT_5G_TX 2
#define BOARD_NUM_ANT_5G_RX 2
#define BOARD_NUM_ANT_2G_TX 2
#define BOARD_NUM_ANT_2G_RX 2
#define BOARD_NUM_ETH_LEDS 0
#define BOARD_HAS_EPHY_L1000 1
#define BOARD_HAS_EPHY_W1000 1
#define BOARD_NUM_UPHY_USB3 0
#define BOARD_USB_PORT_SWAP 0-------
#undef BOARD_GPIO_LED_WIFI -
Vtmk
tag
Aki keresné itt van az a file ahol a nyelvek vannak:
padavan-ng/trunk/.config
a filt-t ubuntuban csak terimnálban látod:
De abban tudod szerkeszteni mindjárt én a rus-t kiszedtem:
alt +x = #AZ EN.dict még nem látom hol van.. Még darálja a 3-as menü.. Amint megvan már rakom is be.
-
woodworm
veterán
Amikor először találkoztam a prometheusszal, akkor minden előképzettség nélkül egy orosz fórumról, google fordító segítségével tanultam. A többször linkelt cikk alapján, ugyancsak minden előképzettség nélkül, készítették el userek a saját padavanjukat.
Lehet nem cifrázom túl, de ha sorrendben elvégzed azokat a pontokat, amiket felsoroltam, akkor a saját szemeddel látod mi történik. Igen, lassú gépen nem 5 perces folyamat. De ennek ez az útja.
Két napja a rendszert sem ismerted, vagy 10-20 üzenetváltás elment arra, hogy egyáltalán feladd a read only fájlrendszer vagy a kész fw módosítását.
Nem értem egyébként, hogy értelemszerűen sorszámozott menüpontok egymás utáni elvégzése miért okoz problémát.
Főmenü 1, 2, 3, belépsz a 4-esbe. Ha módosítani akarod a konfigot, akkor 1, ha akarsz skineket 2, ezután (vagy ha az előző kettőre nem tartasz igényt) mehet a 3-as. -
Vtmk
tag
Amúgy pl hova csomagolja ki a router firmware-t? ubuntun belül?
A leforgatást a Főmenüben a 3-as gombra érted?Illetve ha kész vagyok a magyar nyelvvel és a skinnel melyiket nyomjam meg? Vagy hogy készítem el a trx file-t?
THX
-
Vtmk
tag
Na most komolyan. Szerinted ez a sok össze vissza ollózgatott leírásokból ki fog érteni valamit?
Nem volna egyszerűbb összeszedve leírni?Pl:
Felrakom a wmware-t (12 pro)
Utána leszedsz egy ubuntut és berakod az isot a wamware-ba feldobja
Terminál leszeded és futtatod a prometheust.
stb.stb.
Mert nem hinném,hogy valaki akkora frankó gyerek lenne,hogy megcsinálná a magyar trx-et. És megosztaná.
A másik nekem elég gyenge gépem van itthon és lassan fog menni. Arról nem beszélve nincs leírva sehol speciel hogy a trx file-t raköom be vagy a routerből szed ki mindent és azt varriálod és utána hozod létre at trx file-t. Nem semmi sem derül ki részemről.Tehát itt a prometheus használatád és csak azért kérdem én hogy a nyelvet az EN.dict-et hol tudom átírni vagy miként mikor ..
És utána mi a teendő.
Mondjuk a dark vendor témára szerintem át fogom rakni. De azt már látom hogy kell.DE pl a Build toolchain (3) A fordítási környezet felépítése.
Nekem 30 percig ment és még nem ért véget...
Ezért szerintem nem ártana kivesézni mit mikor lehet csinálni vagy kell csinálni. Mert én még nem csináltam ilyet és szeretném megtanulni. Azért kérdezek sokat. Hiába olvasok utána ninc silyen részletesen leírva..
-
Vtmk
tag
Bocsi akkor itt mit nyomjak?
Update scripts (1) Letölti és frissíti a prometheus scriptet.
Update sources (2) Letölti a beállított tárolóból a legfrissebb forrást.
Build toolchain (3) A fordítási környezet felépítése.
Firmware (4) Almenükön keresztül az fw tartalmának az összeállítása és elkészítése.Tegyük fel szétszedem a fw-t és ugye módosítani akarom..
Hogy létrejöjjön az alap fájlrendszer érdemes egyszer leforgatni egy fw-t. Az egyéb módosításhoz, sku fájlok engedélyezése
Rz kicsit nekem kínai..
-
woodworm
veterán
A tárolónál a padavan-ng-t a scriptnél pedig a test ágat érdemes beállítani.
A tároló és a router kiválasztása után megjelenő menürendszer menüpontjai:Update scripts (1) Letölti és frissíti a prometheus scriptet.
Update sources (2) Letölti a beállított tárolóból a legfrissebb forrást.
Build toolchain (3) A fordítási környezet felépítése.
Firmware (4) Almenükön keresztül az fw tartalmának az összeállítása és elkészítése.Hogy létrejöjjön az alap fájlrendszer érdemes egyszer leforgatni egy fw-t. Az egyéb módosításhoz, sku fájlok engedélyezése, a nem működő ledek beállítása a config fájlokban, dict fájl bemásolása, a webes felület módosítása, pedig ki kell lépni a scriptből a SHIFT+Q billentyűkombinációval vagy nyitni egy második konzolt.
A Midnight Commander az mc paranccsal indul. Én ftp szerveren keresztül szoktam fájlokat bevinni a virtuális gép alá, így a létrehozott dict fájl is bemásolható.Ha készen vannak a módosítások, újra kell forgatni az fw-t, 4-es menüpont, 3-as almenüpont. A kész fw pedig felmásolható az ftp szerverre, hogy windows alól is hozzáférhető legyen. Vagy a router ssh elérhetőségének a beállítása után fel is flashelhető.
(#45) Intruder2k5
A másik fórumon többször ajánlottam neki, hogy olvassa el a topikindító cikk prometheus specifikus részét. -
-
Vtmk
tag
Na átjöttem Ubuntura.
Így fest ettől nem tudom mit kell csinálni.: -
Vtmk
tag
Van fenn a win 7 mellet ubuntu 16.04
Mükszik a progi tehát ledaráltam ezt:wget -O start.sh http://prometheus.freize.net/script/start-99.sh
chmod +x start.sh
./start.sh
http://prometheus.freize.net/ -
Mondjuk a #32-re neked is ott volt benne a válasz a második képen.
szerk.:
Áhh, közben kiszúrtad. -
Vtmk
tag
Bocsi nem
Hanem woodwormnek. -
Vtmk
tag
De itt a gyári is,ha valaki nem találná.:
http://nettest.vtmk.hu/gyari/RT-AC57U_3.0.0.4_380_10732-g5506a3c.trx
Ez pedig a padavan:
http://nettest.vtmk.hu/RT-AC1200GU_3.4.3.9L-100.trx
Nekem csak azt mondja el valaki,hogy mikor mit kell csinálni ezzel a prometheus progival...
Mert nagyon nem vágom...Már ezzel a Visual Studio-val gondolkozom,hogy az megtudná csinálni ezt a dolgot. Kibontás szerkesztés és Buildelés... De kicsit fázik a lábam...
-
Vtmk
tag
Szia én vagyok az ncore-ról. Mi beszélünk napok óta.
Ez a telepítési mód:
Letöltöd a gyári firmware-t biztos ami bizonytalan alapon.Utána ezt:
https://dimez.ru/padavan-ng/current/asus/RT-AC1200GU_3.4.3.9L-100.trxAz Asus gyári panelban
bekapcsolod a SSH-t.
Én speciel mobaxtermet használok.
Utána bemész ssh-ban 192.168.1.1 22port
amivel a router panelba lépsz be azt adod meg nevet jelszót.
majd kimész egészen a tmp/ mappába.
oda felrakod az új firmeware-t
majd terminálba ezt a parancsot bedarálod:
mtd-write -i RT-AC1200GU_3.4.3.9L-100.trx -d linux && reboot
Ezt szépen megeszi majd újraindul ne csinálj semmit kb 5 perc ez az egész. Kidob persze terminálból. De utána meglepődsz az online felületen mivel htaces belépés lesz nem csicsás design.
Belépés alapból:
admin
admin
Azt mikor bent vagy millió új és jobb gyorsabb beállítás átláthatóbb és kihasználhatóbb dolgok jöttek elő.
Ja ami a ledet illeti.:
Ha kikapcsolom az összes ledet a lanok és az internet led világítva marad meg a bekapcsoláskor tényleg a wifi led nem villog de lefosom. Engem a terhelés érdekel.
Ami előzőleg 112mb foglalt volt az most 86mb. Ez a nem mindegy.
proci 0.02 0.02 0 ez a nem mindegy.woodworm még megírta és igaza van ssh-n a file jogok még mindig csökkentve vannak.
Próbáltam letölteni az angol meg az orosz nyelvit le is szedi. Át is tudom írni magyarra,de visszamásolni már nem mert védett...7zip-pel kitudod csomagolni a trx-et utána már sima notepa++-ban át tudod írni a nyelvet.
Én az En.dict filet akarom mivel akkor nem kell semmi további file-hoz nyúlni meg keresgélni.
Itt a file. Már amennyire volt kedvem írkálni:http://nettest.vtmk.hu/EN.rar
-
woodworm
veterán
Az ac57u padavan image boncolgatása közben magyar nyelvi fájlt találtam, tud valaki valami közelebbit? Próbálta már kiválasztani?
-
nrg_52
addikt
Elozo hsz linkrol letoltod az 1200gu-hoz valot. En az Asus leirasa alapjan csinaltam (9-es ponttol erdekes). Az Asus firmware restoration utility linkjet nem talalom hirtelen, de mintha a router lemezen rajta lenne. Tul sok mindent nem allitgattam rajta egyenlore csak az ssid/passphrase-t, a net miatt a pppoe-t,meg az usb-s vinyo miatt az smb szervert.
-
-
-
Sziasztok!
Szeretném, ha a routerem torrent kliens funkciója elérhető lenne kívülről is.
A nagy kérdés, hogy ezt meg tudom-e valósítani anélkül, hogy biztonsági rést ütnék az otthoni hálózaton.
Gondolom, a VPN szerver résznél kell beállítanom a dolgokat, és kell egy regisztráció valamelyik dinamikus dns szolgáltatónál, ugye?
Milyen buktatókkal kell számolnom, mire figyeljek?Elöre is köszi!
-
woodworm
veterán
válasz
dredjudge84 #24 üzenetére
A napokban találtam ezt a helyet. Nem tudom mi van benne, zsákbamacska. Az 1200GU-hoz valót kell letölteni, a két router megegyezik.
-
dredjudge84
őstag
Sziasztok!
Vettem egy ASUS RT-AC57U routert. Erre ha jól látom van padavan, de nem találok hozzá letöltési linket. Segítenétek kérlek? Illetve ha mégsincs rá, akkor van vmi alternatíva?
Igazából a gyári fw is tud mindent ami kell, a torrent klienst hiányolom belőle egyedül, az kellene.
-
Gyurka6
őstag
Hali!
Sikeresen frissítettem a dlink860-ast az l100-ra. Azonban most nem indul el az entware, kézi mount /dev/sda1 után működik. nem találom hol lehetne ezt beállítani?
Köszönet. -
Capricornhun
tag
Squid proxy szervert hogyan lehet működésre bírni?
-
woodworm
veterán
Használja valaki ap módban, wifi bridge csatlakozással? Tényleg nincs internet elérhetőség a lan portokról? Átjáró, dns szerver beállítva. A transmissiont nem próbáltam, mert ebben a buildben nincs, de az mpd nem látta az internetes rádiókat, viszont a belső hálózatról csatolt smb meghajtóról lejátszott minden további nélkül. A wifin csatlakozott kliensekkel tudtam böngészni, a lanon csatlakozott gép ugyanúgy látta a samba megosztásokat, az ap módban lévő routerek adminfelületét, de a fő routerét már nem és ki sem látott.
Vajon mi lehet ennek az oka? -
Capricornhun
tag
Én böngészőből szoktam feltölteni a firmware-t. Gondolom van rajta Entware, usb pendrive-ra simán feltettem.
-
Gyurka6
őstag
válasz
Capricornhun #18 üzenetére
Köszi, letöltöttem! Ez simán feltölthető trx ? Entware is van rajta, azt újra kell telepíteni?
-
Gyurka6
őstag
Hali!
860l -re tudna v.ki egy ujabb verziot elerhetove tenni?
-
vargalex
félisten
válasz
Capricornhun #14 üzenetére
Ha letölti, akkor a fastcgi nincs jól beállítva.
-
Capricornhun
tag
válasz
Capricornhun #8 üzenetére
Sikerült a nginx szerverhez a https tanúsítványt beállítanom.
admin felülethez a böngésző inkongítóablakját kell használni. Sajnos csak tippeket tudok hogy hogyan jött össze.
Régebben is belefutottam abba a hibába, hogy az info.php oldalt nem betölti, hanem letölti.
Esetleg erre van ötlete valakinek? -
attilav2
őstag
válasz
Capricornhun #8 üzenetére
-
attilav2
őstag
Itt a partíciók listája az AC57U-ról, cat /proc/mtd parancs kimenete:
Látszik egy linux nevű partíció és a Tyran17 által javasolt parancs ide írja fel a firmware-t:mtd-write -i RT-AC1200GU_3.4.3.9L-100.trx -d linux && reboot
A partícióméretek azthiszem hexában vannak megadva, hogy lehet ezt átszámítani megabájtra?
Az erasesize oszlop az milyen méretet jelöl? -
attilav2
őstag
Majd folytatom a kísérletezést ha beszereztem még egy AC57U-t, fő a biztonság. Az lenne a legkényelmesebb ha a prometheus scriptből lehetne a lebuildelt firmware-t feltenni. Recovery módba tenni a routert, meg manuális ip-t beállítani kicsit kényelmetlen minden egyes frissítéskor, az asus fw restorationhöz pedig ez kell. Addig is ki kellene faggatni az oroszokat meg Linaro-t a padavan-ng fejlesztőt hogy biztonságos e a prometheusból frissíteni, nekem kevés az angolom hozzá. SSH elérés gyárilag van, akkor miért ne használnánk ki a kényelmes frissítés érdekében, mint a xiaomi-nál, ráadásul itt nem kell megszenvedni az ssh-ért mint a xiaomi esetében.
-
Capricornhun
tag
Sziasztok!
Örülök, hogy létrejött ez a topik és itt fáraszthatlak titeket tovább a láma kérdéseimmel.
Jelenleg szeretném a Dlink DIR-860L padavanos routerre a bejelentkezést https-re beállítnai.[link] Az oldalon leírtak alapján sikerült a tanúsítványt megszerznem. Itt jegyezném meg, hogy DDNS szolgáltatót kellett miatta váltanom ddnss.de -re és egyből letöltötte a tanúsítványt.
Bejelentkezéskor a https nem biztonságosra vált vissza.
Nginx szerver fut, Lighttpd fut....Tesztekéskor info.php-re No input file specified üzenetet kapom.
Esetleg valakinek van egy használható conf. beállítása nginx-re vagy lighttpd esetleg.fastcgi-re.
Netán megosztanátok egy müködöképes beállítást azt előre is köszönöm.
Esetleg tudomásotok van hasznos beállítási tippekről trükkökről azt szívesen átvenném.Üdv.:
Cs. -
woodworm
veterán
-
attilav2
őstag
Igen, közben utánakerestem a megfelelő linux parancsnak és ellenőriztem a szabad helyet a /tmp-ben:
61.5 mega szabadAkkor már csak bátorságot kell gyűjtenem a padavan felflasheléséhez
Vagy veszek még egy ilyen routert kísérletezni, talán ez a legbiztonságosabb, bár drága megoldás.
Azért a gyárira visszatérés még vet fel kérdéseket, az asus firmware restoration tool leírása szerint mentési módba kell kapcsolni a routert a program használatához [link] kérdés hogy miután felkerült a padavan mentési állapotba lehet e még állítani a routert. -
attilav2
őstag
A /tmp egy ramdisk-re mutat? A flash-re szerintem kizárt hogy felférjen a trx fájl, nem hogy még onnan flasheljem is.
Illetve eszembe jutott még hogy pendriveot fel lehetne csatolni lehet hogy onnan is menne a frissítés.
Csak kérdés mire érdemes formázni fat exfat ntfs ext4 (talán ez utóbbit biztonságosabban kezeli mert a routeren linux fut).A TFTP módszerről tudod hogyan működik, az a soros-usb kábeles módszer? Vagy etherneten is működhet?
-
woodworm
veterán
- Szerintem legbiztonságosabb az asus programja egy kezdő számára. Pc-n fut, onnan tallózod be a trx fájlt.
- Elég bonyolult a prométheus, hogy kimazsolázzam belőle, de szerintem a lentebbi ssh parancsot használja az fw felrakásához,
- A ssh mellett nyitsz egy scp kapcsolatot (winscp), a trx fájlt feltöltöd a /tmp mappába, ssh-n belépsz a /tmp mappába és kiadod a parancsot (de ezt írja a linkelt oldal is).A padavan fejlesztői oldala mellett érdemes megemlíteni Linaro1985 forkját, a padavan-ng-t is, az utóbbi időben rendszeresen frissül és ha minden igaz, a prometheus váltott a kizárólagos támogatására. Jó néhány router, köztük az RT-AC1200GU, AC57U páros, több tp-link és a xiaomik csak ott támogatottak.
-
attilav2
őstag
Asus RT-AC57U routerem van, amely 99% hogy azonos az RT-AC1200GU routerrel ez utóbbira pedig elérhető a padavan a prometheus scripten keresztül. Próbaképp már leforgattam egy fw-t, több mint 2 óra volt toolchain buildeléssel együtt
Felrakni még nem merem, mert a felrakás mikéntje nem egészen világos számomra, és nem szeretném téglásítani a routeremet.
Egy orosz fórumot találtam az AC57U-ról: [link] itt 3 oldalon keresztül vesézik ki ezt a routert, nem valami sok, de kezdésnek elég.
Az AC57U/1200GU hekkelésében főleg Tyran17 aktív, ezeket a telepítési módokat javasolja cfw esetén:
1. TFTP-vel
2. Asus firmware restoration programmal (itt nekem nem tiszta egy ehhez mindenképp helyreállítási módba kell kapcsoljam a routert ahogy az asus oldalán a faq írja, vagy normál módban is megy a program?)
3. SSH paranccsal:mtd-write -i RT-AC1200GU_3.4.3.9L-100.trx -d linux && reboot
itt az nem világos hogy az ssh terminálból hogy érem el a pc-n lévő firmware fájlt? Fel lehet valahogy csatolni? Maga a leforgatott fw 14mb körül van, a flash mérete 16mb, tehát ha átmásolom a firmware fájlt a routerre akkor már nem lesz hely felírni, de átmásolni se tudnám mert gondolom a gyári firmware miatt el sem férne
4. edik lehetőségként adódna a prometheus scripttel felrakni ssh-n keresztül, erről Tyran17 nem ír semmit, működne e ez a módszer vagy téglát eredményezne?Ha valakinek sikerülne felrakni az AC57U-ra a padavant akkor ne csodálkozzon ha a wifi ledek nem világítanak, ez ismert hiba: [link]
-
attilav2
őstag
Mivel még nincs topicja a Padavan firmware-nak, bátorkodok nyitni egyet ahol megtárgyalhatjuk az ezzel az alternatív router firmware-val kapcsolatos kérdéseket.
Padavan főoldala: [link]
Prometheus script, amivel sok routerre lefordítható és telepíthető a padavan: [link]
Padavanra fel! (Xiaomi Router 3G padavanosítása blogposzt és fórum) innen jött az ihlet hogy nyissak egy általános nem router specifikus padavan topicot.
Új hozzászólás Aktív témák
Hirdetés
- Assassin's Creed Shadows Collector's Edition PC
- World of Warcraft (WoW) Díszdobozok
- Vírusirtó, Antivirus, VPN kulcsok
- Windows, Office licencek kedvező áron, egyenesen a Microsoft-tól - Automata kézbesítés utalással is!
- Kaspersky, BitDefender, Avast és egyéb vírusírtó licencek a legolcsóbban, egyenesen a gyártóktól!
- BESZÁMÍTÁS! Gigabyte AX-370 R5 1600X 16GB DDR4 512GB SSD RX 580 8GB Zalman S3 EVGA 500W
- Azonnali készpénzes GAMER / üzleti notebook felvásárlás személyesen / csomagküldéssel korrekt áron
- LG 65C2 - 65" OLED evo - 4K 120Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - PS5 és Xbox!
- Xbox Ultimate előfizetések
- Telefon felvásárlás!! Samsung Galaxy S25, Samsung Galaxy S25 Plus, Samsung Galaxy S25 Ultra
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest