aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux
diff options
context:
space:
mode:
authorGabor Juhos <juhosg@openwrt.org>2012-10-18 07:23:03 +0000
committerGabor Juhos <juhosg@openwrt.org>2012-10-18 07:23:03 +0000
commit06edafd079348f84ce58807f70c1cff428a18934 (patch)
tree0c79c0dad8e3320520bb14f6b14536afd5ae38b7 /target/linux
parentd1a253a2fdc0afce1998e82dacece9a26dbe569e (diff)
downloadupstream-06edafd079348f84ce58807f70c1cff428a18934.tar.gz
upstream-06edafd079348f84ce58807f70c1cff428a18934.tar.bz2
upstream-06edafd079348f84ce58807f70c1cff428a18934.zip
ramips: add user space support for the DIR-645
Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 33844
Diffstat (limited to 'target/linux')
-rwxr-xr-xtarget/linux/ramips/base-files/etc/diag.sh3
-rwxr-xr-xtarget/linux/ramips/base-files/etc/uci-defaults/fixseama20
-rwxr-xr-xtarget/linux/ramips/base-files/etc/uci-defaults/network12
-rw-r--r--target/linux/ramips/base-files/lib/preinit/06_set_iface_mac5
-rwxr-xr-xtarget/linux/ramips/base-files/lib/ramips.sh3
-rwxr-xr-xtarget/linux/ramips/base-files/lib/upgrade/platform.sh7
6 files changed, 50 insertions, 0 deletions
diff --git a/target/linux/ramips/base-files/etc/diag.sh b/target/linux/ramips/base-files/etc/diag.sh
index 4720130252..5fad72815f 100755
--- a/target/linux/ramips/base-files/etc/diag.sh
+++ b/target/linux/ramips/base-files/etc/diag.sh
@@ -39,6 +39,9 @@ get_status_led() {
dir-300-b1 | dir-600-b1 | dir-600-b2 | dir-615-h1 | dir-620-a1)
status_led="d-link:green:status"
;;
+ dir-645)
+ status_led="d-link:green:wps"
+ ;;
dap-1350)
status_led="d-link:blue:power"
;;
diff --git a/target/linux/ramips/base-files/etc/uci-defaults/fixseama b/target/linux/ramips/base-files/etc/uci-defaults/fixseama
new file mode 100755
index 0000000000..d8bed79514
--- /dev/null
+++ b/target/linux/ramips/base-files/etc/uci-defaults/fixseama
@@ -0,0 +1,20 @@
+#!/bin/sh
+#
+# Copyright (C) 2012 OpenWrt.org
+#
+
+. /lib/ramips.sh
+
+fix_seama_header() {
+ local part=$1
+
+ mtd fixseama $part
+}
+
+board=$(ramips_board_name)
+
+case "$board" in
+dir-645)
+ fix_seama_header kernel
+ ;;
+esac
diff --git a/target/linux/ramips/base-files/etc/uci-defaults/network b/target/linux/ramips/base-files/etc/uci-defaults/network
index bbb02e8627..de33acb449 100755
--- a/target/linux/ramips/base-files/etc/uci-defaults/network
+++ b/target/linux/ramips/base-files/etc/uci-defaults/network
@@ -63,6 +63,13 @@ ramips_setup_interfaces()
ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
;;
+ dir-645)
+ ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
+ ucidef_add_switch "switch0" "1" "1"
+ ucidef_add_switch_vlan "switch0" "1" "1 2 3 4 6t"
+ ucidef_add_switch_vlan "switch0" "2" "0 6t"
+ ;;
+
f5d8235-v1 | \
f5d8235-v2 | \
ur-336un)
@@ -159,6 +166,11 @@ ramips_setup_macs()
wan_mac=$(/usr/sbin/maccalc add "$lan_mac" 1)
;;
+ dir-645)
+ lan_mac=$(ramips_get_mac_nvram nvram lanmac)
+ wan_mac=$(ramips_get_mac_nvram nvram wanmac)
+ ;;
+
esr-9753 | \
ur-336un)
lan_mac=$(ramips_get_mac_binary devdata 16388)
diff --git a/target/linux/ramips/base-files/lib/preinit/06_set_iface_mac b/target/linux/ramips/base-files/lib/preinit/06_set_iface_mac
index 591c549d14..0ff21892d6 100644
--- a/target/linux/ramips/base-files/lib/preinit/06_set_iface_mac
+++ b/target/linux/ramips/base-files/lib/preinit/06_set_iface_mac
@@ -30,6 +30,11 @@ preinit_set_mac_address() {
mac=$(ramips_get_mac_binary devdata 16388)
ifconfig eth0 hw ether $mac 2>/dev/null
;;
+ dir-645)
+ mac=$(ramips_get_mac_nvram nvram lanmac)
+ mac=$(maccalc or "$mac" "02:00:00:00:00:00")
+ ifconfig eth0 hw ether $mac 2>/dev/null
+ ;;
dap-1350)
mac=$(ramips_get_mac_binary devdata 46)
ifconfig eth0 hw ether $mac 2>/dev/null
diff --git a/target/linux/ramips/base-files/lib/ramips.sh b/target/linux/ramips/base-files/lib/ramips.sh
index 90c28b7ab6..90afa49bb4 100755
--- a/target/linux/ramips/base-files/lib/ramips.sh
+++ b/target/linux/ramips/base-files/lib/ramips.sh
@@ -92,6 +92,9 @@ ramips_board_name() {
*"DIR-615 H1")
name="dir-615-h1"
;;
+ *"DIR-645")
+ name="dir-645"
+ ;;
*"DAP-1350")
name="dap-1350"
;;
diff --git a/target/linux/ramips/base-files/lib/upgrade/platform.sh b/target/linux/ramips/base-files/lib/upgrade/platform.sh
index 2857599d0b..ba04a4a4aa 100755
--- a/target/linux/ramips/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ramips/base-files/lib/upgrade/platform.sh
@@ -57,6 +57,13 @@ platform_check_image() {
}
return 0
;;
+ dir-645)
+ [ "$magic" != "5ea3a417" ] && {
+ echo "Invalid image type."
+ return 1
+ }
+ return 0
+ ;;
esac
echo "Sysupgrade is not yet supported on $board."