Featured image of post Automatisk software opdatering Grandstream GWN enheder

Automatisk software opdatering Grandstream GWN enheder

Jeg arbejder hos distributøren af Grandstream, hvor vi har specialiseret os i Grandstreams netværks produkter. For at yde vores kunder en god service, opdaterer vi primært Router og Switch med ny software. Dels fordi at mange af modellerne leveres med en meget gammel software, men også for at vores kunder har den rigtige oplevelse med deres Grandstream produkt.

Indtil nu har det foregået ved at vores unge mennesker logger ind i enheden og via web interfacet opdaterer og laver en factory reset. Dette tager noget tid, og indebærer at de skal indtaste fabriks kodeordet to gange.

Vil du gerne have en enkel måde at opdater dine Grandstream enheder når de starter op skal du bruge følgende:

Grandstream router eller en anden router som giver mulighed for at tilføje DHCP option 43 Web server Software bin filer fra Grandstream

Webserveren

Da vi ikke har nogen server i huset, har jeg bare valgt at bruge Oracle VirtualBox, og installeret en Ubuntu server på den. Jeg har installeret Openssh, Apache 2 og Net-Tools på serveren som det eneste. Jeg vil ikke her komme ind på hvordan man installere en Ubuntu server, der findes masser af guides til det.

Hvis du bruger Oracle VirtualBox, skal du under Network huske at sætte Netværkskort 1 til Netværksbro. Oracle VirtualBox

Nå installation af Ubuntu er klar laver jeg altid følgende for at opdatere ubuntu serveren

1
sudo apt update && sudo apt upgrade -y

Vi skal have Apache 2, selve webserveren installeret det gør vi med denne kommmando

1
sudo apt install apache2

Sidst installere vi Net-Tools så vi hurtigt kan finde ud af hvilken IP adresse vore server har

1
sudo apt install net-tools

For at se IP adressen på vores server kan vi skrive følgende kommando

1
ifconfig

Hvilket giver dette output:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.99.127  netmask 255.255.255.0  broadcast 192.168.80.255
        inet6 fe80::a00:27ff:fedf:b598  prefixlen 64  scopeid 0x20<link>
        ether 08:00:27:df:b5:98  txqueuelen 1000  (Ethernet)
        RX packets 13790  bytes 11849052 (11.8 MB)
        RX errors 0  dropped 829  overruns 0  frame 0
        TX packets 5974  bytes 639991 (639.9 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 302  bytes 27257 (27.2 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 302  bytes 27257 (27.2 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Her kan vi se at vores server har adressen 192.168.99.127

Åbner du en browser og skriver ip adressen på server vil du se en velkomst skærm, for apache serveren.

Vigtigt ændre IP adressen på din opsætning

Alle Grandstream router har som default ip adressen 192.168.80.1 så hvis du ønsker at opdatere disse, skal dit opdaterings netværk have et andet ip adresse område.

Nu vil vi gerne have givet opdatering serveren en fast IP adresse, jeg foretrækker at gøre det via DHCP. Vi logger ind i vores router på adresse 192.168.99.1, og finde Clients menuen i venstre side

Klienter en fast IP adresse Herefter trykker vi på blyanten bag ved ip adresse vores server

Klienter en fast IP adresse

Her sætter vi hak i Static IP, og ændre ip adressen til 192.168.99.2

Vi skal nu have genstartet servere, dette går du med følgende kommando

1
sudo reboot

Når serveren er genstartet har den nu den nye IP adresse

Fra en kommandoprompt kan du nu skrive

1
ssh BrugerNavnPåServeren@192.168.99.2

Indtaste dit kodeord og du er logget ind i servere

Download alle firmware filer fra Grandstream

Jeg har lavet dette script som henter alle firmware filer fra Grandstreams hjemmeside og kopiere dem til grandstream_firmware mappen

 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
#!/bin/bash

# URL'en til firmware-siden
URL="https://www.grandstream.com/support/firmware"

# Mappen, hvor filerne skal gemmes
DOWNLOAD_DIR="$HOME/grandstream_firmware"

# Opret mappen, hvis den ikke eksisterer
mkdir -p "$DOWNLOAD_DIR"

# Sletter alle .zip filer hvis de findes
find "$DOWNLOAD_DIR" -type f -name "*.zip" -delete

# Hent HTML-koden fra URL'en
HTML=$(curl -s "$URL")

# Find alle links, der starter med "Release_GWN"
LINKS=$(echo "$HTML" | grep -o 'href="https://firmware.grandstream.com/Release_GWN[^"]*"' | cut -d'"' -f2)

# Download hver fil
for LINK in $LINKS; do
  FILENAME=$(basename "$LINK")
  curl -s "$LINK" -o "$DOWNLOAD_DIR/$FILENAME"
  echo "Downloaded: $FILENAME"
done

echo "Alle filer er hentet og ligger i $DOWNLOAD_DIR mappen"

I komandoprompter på vore server skal vi have oprettet filen download_grandstream_firmware.sh som indeholder vores download script

1
nano download_grandstream_firmware.sh

Med denne kommando opretter du en tom file, maker nu alt teksten fra scriptet, og højre klik i den komando promt. Teksten bliver nu indsat og du kan med ctrl+o genne filen og ctrl+x afslutte nano

Nano hvor sctipt er indsat

Nu skal vi have scriptet lavet om så vi kan starte det

1
chmod +x download_grandstream_firmware.sh

For at hente alle firmware filer skal vi køre scriptet

1
./download_grandstream_firmware.sh

Alle filer er nu hentet

Alle filer er nu hentet og vi skal vi have filerne pakket ud og lagt over så webserveren man kan se dem

For at udpakke alle GWN bin filer til web serveren bruger du følgende kommando

1
sudo unzip -j -o 'grandstream_firmware/Release_GWN*.zip' -d /var/www/html/

Som det sidste vi lige skal have slettet er en file på web serveren dette gør du med denne kommando

1
sudo rm /var/www/html/index.html

Opsætning af DHCP option i routeren

Log ind i routeren og vælg menuen Network Settings og LAN. Tryk på blyanten bag ved VLAN ID 1 DHCP Pool

Rul ned indtil du finder DHCP Option DHCP Pool

  1. Skriv værdien 43
  2. Vælg ASCII
  3. Vælg Firmware Service
  4. Skriv ip adressen på serveren http://192.168.99.2/

Tryk på Save

Du er nu klar til at teste om det virker.

Router forbindes med en WAN port, alle andre skal bare have en netværksforbindelse. Husk at sætte netværkskablet til før du sætter strøm til enheden.

Enheden vil starte med at lyse grøn (booter), derefter bliver den lilla, hvis den ikke er sat op, ellers bliver den blå. Når den begynder at blinke grøn, er softwareopdateringen i gang.

Bemærk at den kan gå nogle minutter inden den starter på at opdatere.

Følgende LED farver kan vises på GWN enhederne

Led faveBetydning
SlukketEnheden er slukket
Konstant grønEnheden Booter
Blinker grønSoftware opdatering igang
Konstant BlåEnheden er i drift, eller programmeret
Blinker BlåEnheden bliver programmeret
Konstant RødOpdatering fejlede
Blinker RødEnheden nulstilles til fabriks indstillinger

For access punkter er der yderlige farvekombinationer

Led faveBetydning
Konstant lillaEnheden er ikke programmeret
Blinker lillaEnheden har mistet forbindelsen til serveren eller internettet
Konstant gultEnheden har mistet mesh forbindelsen

Oprydtning

Der skal efterfølgende lavet lidt oprydtning. Dette kommer i en senere beskrivelse

Lavet med Hugo
Theme Stack designed by Jimmy