summaryrefslogtreecommitdiffstats
path: root/target/linux/lantiq/base-files
diff options
context:
space:
mode:
authorJohn Crispin <john@openwrt.org>2016-01-01 21:19:27 +0000
committerJohn Crispin <john@openwrt.org>2016-01-01 21:19:27 +0000
commita9896bf1064840747ca004c1ed777b6f23e0da9e (patch)
tree068c719bf9bb3e86ee5116f85d649bead9e16c6d /target/linux/lantiq/base-files
parent436fdee2725704063f10bce698821d1185ca58ec (diff)
downloadmaster-31e0f0ae-a9896bf1064840747ca004c1ed777b6f23e0da9e.tar.gz
master-31e0f0ae-a9896bf1064840747ca004c1ed777b6f23e0da9e.tar.bz2
master-31e0f0ae-a9896bf1064840747ca004c1ed777b6f23e0da9e.zip
lantiq: convert vendorid into human readable form
Signed-off-by: Mathias Kresin <openwrt@kresin.me> SVN-Revision: 48046
Diffstat (limited to 'target/linux/lantiq/base-files')
-rwxr-xr-xtarget/linux/lantiq/base-files/lib/functions/lantiq_dsl.sh67
1 files changed, 67 insertions, 0 deletions
diff --git a/target/linux/lantiq/base-files/lib/functions/lantiq_dsl.sh b/target/linux/lantiq/base-files/lib/functions/lantiq_dsl.sh
index ec035df374..a2723f38f8 100755
--- a/target/linux/lantiq/base-files/lib/functions/lantiq_dsl.sh
+++ b/target/linux/lantiq/base-files/lib/functions/lantiq_dsl.sh
@@ -65,6 +65,70 @@ scale_latency() {
}
#
+# convert vendorid into human readable form
+#
+parse_vendorid() {
+ local val=$1
+ local name
+ local version
+
+ case "$val" in
+ B5,00,41,4C,43,42*)
+ name="Alcatel"
+ version=${val##*B5,00,41,4C,43,42,}
+ ;;
+ B5,00,41,4E,44,56*)
+ name="Analog Devices"
+ version=${val##*B5,00,41,4E,44,56,}
+ ;;
+ B5,00,42,44,43,4D*)
+ name="Broadcom"
+ version=${val##*B5,00,42,44,43,4D,}
+ ;;
+ B5,00,43,45,4E,54*)
+ name="Centillium"
+ version=${val##*B5,00,43,45,4E,54,}
+ ;;
+ B5,00,47,53,50,4E*)
+ name="Globespan"
+ version=${val##*B5,00,47,53,50,4E,}
+ ;;
+ B5,00,49,4B,4E,53*)
+ name="Ikanos"
+ version=${val##*B5,00,49,4B,4E,53,}
+ ;;
+ B5,00,49,46,54,4E*)
+ name="Infineon"
+ version=${val##*B5,00,49,46,54,4E,}
+ ;;
+ B5,00,54,53,54,43*)
+ name="Texas Instruments"
+ version=${val##*B5,00,54,53,54,43,}
+ ;;
+ B5,00,54,4D,4D,42*)
+ name="Thomson MultiMedia Broadband"
+ version=${val##*B5,00,54,4D,4D,42,}
+ ;;
+ B5,00,54,43,54,4E*)
+ name="Trend Chip Technologies"
+ version=${val##*B5,00,54,43,54,4E,}
+ ;;
+ B5,00,53,54,4D,49*)
+ name="ST Micro"
+ version=${val##*B5,00,53,54,4D,49,}
+ ;;
+ esac
+
+ [ -n "$name" ] && {
+ val="$name"
+
+ [ "$version" != "00,00" ] && val="$(printf "%s %d.%d" "$val" 0x${version//,/ 0x})"
+ }
+
+ echo "$val"
+}
+
+#
# Read the data rates for both directions
#
data_rates() {
@@ -133,6 +197,9 @@ vendor() {
vid=$(dsl_string "$lig" G994VendorID)
svid=$(dsl_string "$lig" SystemVendorID)
+ vid=$(parse_vendorid $vid)
+ svid=$(parse_vendorid $svid)
+
if [ "$action" = "lucistat" ]; then
echo "dsl.atuc_vendor_id=\"${vid}\""
echo "dsl.atuc_system_vendor_id=\"${svid}\""