#! /bin/sh
CONFIG_ENVIRONMENT_PATH=/proc/sys/urlader
CONFIG_ENVIRONMENT=/var/env
cat "$CONFIG_ENVIRONMENT_PATH/environment" > "/var/env"
##########################################################################################
## Defaults setzen
##########################################################################################
HWRevision_ATA=1
HWRevision_BitFileCount=
HWRevision_Reserved1=0
##########################################################################################
## Auswertung der Hardware revision
##########################################################################################
item_count=0
for i in $(grep ^HWRevision "${CONFIG_ENVIRONMENT}" | tr '.' ' ') ; do
case "$item_count" in
0)
;;
1)
HWRevision=$i
;;
2)
HWRevision_ATA=$i
;;
3)
HWRevision_BitFileCount=$i
if [ "$HWRevision_BitFileCount" -eq 0 ]; then
HWRevision_BitFileCount=""
fi
;;
4)
HWRevision_Reserved1=$i
;;
esac
item_count=$((item_count + 1))
done
export HWRevision_ATA
export HWRevision_BitFileCount
##########################################################################################
## Auswertung der (optionalen) Hardware Subrevision - wird initial zu '0' angenommen
##########################################################################################
HWSubRevision=0
item_count=0
for i in $(grep ^HWSubRevision "${CONFIG_ENVIRONMENT}" | tr '.' ' ') ; do
case "$item_count" in
0)
;;
1)
HWSubRevision=$i
;;
esac
item_count=$((item_count + 1))
done
##########################################################################################
## Auswertung der (optionalen) SerialNumber - wird initial zu '0000000000000000' angenommen
##########################################################################################
SerialNumber=0000000000000000
item_count=0
for i in $(grep ^SerialNumber "${CONFIG_ENVIRONMENT}") ; do
case "$item_count" in
0)
;;
1)
SerialNumber=$i
;;
esac
item_count=$((item_count + 1))
done
##########################################################################################
## WLAN
##########################################################################################
wlan_cal=$(grep ^wlan_cal "${CONFIG_ENVIRONMENT}" | cut -f2)
[ -n "$wlan_cal" ] && export wlan_cal
## MACA for labfeedback-url
MacA=$(core-mac maca)
##########################################################################################
## OEM Ermitteln
##########################################################################################
OEM_tmp=$(cat "$CONFIG_ENVIRONMENT_PATH/firmware_version")
if [ -z "${OEM_tmp}" ] ; then
OEM_tmp=$CONFIG_OEM_DEFAULT
fi
OEM=${OEM_tmp%,*}
OEM_DEFAULT_INDEX=${OEM_tmp#*,}
if [ "$OEM_DEFAULT_INDEX" = "$OEM" ] ; then
OEM_DEFAULT_INDEX=""
fi
export OEM_DEFAULT_INDEX
export OEM
##########################################################################################
## defaulte fuer Sprache und Land
##########################################################################################
## Fuer Country/Language/Ask den preset-Default des Urladers aufloesen
## Formate/Name: SoftwareFeatures <Cntry>,<CntryAsk>,<Lng>,<LngAsk>
## Format/Values: [Cntry=049][,][CntryAsk=[y,n]][,][Lng=de][,][LngAsk=[y,n]]
for i in $(grep ^SoftwareFeatures "${CONFIG_ENVIRONMENT}" | tr ',' ' ') ; do
case "$i" in
Cntry=*)
preCountry_param=${i##Cntry=}
;;
CntryAsk=*)
preCountryAsk_param=${i##CntryAsk=}
;;
Lng=*)
preLanguage_param=${i##Lng=}
;;
LngAsk=*)
preLanguageAsk_param=${i##LngAsk=}
;;
esac
done
## Fuer Country die Userselection des Urladers aufloesen
export Country_is_default=no
Country=$(grep ^country "${CONFIG_ENVIRONMENT}" | cut -f2)
if [ -z "$Country" ] && [ -n "${preCountry_param}" ] ; then
## Fuer Country den preset des Urladers aufloesen
Country=${preCountry_param}
export Country_is_default=yes
fi
if [ -z "$Country" ] || [ ! -d "/etc/default.$Country" ] ; then
## Fuer Country den Default der Firmware aufloesen
Country=$(readlink /etc/default.0)
Country=${Country##*default.}
export Country_is_default=yes
fi
## Fuer Language die Userselection des Urladers aufloesen
export Language_is_default=no
Language=$(grep ^language "${CONFIG_ENVIRONMENT}" | cut -f2)
if [ -z "$Language" ] && [ -n "${preLanguage_param}" ] ; then
## Fuer Language den preset des Urladers aufloesen
Language=${preLanguage_param}
export Language_is_default=yes
fi
if [ -z "$Language" ] || [ ! -f "/etc/htmltext_${Language}.db" ] ; then
## Fuer Language den Default der Firmware aufloesen
Language=$(grep ^language /etc/default.language | cut -f2 -d ' ')
export Language_is_default=yes
fi
## Sprach Link setzen
if [ -f "/etc/htmltext_${Language}.db" ] ; then
rm -f /var/htmltext.db
ln -fs "/etc/htmltext_${Language}.db" /var/htmltext.db
fi
rm -f /var/i18n
ln -fs "/usr/www/i18n/${OEM}/${Language}" /var/i18n
##########################################################################################
## exporting ...
##########################################################################################
ETC_CONFIG_PATH=/etc/init.d/rc.init
export HWRevision
export HWSubRevision
export SerialNumber
export Country
export Language
export ETC_CONFIG_PATH
export CONFIG_ENVIRONMENT_PATH
##########################################################################################
## kernel command line generated env variable(s)
##########################################################################################
for i in $(cat /proc/cmdline) ; do
if [ "$i" = "tooltip=1" ]; then
export HTML_TOOLTIPS=1
fi
if [ "$i" = "tooltip=2" ]; then
export HTML_TOOLTIPS=2
fi
done
##########################################################################################
## Box spezifische Konfiguration (aus rc.init)
##########################################################################################
export CONFIG_AB_COUNT="1"
export CONFIG_ASEC="n"
export CONFIG_ATA="y"
export CONFIG_AURA="n"
export CONFIG_AUTOUPDATE="y"
export CONFIG_AVMIPC_LOCAL_IP=""169.254.1.1""
export CONFIG_AVMIPC_REMOTE_IP=""169.254.1.2""
export CONFIG_BASIS="y"
export CONFIG_BOOTCORE="n"
export CONFIG_BOX_FEEDBACK="n"
export CONFIG_BUTTON="n"
export CONFIG_C4="n"
export CONFIG_CAPI="y"
export CONFIG_CAPI_NT="n"
export CONFIG_CAPI_POTS="n"
export CONFIG_CAPI_TE="n"
export CONFIG_CHRONY="y"
export CONFIG_CONFIGD="y"
export CONFIG_CONFIGSPACE_ONNAND="y"
export CONFIG_CXX="y"
export CONFIG_DECT="y"
export CONFIG_DECT2="y"
export CONFIG_DECT_AUDIOD="y"
export CONFIG_DECT_DA14495="n"
export CONFIG_DECT_DCX81="n"
export CONFIG_DECT_HOME="y"
export CONFIG_DECT_HOME_HANFUN="y"
export CONFIG_DECT_MONI="y"
export CONFIG_DECT_MONI_EX="y"
export CONFIG_DECT_NO_EMISSION="y"
export CONFIG_DECT_PICTURED="y"
export CONFIG_DOCSIS="n"
export CONFIG_DOCSIS_MODEM="y"
export CONFIG_DSL="n"
export CONFIG_DSL_2DP="n"
export CONFIG_DSL_BONDING="n"
export CONFIG_DSL_MULTI_ANNEX="n"
export CONFIG_DSL_RTL8685SB="n"
export CONFIG_DSL_VRX518="n"
export CONFIG_DSL_VRX619="n"
export CONFIG_ECO="y"
export CONFIG_ECO_SYSSTAT="y"
export CONFIG_ERR_FEEDBACK="y"
export CONFIG_ETH_COUNT="5"
export CONFIG_ETH_GBIT="y"
export CONFIG_EXT2="y"
export CONFIG_FAX2MAIL="y"
export CONFIG_FAXSUPPORT="y"
export CONFIG_FIBER="n"
export CONFIG_FON="y"
export CONFIG_FONBOOK2="y"
export CONFIG_FONQUALITY="y"
export CONFIG_FON_HD="y"
export CONFIG_FON_IPPHONE="y"
export CONFIG_FTP="y"
export CONFIG_HAS_COMPANION="y"
export CONFIG_HOME_AUTO="y"
export CONFIG_HOSTNAME="fritz.box"
export CONFIG_IGD="y"
export CONFIG_IPV6="y"
export CONFIG_IS_COMPANION="n"
export CONFIG_JFFS2="n"
export CONFIG_KIDS="y"
export CONFIG_LED_DIMM="n"
export CONFIG_LED_DIMM_AUTO="n"
export CONFIG_LINEARTV="y"
export CONFIG_LTE="n"
export CONFIG_LUA="y"
export CONFIG_MAILER2="y"
export CONFIG_MATTER="n"
export CONFIG_MEDIASRV="y"
export CONFIG_MOVED="y"
export CONFIG_MTD_MAIL="y"
export CONFIG_MTD_RSS="y"
export CONFIG_MULTI_COUNTRY="y"
export CONFIG_MULTI_COUNTRY_ASK="y"
export CONFIG_MULTI_LANGUAGE="y"
export CONFIG_MULTI_LANGUAGE_ASK="y"
export CONFIG_MYFRITZ="y"
export CONFIG_NAND="y"
export CONFIG_NAS="y"
export CONFIG_NQOS="y"
export CONFIG_OEM_DEFAULT="avm"
export CONFIG_ONLINEHELP="y"
export CONFIG_ONLINEPB="y"
export CONFIG_PLC="n"
export CONFIG_PLC_DETECTION="y"
export CONFIG_PRODUKT="Fritz_Box_HW284x"
export CONFIG_PRODUKT_NAME="FRITZ!Box 6670 Cable"
export CONFIG_PROV_DEFAULT="n"
export CONFIG_REMOTE_HTTPS="y"
export CONFIG_RETAIL="y"
export CONFIG_SAMBA="y"
export CONFIG_SESSIONID="y"
export CONFIG_SILENT_UPDATE="n"
export CONFIG_SPEECH_FEEDBACK="y"
export CONFIG_SQLITE="y"
export CONFIG_STOREUSRCFG="y"
export CONFIG_SWAP="y"
export CONFIG_T38="y"
export CONFIG_TAM="y"
export CONFIG_TAM_MODE="1"
export CONFIG_TIMERCONTROL="y"
export CONFIG_TR064="y"
export CONFIG_TR069="y"
export CONFIG_UDEV="y"
export CONFIG_UPNP="y"
export CONFIG_USB_GSM="y"
export CONFIG_USB_GSM_VOICE="y"
export CONFIG_USB_HOST="y"
export CONFIG_USB_LTE="n"
export CONFIG_USB_PRINT_SERV="y"
export CONFIG_USB_STORAGE="y"
export CONFIG_USB_STORAGE_SPINDOWN="y"
export CONFIG_USB_WLAN_AUTH="y"
export CONFIG_USB_XHCI="n"
export CONFIG_UTF8="y"
export CONFIG_VDSL="n"
export CONFIG_VOL_COUNTER="y"
export CONFIG_VPN="y"
export CONFIG_WEBCM_INTERPRETER="y"
export CONFIG_WEBDAV="y"
export CONFIG_WEBSRV="y"
export CONFIG_WLAN="y"
export CONFIG_WLAN_GUEST="y"
export CONFIG_WLAN_HOTSPOT="y"
export CONFIG_WLAN_WDS3="n"
export CONFIG_ZIGBEE="y"
##########################################################################################
## Box spezifische Konfiguration (aus Produkt.init)
##########################################################################################
export CONFIG_INSTALL_TYPE="none_57450"
export CONFIG_VERSION="08.40"
export CONFIG_SUBVERSION="-133295"
export CONFIG_VERSION_MAJOR="284"
export CONFIG_ROMSIZE="0-sflash_size=2MB-emmc_size=2048MB"
CONFIG_RAMSIZE="$(grep MemTotal /proc/meminfo | sed -e 's/MemTotal:[[:space:]]*//' -e 's/ kB//')"
CONFIG_RAMSIZE="$((CONFIG_RAMSIZE / 1024))"
export CONFIG_RAMSIZE
export CONFIG_BUILDTYPE="1000"
export CONFIG_BUILDNUMBER="133295"
##########################################################################################
## OEM spezifische Konfiguration
##########################################################################################
##########################################################################################
## CONFIG_MULTI_COUNTRY_ASK - preset from urlader-env overwrites always CONFIG_ from above
##########################################################################################
if [ "${preCountryAsk_param}" = "y" ] ; then export CONFIG_MULTI_COUNTRY_ASK="y"; fi
if [ "${preCountryAsk_param}" = "n" ] ; then export CONFIG_MULTI_COUNTRY_ASK="n"; fi
##########################################################################################
## CONFIG_MULTI_LANGUAGE_ASK - preset from urlader-env overwrites always CONFIG_ from above
##########################################################################################
if [ "${preLanguageAsk_param}" = "y" ] ; then export CONFIG_MULTI_LANGUAGE_ASK="y"; fi
if [ "${preLanguageAsk_param}" = "n" ] ; then export CONFIG_MULTI_LANGUAGE_ASK="n"; fi
##########################################################################################
## retail
##########################################################################################
if [ "$CONFIG_RETAIL" = "y" ] ; then
testretail=$(grep ^DMC "${CONFIG_ENVIRONMENT}" | cut -f2)
for i in $(echo "${testretail}" | tr ',' ' ') ; do
case "$i" in
RTL=y) export CONFIG_RETAIL="y"; break; ;;
RTL=n) export CONFIG_RETAIL="n"; break; ;;
esac;
done
fi
##########################################################################################
## Webguipass
##########################################################################################
if [ -n "$(grep ^webgui_pass "${CONFIG_ENVIRONMENT}" | cut -f2)" ]; then
export CONFIG_WEBGUI_PASS="y"
else
export CONFIG_WEBGUI_PASS="n"
fi
##########################################################################################
## Hardwareabhaenge Parameter
##########################################################################################
if [ "$HWRevision_ATA" = "1" ] ; then
export enable_ata=1
else
export enable_ata=0
export CONFIG_ATA="n"
export CONFIG_ATA_FULL="n"
fi
if [ -f /etc/init.d/rc.errata.sh ] ; then
. /etc/init.d/rc.errata.sh
fi
##########################################################################################
## Boxspezifische defaults setzen
##########################################################################################
if [ ! -L /var/default ] ; then
ln -s "/etc/default.$CONFIG_PRODUKT" /var/default
fi
if [ -n "${CONFIG_AVMIPC_REMOTE_IP}" ] ; then
AVMIPC_REMOTE_IP="${CONFIG_AVMIPC_REMOTE_IP}"
export AVMIPC_REMOTE_IP
fi
if [ -n "${CONFIG_AVMIPC_LOCAL_IP}" ] ; then
AVMIPC_LOCAL_IP="${CONFIG_AVMIPC_LOCAL_IP}"
export AVMIPC_LOCAL_IP
fi
##########################################################################################
## Time Zone
##########################################################################################
MANUAL_TZ_ENABLED="$(echo timezone_manual.enabled | ar7cfgctl -s 2>/dev/null)"
if [ "$MANUAL_TZ_ENABLED" = "yes" ]; then
TZ="$(echo timezone_manual.TZ_string | ar7cfgctl -s 2>/dev/null | tr -d '"')"
export TZ
echo "$TZ" > /var/TZ
else
if [ -n "$(echo timezone_manual.country_timezone | ar7cfgctl -s | tr -d '"')" ]; then
ln -f -s "/etc/default.$Country/TZ_ext/$(echo timezone_manual.country_timezone | ar7cfgctl -s | tr -d '"')/TZ" /var/TZ
else
if [ -f "/etc/default.$Country/TZ_ext/.default/TZ" ]; then
ln -f -s "/etc/default.$Country/TZ_ext/.default/TZ" /var/TZ
else
ln -f -s "/etc/default.$Country/TZ" /var/TZ
fi
fi
fi
##########################################################################################
## Country Iso
##########################################################################################
rm -f /var/Country_iso
if [ -f "/etc/default.$Country/Country_iso" ] ; then
ln -s "/etc/default.$Country/Country_iso" /var/Country_iso
export Country_iso=$(cat /etc/Country_iso)
fi
##########################################################################################
## ovl
##########################################################################################
if ! checkempty /var/flash/featovl.cfg 2>/dev/null ; then
if [ -x /bin/boxfeaturedisable ] ; then
/bin/boxfeaturedisable --check "$(cat /var/flash/featovl.cfg)" &>/dev/null
for featovl in $(grep "^CONFIG_[a-zA-Z0-9_]*=[a-zA-Z0-9]\+$" /var/flash/featovl.cfg); do
export "${featovl}"
done
fi
fi