Update rakupgrade.sh

This commit is contained in:
radek 2025-07-11 17:27:46 +02:00
parent bbf4e5a527
commit 1b6a4b78f6
1 changed files with 34 additions and 18 deletions

View File

@ -8,31 +8,47 @@ LOCAL_PATH="./WisGateOS_2.2.13_RAK_b198_RAK636.rwi"
REMOTE_PATH=" /tmp/WisGateOS_2.2.13_RAK_b198_RAK636.rwi" REMOTE_PATH=" /tmp/WisGateOS_2.2.13_RAK_b198_RAK636.rwi"
REMOTE_USER="root" REMOTE_USER="root"
SSH_OPTIONS="-o StrictHostKeyChecking=no" SSH_OPTIONS="-o StrictHostKeyChecking=no"
echo "🔎 Pobieram MAC adres swojego interfejsu..."
OWN_MAC=$(cat /sys/class/net/${INTERFACE}/address | tr '[:lower:]' '[:upper:]') # Sprawdzamy, czy podano argument ABCD
if [ $# -eq 1 ]; then
HEX=$1
echo "✅ Własny MAC interfejsu $INTERFACE: $OWN_MAC" # Sprawdzamy czy długość to dokładnie 4 znaki hex
if [[ ! $HEX =~ ^[0-9A-Fa-f]{4}$ ]]; then
echo "❌ Podany parametr musi być 4-znakowym ciągiem heksadecymalnym (np. ABCD)."
exit 1
fi
echo "🎧 Podsłuchuję DHCP pakiety, czekam na bramę..." LAST_B1="${HEX:0:2}"
LAST_B2="${HEX:2:2}"
echo "✅ Używam ręcznie podanego bajtu MAC: $LAST_B1:$LAST_B2"
DEVICE_MAC=$(sudo timeout 60 tcpdump -i $INTERFACE -nn -l -v udp port 67 or udp port 68 \ else
echo "🔎 Pobieram MAC adres swojego interfejsu..."
OWN_MAC=$(cat /sys/class/net/${INTERFACE}/address | tr '[:lower:]' '[:upper:]')
echo "✅ Własny MAC interfejsu $INTERFACE: $OWN_MAC"
echo "🎧 Podsłuchuję DHCP pakiety, czekam na bramę..."
DEVICE_MAC=$(timeout 60 tcpdump -i $INTERFACE -nn -l -v udp port 67 or udp port 68 \
2>/dev/null | \ 2>/dev/null | \
grep -oEi '([0-9a-f]{2}:){5}[0-9a-f]{2}' | \ grep -oEi '([0-9a-f]{2}:){5}[0-9a-f]{2}' | \
grep -vi "$OWN_MAC" | \ grep -Fvi "$OWN_MAC" | \
sort -u | \
head -n1) head -n1)
if [ -z "$DEVICE_MAC" ]; then if [ -z "$DEVICE_MAC" ]; then
echo "❌ Nie udało się znaleźć żadnego pakietu DHCP poza własnym interfejsem." echo "❌ Nie udało się znaleźć żadnego pakietu DHCP poza własnym interfejsem."
exit 1 exit 1
fi
echo "✅ Znaleziony MAC bramy: $DEVICE_MAC"
IFS=':' read -ra mac_bytes <<< "$DEVICE_MAC"
LAST_B1=${mac_bytes[4]}
LAST_B2=${mac_bytes[5]}
fi fi
echo "✅ Znaleziony MAC bramy: $DEVICE_MAC"
# Rozbij MAC na bajty
IFS=':' read -ra mac_bytes <<< "$DEVICE_MAC"
LAST_B1=${mac_bytes[4]}
LAST_B2=${mac_bytes[5]}
LAST_B1_DEC=$((16#${LAST_B1})) LAST_B1_DEC=$((16#${LAST_B1}))
LAST_B2_DEC=$((16#${LAST_B2})) LAST_B2_DEC=$((16#${LAST_B2}))