openwrtv4/target/linux/au1000/base-files/lib/au1000.sh
John Crispin ed61e202a1 au1000: distinguish different models and set correct MAC-address
The target au1000 has at least 2 different models, the
'InternetBox' and the 'MeshCube' which look very similar
from the kernel point of view but are totally different
devices which base on the same design. Populating /tmp/sysinfo
now. The 1st one has an issue which leads to a random
mac-address after each boot which is corrected now via
reading the bootloader-env. The real fix would be
converting to DTS, this is only a workaround now.

Signed-off-by: Bastian Bittorf <bittorf@bluebottle.com>

SVN-Revision: 43626
2014-12-11 18:28:44 +00:00

59 lines
1.2 KiB
Bash

#!/bin/sh
au1000_yamonenv_getvar()
{
local varname="$1"
local partition
. /lib/functions.sh
partition="$( find_mtd_part 'yamon env' )"
YAMONENVFILE="$partition" yamonenv "$varname"
}
au1000_detect()
{
local line board_name model
while read line; do
case "$line" in
'system type'*)
break
;;
esac
done <'/proc/cpuinfo'
case "$line" in
*' MTX-1')
# both models appear nearly similar: the 'InternetBox' has
# the same design but shrinked to 1 PCB and only 1 x miniPCI
# for WiFi/ath5k and 1 x miniPCI for CardBus/UMTS, they differ
# in BogoMIPS but there are old MeshCubes with 330 Mhz instead
# of 400 MHz and no Cube has 'imei' (for UMTS) set in bootloader-env
if [ -n "$( au1000_yamonenv_getvar 'imei' )" ]; then
board_name='internetbox'
model='T-Mobile InternetBox TMD SB1-S'
else
board_name='meshcube'
model='4G Systems AccessCube/MeshCube'
fi
;;
*)
board_name='unknown'
model='unknown'
;;
esac
mkdir -p '/tmp/sysinfo'
echo "$board_name" >'/tmp/sysinfo/board_name'
echo "$model" >'/tmp/sysinfo/model'
}
au1000_board_name()
{
local file='/tmp/sysinfo/board_name'
[ -e "$file" ] || au1000_detect
cat "$file"
}