• Doesnotcompute
  • Registratie: Maart 2015
  • Laatst online: 21-09 20:51
Ik had vanochtend weer DT ipv fwainternet, heb je stappen gevolgd. In vivaldi werkte het niet, wel in firefox, waarvoor dank. Hoop dat het zo goed blijft. Bloedje irritant die vendorlocked firmwares.

Als ze bij verkoop nou eerlijk waren geweest, of gewoon een stock FW beschikbaar stelden.

  • nautaonline
  • Registratie: Januari 2004
  • Laatst online: 21-09 14:44
Ik heb met behulp van ChatGPT weten te vinden dat er dus wel een UserStartupScript is, zie hieronder. (Schaamteloos hem gevraagd de forumpost op te zetten zodat het hopelijk duidelijk genoeg is). Op een 2 tal NR7302's heb ik ook last van het terugvallen naar de verkeerde APN door de DT FW die mogelijk niet klopt. Onderstaande script is getest, natuurlijk wel op eigen risico gebruiken, maar ik vermoed dat er meer zijn die hier wat aan hebben :)

Wel root nodig, maar hoe je dat wachtwoord krijgt is al eerder beschreven :)

Edit:
Ik heb overigens wel:
Enable Customized Settings
op Individual staan.
Zyxel NR7302 – APN automatisch herstellen na firmware-update/FOTA
Bij de Deutsche Telekom-versie van de Zyxel NR7302 kan een firmware-update de handmatig ingestelde APN overschrijven. In mijn geval moet de APN fwainternet zijn, maar na een FOTA-update werd deze weer teruggezet naar:
code:
1
backup.telekom
Een normale reboot is geen probleem: een handmatig ingestelde APN blijft daarbij gewoon behouden. Het probleem treedt specifiek op bij een firmware-update, doordat de firmware tijdens de upgrade een rom_convert uitvoert waarin expliciet staat:
code:
1
APN: backup.telekom
Gelukkig blijkt de firmware zelf een verborgen mogelijkheid voor een eigen startup-script te hebben:
code:
1
/data/user_startup_parameters.sh
In het datamodel zit hiervoor:
code:
1
Device.X_ZYXEL_FEATRUE_FLAG.UserStartupScript
Als deze op 1 staat, wordt het script tijdens het booten uitgevoerd.
Vereisten
Hiervoor is shelltoegang als root op de NR7302 nodig. Voor zover ik heb kunnen testen is de normale admin-account uit de webinterface hiervoor niet voldoende.

Getest op:
code:
1
2
3
Product: NR7302
Firmware: 1.00(ACHA.6)F2
Build Date: 2026/06/08
Ook getest met een echte FOTA van:
code:
1
1.00(ACHA.5)b1_F0
naar:
code:
1
1.00(ACHA.6)F2
Daarbij bleven zowel /data/user_startup_parameters.sh als de UserStartupScript=1 instelling behouden.
Startup-script installeren
Onderstaand script controleert na iedere boot:
  • APN moet fwainternet zijn;
  • Manual APN moet ingeschakeld zijn;
  • username/password moeten leeg zijn;
  • Preferred Access Technology moet Auto zijn;
  • daarna wordt gecontroleerd of internet weer bereikbaar is via 8.8.8.8 of 1.1.1.1.
Het script logt alles naar /data/apn_startup.log.

Als fwainternet niet jouw APN is, pas dan uiteraard APN="fwainternet" aan.
Bash:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
cat > /data/user_startup_parameters.sh <<'EOF'
#!/bin/sh

LOG="/data/apn_startup.log"
APN="fwainternet"
MAX_WAIT=90

echo "" >> "$LOG"
echo "===== $(date) startup APN check =====" >> "$LOG"

# Wacht totdat het Zyxel datamodel beschikbaar is
WAITED=0
CURRENT_APN=""

while [ "$WAITED" -lt "$MAX_WAIT" ]; do
    CURRENT_APN="$(ztr69cli get Device.Cellular.AccessPoint.1.APN 2>/dev/null | sed -n 's/.*: "\(.*\)"/\1/p')"

    if [ -n "$CURRENT_APN" ]; then
        break
    fi

    sleep 5
    WAITED=$((WAITED + 5))
done

if [ -z "$CURRENT_APN" ]; then
    echo "ERROR: ztr69/datamodel not ready after ${MAX_WAIT}s" >> "$LOG"
    echo "===== FAILED =====" >> "$LOG"
    exit 1
fi

echo "Datamodel ready after ${WAITED}s" >> "$LOG"

CURRENT_MANUAL="$(ztr69cli get Device.Cellular.AccessPoint.1.X_ZYXEL_ManualAPN 2>/dev/null | sed -n 's/.*: //p')"
CURRENT_USER="$(ztr69cli get Device.Cellular.AccessPoint.1.Username 2>/dev/null | sed -n 's/.*: "\(.*\)"/\1/p')"
CURRENT_TECH="$(ztr69cli get Device.Cellular.Interface.1.PreferredAccessTechnology 2>/dev/null | sed -n 's/.*: "\(.*\)"/\1/p')"

echo "Before: APN=$CURRENT_APN Manual=$CURRENT_MANUAL User=$CURRENT_USER Tech=$CURRENT_TECH" >> "$LOG"

CHANGED=0

if [ "$CURRENT_APN" != "$APN" ]; then
    echo "APN incorrect ($CURRENT_APN), restoring $APN" >> "$LOG"
    ztr69cli set Device.Cellular.AccessPoint.1.APN="$APN" >> "$LOG" 2>&1
    CHANGED=1
fi

if [ "$CURRENT_MANUAL" != "1" ]; then
    echo "ManualAPN incorrect ($CURRENT_MANUAL), setting 1" >> "$LOG"
    ztr69cli set Device.Cellular.AccessPoint.1.X_ZYXEL_ManualAPN=1 >> "$LOG" 2>&1
    CHANGED=1
fi

if [ -n "$CURRENT_USER" ]; then
    echo "Username present ($CURRENT_USER), clearing credentials" >> "$LOG"
    ztr69cli set Device.Cellular.AccessPoint.1.Username="" >> "$LOG" 2>&1
    ztr69cli set Device.Cellular.AccessPoint.1.Password="" >> "$LOG" 2>&1
    CHANGED=1
fi

if [ "$CURRENT_TECH" != "Auto" ]; then
    echo "Access technology incorrect ($CURRENT_TECH), setting Auto" >> "$LOG"
    ztr69cli set Device.Cellular.Interface.1.PreferredAccessTechnology="Auto" >> "$LOG" 2>&1
    CHANGED=1
fi

sleep 5

# Instellingen opnieuw uitlezen ter controle
FINAL_APN="$(ztr69cli get Device.Cellular.AccessPoint.1.APN 2>/dev/null | sed -n 's/.*: "\(.*\)"/\1/p')"
FINAL_MANUAL="$(ztr69cli get Device.Cellular.AccessPoint.1.X_ZYXEL_ManualAPN 2>/dev/null | sed -n 's/.*: //p')"
FINAL_USER="$(ztr69cli get Device.Cellular.AccessPoint.1.Username 2>/dev/null | sed -n 's/.*: "\(.*\)"/\1/p')"
FINAL_TECH="$(ztr69cli get Device.Cellular.Interface.1.PreferredAccessTechnology 2>/dev/null | sed -n 's/.*: "\(.*\)"/\1/p')"

echo "After: APN=$FINAL_APN Manual=$FINAL_MANUAL User=$FINAL_USER Tech=$FINAL_TECH Changed=$CHANGED" >> "$LOG"

# Eenmalige retry als APN/ManualAPN nog niet correct zijn
if [ "$FINAL_APN" != "$APN" ] || [ "$FINAL_MANUAL" != "1" ]; then
    echo "WARNING: APN verification failed - retrying" >> "$LOG"

    ztr69cli set Device.Cellular.AccessPoint.1.X_ZYXEL_ManualAPN=1 >> "$LOG" 2>&1
    ztr69cli set Device.Cellular.AccessPoint.1.APN="$APN" >> "$LOG" 2>&1

    sleep 10

    FINAL_APN="$(ztr69cli get Device.Cellular.AccessPoint.1.APN 2>/dev/null | sed -n 's/.*: "\(.*\)"/\1/p')"
    FINAL_MANUAL="$(ztr69cli get Device.Cellular.AccessPoint.1.X_ZYXEL_ManualAPN 2>/dev/null | sed -n 's/.*: //p')"

    echo "Retry result: APN=$FINAL_APN Manual=$FINAL_MANUAL" >> "$LOG"
fi

# Wacht maximaal 120 seconden op internet
echo "Waiting for internet connectivity..." >> "$LOG"

WAITED=0
INTERNET=0

while [ "$WAITED" -lt 120 ]; do
    if ping -c 1 -W 3 8.8.8.8 >/dev/null 2>&1; then
        echo "Internet: 8.8.8.8 OK after ${WAITED}s" >> "$LOG"
        INTERNET=1
        break
    fi

    if ping -c 1 -W 3 1.1.1.1 >/dev/null 2>&1; then
        echo "Internet: 1.1.1.1 OK after ${WAITED}s" >> "$LOG"
        INTERNET=1
        break
    fi

    sleep 5
    WAITED=$((WAITED + 5))
done

if [ "$INTERNET" = "0" ]; then
    echo "WARNING: No internet connectivity after ${WAITED}s" >> "$LOG"
fi

FINAL_APN="$(ztr69cli get Device.Cellular.AccessPoint.1.APN 2>/dev/null | sed -n 's/.*: "\(.*\)"/\1/p')"

if [ "$FINAL_APN" = "$APN" ]; then
    echo "RESULT: APN OK ($FINAL_APN)" >> "$LOG"
else
    echo "RESULT: APN FAILED ($FINAL_APN)" >> "$LOG"
fi

echo "===== $(date) done =====" >> "$LOG"

exit 0
EOF

chmod 755 /data/user_startup_parameters.sh

ztr69cli set Device.X_ZYXEL_FEATRUE_FLAG.UserStartupScript=1

sync
Daarna controleren of de startupfunctie daadwerkelijk aan staat:
Bash:
1
ztr69cli get Device.X_ZYXEL_FEATRUE_FLAG.UserStartupScript
Dit moet opleveren:
code:
1
Device.X_ZYXEL_FEATRUE_FLAG.UserStartupScript: 1
Je kunt het script eerst zonder reboot handmatig testen:
Bash:
1
2
/data/user_startup_parameters.sh
cat /data/apn_startup.log
Als alles al goed staat, krijg je bijvoorbeeld:
code:
1
2
3
4
5
6
Datamodel ready after 0s
Before: APN=fwainternet Manual=1 User= Tech=Auto
After: APN=fwainternet Manual=1 User= Tech=Auto Changed=0
Waiting for internet connectivity...
Internet: 8.8.8.8 OK after 0s
RESULT: APN OK (fwainternet)
Getest met een echte FOTA
Om te controleren of dit niet alleen een normale reboot overleeft, heb ik daarna opnieuw de FOTA uitgevoerd.

Na de firmware-update bleek de NR7302 de APN inderdaad weer veranderd te hebben naar backup.telekom. Het startup-script werd echter automatisch uitgevoerd en gaf:
code:
1
2
3
4
5
6
===== Fri Aug 21 08:30:35 CEST 2026 startup APN check =====
Before: APN=backup.telekom Manual=1 User= Tech=Auto
APN incorrect (backup.telekom), restoring fwainternet
Set success.
After: APN=fwainternet Manual=1 Tech=Auto Changed=1
===== done =====
Na het opstarten stond de router dus weer automatisch op:
code:
1
2
3
4
APN: fwainternet
ManualAPN: 1
Username: ""
PreferredAccessTechnology: Auto
Zowel het script in /data als:
code:
1
Device.X_ZYXEL_FEATRUE_FLAG.UserStartupScript=1
bleef bij de geteste FOTA behouden.

Let op: dit is getest op de Deutsche Telekom NR7302-firmware. Root-toegang en het wijzigen van verborgen datamodelparameters is uiteraard op eigen risico. Ik zou dit ook niet blind toepassen op een NR7302 met een andere provider/OEM-firmware zonder eerst te controleren of UserStartupScript daar aanwezig is.

  • Overv
  • Registratie: Juli 2009
  • Laatst online: 24-08 20:38
Volgens mij is er ook juist nu een bijna dagelijkse FOTA aan de gang omdat die mismatch tussen "1.00(ACHA.6)F2" en "1.00(ACHA.6)F2_F0" bestaat, dus dat is ook gewoon een bug die ze bij Deutsche moeten fixen.

Al eerder gepost.

[ Voor 5% gewijzigd door Overv op 21-08-2026 10:01 ]


  • ernstoud
  • Registratie: Januari 2015
  • Laatst online: 12:33
Doesnotcompute schreef op vrijdag 21 augustus 2026 @ 08:31:
Ik had vanochtend weer DT ipv fwainternet, heb je stappen gevolgd. In vivaldi werkte het niet, wel in firefox, waarvoor dank. Hoop dat het zo goed blijft. Bloedje irritant die vendorlocked firmwares.

Als ze bij verkoop nou eerlijk waren geweest, of gewoon een stock FW beschikbaar stelden.
Inderdaad. Wel was bekend dat deze verkoop van de NR7302 (tegen halve prijs) uit een partij van Deutsche Telekom was.

RIPE Atlas probe: 1005104


  • ernstoud
  • Registratie: Januari 2015
  • Laatst online: 12:33
nautaonline schreef op vrijdag 21 augustus 2026 @ 08:42:
Wel root nodig, maar hoe je dat wachtwoord krijgt is al eerder beschreven :)
Zoals gemeld werkt SSH en Telnet niet meer met deze laatste versie FW. Dus eerst de vorige versie terugzetten, link hierboven.

RIPE Atlas probe: 1005104


  • jamesbond007uk
  • Registratie: Maart 2005
  • Laatst online: 21-09 19:47

jamesbond007uk

Gadget specialist / Freak

ernstoud schreef op vrijdag 21 augustus 2026 @ 11:57:
[...]


Inderdaad. Wel wasbekend dat deze verkoop van de NR7302 (tegen halve prijs) uit een partij van Deutsche Telekom was.
Hier vanmorgen ook problemen. Heb de versie "1.00(ACHA.6)F2" van firmware en kon de root wachtwoord achterhalen en via Putty had ik toegang tot SSH. Alles hier gelukt met de script voor APN controle.

[ Voor 7% gewijzigd door jamesbond007uk op 21-08-2026 13:15 ]

Jamesbond007uk


  • ernstoud
  • Registratie: Januari 2015
  • Laatst online: 12:33
jamesbond007uk schreef op vrijdag 21 augustus 2026 @ 13:13:
[...]

Hier vanmorgen ook problemen. Heb de versie "1.00(ACHA.6)F2" van firmware en kon de root wachtwoord achterhalen en via Putty had ik toegang tot SSH. Alles hier gelukt met de script voor APN controle.
Ok mooi. Eerder meldde @Polyphemus dat SSH met deze FW niet meer zo werken. Wel bij jou dus. Bijzonder.

RIPE Atlas probe: 1005104


  • Polyphemus
  • Registratie: Maart 2003
  • Laatst online: 10:17
ernstoud schreef op vrijdag 21 augustus 2026 @ 13:28:
[...]


Ok mooi. Eerder meldde @Polyphemus dat SSH met deze FW niet meer zo werken. Wel bij jou dus. Bijzonder.
Het is hier een hit en miss met SSH, meer een miss dan een hit. Ik heb een policy based route naar de WAN poort waar de Zyxel aan hangt, zodat ik daar het IP-adres van de LAN zijde van de Zyxel vanuit intern benaderen kan. Ben er nog niet helemaal uit waarom dat rammelt. De web ui doet het wel gewoon goed via die PBR.

  • Polyphemus
  • Registratie: Maart 2003
  • Laatst online: 10:17
En nu dus wel; de PBR die ik had sluisde alleen poort 80 door die kant op, waarom 22 dan af en toe wel en dan weer niet doorgelaten werd, 'beats me'. Dus mea culpa als ik de verwarring gecreëerd heb dat SSH/Telnet gesneuveld was door de upgrade.

[ Voor 25% gewijzigd door Polyphemus op 21-08-2026 15:52 ]


  • ernstoud
  • Registratie: Januari 2015
  • Laatst online: 12:33
Polyphemus schreef op vrijdag 21 augustus 2026 @ 15:52:
En nu dus wel; de PBR die ik had sluisde alleen poort 80 door die kant op, waarom 22 dan af en toe wel en dan weer niet doorgelaten werd, 'beats me'. Dus mea culpa als ik de verwarring gecreëerd heb dat SSH/Telnet gesneuveld was door de upgrade.
Fijn om te weten dat DTAG dus SSH niet disabled heeft.

RIPE Atlas probe: 1005104


  • savemyphone
  • Registratie: Augustus 2026
  • Laatst online: 12-09 18:41
Bedankt @Polyphemus voor de oorspronkelijke GUI-methode. Wij hebben dezelfde oplossing inmiddels getest op een Telekom-NR7302 met firmware 1.00(ACHA.6)F2, na de herhaalde F2_F0-update en de APN-reset naar backup.telekom.

Bij ons werkte deze iets gerichtere variant via de Vue-component van de pagina Online Upgrade:
code:
1
2
window.f = document.querySelector('#pageFotaUpgrade').__vue__
f.$store.state.guiFlag.HideAutoOnlineUpgrade = true; f.$forceUpdate()
Daarna Auto Upgrade op OFF zetten en op Apply klikken. Ter controle:
code:
1
f.fotaObj.PeriodicCheckEnable
Dit moet false teruggeven. We hebben de instelling na het herladen en ook in een tweede browsersessie gecontroleerd; ze bleef opgeslagen. Hiervoor zijn geen root-/supervisorrechten en geen aangepaste firmware nodig. Na een fabrieksreset of latere firmware-update moet de instelling opnieuw worden gecontroleerd.

De volledige stap-voor-stap-handleiding, inclusief foutopsporing en veiligheids-/modelnotities, staat hier:
GitHub: Zyxel NR7302 disable auto update

Bevestigd is dit tot nu toe alleen op de NR7302 Telekom-variant. Andere NR7xxx-modellen gebruiken mogelijk dezelfde OPAL-/Vue-interface, maar dat is nog niet praktisch bevestigd.

  • Polyphemus
  • Registratie: Maart 2003
  • Laatst online: 10:17
savemyphone schreef op zondag 23 augustus 2026 @ 15:11:
Bedankt @Polyphemus voor de oorspronkelijke GUI-methode. Wij hebben dezelfde oplossing inmiddels getest op een Telekom-NR7302 met firmware 1.00(ACHA.6)F2, na de herhaalde F2_F0-update en de APN-reset naar backup.telekom.

Bij ons werkte deze iets gerichtere variant via de Vue-component van de pagina Online Upgrade:
code:
1
2
window.f = document.querySelector('#pageFotaUpgrade').__vue__
f.$store.state.guiFlag.HideAutoOnlineUpgrade = true; f.$forceUpdate()
Daarna Auto Upgrade op OFF zetten en op Apply klikken. Ter controle:
code:
1
f.fotaObj.PeriodicCheckEnable
Dit moet false teruggeven. We hebben de instelling na het herladen en ook in een tweede browsersessie gecontroleerd; ze bleef opgeslagen. Hiervoor zijn geen root-/supervisorrechten en geen aangepaste firmware nodig. Na een fabrieksreset of latere firmware-update moet de instelling opnieuw worden gecontroleerd.

De volledige stap-voor-stap-handleiding, inclusief foutopsporing en veiligheids-/modelnotities, staat hier:
GitHub: Zyxel NR7302 disable auto update

Bevestigd is dit tot nu toe alleen op de NR7302 Telekom-variant. Andere NR7xxx-modellen gebruiken mogelijk dezelfde OPAL-/Vue-interface, maar dat is nog niet praktisch bevestigd.
Bitte schön ;)

  • menn0
  • Registratie: Augustus 2000
  • Laatst online: 13:50
Ik heb het modem uiteindelijk via Ebay Italie gekocht, een jaar geleden en daar is nog geen firmware gepushed;


1.00(ACHA.5)b1_F0

Heb wel even via Dev Mode de online auto-update feature uitgezet.

Dank!

  • menn0
  • Registratie: Augustus 2000
  • Laatst online: 13:50
nautaonline schreef op vrijdag 21 augustus 2026 @ 08:42:
Ik heb met behulp van ChatGPT weten te vinden dat er dus wel een UserStartupScript is, zie hieronder. (Schaamteloos hem gevraagd de forumpost op te zetten zodat het hopelijk duidelijk genoeg is). Op een 2 tal NR7302's heb ik ook last van het terugvallen naar de verkeerde APN door de DT FW die mogelijk niet klopt. Onderstaande script is getest, natuurlijk wel op eigen risico gebruiken, maar ik vermoed dat er meer zijn die hier wat aan hebben :)

Wel root nodig, maar hoe je dat wachtwoord krijgt is al eerder beschreven :)

Edit:
Ik heb overigens wel:
Enable Customized Settings
op Individual staan.
Zyxel NR7302 – APN automatisch herstellen na firmware-update/FOTA
Bij de Deutsche Telekom-versie van de Zyxel NR7302 kan een firmware-update de handmatig ingestelde APN overschrijven. In mijn geval moet de APN fwainternet zijn, maar na een FOTA-update werd deze weer teruggezet naar:
code:
1
backup.telekom
Een normale reboot is geen probleem: een handmatig ingestelde APN blijft daarbij gewoon behouden. Het probleem treedt specifiek op bij een firmware-update, doordat de firmware tijdens de upgrade een rom_convert uitvoert waarin expliciet staat:
code:
1
APN: backup.telekom
Gelukkig blijkt de firmware zelf een verborgen mogelijkheid voor een eigen startup-script te hebben:
code:
1
/data/user_startup_parameters.sh
In het datamodel zit hiervoor:
code:
1
Device.X_ZYXEL_FEATRUE_FLAG.UserStartupScript
Als deze op 1 staat, wordt het script tijdens het booten uitgevoerd.
Vereisten
Hiervoor is shelltoegang als root op de NR7302 nodig. Voor zover ik heb kunnen testen is de normale admin-account uit de webinterface hiervoor niet voldoende.

Getest op:
code:
1
2
3
Product: NR7302
Firmware: 1.00(ACHA.6)F2
Build Date: 2026/06/08
Ook getest met een echte FOTA van:
code:
1
1.00(ACHA.5)b1_F0
naar:
code:
1
1.00(ACHA.6)F2
Daarbij bleven zowel /data/user_startup_parameters.sh als de UserStartupScript=1 instelling behouden.
Startup-script installeren
Onderstaand script controleert na iedere boot:
  • APN moet fwainternet zijn;
  • Manual APN moet ingeschakeld zijn;
  • username/password moeten leeg zijn;
  • Preferred Access Technology moet Auto zijn;
  • daarna wordt gecontroleerd of internet weer bereikbaar is via 8.8.8.8 of 1.1.1.1.
Het script logt alles naar /data/apn_startup.log.

Als fwainternet niet jouw APN is, pas dan uiteraard APN="fwainternet" aan.
Bash:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
cat > /data/user_startup_parameters.sh <<'EOF'
#!/bin/sh

LOG="/data/apn_startup.log"
APN="fwainternet"
MAX_WAIT=90

echo "" >> "$LOG"
echo "===== $(date) startup APN check =====" >> "$LOG"

# Wacht totdat het Zyxel datamodel beschikbaar is
WAITED=0
CURRENT_APN=""

while [ "$WAITED" -lt "$MAX_WAIT" ]; do
    CURRENT_APN="$(ztr69cli get Device.Cellular.AccessPoint.1.APN 2>/dev/null | sed -n 's/.*: "\(.*\)"/\1/p')"

    if [ -n "$CURRENT_APN" ]; then
        break
    fi

    sleep 5
    WAITED=$((WAITED + 5))
done

if [ -z "$CURRENT_APN" ]; then
    echo "ERROR: ztr69/datamodel not ready after ${MAX_WAIT}s" >> "$LOG"
    echo "===== FAILED =====" >> "$LOG"
    exit 1
fi

echo "Datamodel ready after ${WAITED}s" >> "$LOG"

CURRENT_MANUAL="$(ztr69cli get Device.Cellular.AccessPoint.1.X_ZYXEL_ManualAPN 2>/dev/null | sed -n 's/.*: //p')"
CURRENT_USER="$(ztr69cli get Device.Cellular.AccessPoint.1.Username 2>/dev/null | sed -n 's/.*: "\(.*\)"/\1/p')"
CURRENT_TECH="$(ztr69cli get Device.Cellular.Interface.1.PreferredAccessTechnology 2>/dev/null | sed -n 's/.*: "\(.*\)"/\1/p')"

echo "Before: APN=$CURRENT_APN Manual=$CURRENT_MANUAL User=$CURRENT_USER Tech=$CURRENT_TECH" >> "$LOG"

CHANGED=0

if [ "$CURRENT_APN" != "$APN" ]; then
    echo "APN incorrect ($CURRENT_APN), restoring $APN" >> "$LOG"
    ztr69cli set Device.Cellular.AccessPoint.1.APN="$APN" >> "$LOG" 2>&1
    CHANGED=1
fi

if [ "$CURRENT_MANUAL" != "1" ]; then
    echo "ManualAPN incorrect ($CURRENT_MANUAL), setting 1" >> "$LOG"
    ztr69cli set Device.Cellular.AccessPoint.1.X_ZYXEL_ManualAPN=1 >> "$LOG" 2>&1
    CHANGED=1
fi

if [ -n "$CURRENT_USER" ]; then
    echo "Username present ($CURRENT_USER), clearing credentials" >> "$LOG"
    ztr69cli set Device.Cellular.AccessPoint.1.Username="" >> "$LOG" 2>&1
    ztr69cli set Device.Cellular.AccessPoint.1.Password="" >> "$LOG" 2>&1
    CHANGED=1
fi

if [ "$CURRENT_TECH" != "Auto" ]; then
    echo "Access technology incorrect ($CURRENT_TECH), setting Auto" >> "$LOG"
    ztr69cli set Device.Cellular.Interface.1.PreferredAccessTechnology="Auto" >> "$LOG" 2>&1
    CHANGED=1
fi

sleep 5

# Instellingen opnieuw uitlezen ter controle
FINAL_APN="$(ztr69cli get Device.Cellular.AccessPoint.1.APN 2>/dev/null | sed -n 's/.*: "\(.*\)"/\1/p')"
FINAL_MANUAL="$(ztr69cli get Device.Cellular.AccessPoint.1.X_ZYXEL_ManualAPN 2>/dev/null | sed -n 's/.*: //p')"
FINAL_USER="$(ztr69cli get Device.Cellular.AccessPoint.1.Username 2>/dev/null | sed -n 's/.*: "\(.*\)"/\1/p')"
FINAL_TECH="$(ztr69cli get Device.Cellular.Interface.1.PreferredAccessTechnology 2>/dev/null | sed -n 's/.*: "\(.*\)"/\1/p')"

echo "After: APN=$FINAL_APN Manual=$FINAL_MANUAL User=$FINAL_USER Tech=$FINAL_TECH Changed=$CHANGED" >> "$LOG"

# Eenmalige retry als APN/ManualAPN nog niet correct zijn
if [ "$FINAL_APN" != "$APN" ] || [ "$FINAL_MANUAL" != "1" ]; then
    echo "WARNING: APN verification failed - retrying" >> "$LOG"

    ztr69cli set Device.Cellular.AccessPoint.1.X_ZYXEL_ManualAPN=1 >> "$LOG" 2>&1
    ztr69cli set Device.Cellular.AccessPoint.1.APN="$APN" >> "$LOG" 2>&1

    sleep 10

    FINAL_APN="$(ztr69cli get Device.Cellular.AccessPoint.1.APN 2>/dev/null | sed -n 's/.*: "\(.*\)"/\1/p')"
    FINAL_MANUAL="$(ztr69cli get Device.Cellular.AccessPoint.1.X_ZYXEL_ManualAPN 2>/dev/null | sed -n 's/.*: //p')"

    echo "Retry result: APN=$FINAL_APN Manual=$FINAL_MANUAL" >> "$LOG"
fi

# Wacht maximaal 120 seconden op internet
echo "Waiting for internet connectivity..." >> "$LOG"

WAITED=0
INTERNET=0

while [ "$WAITED" -lt 120 ]; do
    if ping -c 1 -W 3 8.8.8.8 >/dev/null 2>&1; then
        echo "Internet: 8.8.8.8 OK after ${WAITED}s" >> "$LOG"
        INTERNET=1
        break
    fi

    if ping -c 1 -W 3 1.1.1.1 >/dev/null 2>&1; then
        echo "Internet: 1.1.1.1 OK after ${WAITED}s" >> "$LOG"
        INTERNET=1
        break
    fi

    sleep 5
    WAITED=$((WAITED + 5))
done

if [ "$INTERNET" = "0" ]; then
    echo "WARNING: No internet connectivity after ${WAITED}s" >> "$LOG"
fi

FINAL_APN="$(ztr69cli get Device.Cellular.AccessPoint.1.APN 2>/dev/null | sed -n 's/.*: "\(.*\)"/\1/p')"

if [ "$FINAL_APN" = "$APN" ]; then
    echo "RESULT: APN OK ($FINAL_APN)" >> "$LOG"
else
    echo "RESULT: APN FAILED ($FINAL_APN)" >> "$LOG"
fi

echo "===== $(date) done =====" >> "$LOG"

exit 0
EOF

chmod 755 /data/user_startup_parameters.sh

ztr69cli set Device.X_ZYXEL_FEATRUE_FLAG.UserStartupScript=1

sync
Daarna controleren of de startupfunctie daadwerkelijk aan staat:
Bash:
1
ztr69cli get Device.X_ZYXEL_FEATRUE_FLAG.UserStartupScript
Dit moet opleveren:
code:
1
Device.X_ZYXEL_FEATRUE_FLAG.UserStartupScript: 1
Je kunt het script eerst zonder reboot handmatig testen:
Bash:
1
2
/data/user_startup_parameters.sh
cat /data/apn_startup.log
Als alles al goed staat, krijg je bijvoorbeeld:
code:
1
2
3
4
5
6
Datamodel ready after 0s
Before: APN=fwainternet Manual=1 User= Tech=Auto
After: APN=fwainternet Manual=1 User= Tech=Auto Changed=0
Waiting for internet connectivity...
Internet: 8.8.8.8 OK after 0s
RESULT: APN OK (fwainternet)
Getest met een echte FOTA
Om te controleren of dit niet alleen een normale reboot overleeft, heb ik daarna opnieuw de FOTA uitgevoerd.

Na de firmware-update bleek de NR7302 de APN inderdaad weer veranderd te hebben naar backup.telekom. Het startup-script werd echter automatisch uitgevoerd en gaf:
code:
1
2
3
4
5
6
===== Fri Aug 21 08:30:35 CEST 2026 startup APN check =====
Before: APN=backup.telekom Manual=1 User= Tech=Auto
APN incorrect (backup.telekom), restoring fwainternet
Set success.
After: APN=fwainternet Manual=1 Tech=Auto Changed=1
===== done =====
Na het opstarten stond de router dus weer automatisch op:
code:
1
2
3
4
APN: fwainternet
ManualAPN: 1
Username: ""
PreferredAccessTechnology: Auto
Zowel het script in /data als:
code:
1
Device.X_ZYXEL_FEATRUE_FLAG.UserStartupScript=1
bleef bij de geteste FOTA behouden.

Let op: dit is getest op de Deutsche Telekom NR7302-firmware. Root-toegang en het wijzigen van verborgen datamodelparameters is uiteraard op eigen risico. Ik zou dit ook niet blind toepassen op een NR7302 met een andere provider/OEM-firmware zonder eerst te controleren of UserStartupScript daar aanwezig is.
Zou je voor de volledigheid het ztr69cli commando kunnen geven om het startup script te enablen?

Ik heb een modem van een italiaanse provider en geeft vooralsnog 0;
code:
1
root@NR7302:/data# ztr69cli get Device.X_ZYXEL_FEATRUE_FLAG.UserStartupScript Device.X_ZYXEL_FEATRUE_FLAG.UserStartupScript: 0

  • ernstoud
  • Registratie: Januari 2015
  • Laatst online: 12:33
menn0 schreef op maandag 24 augustus 2026 @ 12:21:
[...]

Zou je voor de volledigheid het ztr69cli commando kunnen geven om het startup script te enablen?

Ik heb een modem van een italiaanse provider en geeft vooralsnog 0;
code:
1
root@NR7302:/data# ztr69cli get Device.X_ZYXEL_FEATRUE_FLAG.UserStartupScript Device.X_ZYXEL_FEATRUE_FLAG.UserStartupScript: 0
Dat staat toch hierboven?

Device.X_ZYXEL_FEATRUE_FLAG.UserStartupScript=1

[ Voor 3% gewijzigd door ernstoud op 24-08-2026 14:39 ]

RIPE Atlas probe: 1005104


  • menn0
  • Registratie: Augustus 2000
  • Laatst online: 13:50
ernstoud schreef op maandag 24 augustus 2026 @ 14:38:
[...]


Dat staat toch hierboven?

Device.X_ZYXEL_FEATRUE_FLAG.UserStartupScript=1
Ik zou verwachten dat er iets als "ztr69cli put/set/>>" aan vooraf moet gaan

  • ernstoud
  • Registratie: Januari 2015
  • Laatst online: 12:33
menn0 schreef op maandag 24 augustus 2026 @ 15:30:
[...]

Ik zou verwachten dat er iets als "ztr69cli put/set/>>" aan vooraf moet gaan
Zie onderaan in het het script:

ztr69cli set Device.X_ZYXEL_FEATRUE_FLAG.UserStartupScript=1

Ik heb het zelf nog niet geprobeerd maar het is wel bijzonder dat er dus FEATRUE staat in plaats van FEATURE.

:o

[ Voor 18% gewijzigd door ernstoud op 24-08-2026 17:16 ]

RIPE Atlas probe: 1005104


  • swiebert
  • Registratie: Maart 2005
  • Laatst online: 09:25
Nog zo'n vraag... ik ga binnenkort in de bergen wonen met wat meer en heftiger onweer. Moet ik nog iets doen aan overspanningsbeveiliging voor mijn nr7302 en vooral de router en andere spullenboel daarachter of niet. Ik maak hem vast met een ijzeren paal die er al hangt ter hoogte van (net onder) de dakrand en ongeveer 3 meter kabel voordat die het huis in gaat.

  • ernstoud
  • Registratie: Januari 2015
  • Laatst online: 12:33
swiebert schreef op maandag 24 augustus 2026 @ 19:28:
Nog zo'n vraag... ik ga binnenkort in de bergen wonen met wat meer en heftiger onweer. Moet ik nog iets doen aan overspanningsbeveiliging voor mijn nr7302 en vooral de router en andere spullenboel daarachter of niet. Ik maak hem vast met een ijzeren paal die er al hangt ter hoogte van (net onder) de dakrand en ongeveer 3 meter kabel voordat die het huis in gaat.
Veel andere hoge gebouwen en bomen in de buurt?

Een overspanningsbeveiliging is altijd goed en ze kosten heel weinig, rond EUR 15 op Amazon.

RIPE Atlas probe: 1005104


  • swiebert
  • Registratie: Maart 2005
  • Laatst online: 09:25
nope slecht wat olijfbomen op een relatief open plek.... aarding kan dan gewoon via geaard stopcontact? (waterleidingen zijn van kunststof m.a.w. niet bruikbaar)....

  • ernstoud
  • Registratie: Januari 2015
  • Laatst online: 12:33
swiebert schreef op dinsdag 25 augustus 2026 @ 20:11:
nope slecht wat olijfbomen op een relatief open plek.... aarding kan dan gewoon via geaard stopcontact? (waterleidingen zijn van kunststof m.a.w. niet bruikbaar)....
Zeker. Als die aarding goed is natuurlijk. Beste blijft overigens bij onweer alles los te trekken.

RIPE Atlas probe: 1005104


  • ernstoud
  • Registratie: Januari 2015
  • Laatst online: 12:33
savemyphone schreef op zondag 23 augustus 2026 @ 15:11:
Bedankt @Polyphemus voor de oorspronkelijke GUI-methode. Wij hebben dezelfde oplossing inmiddels getest op een Telekom-NR7302 met firmware 1.00(ACHA.6)F2, na de herhaalde F2_F0-update en de APN-reset naar backup.telekom.
Firmware updates niet goed testen. Het kan de beste (?) overkomen…

nieuws: Zakelijke Ziggo-klanten hebben internetproblemen door modemstoring

En kun je het remote niet oplossen moet je er duizenden vervangen. Lekker dan.

Prutsers.

RIPE Atlas probe: 1005104


  • appelmoes3
  • Registratie: Januari 2019
  • Niet online
Raar probleempje met NR7302 DT versie. Heeft al 2 jaar normaal gefunctioneerd met Odido K&K pakket.
Laatste acties waren: de verborgen auto-update optie uitgezet volgens een bovenstaande KB, in de webinterface 5G AP teruggezet voor Odido (fwainternet), IP pasthrough aangezet en DHCP Lease verlengd naar 1 dag. Verder volgens mij niets bewust aangepast.

Modem blijft nu in een startup / reboot loop hangen. (langzaam knipperend groen Status led enige tijd ±30sec, dan kort ±5 sec geel snel knipperend dan Rood ±3 sec), krijg geheel geen admin AP (wifi) meer.

Lan kabel in mijn router krijgt zeer kort een DHCP IP adres waarop kort login scherm zicht baar is. (zowel op 192.168.1.1 als 192.168.0.2). Te kort om in te loggen of eerstvolgende html pagina op te halen. Daarna link down.
SSH timed out op beide adressen.

Vanuit aangesloten router verschillende DHCP client settings aangepast/ uitgeprobeerd evenals fixed ip adressen. Ook extra dHCP server opgezet.
Link blijft Up down gaan.

Reset Modem naar fabrieksinstellingen lukt niet via Reset knop. (Soms lukt inloggen nog net wel met oude credentials.)

Enig idee wat ik mis? Of een idee waar te zoeken of op te lossen?

  • ikbenjoeri
  • Registratie: Mei 2018
  • Laatst online: 13:36
appelmoes3 schreef op maandag 31 augustus 2026 @ 21:01:
Raar probleempje met NR7302 DT versie. Heeft al 2 jaar normaal gefunctioneerd met Odido K&K pakket.
Laatste acties waren: de verborgen auto-update optie uitgezet volgens een bovenstaande KB, in de webinterface 5G AP teruggezet voor Odido (fwainternet), IP pasthrough aangezet en DHCP Lease verlengd naar 1 dag. Verder volgens mij niets bewust aangepast.

Modem blijft nu in een startup / reboot loop hangen. (langzaam knipperend groen Status led enige tijd ±30sec, dan kort ±5 sec geel snel knipperend dan Rood ±3 sec), krijg geheel geen admin AP (wifi) meer.

Lan kabel in mijn router krijgt zeer kort een DHCP IP adres waarop kort login scherm zicht baar is. (zowel op 192.168.1.1 als 192.168.0.2). Te kort om in te loggen of eerstvolgende html pagina op te halen. Daarna link down.
SSH timed out op beide adressen.

Vanuit aangesloten router verschillende DHCP client settings aangepast/ uitgeprobeerd evenals fixed ip adressen. Ook extra dHCP server opgezet.
Link blijft Up down gaan.

Reset Modem naar fabrieksinstellingen lukt niet via Reset knop. (Soms lukt inloggen nog net wel met oude credentials.)

Enig idee wat ik mis? Of een idee waar te zoeken of op te lossen?
Volgens mij bij mislukte verbinding start hij telkens opnieuw op, probeer anders even zonder simkaart of hij normaal aangaat.

  • appelmoes3
  • Registratie: Januari 2019
  • Niet online
Gelukt, zonder simkaart heb je de tijd om een in te stellen.
bedankt.

  • ernstoud
  • Registratie: Januari 2015
  • Laatst online: 12:33
appelmoes3 schreef op dinsdag 8 september 2026 @ 13:33:
Gelukt, zonder simkaart heb je de tijd om een in te stellen.
bedankt.
Een … ?

RIPE Atlas probe: 1005104


  • dAF2000
  • Registratie: November 2009
  • Laatst online: 12-09 10:32
Ik heb sinds kort verbinding met B3, B7, N1 en N78. B3 is daarbij de "LTE PCC", B7 en N1 "secundaire kanalen" en N78 de "NR PCC".

Nu dacht ik ergens gelezen te hebben, maar weet niet zeker, dat de combinatie van twee N-kanalen "niet mag" van Odido en dat ze dat op de originele modem ook uitgeschakeld hebben. Klopt dat?

En tweede vraag: Ik heb nog de firmwareversie 1.00(ACHA.4)b5_F0 en krijg nooit een automatische update (en daardoor ook geen gedoe met APN's die zomaar veranderen). Heeft een nieuwe firmware nog voordelen? Of zal ik het zo maar laten omdat ik er geen gedoe mee heb?

  • ernstoud
  • Registratie: Januari 2015
  • Laatst online: 12:33
dAF2000 schreef op dinsdag 8 september 2026 @ 17:47:
Ik heb sinds kort verbinding met B3, B7, N1 en N78. B3 is daarbij de "LTE PCC", B7 en N1 "secundaire kanalen" en N78 de "NR PCC".

Nu dacht ik ergens gelezen te hebben, maar weet niet zeker, dat de combinatie van twee N-kanalen "niet mag" van Odido en dat ze dat op de originele modem ook uitgeschakeld hebben. Klopt dat?
In het eigen Odido device is met een FW release kort na introductie de N28 band disabled. Maar bij eigen apparatuur werkt deze band gewoon.
En tweede vraag: Ik heb nog de firmwareversie 1.00(ACHA.4)b5_F0 en krijg nooit een automatische update (en daardoor ook geen gedoe met APN's die zomaar veranderen). Heeft een nieuwe firmware nog voordelen? Of zal ik het zo maar laten omdat ik er geen gedoe mee heb?
De automatische update gebeurt random, komt vast wel een keer. Een overzicht van de wijzigingen in de laatste versie heb ik niet gezien. Dus tja… we weten het niet.

RIPE Atlas probe: 1005104


  • dAF2000
  • Registratie: November 2009
  • Laatst online: 12-09 10:32
Dank je. Ah mooi, dan zet ik alleen B3, B7, N1 en N78 aan in de bandselectie. Dat geeft een prima snelheid en deze banden lijken ook 's nachts aanwezig te zijn.
Pagina: 1 ... 5 6 Laatste