oxnas: switch to generic board detect

remove /lib/oxnas.sh platform-specific board-detection and use
generic which is based on device-tree compatible node instead.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
openwrt-19.07
Daniel Golle 2018-11-04 18:22:33 +01:00
parent 900005ee75
commit 4f017c871d
5 changed files with 33 additions and 85 deletions

View File

@ -6,17 +6,17 @@ board=$(board_name)
board_config_update
case $board in
akitio)
"akitio,myloud")
ucidef_set_led_default "status" "status" "akitio:red:status" "0"
;;
stg212)
"mitrastar,stg-212")
ucidef_set_led_default "power" "power" "zyxel:blue:status" "1"
ucidef_set_led_usbdev "usb" "USB" "zyxel:orange:copy" "1-1"
;;
kd20)
"shuttle,kd20")
ucidef_set_led_default "power" "power" "kd20:blue:status" "1"
;;
pogoplug-pro | pogoplug-v3)
"cloudengines,pogoplug"*)
ucidef_set_led_default "power" "power" "pogoplug:blue:internal" "1"
;;

View File

@ -2,14 +2,37 @@
. /lib/functions/uci-defaults.sh
. /lib/functions/system.sh
. /lib/oxnas.sh
board_config_update
lan_mac=""
bootloader_cmdline_var() {
local param
local pval
for arg in $(cat /proc/device-tree/chosen/bootloader-args); do
param="$(echo $arg | cut -d'=' -f 1)"
pval="$(echo $arg | cut -d'=' -f 2-)"
if [ "$param" = "$1" ]; then
echo "$pval"
fi
done
}
legacy_boot_mac_adr() {
local macstr
local oIFS
macstr="$(bootloader_cmdline_var mac_adr)"
oIFS="$IFS"
IFS=","
set -- $macstr
printf "%02x:%02x:%02x:%02x:%02x:%02x" $1 $2 $3 $4 $5 $6
IFS="$oIFS"
}
case "$(board_name)" in
kd20)
"shuttle,kd20")
lan_mac="$(legacy_boot_mac_adr)"
;;
esac

View File

@ -6,16 +6,16 @@
get_status_led() {
case $(board_name) in
akitio)
"akitio,mycloud")
status_led="akitio:red:status"
;;
stg212)
"mitrastar,stg-212")
status_led="zyxel:blue:status"
;;
kd20)
"shuttle,kd20")
status_led="kd20:blue:status"
;;
pogoplug-pro | pogoplug-v3)
"cloudengines,pogoplug"*)
status_led="pogoplug:blue:internal"
;;
esac

View File

@ -1,66 +0,0 @@
#!/bin/sh
#
# Copyright (C) 2013 OpenWrt.org
#
OXNAS_BOARD_NAME=
OXNAS_MODEL=
bootloader_cmdline_var() {
local param
local pval
for arg in $(cat /proc/device-tree/chosen/bootloader-args); do
param="$(echo $arg | cut -d'=' -f 1)"
pval="$(echo $arg | cut -d'=' -f 2-)"
if [ "$param" = "$1" ]; then
echo "$pval"
fi
done
}
legacy_boot_mac_adr() {
local macstr
local oIFS
macstr="$(bootloader_cmdline_var mac_adr)"
oIFS="$IFS"
IFS=","
set -- $macstr
printf "%02x:%02x:%02x:%02x:%02x:%02x" $1 $2 $3 $4 $5 $6
IFS="$oIFS"
}
oxnas_board_detect() {
local machine
local name
machine=$(cat /proc/device-tree/model)
case "$machine" in
*"Akitio MyCloud mini"*)
name="akitio"
;;
*"MitraStar Technology Corp. STG-212"*)
name="stg212"
;;
*"Shuttle KD20"*)
name="kd20"
;;
*"Pogoplug Pro"*)
name="pogoplug-pro"
;;
*"Pogoplug V3"*)
name="pogoplug-v3"
;;
esac
[ -z "$name" ] && name="unknown"
[ -z "$OXNAS_BOARD_NAME" ] && OXNAS_BOARD_NAME="$name"
[ -z "$OXNAS_MODEL" ] && OXNAS_MODEL="$machine"
[ -e "/tmp/sysinfo/" ] || mkdir -p "/tmp/sysinfo/"
echo "$OXNAS_BOARD_NAME" > /tmp/sysinfo/board_name
echo "$OXNAS_MODEL" > /tmp/sysinfo/model
}

View File

@ -1,9 +0,0 @@
#!/bin/sh
do_oxnas() {
. /lib/oxnas.sh
oxnas_board_detect
}
boot_hook_add preinit_main do_oxnas