[PATCH 1/1] ramips/mt76x8: Add support for TPLINK TL-WR841Nv13

Christian Dresel fff at chrisi01.de
Sa Apr 11 23:55:55 CEST 2020


Hallo Adrian

On 11.04.20 23:44, mail at adrianschmutzler.de wrote:
> Hallo Dominik,
> 
> zunächst vorab:
> 
> Ich finde es nicht unbedingt erstrebenswert, jetzt noch "neu" Support für ein 4/32-Gerät hinzuzufügen.

Flash MB: 8
RAM MB: 64

Quelle: https://openwrt.org/toh/hwdata/tp-link/tp-link_tl-wr841n_v13

Man hat also bei TP-Link dazu gelernt das man für OpenWRT mehr braucht ;)

Gruß

Christian

> 
> Das mt76x8-(Sub)target hat zudem kein "small_flash" in OpenWrt aktiviert, d.h. bestimmte direkt in den Kernel eingebaute Features, die bei ar71xx-tiny deaktiviert werden, sind hier noch vorhanden, und machen das Image größer. Zudem hat man hier für ein einzelnes 4/32-Gerät dann einen Sonderfall, um den man sich nochmal extra kümmern muss, wenn es darum geht, Support für diese Geräte generell zu erhalten.
> 
> Selbst wenn das Gerät jetzt (offensichtlich) noch unterstützt werden kann, sendet dies in meinen Augen das falsche Signal aus.
> Außerdem gibt es schon länger einen v14, wir unterstützen hiermit also nicht mal die "aktuellste" Version.
> 
> Ich werde den Support deshalb nicht blockieren, wenn jemand anderes dies als sinnvoll erachtet. Ich wollte nur meine Bedenken äußern.
> 
> Nun zum Content:
> 
>> -----Original Message-----
>> From: franken-dev [mailto:franken-dev-bounces at freifunk.net] On Behalf
>> Of Dominik Heidler
>> Sent: Freitag, 10. April 2020 00:27
>> To: franken-dev at freifunk.net
>> Cc: Dominik Heidler <dheidler at gmail.com>
>> Subject: [PATCH 1/1] ramips/mt76x8: Add support for TPLINK TL-WR841Nv13
> 
> "TP-Link TL-WR841N v13"
> 
> Ich will hier jetzt nicht auf der Commit Message rumreiten, für den speziellen Fall der Mediatek-Geräte wäre es aber erstrebenswert, hier "Flashing instructions" mit einzubauen; man muss zwar scheinbar nur TFTP verwenden, aber es ist dennoch eine gewisse Abweichung vom gewohnten WebUI-Flashing, daher würde ich das an der Stelle highlighten. Für meinen Geschmack würde es reichen, einfach die Flashing-Instruktionen vom OpenWrt-Commit hier reinzukopieren:
> 
> https://github.com/openwrt/openwrt/commit/24043a0d2e01b9843c0dc529205b3b0bc7ecbbf9
> 
>>
>> From: Dominik Heidler <dheidler at gmail.com>
>>
>> Signed-off-by: Dominik Heidler <dominik at heidler.eu>
> 
> Die Mail-Adressen für Author und Signed-off sind unterschiedlich. Das ist für uns zwar wurscht, aber FYI. (Bei OpenWrt müssten die gleich sein.)
> 
>> ---
>>  bsp/board_mt76x8.bsp                          |  6 ++++
>>  bsp/mt76x8/.config                            | 29 +++++++++++++++++++
>>  .../files/etc/uci-defaults/15-fff-boardname   |  3 ++
>>  .../fff-network/ramips/network.tl-wr841-v13   |  9 ++++++
>>  4 files changed, 47 insertions(+)
>>  create mode 100644 bsp/board_mt76x8.bsp  create mode 100644
>> bsp/mt76x8/.config  create mode 100644 src/packages/fff/fff-
>> network/ramips/network.tl-wr841-v13
>>
>> diff --git a/bsp/board_mt76x8.bsp b/bsp/board_mt76x8.bsp new file mode
>> 100644 index 0000000..bf8d236
>> --- /dev/null
>> +++ b/bsp/board_mt76x8.bsp
>> @@ -0,0 +1,6 @@
>> +machine=mt76x8
>> +chipset=ramips
>> +subtarget=mt76x8
>> +images=("openwrt-${chipset}-${subtarget}-tplink_c50-v3-squashfs-
>> sysupgrade.bin"
> 
> Das überschneidet sich mit dem C50 v3. Ist aber wurscht, das kann man beim Applien hinbasteln, je nachdem, wer zuerst dran kommt.
> 
>> +        "openwrt-${chipset}-${subtarget}-tl-wr841n-v13-squashfs-
>> sysupgrade.bin"
>> +        )
>> diff --git a/bsp/mt76x8/.config b/bsp/mt76x8/.config new file mode 100644
>> index 0000000..c908b98
>> --- /dev/null
>> +++ b/bsp/mt76x8/.config
>> @@ -0,0 +1,29 @@
>> +# Generated using "./buildscript config openwrt".
>> +# Do no edit manually
>> +#
>> +CONFIG_TARGET_ramips=y
>> +CONFIG_TARGET_ramips_mt76x8=y
>> +CONFIG_TARGET_MULTI_PROFILE=y
>> +CONFIG_TARGET_DEVICE_ramips_mt76x8_DEVICE_tplink_c50-v3=y
>> +CONFIG_TARGET_DEVICE_PACKAGES_ramips_mt76x8_DEVICE_tplink_c50-
>> v3=""
>> +CONFIG_TARGET_DEVICE_ramips_mt76x8_DEVICE_tl-wr841n-v13=y
>> +CONFIG_TARGET_DEVICE_PACKAGES_ramips_mt76x8_DEVICE_tl-wr841n-
>> v13=""
>> +CONFIG_BUSYBOX_CUSTOM=y
>> +CONFIG_TARGET_PER_DEVICE_ROOTFS=y
>> +# CONFIG_BUSYBOX_CONFIG_BRCTL is not set #
>> CONFIG_BUSYBOX_CONFIG_CROND
>> +is not set # CONFIG_BUSYBOX_CONFIG_CRONTAB is not set #
>> +CONFIG_BUSYBOX_CONFIG_FEATURE_FAST_TOP is not set #
>> +CONFIG_BUSYBOX_CONFIG_FEATURE_NTPD_SERVER is not set
>> +CONFIG_CLEAN_IPKG=y # CONFIG_DROPBEAR_CURVE25519 is not set #
>> +CONFIG_FASTD_ENABLE_CIPHER_SALSA2012 is not set #
>> +CONFIG_FASTD_ENABLE_MAC_GHASH is not set #
>> +CONFIG_FASTD_ENABLE_MAC_UHASH is not set #
>> +CONFIG_FASTD_ENABLE_METHOD_COMPOSED_GMAC is not set #
>> +CONFIG_FASTD_ENABLE_METHOD_COMPOSED_UMAC is not set #
>> +CONFIG_FASTD_ENABLE_METHOD_GENERIC_GMAC is not set #
>> +CONFIG_FASTD_ENABLE_METHOD_GENERIC_UMAC is not set #
>> +CONFIG_PACKAGE_ALFRED_VIS is not set CONFIG_PACKAGE_opkg=m
>> +CONFIG_STRIP_KERNEL_EXPORTS=y
>> diff --git a/src/packages/fff/fff-boardname/files/etc/uci-defaults/15-fff-
>> boardname b/src/packages/fff/fff-boardname/files/etc/uci-defaults/15-fff-
>> boardname
>> index a96c05a..5213c1e 100644
>> --- a/src/packages/fff/fff-boardname/files/etc/uci-defaults/15-fff-
>> boardname
>> +++ b/src/packages/fff/fff-boardname/files/etc/uci-defaults/15-fff-board
>> +++ name
>> @@ -29,6 +29,9 @@ case "$BOARD" in
>>          BOARD=tl-wr841-v11
>>          grep "v12" /var/sysinfo/model && BOARD=tl-wr841-v12
>>          ;;
>> +    tl-wr841n-v13)
>> +        BOARD=tl-wr841-v13
>> +        ;;
> 
> Dieses Umbenennen macht für ramips keinen Sinn.
> Bei den anderen (ar71xx) 841ern ist der Grund für das Umbennen, dass der Name im Image (tl-wr841-vX) vom board name abweicht (tl-wr841n-vX).
> Bei ramips ist das nicht der Fall, sondern der Image-Name ist zum Boardnamen konsistent. Insofern macht es mehr Sinn, hier nicht umzubenennen, und die Inkonsistenz bei unseren Namen in Kauf zu nehmen, anstatt erst hier A nach B zu ändern und bei sysupgrade dann wieder B zu A.
> 
> Dabei ist auch zu beachten, dass mit Wechsel von ar71xx auf ath79 und für mt76x8 mit Wechsel zum nächsten OpenWrt-stable Branch die Benennung ohnehin wieder anders ist.
> 
>>      nanostation-m)
>>          BOARD=ubnt-nano-m
>>          ;;
>> diff --git a/src/packages/fff/fff-network/ramips/network.tl-wr841-v13
>> b/src/packages/fff/fff-network/ramips/network.tl-wr841-v13
>> new file mode 100644
>> index 0000000..bd33c1f
>> --- /dev/null
>> +++ b/src/packages/fff/fff-network/ramips/network.tl-wr841-v13
> 
> Diesen Dateinamen entsprechend anpassen, wenn der board name nicht geändert wird:
> -> tl-wr841n-v13
> 
>> @@ -0,0 +1,9 @@
>> +PORTORDER="4 3 2 1"
> 
> Da hier der WAN-Port im Switch integriert ist, muss er mit in die Portliste. Entsprechend deiner Zuordnung unten sollte folgendes richtig sein:
> 
> PORTORDER="4 3 2 1 0"
> 
> Bisher habe ich (ohne dass dies irgendwo als Regel steht) immer den WAN-Port nach links gesetzt, also:
> 
> PORTORDER="0 1 2 3 4"
> 
>> +
>> +WANDEV=eth0
>> +SWITCHDEV=eth0
>> +CLIENT_PORTS="6t 3 4"
>> +WAN_PORTS="6t 0"
>> +BATMAN_PORTS="6t 1 2"
>> +
>> +ROUTERMAC=$(cat /sys/class/net/eth0/address)
> 
> Bei OpenWrt überlappen die MAC-Adressen von &ethernet und &wmac. Damit wir keine kollidierenden MAC-Adressen im Mesh haben, muss daher die ETHMESHMAC ergänzt werden.
> 
> Entweder (WAN-Adresse):
> 
> . /lib/functions/system.sh
> ETHMESHMAC=$(macaddr_add "$ROUTERMAC" 1)
> 
> Oder (local bit):
> 
> . /lib/functions/system.sh
> ETHMESHMAC=$(macaddr_setbit_la "$ROUTERMAC")
> 
> Letzteres wurde zuletzt präferiert.
> 
> Das mit dem Mesh solltest du unbedingt noch testen. Einfach irgendeinen anderen Router als Uplink nehmen. Früher ging bei bestimmten Mediatek-Chip AP und Mesh nur einzeln, aber nicht gleichzeitig.
> 
> Beste Grüße
> 
> Adrian
> 
>> --
>> 2.20.1


Mehr Informationen über die Mailingliste franken-dev