Sådan resetter du en Cisco Catalyst 3560 fra Ubuntu med Minicom

Jeg fik en Cisco Catelyst 3560 af en kunde…

https://www.cisco.com/c/en/us/support/switches/catalyst-3560-cx-series-switches/series.html

Har du fået fat i en ældre Cisco Catalyst 3560, som du gerne vil starte helt forfra med? Så er det heldigvis forholdsvis enkelt at nulstille switchen via console-porten.

I denne guide gennemgår jeg hele processen fra Ubuntu og Minicom, over reset af switchen, til den efterfølgende konfiguration af en management-IP.

Guiden tager udgangspunkt i en Cisco Catalyst 3560 og en USB-to-serial/console-forbindelse.

Vigtigt: Et reset sletter den eksisterende konfiguration og VLAN-database. Brug derfor ikke denne procedure på en switch, hvor konfigurationen skal bevares.


Det skal du bruge

Du skal bruge:

  • En Cisco Catalyst 3560
  • Et console-kabel
  • En Ubuntu-computer
  • Minicom
  • Adgang til switchens console-port
  • Strøm til switchen

Jeg bruger i eksemplet en USB-to-serial-adapter, som Ubuntu registrerer som /dev/ttyUSB0.

Din adapter kan dog få et andet navn, f.eks. /dev/ttyUSB1 eller /dev/ttyACM0.


1. Installer Minicom på Ubuntu

Hvis Minicom ikke allerede er installeret, kan det installeres med:

sudo apt update
sudo apt install minicom

Når installationen er færdig, skal vi finde den serielle port.

Tilslut console-kablet til Ubuntu-maskinen og kør:

ls /dev/ttyUSB*

Du kan også prøve:

ls /dev/ttyACM*

Hvis du eksempelvis får:

/dev/ttyUSB0

er det den port, vi skal bruge.


2. Start Minicom

Den nemmeste måde at starte Minicom på er:

sudo minicom -D /dev/ttyUSB0 -b 9600

Her betyder:

  • -D /dev/ttyUSB0 — den serielle port, der skal bruges
  • -b 9600 — baud rate på 9600

Cisco’s console-forbindelse bruger normalt 9600 baud, 8 data bits, no parity og 1 stop bit, altså:

9600 8N1

Hvis du hellere vil konfigurere Minicom gennem menuen, kan du starte:

sudo minicom -s

Vælg derefter:

Serial port setup

og kontrollér, at indstillingerne er:

Speed:      9600
Data bits:  8
Parity:     None
Stop bits:  1
Flow ctrl:  None

Sørg især for, at hardware flow control er slået fra.


3. Hvis Ubuntu nægter adgang til den serielle port

Hvis Minicom giver en fejl som:

cannot open /dev/ttyUSB0: Permission denied

kan det skyldes, at din bruger ikke har adgang til den serielle port.

På Ubuntu er det normalt dialout-gruppen, der styrer adgangen.

Kør:

sudo usermod -aG dialout $USER

Log derefter ud og ind igen.

Du kan kontrollere dine grupper med:

groups

Her bør dialout fremgå.

Som en hurtig test kan du også starte Minicom med sudo:

sudo minicom -D /dev/ttyUSB0 -b 9600

4. Tilslut til Cisco Catalyst 3560

Tilslut console-kablet mellem Ubuntu-computeren og CONSOLE-porten på Cisco 3560.

Start Minicom, og tænd derefter switchen.

Hvis switchen allerede er startet, kan du trykke:

Enter

for at få en prompt.

En normal Cisco CLI-prompt kan eksempelvis se sådan ud:

Switch>

Når vi skal lave et komplet reset, skal vi dog have switchen startet i bootloaderen.


5. Start switchen i bootloaderen

Sluk switchen.

Hold Mode-knappen på forsiden af Cisco 3560 inde.

Mens du holder knappen inde, tænder du switchen.

Bliv ved med at holde knappen inde, indtil switchen stopper i bootloaderen.

Du skulle gerne ende ved en prompt, der ligner:

switch:

Nu befinder vi os ikke længere i den normale Cisco IOS CLI. Vi arbejder i stedet i switchens bootloader.


6. Initialiser flash

Det første vi gør, er at initialisere switchens flash:

switch: flash_init

På nogle ældre Catalyst 3560/IOS-versioner anvendes også:

switch: load_helper

Du kan derefter kontrollere indholdet af flash:

switch: dir flash:

Her vil du typisk kunne finde blandt andet:

config.text
vlan.dat

De to filer er interessante, hvis målet er at få switchen tilbage til en ren konfiguration.


7. Slet den gamle konfiguration

Den gemte konfiguration ligger i config.text.

Slet den med:

switch: delete flash:config.text

Switchens bootloader vil typisk bede om bekræftelse.

Svar:

y

Derefter sletter vi VLAN-databasen:

switch: delete flash:vlan.dat

Bekræft igen med:

y

Hvorfor skal begge filer slettes?

config.text indeholder switchens gemte konfiguration.

vlan.dat indeholder VLAN-databasen.

Hvis du kun sletter konfigurationen, kan VLAN-oplysninger derfor stadig være tilbage efter genstart.

Hvis målet er et så rent reset som muligt, er det derfor en god idé at håndtere begge filer.


8. Boot switchen

Når filerne er slettet, kan switchen startes:

switch: boot

Cisco IOS bliver nu indlæst fra flash.

Afhængigt af IOS-version og hardware kan bootprocessen tage lidt tid.

Når switchen er startet, vil du typisk ende ved:

Switch>

9. Spring initial configuration over

Efter reset kan Cisco spørge:

Would you like to enter the initial configuration dialog? [yes/no]:

Hvis du selv vil konfigurere switchen manuelt, svarer du:

no

Du kan derefter trykke Enter, hvis switchen beder om det.

Du bør nu have:

Switch>

10. Gå i privileged EXEC mode

Skriv:

Switch> enable

Du får nu:

Switch#

Herfra kan vi konfigurere switchen.


11. Kontroller at den gamle konfiguration er væk

Det kan være en god idé at kontrollere switchens konfiguration:

Switch# show running-config

Du kan også kontrollere startup-konfigurationen:

Switch# show startup-config

Efter et korrekt reset bør den gamle konfiguration ikke længere være til stede.

Hvis du vil være ekstra sikker, kan du også køre:

Switch# write erase

eller på IOS-versioner, hvor den foretrukne kommando er:

Switch# erase startup-config

Dette trin er i praksis redundant, hvis config.text allerede er slettet fra bootloaderen, men det kan bruges som en ekstra kontrol.


12. Konfigurer en management-IP

Nu hvor switchen er nulstillet, kan vi give den en IP-adresse, så den kan administreres over netværket.

I dette eksempel bruger vi:

IndstillingVærdi
Management VLANVLAN 1
IP-adresse192.168.1.10
Subnetmaske255.255.255.0
Default gateway192.168.1.1

Start med:

Switch# configure terminal

Gå derefter ind på VLAN 1:

Switch(config)# interface vlan 1

Tildel IP-adressen:

Switch(config-if)# ip address 192.168.1.10 255.255.255.0

Aktivér interfacet:

Switch(config-if)# no shutdown

Afslut interface-konfigurationen:

Switch(config-if)# exit

Konfigurer default gateway:

Switch(config)# ip default-gateway 192.168.1.1

Afslut configuration mode:

Switch(config)# end

13. Kontroller VLAN 1

Nu kan vi kontrollere, om management-interfacet er oppe:

Switch# show interfaces vlan 1

Du vil gerne se noget i retning af:

Vlan1 is up, line protocol is up
  Internet address is 192.168.1.10/24

Det interessante er især:

Vlan1 is up, line protocol is up

Hvis der står:

Vlan1 is administratively down

skal interfacet aktiveres:

Switch# configure terminal
Switch(config)# interface vlan 1
Switch(config-if)# no shutdown
Switch(config-if)# end

14. Hvis VLAN 1 stadig er down

Det er vigtigt at forstå, at no shutdown alene ikke nødvendigvis får et SVI til at komme op.

Der skal normalt også være mindst én aktiv fysisk switchport i det pågældende VLAN.

Du kan eksempelvis kontrollere switchportene med:

Switch# show interfaces status

eller:

Switch# show vlan brief

Hvis en port er tilsluttet en computer eller anden aktiv netværksenhed og befinder sig i VLAN 1, kan SVI’en komme op.


15. Test forbindelsen

Hvis din computer befinder sig på samme netværk som switchen, kan du nu teste forbindelsen.

Fra Ubuntu:

ping 192.168.1.10

Hvis alt er korrekt konfigureret, bør du få svar:

64 bytes from 192.168.1.10: icmp_seq=1 ttl=255 time=...
64 bytes from 192.168.1.10: icmp_seq=2 ttl=255 time=...

Herefter har du grundlæggende netværksforbindelse til switchens management-interface.


16. Gem konfigurationen

Det sidste — og meget vigtige — trin er at gemme konfigurationen.

Kør:

Switch# copy running-config startup-config

Du bliver typisk spurgt:

Destination filename [startup-config]?

Tryk bare:

Enter

Du bør derefter se:

Building configuration...
[OK]

Konfigurationen er nu gemt.

Hvis du genstarter switchen, vil den derfor beholde management-IP’en.


17. Genstart og test

Hvis du vil kontrollere, at konfigurationen rent faktisk er gemt, kan du genstarte switchen:

Switch# reload

Switchens CLI spørger typisk om bekræftelse.

Når switchen starter igen, bør management-IP’en stadig være:

192.168.1.10

Du kan kontrollere den med:

Switch# show interfaces vlan 1

Den komplette reset-procedure

Hvis du bare vil have den korte version, er bootloader-delen:

switch: flash_init
switch: load_helper
switch: dir flash:
switch: delete flash:config.text
switch: delete flash:vlan.dat
switch: boot

Efter boot:

Switch> enable
Switch# write erase
Switch# reload

Når du bliver spurgt:

Would you like to enter the initial configuration dialog? [yes/no]:

svarer du:

no

Den komplette management-konfiguration

Eksempel med 192.168.1.10/24 og gateway 192.168.1.1:

Switch> enable
Switch# configure terminal

Switch(config)# interface vlan 1
Switch(config-if)# ip address 192.168.1.10 255.255.255.0
Switch(config-if)# no shutdown
Switch(config-if)# exit

Switch(config)# ip default-gateway 192.168.1.1

Switch(config)# end

Switch# show interfaces vlan 1
Switch# copy running-config startup-config

Praktiske Minicom-kommandoer

Når du arbejder med Minicom, kan det også være nyttigt at kende de vigtigste genveje.

Minicoms kommandoer startes normalt med Ctrl+A.

Hvis du eksempelvis vil afslutte Minicom, kan du bruge:

Ctrl+A
X

Du kan også åbne Minicoms hjælp med:

Ctrl+A
Z

Her får du vist de tilgængelige genveje.

Hvis du har flere serielle enheder tilsluttet Ubuntu-maskinen, kan du altid kontrollere porte med:

ls /dev/ttyUSB*
ls /dev/ttyACM*

Fejlfinding

Jeg får ingen output i Minicom

Kontroller først, at du bruger den rigtige serielle port:

ls /dev/ttyUSB*

Kontroller derefter Minicom-indstillingerne:

9600 baud
8 data bits
No parity
1 stop bit
No flow control

Kontroller også, at console-kablet sidder i CONSOLE-porten og ikke i en almindelig Ethernet-port.


Jeg får mærkelige tegn i terminalen

Det skyldes ofte forkerte serial-indstillinger.

Kontrollér især baud rate og flow control.

Prøv:

9600 8N1

og sørg for, at hardware flow control er deaktiveret.


Vlan1 is down

Kør:

Switch# show interfaces vlan 1

og:

Switch# show vlan brief

Kontrollér derefter, at mindst én relevant fysisk port er aktiv og befinder sig i VLAN 1.

Du kan også kontrollere portenes status med:

Switch# show interfaces status

Jeg kan pinge switchen lokalt, men ikke fra et andet netværk

Kontrollér default gateway:

Switch# show running-config | include default-gateway

Den skal eksempelvis vise:

ip default-gateway 192.168.1.1

Husk også, at computeren skal være konfigureret på et netværk, der kan nå 192.168.1.0/24.


Konklusion

En Cisco Catalyst 3560 kan stadig være ganske nyttig til lab, undervisning og netværkstræning, selvom den er en ældre switch.

Med en Ubuntu-computer, Minicom og et console-kabel kan du relativt nemt få adgang til switchen og nulstille den.

Den vigtigste del af reset-proceduren er:

switch: flash_init
switch: load_helper
switch: delete flash:config.text
switch: delete flash:vlan.dat
switch: boot

Når switchen er startet op igen, kan du konfigurere den efter behov. I denne guide har vi brugt VLAN 1 som management-interface og givet switchen IP-adressen 192.168.1.10.

Til sidst skal du huske:

Switch# copy running-config startup-config

Ellers risikerer du at miste konfigurationen igen ved næste genstart.

Bemærk: Kommandoer og bootloader-adfærd kan variere lidt afhængigt af den konkrete Catalyst 3560-model og IOS-version. Hvis en kommando ikke accepteres, bør du kontrollere den aktuelle IOS/bootloader-dokumentation for netop din switch.

Kilde : https://techblog.glendaleacademy.org/cisco/resetting-catalyst-3560-to-defaults

Hvordan laver man en Melolontha?

https://en.wikipedia.org/wiki/Cockchafer

https://www.wildlifetrusts.org/wildlife-explorer/invertebrates/beetles/common-cockchafer

https://www.flytyer.com/an-army-of-beetles

En simpel Melolontha-imitation

Materialer

  • Krog: str. 6–10, gerne en kraftig tørfluekrog
  • Tråd: sort eller mørk brun
  • Krop: brun/sort dubbing eller foam
  • Ryg/vingedække: brun foam eller et stykke mørkt, semitransparent materiale
  • Ben: sort/brun rubber legs
  • Evt. hackle: brun eller sort
  • Evt. lidt orange/brun dubbing til undersiden

Steps

1. Start tråden

  • Bind tråden ind lige bag krogøjet.
  • Før den ned mod krogbøjningen.
  • Lad lidt plads være foran til hovedet.

2. Lav bagkroppen

  • Lav en fyldig, næsten kugleformet krop med dubbing.
  • Melolontha er ret kraftig, så lad være med at lave kroppen for slank.
  • Lav eventuelt en lille segmentering med tråden.

3. Lav vingedækket

  • Klip et stykke brun foam, der er lidt bredere end kroppen.
  • Bind det ind bagtil.
  • Træk det frem over kroppen og fastgør det foran.

👉 Foam gør fluen flydende og giver samtidig den karakteristiske, buede ryg.

4. Ben

  • Bind 3 par rubber legs ind langs kroppen.
  • De må gerne være lidt kraftige og stritte ud til siderne.
  • Klip dem, så de ikke bliver alt for lange.

5. Hoved

  • Lav et lille, kompakt hoved af sort dubbing/tråd.
  • Lav eventuelt et par korte antenner af meget tyndt gummi eller monofilament.

6. Finish

  • Whip finish og lakér hovedet.
  • Trim eventuelle fibre, så kroppen bliver rund og kompakt.

🎣 Et lille trick

Hvis du fisker den efter oldenborre/Melolontha, ville jeg faktisk binde den lidt større og mere klodset, end man normalt ville binde en billeimitation. En størrelse 6–8 kan være rigtig interessant, især hvis du fisker efter ørred eller stalling under træer, hvor biller falder i vandet.

Et par billeder fra en Dansk have af en Melolontha

20260712_160519

Patching af ESXi 8

Jeg roder med at patche mit homeLab – mest for at lære mere om ESXi

Derfor undersøgte jeg hvordan man gør…

på Youtube og fandt disse (AI?) videoer

Jeg har installeret : ESXi-8.0U3j-25429389-standard

først skal man lige se hvad kassen indeholder (åben/login med ssh!):

esxcli software profile update \
-d /vmfs/volumes/6a044a4d-aaaaaaaaaaaaaaaaaaaaaaa/patch/VMware-ESXi-8.0U3j-25429389-depot.zip -p ESXi-8.0U3j-25429389-standard

Før du installere skal du se om filen har noget “forkert” med:

sha256sum /vmfs/volumes/6a044a4d-efcc7e58-3fae-0000000000a/patch/VMware-ESXi-8.0U3j-25429389-depot.zip
sha256sum : e6bbd0d9f0e0f361e52d0f594a055bb3830aa2881f3ba2b2cd1edaa766531a4a

Du kan se om det er den rigtige file :

https://support.broadcom.com/web/ecx/solutiondetails?patchId=16069

https://techdocs.broadcom.com/us/en/vmware-cis/vsphere/vsphere/8-0/release-notes/esxi-update-and-patch-release-notes/vsphere-esxi-80u3j-release-notes.html

esxcli hardware cpu list
lscpu
esxcli hardware platform get
esxcli network nic list
esxcli software vib list | grep -i -E “hpe|hp|dell|lenovo|broadcom|lsi|intel|qlogic|emulex”
vim-cmd hostsvc/firmware/backup_config

Note2self : URLs om updatinger og patch af Esxi 8 / 9

https://techdocs.broadcom.com/us/en/vmware-cis/vsphere/vsphere/8-0.html

https://knowledge.broadcom.com/external/article/316595/build-numbers-and-versions-of-vmware-esx.html

Hvordan gør man en RaspBerry pi (3) hurtig / brugbar

Jeg fik følgende svar fra #ChatGPT efter jeg spurgte den om:
min raspberry pi 3 er langsom - hvordan gør jeg den hurtigere
#sudo bash -c '
# 1. Opdater system
apt update && apt full-upgrade -y
apt-get clean
apt-get autoremove -y

# 2. Aktiver zRAM
#!/bin/bash

# ZRAM setup script for Raspberry Pi
# Works on Raspberry Pi OS / Debian / Ubuntu

set -e

echo "=== Installing zram-tools ==="
sudo apt install -y zram-tools
echo "=== Configuring /etc/default/zramswap ==="
sudo cp /etc/default/zramswap  /etc/default/bak_zramswap && sudo rm /etc/default/zramswap
sudo bash -c 'cat > /etc/default/zramswap <<EOF
# ZRAM swap configuration
# Compression algorithm
ALGO=lz4
# Size of zram device as percentage of total RAM
PERCENT=100

EOF'

echo "=== Disabling regular swap (dphys-swapfile) ==="
if systemctl is-active --quiet dphys-swapfile; then
    sudo dphys-swapfile swapoff
    sudo systemctl disable --now dphys-swapfile
fi

echo "=== Enabling zram swap ==="
sudo systemctl restart zramswap
sudo systemctl enable zramswap
echo "=== ZRAM status ==="
echo
zramctl
echo
swapon --show
echo
echo "=== ZRAM setup complete! ==="

# 3. Deaktiver unødvendige services
#systemctl disable bluetooth.service
#systemctl disable hciuart.service
#systemctl disable cups.service

# 4. Overclocking tweaks i config.txt
CONFIG="/boot/config.txt"
grep -q "arm_freq" $CONFIG || echo "arm_freq=1350" >> $CONFIG
grep -q "gpu_freq" $CONFIG || echo "gpu_freq=500" >> $CONFIG
grep -q "over_voltage" $CONFIG || echo "over_voltage=2" >> $CONFIG

# 5. GPU RAM til 32 MB (hvis GUI bruges)
if ! grep -q "gpu_mem=32" $CONFIG; then
  echo "gpu_mem=16" >> $CONFIG
fi

echo "Speed-up tweaks installeret. Genstart Pi for at aktivere overclocking og zRAM."
Men først :
Jeg har en del RaspBerry Pi og er ved at installere homebridge på dem til overvågning af huset og området.
Det første jeg gjore var at installere en Raspberry PI OS (uden GUI) på et uSD kort.

RaspBerry PI OS imager hentes fra:https://www.raspberrypi.com/software/
Mere hjælp:
https://www.raspberrypi.com/documentation/computers/getting-started.html#installing-the-operating-system

Sikkerhedstest af en Siemens iQ300

Updateres løbende 😉

Jeg har nu testede en Siemens iQ300 for forskellige sikkerhedshuller. Jeg har brugt nmap med disse options: sudo nmap –script vuln (IP)

Starting Nmap 7.93 ( https://nmap.org ) at xxxxxxxxxxx CET Stats: 0:00:25 elapsed; 0 hosts completed (0 up), 0 undergoing Script Pre-Scan

NSE Timing: About 75.00% done; ETC: 14:48 (0:00:08 remaining)

Pre-scan script results:

| broadcast-avahi-dos:

|   Discovered hosts:

|     224.0.0.251

|   After NULL UDP avahi packet DoS (CVE-2011-1002).

|_  Hosts are all up (not vulnerable).

Nmap scan report for siemens-dishwasher.domaine (IP)

Host is up (0.020s latency).

Not shown: 999 closed tcp ports (reset)

PORT    STATE SERVICE

443/tcp open  https

|_http-dombased-xss: Couldn’t find any DOM based XSS.

|_http-stored-xss: Couldn’t find any stored XSS vulnerabilities.

|_ssl-ccs-injection: No reply from server (TIMEOUT)

|_http-aspnet-debug: ERROR: Script execution failed (use -d to debug)

|_http-csrf: Couldn’t find any CSRF vulnerabilities.

|_http-vuln-cve2014-3704: ERROR: Script execution failed (use -d to debug)

MAC Address: 48:26:4C:28:49:xx (Unknown)

nmap -sV –script “ssl-*” -p 443 (IP)

Starting Nmap 7.93 ( https://nmap.org ) at 2025-xx-xx 14:51 CET

NSE: [ssl-ccs-injection] No response from server: EOF

Nmap scan report for siemens-dishwasher (IP)

Host is up (0.069s latency).

PORT    STATE SERVICE    VERSION

443/tcp open  ssl/https?

|_ssl-ccs-injection: No reply from server (TIMEOUT)

|_ssl-date: TLS randomness does not represent time

| ssl-enum-ciphers:

|   TLSv1.2:

|     ciphers:

|       TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256 (secp256r1) – A

|       TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256 (secp256r1) – A

|       TLS_PSK_WITH_AES_256_CBC_SHA – unknown

|       TLS_NULL_WITH_NULL_NULL – F

|     compressors:

|       NULL

|     cipher preference: server

|     warnings:

|       Anonymous key exchange, score capped at F

|_  least strength: unknown

MAC Address: 48:26:4C:28:49:C6 (Unknown)

nmap -sV -A (IP)

Starting Nmap 7.93 ( https://nmap.org ) at 2025-xxx-xxx xxx CET

Nmap scan report for siemens-dishwasher (ip)

Host is up (0.0068s latency).

Not shown: 999 closed tcp ports (reset)

PORT    STATE SERVICE    VERSION

443/tcp open  ssl/https?

|_ssl-date: TLS randomness does not represent time

MAC Address: 48:26:4C:28:49:xx (Unknown)

No exact OS matches for host (If you know what OS is running on it, see https://nmap.org/submit/ ). TCP/IP fingerprint:

OS:SCAN(V=7.93%E=4%D=11/24%OT=443%CT=1%CU=36806%PV=Y%DS=1%DC=D%G=Y%M=48264C OS:%TM=69245D20%P=aarch64-unknown-linux -gnu)SEQ(SP=104%GCD=1%ISR=10B%TI=Z%C OS:I=Z%II=I%TS=A)SEQ(II=I)OPS(O1=M5B4ST11NW4%O2=M5B4ST11NW4%O3=M5B4NNT11NW4 OS:%O4=M5B4ST11NW4%O5=M5B4ST11NW4%O6=M5B4ST11)WIN(W1=FE88%W2=FE88%W3=FE88%W OS:4=FE88%W5=FE88%W6=FE88)ECN(R=Y%DF=Y%T=40%W=FAF0%O=M5B4NNSNW4%CC=Y%Q=)ECN OS:R=N)T1(R=Y%DF=Y%T=40%S=O%A=S+%F=AS%RD=0%Q=)T1(R=N)T2(R=N)T3(R=N)T4(R=Y%OS:DF=Y%T=40%W=0%S=A%A=Z%F=R%O=%RD=0%Q=)T5(R=Y%DF=Y%T=40%W=0%S=Z%A=S+%F=AR%OS:O=%RD=0%Q=)T5(R=N)T6(R=Y%DF=Y%T=40%W=0%S=A%A=Z%F=R%O=%RD=0%Q=)T7(R=Y%DF=OS:Y%T=40%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)T7(R=N)U1(R=Y%DF=N%T=40%IPL=164%UN=0 OS:%RIPL=G%RID=G%RIPCK=G%RUCK=G%RUD=G)IE(R=Y%DFI=N%T=40%CD=S)

 

Hjemme efter Game Fair 2025 og mere..

Jeg har sammensat denne lille video…..

Velkommen til det mest tossede indslag i fiskeverdenen: Fiskeagilitybattlebanedysten! Her kaster hold sig ud i en hæsblæsende kapløb mod tiden, hvor de skal forcere stødhegn i vaders, slynge præcise fluekast og – naturligvis – bælle en Fernet Branca undervejs. Fordi… hvorfor ikke? Det hele overvåges strengt (og med et skævt smil) af Gordon P. Henriksen – dommer, vært og hjernen bag dette gale fiske-cirkus. De sidste to år har publikum klappet, grinet og måske endda grædt lidt af grin – og i år bliver det ikke mindre skørt! Hold som Bliv Naturligvis, Abu Garcia, Fiskerinderne og en broget flok andre modige tosser stiller op i jagten på æren, æren og… ja, æren. Glæd dig. Det bliver vådt, vildt og virkelig mærkeligt. 

PMR radio-Analog vs. dPMR vs. DMR

PMR446 til Roskilde Festival 2025 – Analog 16 kanaler !

PMR446-frekvenstabel
Siden 2018 er du ikke længere begrænset til kun at bruge 8 kanaler med PMR446-transceivere/walkie-talkies. Takket være en EU-forordning kan du nu også bruge op til 16 kanaler – eller endda 32 kanaler, hvis du har dPMR-enheder.
Tabellen nedenfor viser, hvilken kanal der svarer til hvilken frekvens. Denne vejledning er især nyttig, når man programmerer industrielle PMR-radioer.
Det er vigtigt at bemærke, at PMR446-radioer har en sendeeffekt på 0,5 W og en fast, fabriksmonteret antenne, som ikke kan udskiftes, og deres frekvensområde kan ikke ændres.
ANALOG TILSTAND: Analoge PMR446-kanaler spænder fra 446,000 til 446,200 MHz med en afstand på 12,5 kHz mellem hver kanal.

KanalFrekvens (MHz)
1446.00625
2446.01875
3446.03125
4446.04375
5446.05625
6446.06875
7446.08125
8446.09375
9446.10625
10446.11875
11446.13125
12446.14375
13446.15625
14446.16875
15446.18125
16446.19375

På grund af dPMR-overførselsmetoden ligger kanalerne tættere på hinanden, hvilket gør det muligt at bruge 32 kanaler i stedet for 16.
dPMR-radioer kan naturligvis også fungere i analog tilstand, men i så fald kan der kun benyttes 16 kanaler.

dPMR-radioer har mange funktioner, som analoge radioer ikke har, såsom:

  • Kryptering
  • SMS-beskeder
  • Talgrupper (talkgroups)
  • ID-identifikation

Vigtigt:
dPMR-radioer er ikke kompatible med DMR-radioer.
Derudover kan radioer fra forskellige producenter anvende forskellige 4FSK-dPMR-modulationer – især mindre radioer fra Fjernøsten er ikke kompatible med dPMR-radioer fra f.eks. Motorola eller andre større producenter.


Python script til at lave CSV filen til CHIRP :

import csv
import os

filename = "radio_channels_complete.csv"

headers = [
    "Location", "Name", "Frequency", "Duplex", "Offset", "Tone",
    "rToneFreq", "cToneFreq", "DtcsCode", "DtcsPolarity", "Mode",
    "TStep", "Skip", "Comment", "URCALL", "RPT1CALL", "RPT2CALL"
]

# FRNET: 6 kanaler, 0.0125 MHz trin
frnet_start = 149.025
frnet_step = 0.0125
frnet_channels = [
    {"Name": f"FRNET{i+1}", "Frequency": frnet_start + i * frnet_step}
    for i in range(6)
]

# PMR446: 32 kanaler, 6.25 kHz trin
pmr_start = 446.00625
pmr_step = 0.00625
pmr_channels = [
    {"Name": f"PMR446-{i+1}", "Frequency": pmr_start + i * pmr_step}
    for i in range(32)
]

# Flyfrekvenser: Kanal 900–999 = 100 stk, 8.33 kHz trin
fly_start = 118.000
fly_step = 0.00833
fly_channels = [
    {"Name": f"FLY-{i+1}", "Frequency": fly_start + i * fly_step, "Mode": "AM"}
    for i in range(100)
]

# Ekstrafrekvenser: Skal være 762 kanaler, 12.5 kHz trin
ext_start = 446.2125
ext_step = 0.0125
ext_count = 762  # Hardkodet til 762 kanaler
ext_channels = [
    {"Name": f"EXT{i+1}", "Frequency": ext_start + i * ext_step}
    for i in range(ext_count)
]

# Marina (VHF maritime kanaler) 156.000 MHz - 162.025 MHz, 25 kHz trin - Fjern Kanal 16
marina_start = 156.000
marina_step = 0.025
marina_channels = [
    {"Name": f"Marina-{i+1}", "Frequency": marina_start + i * marina_step}
    for i in range(88)  # Der er 88 kanaler i dette område (156.000 MHz - 162.025 MHz)
]

# Fjern Kanal 16 fra den almindelige liste (nødfrekvensen)
marina_channels = [channel for channel in marina_channels if channel["Frequency"] != 156.800]

# NOAA Vejrkanaler (162.400 MHz - 162.550 MHz, 0.050 MHz trin)
noaa_start = 162.400
noaa_step = 0.050
noaa_channels = [
    {"Name": f"NOAA-{i+1}", "Frequency": noaa_start + i * noaa_step}
    for i in range(7)  # 7 NOAA kanaler
]

# AIS Kanaler (161.975 MHz og 162.025 MHz)
ais_channels = [
    {"Name": "AIS-1", "Frequency": 161.975},
    {"Name": "AIS-2", "Frequency": 162.025},
]

# SAR frekvenser (2182 kHz)
sar_channels = [
    {"Name": "SAR", "Frequency": 2182.000},
]

# Storm- og vejrkanaler (169.550 MHz)
storm_channels = [
    {"Name": "Storm", "Frequency": 169.550},
]

# Saml og nummerér alle kanaler (inklusive de nye)
all_channels = (
    frnet_channels + pmr_channels + ext_channels + fly_channels +
    marina_channels + noaa_channels + ais_channels + sar_channels + storm_channels
)

# Standardværdier for kanaler
default_values = {
    "Duplex": "",
    "Offset": 0.0,
    "Tone": "",
    "rToneFreq": 88.5,
    "cToneFreq": 88.5,
    "DtcsCode": "023",
    "DtcsPolarity": "NN",
    "Mode": "NFM",  # Overskrives til "AM" for fly
    "TStep": 5.0,
    "Skip": "",
    "Comment": "",
    "URCALL": "",
    "RPT1CALL": "",
    "RPT2CALL": "",
}

# Skriv alle kanaler til en CSV-fil
with open(filename, mode='w', newline='', encoding='utf-8') as file:
    writer = csv.DictWriter(file, fieldnames=headers)
    writer.writeheader()

    for idx, channel in enumerate(all_channels, start=1):
        row = default_values.copy()
        row.update(channel)
        row["Location"] = idx
        row["Frequency"] = f"{row['Frequency']:.6f}"
        row["Offset"] = f"{row['Offset']:.6f}"
        row["rToneFreq"] = f"{row['rToneFreq']:.1f}"
        row["cToneFreq"] = f"{row['cToneFreq']:.1f}"
        row["TStep"] = f"{row['TStep']:.2f}"
        writer.writerow(row)

# Tilføj Kanal 16 som en speciel nødfrekvens
with open(filename, mode='a', newline='', encoding='utf-8') as file:
    writer = csv.DictWriter(file, fieldnames=headers)
    row = default_values.copy()
    row["Name"] = "Marina-16"  # Skift navn til Marina-16
    row["Frequency"] = "156.800"  # Kanal 16
    row["Location"] = len(all_channels) + 1
    writer.writerow(row)

# Flyt filen til en anden mappe
print(f"CSV-fil med {len(all_channels) + 1} kanaler gemt som: {filename}")
destination = '/mnt/c/temp/'
os.system(f'mv {filename} {destination}')
print(f"Filen er flyttet til: {destination}{filename}")
print("Færdig!")

Sammenligning: Analog vs. dPMR vs. DMR

Funktion / Egenskab Analog PMR446 dPMR (Tier 1) DMR (Tier 1)
TeknologiAnalog FMDigital (4FSK, FDMA)Digital (TDMA)
Kanaler (PMR446)16 kanaler (12,5 kHz afstand)32 kanaler (6,25 kHz afstand)16 kanaler (2 tidslots pr. kanal)
ModulationFM4FSK (narrowband digital)TDMA (2-slot)
Kanalafstand12,5 kHz6,25 kHz12,5 kHz delt i 2 tidslots (6,25 kHz eff.)
Tale- og datakvalitetBegrænset, støjfølsomKlar digital lyd, mere stabilKlar digital lyd, effektiv udnyttelse
KrypteringNejJaJa
SMS og dataNejJa (SMS og ID)Ja (SMS, data, GPS, etc.)
Talgrupper (Talkgroups)NejJaJa
KompatibilitetBredtIkke altid mellem mærkerBegrænset – ikke kompatibel med dPMR
Effekt (PMR446)Max 0,5 wattMax 0,5 wattMax 0,5 watt
AntenneFastmonteretFastmonteretFastmonteret
Repeaterstøtte (PMR446)NejNejNej
Licens (PMR446)NejNejNej
  • Analog: Simpel og pålidelig, men ingen digitale funktioner eller kryptering.
  • dPMR: Mere moderne end analog, med flere kanaler og funktioner som kryptering og ID. Kan dog have kompatibilitetsproblemer mellem producenter.

DMR: Endnu mere avanceret med talegrupper og effektiv kanaludnyttelse, men ikke kompatibel med dPMR.

Hvis du f.eks. vil kommunikere sikkert og digitalt uden licens, og du kun skal bruge én producent, er dPMR et godt valg.
Men hvis du vil bruge udstyr med bredere støtte og netværksmuligheder (uden for PMR446), så er DMR Tier 2 en stærkere løsning – dog kræver det licens.

🔹 DMR Tier 1 (primært brugt i PMR446)

  • Brug: Licensfrit – bruges til hobby, fritid og let erhverv.
  • Frekvensområde: 446,0 – 446,2 MHz (PMR446).
  • Effekt: Maks. 0,5 watt.
  • Adgang: Alle kan frit købe og bruge enheder uden tilladelse.
  • Teknologi: Digital, med 2 tidslots (TDMA) pr. kanal – dvs. to samtaler kan køre på samme frekvens samtidigt.
  • Rækkevidde: Typisk 1–3 km i byområder, længere på åbent land.
  • Antenne: Fastmonteret og må ikke udskiftes.

Fordele: Let at bruge, kræver ingen tilladelse, bedre lyd end analog.
Begrænsninger: Lav effekt og fast antenne begrænser rækkevidden.


🔸 DMR Tier 2 (brug kræver licens)

  • Brug: Professionel brug – fx politi, sikkerhed, industri, byggeri.
  • Frekvensområde: Varierer efter land og licens, ikke på 446 MHz.
  • Effekt: Op til 5 watt (eller mere med tilladelse).
  • Adgang: Kræver frekvenstilladelse (licens fra myndigheder).
  • Teknologi: Også 2 tidslots (TDMA), men med flere avancerede funktioner:
  • Netværk med repeatere (for større dækning)
  • GPS-integration
  • Kryptering og datatjenester

Fordele: Lang rækkevidde, stor fleksibilitet, netværksmuligheder.
Begrænsninger: Kræver licens, udstyr er dyrere og mere komplekst.


Sammenligning

FunktionTier 1 (PMR446)Tier 2 (Professionel)
LicensNejJa
Effekt0,5 wattOp til 5 watt (eller mere)
Frekvens446,0–446,2 MHzLicensbestemte bånd
AntenneFastmonteretUdskiftelig
Tidslots (TDMA)Ja, 2Ja, 2
Repeater-støtteNejJa

Build R00t for min DAP1610

Så blev det tid til at nørde med Linux på forskellige dimser igen. 

Denne gang har jeg fundet min gamle DAP1610 WIFI dims frem. 

Ideen er at opdatere den med en OpenWRT – men bygge sin egen firmware. Til det har jeg få lidt hjælp fra min Linuxserver.

 D-link DAP 1610 inside 

Setup :

sudo apt update -y ; sudo apt upgrade -y;
sudo apt install build-essential clang flex bison g++ gawk \
gcc-multilib g++-multilib gettext git libncurses5-dev libssl-dev \
python3-setuptools rsync swig unzip zlib1g-dev file wget

 https://github.com/openwrt/openwrt.git; cd openwrt/ ; ./scripts/feeds update -a ; ./scripts/feeds install -a   # NB!  IKKE en DAP1610-A1.Husk patch!  

make -j8    //  hvis du har 8 kerner at compile med!!

NB!  HUSK at sæt den til den rigtige CPU :  make menuconfig

Min pakkeliste – Roskilde Festival 24

#RF24 #Festival

FESTIVAL PAKKELISTE:

  • Telt & presenning – vandtæt, og en god idé med en backup.
  • Airtacks ( se https://www.apple.com/airtag/ )
  • Sovepose & Luftmadras / liggeunderlag + opladelig luft pumpe(Oplad !!!).
  • Praktisk tøj (Outdoor!)-til den danske sommer, så husk regntøj, sommertøj,og den varme trøje
  • Mavetaske. (stor nok til en vandflaske, mobil og radio)
  • PMR radio (husk at kode Alle PMR freq. Ind!)
  • Outdoor Fodtøj – praktisk, og lad nu de pæne sko blive hjemme..
  • Håndklæde & badetøj – Badetur i havnen/fjorden, eller bare en tur i badet.
  • NB : bad er bedst i SATS på RosTorv ( https://rostorv.dk ) eller hjemme 😉
  • Vådservietter & desinficerende gel – husk hygiejne
  • Toilettaske – el-tandbørste, tandpasta, shampoo, solcreme, deodorant, hårbørste, Håndsæbe
  • powerbank (oplad den før RF!!!) + USB Oplader til Mobil + radio. (solcelle?? )
  • Paraghurt(mod Roskilde mave) + Panodil + Medicin (P-piller hvis du er pige)
  • Oplad til mobil 100% – mobilen kan oplades flere steder, ellers powerbank.
  • Ekstra mobil – hvis det kan skaffes. (Den gamle eller en brugt?)
  • Dankort /visa – Kan bruges i alle boder. MobilPay?
  • Gaffatape – kan fikse alt også en date 😉
  • Gummistøvler – ja, alt kan ske.
  • IMPRÆGNERINGSSPRAY fra https://www.harald-nyborg.dk til sko + telt.
  • Affaldssække – affald, pant, eller til at holde tøjet tørt med.
  • Solbriller – så du ikke får ondt i dine øjne af solen.
  • Kamera – gode minder (Mobil med tripot?)
  • Underholdning – musik..Telefon/ bærbar?
  • Ørepropper (flere par!!) – til nattesøvnen eller til koncerterne
  • Førstehjælp – plaster, støttebind, ellers er Røde kors også til stede.
  • Tyggegummi – så starter dagen bare lidt bedre.
  • NB : der er en Rema 1000, Netto og Føtex tæt på.
  • Vandflaske – drik rigeligt vand (Vodka / gin ligner jo vand !)
  • Solcream + Solhat / cap – det bliver varmt

 GODE RÅD TIL DIN FESTIVAL PAKKELISTE

Tjek vejrudsigten hjemmefra og undlad at pakke for meget tøj.

Tjek DMI / tv2vejr / YR app virker på din telefon.

Du vil typisk bruge mindre tøj end i dagligdagen og ofte kommer man til at bruge det samme tøj flere dage, da det bare er mest praktisk. En festival er altså ingen modeopvisning, så du behøver ikke 5 par sko. Alle tingene skal kunne opbevares på lidt plads og kunne pakkes ud, uden man mister overblikket.

Grej finder du på:

https://www.harald-nyborg.dk/sport-og-fritid/camping/tilbehoer-til-telte

Bemærk Jeg er frivillig og har været det siden 2012 !