[OpenWrt-Devel] [PATCH v2] ath79/nand: add support for Netgear WNDR4300 SW
Stijn Segers
foss at volatilesystems.org
Sat May 23 04:47:54 EDT 2020
Hi Adrian,
Op vrijdag 22 mei 2020 om 20u17 schreef mail at adrianschmutzler.de:
> 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.
The firmware header has it as 'WNDR4300SW', it's a suffix without
spaces I've been told by an owner.
>
>> + 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 :-)
Yes that was sloppy. Thanks for your thorough review, v3 follows.
Stijn
>
> 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
_______________________________________________
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