[OpenWrt-Devel] [PATCH v2] ath79/nand: add support for Netgear WNDR4300 SW
mail at adrianschmutzler.de
mail at adrianschmutzler.de
Fri May 22 14:17:20 EDT 2020
Hi,
this starts with some nitpicks, and becomes more important closer to the end:
> -----Original Message-----
> From: openwrt-devel [mailto:openwrt-devel-bounces at lists.openwrt.org]
> On Behalf Of Stijn Segers
> Sent: Freitag, 22. Mai 2020 19:48
> To: openwrt-devel at lists.openwrt.org
> Subject: [OpenWrt-Devel] [PATCH v2] ath79/nand: add support for Netgear
> WNDR4300 SW
>
> The Netgear WNDR4300 SW is identical to the regular WNDR4300 and only
> differs by its BOARD_ID.
Personally, I like to have the Specifications and Flashing instructions for each device support patch, even if it's just a stupid clone (which in turn should make it easy to get the relevant information from the clone).
>
> Resulting image has been confirmed working [1].
>
> Because of the minor difference with the regular model I am unsure about
> the approach, so please let me know if this overdoes it (and what I should
> change).
This sentence should not go into the commit description itself (as it would end up in the repo if the patch was just merged), but could be added after a line containing just "---". Everything after that would be cut off if somebody takes the patch from patchwork.
For example, have a look at how this is done in my patch here: https://patchwork.ozlabs.org/project/openwrt/patch/20200326155654.48317-1-freifunk@adrianschmutzler.de/
(Sorry if I tell you something you already know :-) ).
>
>
> [1] https://forum.openwrt.org/t/porting-wndr4300-to-ath79/16006/57
>
> Signed-off-by: Stijn Segers <foss at volatilesystems.org>
> ---
> target/linux/ath79/dts/ar9344_netgear_wndr4300sw.dts | 9 +++++++++
> target/linux/ath79/image/nand.mk | 12 ++++++++++++
> .../linux/ath79/nand/base-files/etc/board.d/01_leds | 1 +
> .../ath79/nand/base-files/etc/board.d/02_network | 1 +
> .../etc/hotplug.d/firmware/10-ath9k-eeprom | 1 +
> 5 files changed, 24 insertions(+)
> create mode 100644
> target/linux/ath79/dts/ar9344_netgear_wndr4300sw.dts
>
> diff --git a/target/linux/ath79/dts/ar9344_netgear_wndr4300sw.dts
> b/target/linux/ath79/dts/ar9344_netgear_wndr4300sw.dts
> new file mode 100644
> index 0000000000..fb90eee550
> --- /dev/null
> +++ b/target/linux/ath79/dts/ar9344_netgear_wndr4300sw.dts
> @@ -0,0 +1,9 @@
> +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT /dts-v1/;
> +
> +#include "ar9344_netgear_wndr.dtsi"
> +
> +/ {
> + compatible = "netgear,wndr4300sw", "qca,ar9344";
> + model = "Netgear WNDR4300SW";
> +};
> diff --git a/target/linux/ath79/image/nand.mk
> b/target/linux/ath79/image/nand.mk
> index 3ccd19914f..9814815ff1 100644
> --- a/target/linux/ath79/image/nand.mk
> +++ b/target/linux/ath79/image/nand.mk
> @@ -172,6 +172,18 @@ define Device/netgear_wndr4300 endef
> TARGET_DEVICES += netgear_wndr4300
>
> +define Device/netgear_wndr4300sw
> + SOC := ar9344
> + DEVICE_MODEL := WNDR4300
> + DEVICE_VARIANT := SW
If you use DEVICE_VARIANT here, this implies a space between WNDR4300 and SW: "WNDR4300 SW"
For consistency, this would then require a hyphen in definition and compatible, DTS name etc.: netgear_wndr4300-sw
A simpler alternative would be to "decide" SW is not a variant, but part of the device model name. Then you would just use
DEVICE_MODEL := WNDR4300SW
without DEVICE_VARIANT.
Based on googling, I could not find out what's the "true name" here.
> + NETGEAR_KERNEL_MAGIC := 0x33373033
> + NETGEAR_BOARD_ID := WNDR4300SW
> + NETGEAR_HW_ID := 29763948+0+128+128+2x2+3x3
> + $(Device/netgear_ath79_nand)
> +endef
> +TARGET_DEVICES += netgear_wndr4300sw
> +
> +
Only one empty line please.
> define Device/netgear_wndr4300-v2
> SOC := qca9563
> DEVICE_MODEL := WNDR4300
> diff --git a/target/linux/ath79/nand/base-files/etc/board.d/01_leds
> b/target/linux/ath79/nand/base-files/etc/board.d/01_leds
> index d9989ec538..4f601849fc 100755
> --- a/target/linux/ath79/nand/base-files/etc/board.d/01_leds
> +++ b/target/linux/ath79/nand/base-files/etc/board.d/01_leds
> @@ -14,6 +14,7 @@ glinet,gl-ar300m-nor)
> ;;
> netgear,wndr3700-v4|\
> netgear,wndr4300|\
> +netgear,wndr4300sw|\
> netgear,wndr4300-v2|\
> netgear,wndr4500-v3)
> ucidef_set_led_switch "wan-amber" "WAN (amber)"
> "netgear:amber:wan" "switch0" "0x20"
> diff --git a/target/linux/ath79/nand/base-files/etc/board.d/02_network
> b/target/linux/ath79/nand/base-files/etc/board.d/02_network
> index b2191eed92..42be72af53 100755
> --- a/target/linux/ath79/nand/base-files/etc/board.d/02_network
> +++ b/target/linux/ath79/nand/base-files/etc/board.d/02_network
> @@ -44,6 +44,7 @@ ath79_setup_macs()
> case "$board" in
> netgear,wndr3700-v4|\
> netgear,wndr4300|\
> + netgear,wndr4300sw|\
> netgear,wndr4300-v2|\
> netgear,wndr4500-v3)
> wan_mac=$(mtd_get_mac_binary caldata 0x6) diff --git
> a/target/linux/ath79/nand/base-files/etc/hotplug.d/firmware/10-ath9k-
> eeprom b/target/linux/ath79/nand/base-files/etc/hotplug.d/firmware/10-
> ath9k-eeprom
> index f5fae46dfb..f89fc83ddf 100644
> --- a/target/linux/ath79/nand/base-files/etc/hotplug.d/firmware/10-ath9k-
> eeprom
> +++ b/target/linux/ath79/nand/base-files/etc/hotplug.d/firmware/10-ath9k
> +++ -eeprom
> @@ -24,6 +24,7 @@ case "$FIRMWARE" in
> case $board in
> netgear,wndr3700-v4|\
> netgear,wndr4300|\
> + netgear,wndr4300sw|\
Both 02_network and 10-ath9k-eeprom have two entries for wndr4300, but you add only one for the sw variant.
Consequently, an image built from this patch should have wrong wan_mac and lack calibration data for one WiFi.
Fixing everything noted above should be easy, but you should improve your test protocols, as the missing caldata shouldn't have slipped through :-)
Best
Adrian
> netgear,wndr4300-v2|\
> netgear,wndr4500-v3)
> caldata_extract "caldata" 0x5000 0x440
> --
> 2.20.1
>
>
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel at lists.openwrt.org
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: openpgp-digital-signature.asc
Type: application/pgp-signature
Size: 834 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/openwrt-devel/attachments/20200522/3324a3f3/attachment.sig>
-------------- next part --------------
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel
More information about the openwrt-devel
mailing list