28 Marca 2024 18:27:00
Nawigacja
· Strona Główna
· Forum

· Tomato by Shibby
· FreshTomato


Wątki na forum
Najnowsze dyskusje
· [Howto] Xpenology na...
· [MOD] Tomato64 (x86-64)
· [MOD] FreshTomato-AR...
· Optware na CIFS
· RT-AX56U - Status kl...
· Asus TUF-AX3000_V2 p...
· [MOD] FreshTomato-MI...
· Multiroom N z wykorz...
· [S] Asus RT-AC68U E1
· [S] ASUS RT-AC68U
· Rozłączanie klient...
· serwer VPN za wan'em
· Przejscie z dyndns f...
· WDR3600 i problem z WAN
· Jaki USB hub do syno...
· [S] Karta sieciowa Q...
· Asus rt-n18u port fo...
· Netflix dzielenie ko...
· Nextcloud konfigurac...
· Netgear WNR3500L
Najpopularniejsze obecnie wątki
· [MOD] FreshTomato... [869]
· [MOD] Tomato64 (x... [27]
· [Howto] Xpenology... [14]
Ankieta
Jaki procesor posiada twój router?

Broadcom MIPSEL
Broadcom MIPSEL
36% [151 głosów]

Broadcom ARM
Broadcom ARM
52% [216 głosów]

Atheros
Atheros
5% [22 głosów]

Marvell
Marvell
1% [4 głosów]

Ralink
Ralink
1% [3 głosów]

Intel/AMD/VIA
Intel/AMD/VIA
1% [5 głosów]

Żaden z powyższych
Żaden z powyższych
4% [15 głosów]

Ogółem głosów: 416
Musisz zalogować się, aby móc zagłosować.
Rozpoczęto: 02/02/2015 09:38
Twoje IP
54.234.136.147
Zobacz wątek
OpenLinksys » :: PORTAL :: » Tutoriale
 Drukuj wątek
Jak przenieść zmienne NVRAM między routerami??
jack78
Instrukcja: https://openlinksys.info/forum/viewth...ost_156573

Cześć,
wyeksportowałem sobie zmienne z NVRAM do pliku, interesował mnie tylko zmienne:
dhcpd_static
new_qoslimit_rules
portforward
resztę ustawiam ręcznie.

próbuje je teraz wrzucić do nowego routera niestety bez skutków. Ciągle dostaje jakieś błędy

/tmp/.wxhui4zM: line 5: syntax error: unexpected redirection 



Zmienne pochodzą z Tomato 124 i próbuję je wrzucić do Tomato 138. Dodam że kiedyś to już robiłem i wszystko działało, czy coś się zmieniło w Tomato 138 że teraz to nie działa?

Mikrotik hAP ac2
UniFi AP AC v2
-OFW, UniFi AP PRO- OpenWRT,
Linksys E1000v2 - Tomato-RT-N5x-MIPSR2-116-Hyzoom.4M-Mini
Tenda AC10 - AC1200 OFW
NAS - HP Microserver Gen8 i3-3220T, 8GB RAM 5x 3TB WD RED | Xpenology
 
kille72
Skrypt ktory dziala na MIPS i ARM

1. Zapisz skrypt do pliku, np. export.sh lub sciagnij moj plik export.zip


#!/bin/sh

#USE AT YOUR OWN RISK.
#THIS SCRIPT DOES NOT COME WITH ANY WARRANTY WHATSOEVER.
#
#Backs up selected nvram variables in "nvram export --set" format.
#
#Correctly handles multi-line entries.
#
#Thanks to ryzhov_al for basic approach.
#
#Should work equally well with both MIPS and ARM builds.
#
#Looks for a list of items to export in $etc/scriptname.ini
#OR enter items to grep for below.
#
#The items list is a list of regular expressions to match against the
#nvram variable names.
#
#Script assumes all entries are at beginning of line(prefixed with ^).
#
#Leave items list blank to backup up all of nvram.  Resulting in essentially
#the same output as MIPS "nvram export --set"
#
#The items list below is only intended as example and is not complete or
#comprehensive. Customize for your own use.
#

#Edit list below if not using .ini file, it is ignored if .ini file is found

items='
  dhcpd
  wl[0-9]
  ddnsx
  adblock
  wan_hwaddr
  portforward
  smbd
  usb
  vpn_server1
  vpn_client1
  http
  cstats
  rstats
  log_file
  script
  clkfreq
'

etc=/tmp/etc
base=${0##*/}; base=${base%.*}
config=$etc/$base.ini

#file to output - default to stdout
if [ "$1" != "" ] ; then
  backupfile="$1"
else
  backupfile=/proc/$$/fd/1
fi

grepstr=$( { [ -r $config ] && cat $config || echo "$items" ; } | sed -e 's/[\t ]//g;/^$/d' | sed ':a;N;$!ba;s/\n/\\\|\^/g')

{
echo "#Exporting $grepstr"
for item in $(nvram show 2>/dev/null | grep "^.*=" | grep "$grepstr"  | awk -F= "{print \$1}" | sort -u)
do
  item_value="$(nvram get $item | sed 's!\([\$\"\`]\)!\\\1!g' echo nvgetwasnull)"
  case $item_value in
  nvgetwasnull) ;;
  *) echo "nvram set ${item}=\"${item_value%
nvgetwasnull}\"" ;;
  esac
done
}>"$backupfile"


2. Edytuj zmienne ktore chcesz wyeksportowac po items='

Mozna tez uzyc pliku .ini ze zmiennymi, w tym tutku pokazuje tylko jak edytowac zmienne w pliku export.sh.

3. Skopiuj plik export.sh do jakiegos katalogu, w moim przypadku bedzie to /nas/downloads (mozna do /tmp, ale pamietaj ze po restarcie routera pliki znikna)
Nie zapomnijmy o nadaniu uprawnien do uruchomienia +x przez telnet/ssh w katalogu gdzie znajduje sie plik export.sh


chmod +x export.sh


4. EXPORT ZMIENNYCH. W katalogu gdzie znajduje sie plik export.sh wydaj nastepujaca komende:


./export.sh > zmienne.txt

Zmienne z NVRAM zostaly zapisane u mnie do pliku /nas/downloads/zmienne.txt

5. IMPORT ZMIENNYCH:
a) Skopiuj wszystko co sie zaczyna od "nvram set" z pliku zmienne.txt (bez #Exporting...na samej gorze)
b) Wklej zmienne przez ssh/telnet (nie rekomenduje wszystkiego na raz jak masz duzo zmiennych)
c) Ostatnia komenda to


nvram commit

d) Przerestartuj router

Prosze o wasze sugestie. Dzieki za testy Steel_Rat :)
kille72 załączono następujące plik:
Nie masz uprawnień, by zobaczyć załączniki w tym wątku.
 
jack78
Pisałem wczoraj z kolega MONTER, autorem programiku do przenoszenia danych między routerami - http://monter.techlog.pl/files/downlo...ntmigrate/
Skompilował dziś w nocy wersję dla ARM i wszystko działa.
Ale oczywiście Twoją propozycję również przetestuję, ponieważ muszę jakoś przenieść więcej zmiennych niż tylko Static DHCP, z tym że po pracy, bo teraz muszę się już zbieraćSad

Mikrotik hAP ac2
UniFi AP AC v2
-OFW, UniFi AP PRO- OpenWRT,
Linksys E1000v2 - Tomato-RT-N5x-MIPSR2-116-Hyzoom.4M-Mini
Tenda AC10 - AC1200 OFW
NAS - HP Microserver Gen8 i3-3220T, 8GB RAM 5x 3TB WD RED | Xpenology
 
kille72
Dopisalem co mnie interesuje, eksport dziala elegancko.



  dhcpd
  wl[0-9]
  ddnsx
  adblock
  wan_hwaddr
  portforward
  smbd
  usb
  vpn_server1
  vpn_client1
  http
  cstats
  rstats
  log_file
  script
  clkfreq
 
jack78
Co robię źle??
jeśli skopiuje plik export.sh do routera i wydam komendę
./export.sh > zmienne.txt
to dostaję błąd Permission denied
natomiast jeśli plikowi export.sh nadam uprawnienia
chmod +x export.sh
wtedy dostaję błąd ./export.sh not found.

A mimo to każdorazowy jest generowany plik zmienne.txt, tylko że jest pusty.

Mikrotik hAP ac2
UniFi AP AC v2
-OFW, UniFi AP PRO- OpenWRT,
Linksys E1000v2 - Tomato-RT-N5x-MIPSR2-116-Hyzoom.4M-Mini
Tenda AC10 - AC1200 OFW
NAS - HP Microserver Gen8 i3-3220T, 8GB RAM 5x 3TB WD RED | Xpenology
 
kille72
Pokaz wynik ls -la
 
jack78


root@unknown:/tmp# ls -la export.sh
-rwxr-xr-x    1 root     root          1714 Aug  8 20:39 export.sh
root@unknown:/tmp#



Może znaczenie ma to że robię to na tomaro ARM 124, a nie na najnowszym 138

Połączony z 08 sierpień 2016 21:22:27:
Możesz wrzucić tutaj fragment twojego wyeksportowanego pliku zmienne txt??
np fragment odpowiedzialny za portforwarding?
Może na tej podstawie przeedytuje sobie pliki które posiadam i uda mi sie to ręcznie przenieść.
Edytowany przez jack78 dnia 08-08-2016 21:22

Mikrotik hAP ac2
UniFi AP AC v2
-OFW, UniFi AP PRO- OpenWRT,
Linksys E1000v2 - Tomato-RT-N5x-MIPSR2-116-Hyzoom.4M-Mini
Tenda AC10 - AC1200 OFW
NAS - HP Microserver Gen8 i3-3220T, 8GB RAM 5x 3TB WD RED | Xpenology
 
kille72

#!/bin/sh

items='
  portforward 
'

etc=/tmp/etc
base=${0##*/}; base=${base%.*}
config=$etc/$base.ini

#file to output - default to stdout
if [ "$1" != "" ] ; then
  backupfile="$1"
else
  backupfile=/proc/$$/fd/1
fi

grepstr=$( { [ -r $config ] && cat $config || echo "$items" ; } | sed -e 's/[\t ]//g;/^$/d' | sed ':a;N;$!ba;s/\n/\\\|\^/g')

{
echo "#Exporting $grepstr"
for item in $(nvram show 2>/dev/null | grep "^.*=" | grep "$grepstr"  | awk -F= "{print \$1}" | sort -u)
do
  item_value="$(nvram get $item | sed 's!\([\$\"\`]\)!\\\1!g' echo nvgetwasnull)"
  case $item_value in
  nvgetwasnull) ;;
  *) echo "nvram set ${item}=\"${item_value%
nvgetwasnull}\"" ;;
  esac
done
}>"$backupfile"



./export.sh > zmienne.txt



#Exporting portforward
nvram set ipv6_portforward=""
nvram set portforward="1<3<<40101<<192.168.1.101"
 
jack78
Coś jest nie tak.
Nawet jak próbuję wrzucić Twoją zmienną do routera to dostaję błąd: /tmp/.wxwdwQRi: line 5: syntax error: unterminated quoted string

Wrzucę jutro jakąs starszą wersję softu i jeszcze raz próbuję, może w Tomato 138 jest coś nie tak.

Połączony z 09 sierpień 2016 21:47:23:
Próbowałem 132 NOSMP i zwykłą, 138 również obie, na żadnej nie działa komenda


nvram set

więc nie możliwe jest przeniesienie tych danych w ten sposób.
Widocznie w ARM zmiany były na tyle głębokie że taki sposób przenoszenia danych nie działa.
Edytowany przez jack78 dnia 09-08-2016 21:47

Mikrotik hAP ac2
UniFi AP AC v2
-OFW, UniFi AP PRO- OpenWRT,
Linksys E1000v2 - Tomato-RT-N5x-MIPSR2-116-Hyzoom.4M-Mini
Tenda AC10 - AC1200 OFW
NAS - HP Microserver Gen8 i3-3220T, 8GB RAM 5x 3TB WD RED | Xpenology
 
kille72
OK! Juz wiem jaki masz problem!

s10.postimg.org/tps2atqnd/Selection_004.png

Brakowalo ", poprawilem, sorry!

Ma byc

nvram set portforward="1<3<<40101<<192.168.1.101[color=#ff0000]"[/color]
 
jack78
No faktycznie, teraz się importuje.
Nadal nie mogę wyeksportować Twoją metodą, ale to nie problem, bo robię to w inny sposób.

Mikrotik hAP ac2
UniFi AP AC v2
-OFW, UniFi AP PRO- OpenWRT,
Linksys E1000v2 - Tomato-RT-N5x-MIPSR2-116-Hyzoom.4M-Mini
Tenda AC10 - AC1200 OFW
NAS - HP Microserver Gen8 i3-3220T, 8GB RAM 5x 3TB WD RED | Xpenology
 
kille72
Musi dzialac, testowane przez pare osob.

Połączony z 22 sierpień 2016 00:47:23:
Dzis bylem zmuszony do wyczyszczenia NVRAM po testach VLAN, wytestowalem wiec skrypt, export i import zmiennych. Po 15 minutach mialem wszystko ustawione! Jedyne czego zapomnialem wyeksportowac to Wireless Channel oraz Wireless Channel Width. I like!
 
ovner
@kille72 wałkuje skrypt który podałeś, ale borykam się z tym samym problemem co jack78 mianowicie

[root@apek opt]$ ./export.sh > txt.txt
-sh: ./export.sh: not found
[root@apek opt]$ export.sh > txt.txt
-sh: export.sh: not found
[root@apek opt]$ ls -la export.sh
-rwxr--r--    1 root     root          1639 Nov 19 21:46 export.sh
 

wyeksportowałem sobie ręcznie to co potrzebuje, ale mam problem z zmienną script_init po po wyeksportowaniu

dostaje tylko pierwszą linijkę

brakuje całej reszty eksporty ścieżek, montowania, bcm_nat itp
Kolejna rzecz to po czysczeniu nvramu i imporcie np


nvram set wl0_security_mode="wpa2_personal"
nvram set wl0_wpa_psk="qparka"
nvram set wl0_crypto="tkip+aes"
nvram set wl0_channel="6"
nvram set wl0_country_code="SG"
nvram set wl0_ssid="Home"
nvram set wl0_nctrlsb="lower"
nvram commit

po reboocie routera w basic jest ustawione szyfrowanie, ale sieć jest otwarta jak po czyszczeniu nvramu i dopiero ręczne kliknięcie w Save włącza szyfrowanie.
TUF-AX5400 @ Firmware:388.1_0-gnuton1
RT-N16 @ FreshTomato Firmware 2023.3 MIPSR2 K26 USB VPN + Huawei e3372 no-hilink
www.speedtest.net/result/14587008641.png
 
kille72
Hmm...nie rozumiem dlaczego, nie tylko u mnie dziala:


root@Asus:/nas/downloads# ls -la
drwxr-xr-x    3 root     root          4096 Nov 14 15:49 .
drwxr-xr-x    7 root     root          4096 Aug 31 21:40 ..
-rwxr--r--    1 root     root          1724 Sep  4 23:20 export.sh
drwxr-xr-x    4 root     root          4096 Nov  9 15:22 tomato-arm-kille72
root@Asus:/nas/downloads# ./export.sh > zmienne.txt
root@Asus:/nas/downloads# ls -la
drwxr-xr-x    3 root     root          4096 Nov 19 22:20 .
drwxr-xr-x    7 root     root          4096 Aug 31 21:40 ..
-rwxr--r--    1 root     root          1724 Sep  4 23:20 export.sh
drwxr-xr-x    4 root     root          4096 Nov  9 15:22 tomato-arm-kille72
-rw-r--r--    1 root     root         17320 Nov 19 22:20 zmienne.txt


Połączony z 19 listopad 2016 22:41:10:
Zalogowalem sie do routera znajomego i stworzylem plik export.sh w JFFS, dostalem Permission denied za 1 razem ale po chmod +x export.sh wszystko poszlo bez problemu.

script_init tez elegancko wyeksportowalo:


> /var/run/firstrun
echo \"LABEL=opt /opt ext4 defaults 0 1\" >> /etc/fstab
echo \"LABEL=nas /nas ext4 defaults 0 1\" >> /etc/fstab
fi"
 
ovner


[root@apek tmp]$ chmod -x export.sh
[root@apek tmp]$ ./export.sh > zrzut.txt
-sh: ./export.sh: Permission denied
[root@apek tmp]$ ls -ls export.sh
     4 ----------    1 root     root          1802 Nov 19 21:12 export.sh
[root@apek tmp]$ chmod +x export.sh
[root@apek tmp]$ ls -ls export.sh
     4 ---x--x--x    1 root     root          1802 Nov 19 21:12 export.sh
[root@apek tmp]$ ./export.sh > zrzut.txt
-sh: ./export.sh: not found
[root@apek tmp]$

chmod -x Permission denied
chmod +x not found :@
chyba jutro kolejne czyszczenie nvram i się pobawie. Btw tomato v132.
TUF-AX5400 @ Firmware:388.1_0-gnuton1
RT-N16 @ FreshTomato Firmware 2023.3 MIPSR2 K26 USB VPN + Huawei e3372 no-hilink
www.speedtest.net/result/14587008641.png
 
kille72
Daj mu (Everyone can read write and execute)

chmod 777 export.sh
 
ovner


[root@apek jffs]$ chmod 777 export.sh
[root@apek jffs]$ ls -ls export.sh
     2 -rwxrwxrwx    1 root     root          1802 Nov 19 21:12 export.sh
[root@apek jffs]$ ./export.sh > zrzut.t
-sh: ./export.sh: not found
[root@apek jffs]$ ls
export.sh        zrzut.t
[root@apek jffs]$

NC
TUF-AX5400 @ Firmware:388.1_0-gnuton1
RT-N16 @ FreshTomato Firmware 2023.3 MIPSR2 K26 USB VPN + Huawei e3372 no-hilink
www.speedtest.net/result/14587008641.png
 
kille72
@Steel_Rat: Pokaz jak to wyglada u Ciebie prosze.
 
Steel_Rat
Nie wiem o co chodzi ale u mnie działa Smile
WRT3200ACN (WRT32X) + OpenWRT 18.06+światełko 150/150 Mb/s
Asus RT-AC68UvE1 + RMerlin + Entware
Netgear WNR3500Lv2 + DDWRT
 
ovner
Wyczyściłem nvram i nadal not found
W ramach testów potwierdziłem

Cytat

ovner napisał(a):
po reboocie routera w basic jest ustawione szyfrowanie, ale sieć jest otwarta jak po czyszczeniu nvramu i dopiero ręczne kliknięcie w Save włącza szyfrowanie.

Na wyższych wersjach nie testowałem bo mam problem z połączeniem drukarki z kompem po wi-fi (niestety winne tomato Frown ) czekam na nową wersję.
TUF-AX5400 @ Firmware:388.1_0-gnuton1
RT-N16 @ FreshTomato Firmware 2023.3 MIPSR2 K26 USB VPN + Huawei e3372 no-hilink
www.speedtest.net/result/14587008641.png
 
Przejdź do forum
Zaloguj
Wprowadź adres e-mail lub nazwę użytkownika

Hasło



Nie masz jeszcze konta? Zarejestruj się.

Zapomniałeś/aś hasła?
Aktualnie online
· Gości online: 29

· Użytkowników online: 0

· Łącznie użytkowników: 24,117
· Najnowszy użytkownik: Ja
Czat
Musisz się zalogować, aby opublikować wiadomość.

Adooni
24-03-2024 13:16
Guest network is currently designed to allow the first set of each band (2.4G, 5G, 5G-1) available to the AiMesh node

tamtosiamto
24-03-2024 03:03
ale w 1 jest opcja do wyboru - dla calej sieci albo rutera only i wlasnie o tym mowie, ze nie dziala

Adooni
23-03-2024 16:31
w dokumencie asusa jest ze wlasnie dla 1 ma dzialac na nodach tez

tamtosiamto
23-03-2024 15:39
tak, ale nie zmienia to faktu, ze w pierwszej nie dziala wylaczanie aimesh dla goscinnej( a powinno), czyli jest jakis bug. Mam start soft, bo to dsl-ac68 ktory nie jest juz updateowany

Adooni
22-03-2024 18:07
nie, 1 wsza bedzie wszedzie trzeba 2ga zrobic dla kazdego pasma te nie sa przenoszone

tamtosiamto
19-03-2024 19:57
czyli jak mam jedna siec goscinna to powinno dzialac separowanie gosci od noda -a nie dziala Smile

tamtosiamto
19-03-2024 19:50
@Adooni 'Only one set is available for 1 band' i tak mam-1 set dla 2.4ghz i 1 dla 5ghz-czy czegos nie rozumiemW drugiej sieci goscinnej nie ma opcji wyboru Ruter only/ All nodes

Adooni
19-03-2024 19:14
no to przeczytaj to 2 pod - 1 stet z kazdego pasma jest dopuszczony na nody. zrob 2 siec jako goscinna na danym pasmie i wtedy sprawdz

tamtosiamto
19-03-2024 14:17
@Adooni 'Guest network on AiMesh - Router only'

Adooni
18-03-2024 19:20
Asus napisał coś takiego Note: Guest network is currently designed to allow the first set of each band (2.4G, 5G, 5G-1) available to the AiMesh node. Only one set is available for each band.

70,424,996 unikalnych wizyt