From 539b52068a079801fe0955f7cf5f39e536a08803 Mon Sep 17 00:00:00 2001 From: Martin Schiller Date: Wed, 21 Aug 2019 09:10:46 +0200 Subject: [PATCH] ipq40xx: add DSL support for FritzBox 7530 Set up MAC, LED, settings and default packages for DSL usage, similar to the lantiq target. Due to licensing uncertainty, we do not include the firmware files for the DSL drivers. To have a working DSL setup, follow the instructions below. Download the firmware files locally: mkdir -p files/lib/firmware/09a9 wget -P files/lib/firmware/09a9 https://gitlab.com/prpl-foundation/intel/vrx518_aca_fw/-/raw/ugw-8.5.2/platform/xrx500/aca_fw.bin wget -P files/lib/firmware https://gitlab.com/prpl-foundation/intel/vrx518_ppe_fw/-/raw/ugw_8.5.2.10/platform/xrx500/ppe_fw.bin wget -P files/lib/firmware https://gitlab.com/prpl-foundation/intel/dsl_vr11_firmware_xdsl/-/raw/ugw-8.5.2/xcpe_8D1507_8D0901.bin ln -s xcpe_8D1507_8D0901.bin files/lib/firmware/vdsl.bin For people building their own images: Run the above commands in the root of your local OpenWrt clone, and the firmware files will be part of the resulting images. For people downloading images: Copy the firmware files onto the router once it's booted up: scp -O -r files/lib/firmware root@fritz:/lib Reboot the device afterwards. Signed-off-by: Martin Schiller [cleaned up] Signed-off-by: Andre Heider [set up LED] Signed-off-by: Jan Hoffmann Signed-off-by: Andre Heider --- .../ipq40xx/base-files/etc/board.d/01_leds | 9 ++++--- .../ipq40xx/base-files/etc/board.d/02_network | 25 +++++++++++++++++++ .../boot/dts/qcom-ipq4019-fritzbox-7530.dts | 4 +-- target/linux/ipq40xx/image/generic.mk | 2 +- 4 files changed, 34 insertions(+), 6 deletions(-) diff --git a/target/linux/ipq40xx/base-files/etc/board.d/01_leds b/target/linux/ipq40xx/base-files/etc/board.d/01_leds index 2bcbd95482..3ba130cc90 100644 --- a/target/linux/ipq40xx/base-files/etc/board.d/01_leds +++ b/target/linux/ipq40xx/base-files/etc/board.d/01_leds @@ -28,9 +28,8 @@ avm,fritzbox-4040) ucidef_set_led_netdev "wan" "WAN" "green:wan" "wan" ucidef_set_led_switch "lan" "LAN" "green:lan" "switch0" "0x1e" ;; -avm,fritzbox-7530 |\ -glinet,gl-b1300 |\ -mikrotik,lhgg-60ad) +avm,fritzbox-7530) + ucidef_set_led_netdev "dsl" "DSL" "green:info" "dsl0" ucidef_set_led_wlan "wlan" "WLAN" "green:wlan" "phy0tpt" ;; edgecore,oap100) @@ -56,6 +55,10 @@ engenius,ens620ext) glinet,gl-ap1300) ucidef_set_led_netdev "wan" "WAN" "green:wan" "eth1" ;; +glinet,gl-b1300 |\ +mikrotik,lhgg-60ad) + ucidef_set_led_wlan "wlan" "WLAN" "green:wlan" "phy0tpt" + ;; mikrotik,cap-ac) ucidef_set_led_default "power" "POWER" "blue:power" "1" ucidef_set_led_default "user" "USER" "green:user" "0" diff --git a/target/linux/ipq40xx/base-files/etc/board.d/02_network b/target/linux/ipq40xx/base-files/etc/board.d/02_network index ced26b9dd3..7d4806b605 100644 --- a/target/linux/ipq40xx/base-files/etc/board.d/02_network +++ b/target/linux/ipq40xx/base-files/etc/board.d/02_network @@ -98,6 +98,26 @@ ipq40xx_setup_interfaces() esac } +ipq40xx_setup_dsl() +{ + local board="$1" + local annex="j" + local tone="b" + local xfer_mode="" + + case "$board" in + avm,fritzbox-7530) + ;; + *) + return 0 + ;; + esac + + ucidef_add_atm_bridge "1" "32" "llc" "bridged" "dsl" + ucidef_add_vdsl_modem "$annex" "$tone" "$xfer_mode" + ucidef_set_interface_wan "dsl0" "pppoe" +} + ipq40xx_setup_macs() { local board="$1" @@ -117,6 +137,10 @@ ipq40xx_setup_macs() lan_mac=$(mtd_get_mac_binary_ubi Factory 0x5006) label_mac=$wan_mac ;; + avm,fritzbox-7530) + local tffsdev=$(find_mtd_chardev "nand-tffs") + wan_mac=$(/usr/bin/fritz_tffs_nand -b -d $tffsdev -n macdsl) + ;; cilab,meshpoint-one) label_mac=$(mtd_get_mac_binary "ART" 0x1006) ;; @@ -185,6 +209,7 @@ ipq40xx_setup_macs() board_config_update board=$(board_name) ipq40xx_setup_interfaces $board +ipq40xx_setup_dsl $board ipq40xx_setup_macs $board board_config_flush diff --git a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-fritzbox-7530.dts b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-fritzbox-7530.dts index 71166231a9..336da52f27 100644 --- a/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-fritzbox-7530.dts +++ b/target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4019-fritzbox-7530.dts @@ -17,7 +17,7 @@ led-boot = &power_green; led-failsafe = &info_red; led-running = &power_green; - led-upgrade = &info_green; + led-upgrade = &info_red; }; soc { @@ -96,7 +96,7 @@ gpios = <&tlmm 32 GPIO_ACTIVE_LOW>; }; - info_green: info { + info { label = "green:info"; gpios = <&tlmm 33 GPIO_ACTIVE_LOW>; }; diff --git a/target/linux/ipq40xx/image/generic.mk b/target/linux/ipq40xx/image/generic.mk index dcf0cb20aa..deec544f65 100644 --- a/target/linux/ipq40xx/image/generic.mk +++ b/target/linux/ipq40xx/image/generic.mk @@ -274,7 +274,7 @@ define Device/avm_fritzbox-7530 DEVICE_ALT0_VENDOR := AVM DEVICE_ALT0_MODEL := FRITZ!Box 7520 SOC := qcom-ipq4019 - DEVICE_PACKAGES := fritz-caldata fritz-tffs-nand + DEVICE_PACKAGES := fritz-caldata fritz-tffs-nand ltq-vdsl-vr11-app endef TARGET_DEVICES += avm_fritzbox-7530 -- 2.30.2