openwrtv4/target/linux/lantiq/base-files/etc/board.d/02_network
Mathias Kresin 0e34459e6b lantiq: use BT HomeHub 5 Type A OEM partition layout
This way the on nand bad block table is preserved and used. Add support
for nand OOB ECC checksums as well. It should fix all reported ubi
errors, which were all related to bad nand blocks and a purged on nand
bad block table.

The existing ubi partition will be reused, which eliminates the need
to touch the caldata during initial install. The BT u-boot has support
for loading a kernel from an ubi volume. It isn't necessary any longer
to replace the BT u-boot with a custom compiled one to use LEDE.

It is required to restore the BT Firmware and install LEDE from scratch
to switch to the new partition layout.

An image for restoring the BT firmware and installing LEDE is provided
at https://github.com/mkresin/lede/releases.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-11-29 21:40:16 +01:00

187 lines
4.1 KiB
Bash
Executable file

#!/bin/sh
#
# Copyright (C) 2011-2015 OpenWrt.org
#
. /lib/functions/uci-defaults.sh
. /lib/functions/system.sh
. /lib/functions/lantiq.sh
board_config_update
vpi=1
vci=32
annex="a"
encaps="llc"
payload="bridged"
lan_mac=""
wan_mac=""
interface_wan=""
board=$(lantiq_board_name)
case "$board" in
ACMP252|GIGASX76X)
ucidef_add_switch "switch0" \
"1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "5t@eth0"
;;
ARV4510PW)
lan_mac=$(mtd_get_mac_ascii uboot_env ethaddr)
wan_mac=$(macaddr_add "$lan_mac" 1)
ucidef_add_switch "switch0" \
"0:lan:4" "2:lan:2" "1:lan:3" "3:lan:1" "5t@eth0"
;;
ARV4519PW|ARV7510PW22|ARV7518PW|ARV752DPW22|ARV8539PW22)
ucidef_add_switch "switch0" \
"0t@eth0" "2:lan" "3:lan" "4:lan" "5:lan"
;;
ARV4520PW)
ucidef_add_switch "switch0" \
"0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "5t@eth0"
;;
ARV7506PW11)
wan_mac=$(macaddr_add "$(mtd_get_mac_binary board_config 22)" 2)
ucidef_add_switch "switch0" \
"1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "5t@eth0"
;;
ARV7519PW)
wan_mac=$(macaddr_add "$(mtd_get_mac_binary board_config 22)" 1)
ucidef_add_switch "switch0" \
"0:lan" "1:lan" "2:lan" "3:lan" "4t@eth0"
;;
ARV7519RW22)
wan_mac=$(macaddr_add "$(mtd_get_mac_binary boardconfig 22)" 1)
ucidef_add_switch "switch0" \
"0:lan" "2:lan" "3:lan" "4:lan" "5:lan" "6t@eth0"
;;
BTHOMEHUBV2B)
lan_mac=$(mtd_get_mac_ascii uboot_env ethaddr)
wan_mac=$(macaddr_add "$lan_mac" 1)
ucidef_add_switch "switch0" \
"1:lan" "2:lan" "3:lan" "4:lan" "5t@eth0"
;;
BTHOMEHUBV3A)
lan_mac=$(mtd_get_mac_ascii uboot_env ethaddr)
wan_mac=$(macaddr_add "$lan_mac" 1)
ucidef_set_interface_lan 'eth0'
;;
BTHOMEHUBV5A)
lan_mac=$(mtd_get_mac_binary_ubi caldata 4364)
wan_mac=$(macaddr_add "$lan_mac" 1)
ucidef_add_switch "switch0" \
"0:lan:3" "1:lan:4" "2:lan:2" "4:lan:1" "6t@eth0"
;;
DGN3500*)
ucidef_add_switch "switch0" \
"0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "5t@eth0"
;;
EASY80920NAND|EASY80920NOR)
lan_mac=$(mtd_get_mac_ascii uboot_env ethaddr)
wan_mac=$(macaddr_add "$lan_mac" 1)
ucidef_add_switch "switch0" \
"0:lan:4" "1:lan:3" "2:lan:2" "4:lan:1" "5:wan:5" "6t@eth0"
;;
FRITZ7360SL)
ucidef_add_switch "switch0" \
"0:lan:3" "1:lan:4" "2:lan:2" "4:lan:1" "6t@eth0"
;;
H201L)
ucidef_add_switch "switch0" \
"0:lan" "1:lan" "2:lan" "3:lan" "4t@eth0"
;;
P2601HNFX)
ucidef_add_switch "switch0" \
"0:lan" "1:lan" "2:lan" "3:lan" "5t@eth0"
;;
P2812HNUF*)
lan_mac=$(mtd_get_mac_ascii uboot-env ethaddr)
wan_mac=$(macaddr_add "$lan_mac" 1)
ucidef_add_switch "switch0" \
"0:lan" "1:lan" "2:lan" "4:lan" "5:lan" "6t@eth0"
;;
TDW8970|TDW8980)
wan_mac=$(macaddr_add "$(mtd_get_mac_binary boardconfig 61696)" 1)
ucidef_add_switch "switch0" \
"0:lan:2" "2:lan:3" "4:lan:4" "5:lan:1" "6t@eth0"
;;
VG3503J)
lan_mac=$(mtd_get_mac_ascii uboot-env ethaddr)
wan_mac=$(macaddr_add "$lan_mac" 1)
ucidef_add_switch "switch0" \
"2:lan:1" "4:lan:2" "6t@eth0"
;;
VR200v)
wan_mac=$(macaddr_add "$(mtd_get_mac_binary romfile 61696)" 1)
ucidef_add_switch "switch0" \
"0:lan" "2:lan" "4:lan" "5:lan" "6t@eth0"
;;
VGV7510KW22)
wan_mac=$(macaddr_add "$(mtd_get_mac_binary board_config 22)" 2)
ucidef_add_switch "switch0" \
"2:lan:2" "3:lan:1" "4:lan:4" "5:lan:3" "6t@eth0"
;;
VGV7519)
wan_mac=$(mtd_get_mac_binary board_config 22)
ucidef_add_switch "switch0" \
"0:lan:4" "1:lan:3" "2:lan:2" "4:lan:1" "6t@eth0"
;;
WBMR)
ucidef_add_switch "switch0" \
"0t@eth0" "2:lan" "3:lan" "4:lan" "5:lan"
;;
WBMR300)
lan_mac=$(mtd_get_mac_ascii ubootconfig ethaddr)
wan_mac="$lan_mac"
ucidef_add_switch "switch0" \
"5:lan:2" "2:lan:3" "3:lan:4" "4:wan:1" "6t@eth0"
;;
*)
ucidef_set_interface_lan 'eth0'
;;
esac
if [ -n "$(ls /lib/modules/`uname -r`/ltq_atm*)" ]; then
ucidef_add_atm_bridge "$vpi" "$vci" "$encaps" "$payload"
fi
if grep -qE "system type.*: (VR9|xRX200)" /proc/cpuinfo; then
interface_wan="ptm0"
ucidef_add_vdsl_modem "$annex" "av" "ptm"
else
interface_wan="nas0"
ucidef_add_adsl_modem "$annex" "/lib/firmware/adsl.bin"
fi
ucidef_set_interface_wan "$interface_wan" "pppoe"
[ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" "$lan_mac"
[ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" "$wan_mac"
board_config_flush
exit 0