aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>2012-10-19 19:44:37 +0000
committerjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>2012-10-19 19:44:37 +0000
commit2ff89c28473c2fabfe3faa11282e623ac20f0bce (patch)
treec9420c4aef0888a6f5a662e7a106a1d44bea4018
parentc9eaff156a0ed7aeb827ec1ebaf22dcbde8cf117 (diff)
downloadopenwrt-2ff89c28473c2fabfe3faa11282e623ac20f0bce.tar.gz
openwrt-2ff89c28473c2fabfe3faa11282e623ac20f0bce.zip
AA: ramips: add user space support for the DIR-645
Backport of r33844. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/branches/attitude_adjustment@33873 3c298f89-4303-0410-b956-a3cf2f4a3e73
-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 472013025..5fad72815 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 000000000..d8bed7951
--- /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 bbb02e862..de33acb44 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 591c549d1..0ff21892d 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 90c28b7ab..90afa49bb 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 2857599d0..ba04a4a4a 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."