icwmp/scripts/functions/device_info
2015-06-17 15:23:30 +01:00

88 lines
3.4 KiB
Bash

#!/bin/sh
# Copyright (C) 2011-2012 Luka Perkov <freecwmp@lukaperkov.net>
# Copyright (C) 2013 Inteno Broadband Technology AB
# Author Ahmed Zribi <ahmed.zribi@pivasoftware.com>
# Author Mohamed Kallel <mohamed.kallel@pivasoftware.com>
prefix_list="$prefix_list InternetGatewayDevice.DeviceInfo."
get_device_manufactureroui() {
local val=""
val=`cat /proc/nvram/BaseMacAddr | awk '{ print \$1\$2\$3}' 2> /dev/null`
echo "$val"
}
get_device_info_hardware_version() {
local val=""
local dslAnnex=""
dslAnnex=`cat /proc/nvram/dslAnnex 2> /dev/null`
val=`cat /etc/iop_version | cut -d'-' -f1 | sed s/$/"$dslAnnex"/ 2> /dev/null`
echo "$val"
}
get_device_info_uptime() {
local val=""
val=`cat /proc/uptime | cut -f1 -d'.'`
echo "$val"
}
get_base_mac_addr() {
json_load "$(ubus call router info)"
json_select system
local mac
json_get_var mac basemac
echo "$mac"
}
get_catv_enabled () {
local val=""
val=`$UCI_GET catv.catv.enable`
case "$val" in
on) echo 1;;
off) echo 0;;
esac
}
set_catv_enabled () {
local val="$1"
local stat=""
case "$val" in
1) stat="on";;
0) stat="off";;
esac
$UCI_SET catv.catv.enable="$stat"
delay_service restart "catv" "1"
}
get_cache_InternetGatewayDevice_DeviceInfo() {
get_object_cache_generic "InternetGatewayDevice.DeviceInfo." "0" "0"
get_param_cache_generic "InternetGatewayDevice.DeviceInfo.Manufacturer" "0" "\$UCI_GET cwmp.cpe.manufacturer" "" "" "cwmp.cpe.manufacturer" "" "" "1"
get_param_cache_generic "InternetGatewayDevice.DeviceInfo.ManufacturerOUI" "0" "get_device_manufactureroui" "" "" "" "" "" "1"
get_param_cache_generic "InternetGatewayDevice.DeviceInfo.ModelName" "0" "db get hw.board.routerModel" "" "" "" "" "" "1"
get_param_cache_generic "InternetGatewayDevice.DeviceInfo.ProductClass" "0" "db get hw.board.iopVersion | cut -d'_' -f1" "" "" "" "" "" "1"
get_param_cache_generic "InternetGatewayDevice.DeviceInfo.SerialNumber" "0" "db get hw.board.serialNumber" "" "" "" "" "" "1"
get_param_cache_generic "InternetGatewayDevice.DeviceInfo.HardwareVersion" "0" "db get hw.board.hardwareVersion" "" "" "" "" "" "1"
get_param_cache_generic "InternetGatewayDevice.DeviceInfo.SoftwareVersion" "0" "db get hw.board.iopVersion | cut -d'_' -f2" "" "" "" "" "0" "1" "2"
get_param_cache_generic "InternetGatewayDevice.DeviceInfo.UpTime" "0" "get_device_info_uptime" "" "1" "" "xsd:unsignedInt"
get_param_cache_generic "InternetGatewayDevice.DeviceInfo.DeviceLog" "0" "dmesg | tail -n5" "" "1"
get_param_cache_generic "InternetGatewayDevice.DeviceInfo.SpecVersion" "0" "freecwmp_get_parameter_value \$param" "" "" "" "" "" "1"
get_param_cache_generic "InternetGatewayDevice.DeviceInfo.ProvisioningCode" "1" "freecwmp_get_parameter_value \$param" "freecwmp_set_parameter_value \$param \$val" "" "cwmp.cpe.provisioning_code" "" "0" "1" "2"
get_param_cache_generic "InternetGatewayDevice.DeviceInfo.X_INTENO_SE_BaseMacAddr" "0" "get_base_mac_addr"
get_param_cache_generic "InternetGatewayDevice.DeviceInfo.X_INTENO_SE_CATVEnabled" "1" "get_catv_enabled" "set_catv_enabled \$val"
}
get_dynamic_InternetGatewayDevice_DeviceInfo() {
return $FAULT_CPE_NO_FAULT
}
get_dynamic_linker_InternetGatewayDevice_DeviceInfo() {
return $FAULT_CPE_NO_FAULT
}
add_object_InternetGatewayDevice_DeviceInfo() {
return $FAULT_CPE_INVALID_PARAMETER_NAME
}
delete_object_InternetGatewayDevice_DeviceInfo() {
return $FAULT_CPE_INVALID_PARAMETER_NAME
}