[v2] Add support for Archer C2600

Submitted by Fabian Blaese on Nov. 23, 2019, 1:25 p.m.

Details

Message ID 20191123132528.93042-1-fabian@blaese.de
State New
Headers show

Commit Message

Fabian Blaese Nov. 23, 2019, 1:25 p.m.
Signed-off-by: Fabian Bläse <fabian@blaese.de>
---
Changes in v2:
- Remove obsolete target Variable from bsp
---
 bsp/board_ipq806x.bsp                                |  7 +++++++
 bsp/ipq806x/.config                                  | 12 ++++++++++++
 .../fff/fff-network/ipq806x/network.tplink,c2600     |  9 +++++++++
 3 files changed, 28 insertions(+)
 create mode 100644 bsp/board_ipq806x.bsp
 create mode 100644 bsp/ipq806x/.config
 create mode 100644 src/packages/fff/fff-network/ipq806x/network.tplink,c2600

Patch hide | download patch | download mbox

diff --git a/bsp/board_ipq806x.bsp b/bsp/board_ipq806x.bsp
new file mode 100644
index 0000000..cfb9b7c
--- /dev/null
+++ b/bsp/board_ipq806x.bsp
@@ -0,0 +1,7 @@ 
+machine=ipq806x
+chipset=ipq806x
+subtarget=generic
+
+images=(
+        "openwrt-${chipset}-tplink_c2600-squashfs-sysupgrade.bin"
+       )
diff --git a/bsp/ipq806x/.config b/bsp/ipq806x/.config
new file mode 100644
index 0000000..707e6bd
--- /dev/null
+++ b/bsp/ipq806x/.config
@@ -0,0 +1,12 @@ 
+# Generated using "./buildscript config openwrt".
+# Do no edit manually
+#
+CONFIG_TARGET_ipq806x=y
+CONFIG_TARGET_MULTI_PROFILE=y
+CONFIG_TARGET_DEVICE_ipq806x_DEVICE_tplink_c2600=y
+CONFIG_BUSYBOX_CUSTOM=y
+CONFIG_CLEAN_IPKG=y
+CONFIG_PACKAGE_kmod-hwmon-core=m
+CONFIG_PACKAGE_opkg=m
+CONFIG_STRIP_KERNEL_EXPORTS=y
+CONFIG_TARGET_SQUASHFS_BLOCK_SIZE=512
diff --git a/src/packages/fff/fff-network/ipq806x/network.tplink,c2600 b/src/packages/fff/fff-network/ipq806x/network.tplink,c2600
new file mode 100644
index 0000000..efc8063
--- /dev/null
+++ b/src/packages/fff/fff-network/ipq806x/network.tplink,c2600
@@ -0,0 +1,9 @@ 
+. /lib/functions/fff/network
+
+WANDEV=eth0
+SWITCHDEV=eth0
+CLIENT_PORTS="0t 1 2"
+WAN_PORTS="0t 5"
+BATMAN_PORTS="0t 3 4"
+
+ROUTERMAC=$(cat /sys/class/net/eth1/address)

Comments

Adrian Schmutzler Nov. 23, 2019, 2:01 p.m.
Wie schon zuvor angemerkt funktioniert hier das Entfernen von target-subtarget im buildscript nicht, da das subtarget nicht im Namen ist (bei ipq806x).

Bei 19.07 kommt es dann wieder rein.

Bei 18.06 funktionieren die WiFi LEDs nicht, bei 19.07 ist der Treiber dafür ergänzt.

Beides könnte man in der Commit Message erwähnen, damit es (theoretisch) für die Nachwelt nachschlagbar ist.

Noch zwei Kommentar unten.


> -----Original Message-----
> From: franken-dev [mailto:franken-dev-bounces@freifunk.net] On Behalf
> Of Fabian Bläse
> Sent: Samstag, 23. November 2019 14:25
> To: franken-dev@freifunk.net
> Subject: [PATCH v2] Add support for Archer C2600
> 
> Signed-off-by: Fabian Bläse <fabian@blaese.de>
> ---
> Changes in v2:
> - Remove obsolete target Variable from bsp
> ---
>  bsp/board_ipq806x.bsp                                |  7 +++++++
>  bsp/ipq806x/.config                                  | 12 ++++++++++++
>  .../fff/fff-network/ipq806x/network.tplink,c2600     |  9 +++++++++
>  3 files changed, 28 insertions(+)
>  create mode 100644 bsp/board_ipq806x.bsp  create mode 100644
> bsp/ipq806x/.config  create mode 100644 src/packages/fff/fff-
> network/ipq806x/network.tplink,c2600
> 
> diff --git a/bsp/board_ipq806x.bsp b/bsp/board_ipq806x.bsp new file mode
> 100644 index 0000000..cfb9b7c
> --- /dev/null
> +++ b/bsp/board_ipq806x.bsp
> @@ -0,0 +1,7 @@
> +machine=ipq806x
> +chipset=ipq806x
> +subtarget=generic

Ich weiß gerade nicht, wie genau das verwendet wird. Das target hat eigentlich kein subtarget, aber den generic Unterordner gibt es trotzdem. Ich glaube, wir verwenden das nur für den Ordner, also kann es wahrscheinlich bleiben.

> +
> +images=(
> +        "openwrt-${chipset}-tplink_c2600-squashfs-sysupgrade.bin"
> +       )
> diff --git a/bsp/ipq806x/.config b/bsp/ipq806x/.config new file mode 100644
> index 0000000..707e6bd
> --- /dev/null
> +++ b/bsp/ipq806x/.config
> @@ -0,0 +1,12 @@
> +# Generated using "./buildscript config openwrt".
> +# Do no edit manually
> +#
> +CONFIG_TARGET_ipq806x=y
> +CONFIG_TARGET_MULTI_PROFILE=y
> +CONFIG_TARGET_DEVICE_ipq806x_DEVICE_tplink_c2600=y

Hier sollte man unbedingt noch BUILD_TARGET_PER_ROOTFS (hab den genauen Namen nicht nachgesehen) hinzufügen, sonst gibt es Probleme mit den DEVICE_PACKAGES (die werden u.U. nicht mit eingebaut).

Außerdem muss man meines Wissen hier die -ct Packages selektieren, da die stock Packages so alt sind, dass sie kein mesh können.

Dabei muss der Treiber über das Target geändert werden und die Firmware über das Device:

https://github.com/adrianschmutzler/fff-firmware/blob/636e1cdff148d46ef102c7074d02fb5be5f48719/bsp/ipq806x/.config

Grüße

Adrian

> +CONFIG_BUSYBOX_CUSTOM=y
> +CONFIG_CLEAN_IPKG=y
> +CONFIG_PACKAGE_kmod-hwmon-core=m
> +CONFIG_PACKAGE_opkg=m
> +CONFIG_STRIP_KERNEL_EXPORTS=y
> +CONFIG_TARGET_SQUASHFS_BLOCK_SIZE=512
> diff --git a/src/packages/fff/fff-network/ipq806x/network.tplink,c2600
> b/src/packages/fff/fff-network/ipq806x/network.tplink,c2600
> new file mode 100644
> index 0000000..efc8063
> --- /dev/null
> +++ b/src/packages/fff/fff-network/ipq806x/network.tplink,c2600
> @@ -0,0 +1,9 @@
> +. /lib/functions/fff/network
> +
> +WANDEV=eth0
> +SWITCHDEV=eth0
> +CLIENT_PORTS="0t 1 2"
> +WAN_PORTS="0t 5"
> +BATMAN_PORTS="0t 3 4"
> +
> +ROUTERMAC=$(cat /sys/class/net/eth1/address)
> --
> 2.24.0
Fabian Blaese Nov. 23, 2019, 2:21 p.m.
Hallo Adrian,

On 23.11.19 15:01, mail@adrianschmutzler.de wrote:
> Wie schon zuvor angemerkt funktioniert hier das Entfernen von target-subtarget im buildscript nicht, da das subtarget nicht im Namen ist (bei ipq806x).
> 
> Bei 19.07 kommt es dann wieder rein.
da hast du natürlich recht, das hab ich beim rebasen (der Patch ist schon ziemlich alt) doch glatt vergessen.

> 
> Bei 18.06 funktionieren die WiFi LEDs nicht, bei 19.07 ist der Treiber dafür ergänzt.
> 
> Beides könnte man in der Commit Message erwähnen, damit es (theoretisch) für die Nachwelt nachschlagbar ist.
> 
> Noch zwei Kommentar unten.
> 
> 
>> -----Original Message-----
>> From: franken-dev [mailto:franken-dev-bounces@freifunk.net] On Behalf
>> Of Fabian Bläse
>> Sent: Samstag, 23. November 2019 14:25
>> To: franken-dev@freifunk.net
>> Subject: [PATCH v2] Add support for Archer C2600
>>
>> Signed-off-by: Fabian Bläse <fabian@blaese.de>
>> ---
>> Changes in v2:
>> - Remove obsolete target Variable from bsp
>> ---
>>  bsp/board_ipq806x.bsp                                |  7 +++++++
>>  bsp/ipq806x/.config                                  | 12 ++++++++++++
>>  .../fff/fff-network/ipq806x/network.tplink,c2600     |  9 +++++++++
>>  3 files changed, 28 insertions(+)
>>  create mode 100644 bsp/board_ipq806x.bsp  create mode 100644
>> bsp/ipq806x/.config  create mode 100644 src/packages/fff/fff-
>> network/ipq806x/network.tplink,c2600
>>
>> diff --git a/bsp/board_ipq806x.bsp b/bsp/board_ipq806x.bsp new file mode
>> 100644 index 0000000..cfb9b7c
>> --- /dev/null
>> +++ b/bsp/board_ipq806x.bsp
>> @@ -0,0 +1,7 @@
>> +machine=ipq806x
>> +chipset=ipq806x
>> +subtarget=generic
> 
> Ich weiß gerade nicht, wie genau das verwendet wird. Das target hat eigentlich kein subtarget, aber den generic Unterordner gibt es trotzdem. Ich glaube, wir verwenden das nur für den Ordner, also kann es wahrscheinlich bleiben.
Jo, das brauchen wir für den Unterordner und den Dateinamen. Im Dateinamen führt das jetzt natürlich zu quatsch.
Ansonsten wir die Variable für nichts verwendet.

> 
>> +
>> +images=(
>> +        "openwrt-${chipset}-tplink_c2600-squashfs-sysupgrade.bin"
>> +       )
>> diff --git a/bsp/ipq806x/.config b/bsp/ipq806x/.config new file mode 100644
>> index 0000000..707e6bd
>> --- /dev/null
>> +++ b/bsp/ipq806x/.config
>> @@ -0,0 +1,12 @@
>> +# Generated using "./buildscript config openwrt".
>> +# Do no edit manually
>> +#
>> +CONFIG_TARGET_ipq806x=y
>> +CONFIG_TARGET_MULTI_PROFILE=y
>> +CONFIG_TARGET_DEVICE_ipq806x_DEVICE_tplink_c2600=y
> 
> Hier sollte man unbedingt noch BUILD_TARGET_PER_ROOTFS (hab den genauen Namen nicht nachgesehen) hinzufügen, sonst gibt es Probleme mit den DEVICE_PACKAGES (die werden u.U. nicht mit eingebaut).
Wir verwenden bei diesem Target aktuell keine eigenen DEVICE_PACKAGES, deshalb hab ich es (analog zu wdr4900 und mt7621) nicht eingebaut.
Bei ar71xx verwenden wir das ja, um selektiv für bestimmte Geräte die Firmware zu ändern.

Ich sehe aber nichts, was gegen BUILD_TARGET_PER_ROOTFS spricht, ich würde das dann einfach bei allen in einem Patch umstellen.

> Außerdem muss man meines Wissen hier die -ct Packages selektieren, da die stock Packages so alt sind, dass sie kein mesh können.
Ist das wirklich so? Ich würde hier nach Möglichkeit immer bei dem bleiben, was bei OpenWRT verwendet wird, außer wir sind uns wirklich sicher, dass etwas anderes besser oder nötig ist.
Ich teste das bei nächster Gelegenheit.

Gruß
Fabian
Adrian Schmutzler Nov. 23, 2019, 4:58 p.m.
Wie schon im anderen Patch erwähnt würde ich ggf. überlegen, auf 19.07 zu warten.

Kommentare unten:

>> Wie schon zuvor angemerkt funktioniert hier das Entfernen von target-subtarget im buildscript nicht, da das subtarget nicht im Namen ist (bei ipq806x).
>> 
>> Bei 19.07 kommt es dann wieder rein. 
>da hast du natürlich recht, das hab ich beim rebasen (der Patch ist schon ziemlich alt) doch glatt vergessen. 

...

>>> +CONFIG_TARGET_DEVICE_ipq806x_DEVICE_tplink_c2600=y 
>> 
>> Hier sollte man unbedingt noch BUILD_TARGET_PER_ROOTFS (hab den genauen Namen nicht nachgesehen) hinzufügen, sonst gibt es Probleme mit den DEVICE_PACKAGES (die werden u.U. nicht mit eingebaut).
>Wir verwenden bei diesem Target aktuell keine eigenen DEVICE_PACKAGES, deshalb hab ich es (analog zu wdr4900 und mt7621) nicht eingebaut.
>Bei ar71xx verwenden wir das ja, um selektiv für bestimmte Geräte die Firmware zu ändern. 
>Ich sehe aber nichts, was gegen BUILD_TARGET_PER_ROOTFS spricht, ich würde das dann einfach bei allen in einem Patch umstellen.

Ohne die Variable werden die DEVICE_PACKAGES _ignoriert_, also
https://github.com/openwrt/openwrt/blob/master/target/linux/ipq806x/image/Makefile#L274

Das war nur beim WDR4900 immer egal, weil der keine DEVICE_PACKAGES hat, sondern nur welche, die im target global definiert werden.

Ohne BUILD_TARGET_PER_ROOTFS musste also eigentlich die ath10k firmware fehlen (der Treiber ist da, der kommt vom target). Das ist anders als bei ar71xx, dort werden sowohl ath10k Treiber als auch Firmware per DEVICE_PACKAGES hinzugefügt.
Dort würde dann ohne die Option beides fehlen (aber ath9k Zeugs wird im Target selektiert ...).

>> Außerdem muss man meines Wissen hier die -ct Packages selektieren, da die stock Packages so alt sind, dass sie kein mesh können.
>Ist das wirklich so? Ich würde hier nach Möglichkeit immer bei dem bleiben, was bei OpenWRT verwendet wird, außer wir sind uns wirklich sicher, dass etwas anderes besser oder nötig ist.
>Ich teste das bei nächster Gelegenheit. 

Meiner Erinnerung nach kommen mit stock nur die beiden w2ap/w5ap hoch, das wXmesh fehlt. Ich habe hier so ein Gerät als Dauerleihgabe.
Das Thema lässt sich auch recht einfach googlen. Das Problem ist, dass bei CT im Gegenzug der AP nicht stabil läuft, Robert L. müsste dazu Erfahrung mit OpenWrt haben.

Grüße

Adrian