arc: test network rewrite

Signed-off-by: AuxXxilium <info@auxxxilium.tech>
This commit is contained in:
AuxXxilium
2023-11-15 13:35:38 +01:00
parent ff5cb61528
commit 3257fd0320
3 changed files with 24 additions and 24 deletions

View File

@@ -2030,7 +2030,7 @@ function sysinfo() {
[ -d /sys/firmware/efi ] && BOOTSYS="EFI" || BOOTSYS="Legacy"
VENDOR="$(dmidecode -s system-product-name)"
BOARD="$(dmidecode -s baseboard-product-name)"
ETHX=($(ls /sys/class/net/ | grep eth))
ETHX=$(ls /sys/class/net/ | grep -v lo || true)
NIC="$(readConfigKey "device.nic" "${USER_CONFIG_FILE}")"
CONFDONE="$(readConfigKey "arc.confdone" "${USER_CONFIG_FILE}")"
BUILDDONE="$(readConfigKey "arc.builddone" "${USER_CONFIG_FILE}")"
@@ -2073,18 +2073,18 @@ function sysinfo() {
TEXT+="\n Memory: \Zb$((${RAMTOTAL} / 1024))GB\Zn"
TEXT+="\n"
TEXT+="\n\Z4> Network: ${NIC} Adapter\Zn"
for N in $(seq 0 $((${#ETHX[@]} - 1))); do
DRIVER=$(ls -ld /sys/class/net/${ETHX[${N}]}/device/driver 2>/dev/null | awk -F '/' '{print $NF}')
MAC="$(cat /sys/class/net/${ETHX[$((${N} - 1))]}/address | sed 's/://g')"
for N in ${ETHX}; do
DRIVER=$(ls -ld /sys/class/net/${N}/device/driver 2>/dev/null | awk -F '/' '{print $NF}')
MAC="$(cat /sys/class/net/${N}/address | sed 's/://g')"
while true; do
if ethtool ${ETHX[${N}]} | grep 'Link detected' | grep -q 'no'; then
if ethtool ${N} | grep 'Link detected' | grep -q 'no'; then
TEXT+="\n ${DRIVER}: \ZbIP: NOT CONNECTED | MAC: ${MAC}\Zn"
break
fi
NETIP="$(getIP)"
if [ "${STATICIP}" = "true" ]; then
ARCIP="$(readConfigKey "arc.ip" "${USER_CONFIG_FILE}")"
if [[ "${ETHX[${N}]}" = "eth0" && -n "${ARCIP}" ]]; then
if [[ "${N}" = "eth0" && -n "${ARCIP}" ]]; then
NETIP="${ARCIP}"
MSG="STATIC"
else
@@ -2094,7 +2094,7 @@ function sysinfo() {
MSG="DHCP"
fi
if [ -n "${NETIP}" ]; then
SPEED=$(ethtool ${ETHX[${N}]} | grep "Speed:" | awk '{print $2}')
SPEED=$(ethtool ${N} | grep "Speed:" | awk '{print $2}')
TEXT+="\n ${DRIVER} (${SPEED} | ${MSG}) \ZbIP: ${NETIP} | Mac: ${MAC}\Zn"
break
fi

View File

@@ -168,20 +168,20 @@ elif [[ "${DIRECTBOOT}" = "true" && ${BOOTCOUNT} -eq 0 ]]; then
echo -e "\033[1;34mDSM not installed - Reboot with Directboot\033[0m"
exec reboot
elif [ "${DIRECTBOOT}" = "false" ]; then
ETHX=($(ls /sys/class/net/ | grep eth)) # real network cards list
ETHX=$(ls /sys/class/net/ | grep -v lo || true)
STATICIP="$(readConfigKey "arc.staticip" "${USER_CONFIG_FILE}")"
BOOTIPWAIT="$(readConfigKey "arc.bootipwait" "${USER_CONFIG_FILE}")"
echo -e "\033[1;34mDetected ${#ETHX[@]} NIC.\033[0m \033[1;37mWaiting for Connection:\033[0m"
for N in $(seq 0 $((${#ETHX[@]} - 1))); do
DRIVER=$(ls -ld /sys/class/net/${ETHX[${N}]}/device/driver 2>/dev/null | awk -F '/' '{print $NF}')
echo -e "\033[1;34mDetected ${ETHX} NIC.\033[0m \033[1;37mWaiting for Connection:\033[0m"
for N in ${ETHX}; do
DRIVER=$(ls -ld /sys/class/net/${N}/device/driver 2>/dev/null | awk -F '/' '{print $NF}')
COUNT=0
sleep 3
while true; do
IP="$(getIP ${ETHX[${N}]})"
IP="$(getIP ${N})"
if [ "${STATICIP}" = "true" ]; then
ARCIP="$(readConfigKey "arc.ip" "${USER_CONFIG_FILE}")"
NETMASK="$(readConfigKey "arc.netmask" "${USER_CONFIG_FILE}")"
if [[ "${ETHX[${N}]}" = "eth0" && -n "${ARCIP}" && ${BOOTCOUNT} -gt 0 ]]; then
if [[ "${N}" = "eth0" && -n "${ARCIP}" && ${BOOTCOUNT} -gt 0 ]]; then
IP="${ARCIP}"
NETMASK=$(convert_netmask "${NETMASK}")
ip addr add ${IP}/${NETMASK} dev eth0
@@ -193,7 +193,7 @@ elif [ "${DIRECTBOOT}" = "false" ]; then
MSG="DHCP"
fi
if [ -n "${IP}" ]; then
SPEED=$(ethtool ${ETHX[${N}]} | grep "Speed:" | awk '{print $2}')
SPEED=$(ethtool ${N} | grep "Speed:" | awk '{print $2}')
echo -e "\r\033[1;37m${DRIVER} (${SPEED} | ${MSG}):\033[0m Access \033[1;34mhttp://${IP}:5000\033[0m to connect to DSM via web."
break
fi
@@ -202,7 +202,7 @@ elif [ "${DIRECTBOOT}" = "false" ]; then
echo -e "\r${DRIVER}: TIMEOUT."
break
fi
if ethtool ${ETHX[${N}]} | grep 'Link detected' | grep -q 'no'; then
if ethtool ${N} | grep 'Link detected' | grep -q 'no'; then
echo -e "\r${DRIVER}: NOT CONNECTED"
break
fi

View File

@@ -59,9 +59,9 @@ initConfigKey "arc.version" "${ARC_VERSION}" "${USER_CONFIG_FILE}"
initConfigKey "device" "{}" "${USER_CONFIG_FILE}"
# Init Network
ETHX=($(ls /sys/class/net/ | grep eth)) # real network cards list
ETHX=$(ls /sys/class/net/ | grep -v lo || true)
# No network devices
[ ${#ETHX[@]} -le 0 ] && die "No NIC found! - Loader does not work without Network connection."
[ $(echo ${ETHX} | wc -w) -le 0 ] && die "No NIC found! - Loader does not work without Network connection."
MACSYS="$(readConfigKey "arc.macsys" "${USER_CONFIG_FILE}")"
if [ "${MACSYS}" = "custom" ]; then
MACR="$(cat /sys/class/net/eth0/address | sed 's/://g')"
@@ -129,17 +129,17 @@ BOOTCOUNT="$(readConfigKey "arc.bootcount" "${USER_CONFIG_FILE}")"
STATICIP="$(readConfigKey "arc.staticip" "${USER_CONFIG_FILE}")"
BOOTIPWAIT="$(readConfigKey "arc.bootipwait" "${USER_CONFIG_FILE}")"
[ -z "${BOOTIPWAIT}" ] && BOOTIPWAIT=20
echo -e "\033[1;34mDetected ${#ETHX[@]} NIC.\033[0m \033[1;37mWaiting for Connection:\033[0m"
for N in $(seq 0 $((${#ETHX[@]} - 1))); do
DRIVER=$(ls -ld /sys/class/net/${ETHX[${N}]}/device/driver 2>/dev/null | awk -F '/' '{print $NF}')
echo -e "\033[1;34mDetected ${ETHX} NIC.\033[0m \033[1;37mWaiting for Connection:\033[0m"
for N in ${ETHX}; do
DRIVER=$(ls -ld /sys/class/net/${N}/device/driver 2>/dev/null | awk -F '/' '{print $NF}')
COUNT=0
sleep 3
while true; do
IP="$(getIP ${ETHX[${N}]})"
IP="$(getIP ${N})"
if [ "${STATICIP}" = "true" ]; then
ARCIP="$(readConfigKey "arc.ip" "${USER_CONFIG_FILE}")"
NETMASK="$(readConfigKey "arc.netmask" "${USER_CONFIG_FILE}")"
if [[ "${ETHX[${N}]}" = "eth0" && -n "${ARCIP}" && ${BOOTCOUNT} -gt 0 ]]; then
if [[ "${N}" = "eth0" && -n "${ARCIP}" && ${BOOTCOUNT} -gt 0 ]]; then
IP="${ARCIP}"
NETMASK=$(convert_netmask "${NETMASK}")
ip addr add ${IP}/${NETMASK} dev eth0
@@ -151,7 +151,7 @@ for N in $(seq 0 $((${#ETHX[@]} - 1))); do
MSG="DHCP"
fi
if [ -n "${IP}" ]; then
SPEED=$(ethtool ${ETHX[${N}]} | grep "Speed:" | awk '{print $2}')
SPEED=$(ethtool ${N} | grep "Speed:" | awk '{print $2}')
echo -e "\r${DRIVER} (${SPEED} | ${MSG}): Access \033[1;34mhttp://${IP}:7681\033[0m to connect to Arc via web."
break
fi
@@ -160,7 +160,7 @@ for N in $(seq 0 $((${#ETHX[@]} - 1))); do
echo -e "\r${DRIVER}: TIMEOUT"
break
fi
if ethtool ${ETHX[${N}]} | grep 'Link detected' | grep -q 'no'; then
if ethtool ${N} | grep 'Link detected' | grep -q 'no'; then
echo -e "\r${DRIVER}: NOT CONNECTED"
break
fi