TP-Link WR941v5/v6-cn (China-versionen)

Nur der Vollständigkeit halber, damit es auch an eine halbwegs findbaren Ort dokumentiert ist:

Während die China-versionen der TL WR941v5 problemlos mit dem Image des WR941v4 läuft und sich auch vom Autoupdater später wieder das Passende holt:

Beim TL WR941v6-cn ist es nicht ganz so einfach.
Zunächst muss das Openwrt 941v6-Factory-Image vom ChaosCalmer RC2 (aus Sommer 2015) drauf.
Dann dort nachinstallieren ein Sysupgrade auf TL-WDR3500v1 (das ist kein Tippfehler!).
Dieses Upgrade mit -n und -F
Ab dann halt das Gerät sich für eine 3500 ohne 5GHz, aber 3fach-Mimo.
Autoupdater geht auch.
ABER: Keine Wlan-LED mehr!

2 Likes

Lohnt sich das denn finanziell?

Was kostet der Router als Importversion?

Ich möchte nur mal darauf hinweisen, dass das eine ganz blöde Idee ist, das so zu machen und dass es ganz offiziell im OpenWrt-Trunk ein Image für die CN-Version gibt. Also keinen Grund so eine dreckige Lösung zu benutzen…

@adorfer Also bitte füge die entsprechenden Einträge der profiles.mk beim Gluon Master hinzu, teste den Buildvorgang und mach nen pull request, damit Gluon den ganz offiziell unterstützt.

Wie sollte das gehen?

Wenn Du eine bessere hast, dann nur zu!
Ich lerne gern dazu.

Was wäre denn Deiner Meinung nach „entsprechend“?

Ach ja, für den Fall, dass Du das Problem nicht verstanden haben solltest und nicht der bin, der blöd ist:

vorher:

CHAOS CALMER (15.05-rc2, r45918)
cat /var/sysinfo/model
„TP-Link TL-WR941N/ND v6“
cat /var/sysinfo/board_name
„tl-wdr3500“

nachher:

fdus-wr941v6cn-akaWDR3500:
cat /tmp/sysinfo/model
„TP-Link TL-WDR3500 v1“
cat /tmp/sysinfo/board_name
„tl-wdr3500“

An welcher Stelle würdest Du da ansetzen, ohne den Autoupdater neu zu schreiben und model UND board_name abzufragen auf der Suche nach dem richtigen manifest-Eintrag?

Sorry, hab mich sehr undeutlich ausgedrückt. Was ich sagen wollte war:
Fälschlicherweise wurde das OpenWrt-Image für den v6 ursprünglich für die chinesische Version gebaut. Bevor für die internationale Version der Support gebaut wurde, hat man das profile vom chinesichem v6 umbenannt und das Kürzel „cn“ angefügt. Gluon läuft aktuell mit OpenWrt changeset 47335. Seit 47107 heißt das chinesische Image schon anders.

Demnach solltest du mit dem aktuellen Master ein Gluon-Image für deinen Router bauen können, indem du einfach vor dem letzten make in die gluon/targets/ar71xx-generic/profiles.mk einen Eintrag für deinen Router hinzufügst. Dann funktionieren wahrscheinlich auch alle deine LEDs etc.
Wenn du dann überprüft hast, dass alles richtig funktioniert (MAC-Adressen sind gleich denen der Stock-Firmware, Alle LEDs und Schalter funktionieren, Meshing funktioniert und Client-Netz funktioniert, Alle Ports funktionieren) solltest du einen Pullrequest beim Gluon-Repo machen, damit der Router offiziell unterstützt werden kann.

(...)
$(eval $(call GluonModel,TLWR941,tl-wr941nd-v5,tp-link-tl-wr941n-nd-v5))
$(eval $(call GluonModel,TLWR941,tl-wr941nd-v6,tp-link-tl-wr941n-nd-v6))
** Diese Zeile einfügen =>**$(eval $(call GluonModel,TLWR941,tl-wr941nd-v6-cn,tp-link-tl-wr941n-nd-v6-cn))
(...)

Schöne Grüße,
Vincent

1 Like

Das Problem ist, dass das Gerät 941v6cn eben exakt genauso heisst wie der 941v6 (eu). Und damit wäre es für den Autoupdater nicht unterscheidbar.
d.h. eines von den beiden Profilen müsste Gluon dann „opfern“. Und das wird wohl nicht die Grauimport-Chinaversion sein.

EDIT: Du hast völlig recht… Der Image-Name wird einfach aus dem Model generiert… Da müsste man im Autoupdater für diesen Router extra eine Fallunterscheidung einbauen, weil es in OpenWrt nicht vorgesehen ist, dass zwei Router die gleiche Hardware-ID haben, wenn ich mich nicht irre. Wenn du einen Pullrequest machst, dann mach einen weiteren bei freifunk-gluon in packages/libs/lua-platform-info/files/ar71xx/generic/platform_info.lua

Die Gluon-Leute wollen bestimmt nicht so einen dirty-fix und lassen sich dann was einfallen :smile:

(...)
local model = read_line('/tmp/sysinfo/model')
*if model == "TP-Link TL-WR941N/ND v6" and board_name != "tl-wr941nd-v6" then
*    model += " CN"
*end
(...)

Folgendes ist überholt:
Meinst du wegen dem Autoupdater?! Ja, beim chinesischem und internationalem v6 ist die Hardware-ID gleich. Deshalb ist die Anzeige vom model gleich, aber der wird garnicht vom Autoupdater ausgewertet, sondern der Image-Name.

Probiers einfach mal aus:
lua -e ‚print(require(„platform_info“).get_image_name())‘

Der sollte beim aktuellen Gluon Master beim internationalem „tp-link-tl-wr941n-nd-v6“ ausgeben und beim chinesischem „tp-link-tl-wr941n-nd-v6-cn“…
Du hast mich jetzt aber auch verunsichert. Ich bin gespannt aufs Ergebnis.

Welches image könnte ich denn da testweise mal draufdremeln?
Das alte cc-rc2-941v6 wird ja nicht helfen. In mehrfacher Hinsicht.

Das liegt bei den Snapshots:
https://downloads.openwrt.org/snapshots/trunk/ar71xx/generic/openwrt-ar71xx-generic-tl-wr941nd-v6-cn-squashfs-factory.bin

Gute Nacht,
Vincent

Danke, werde ich mir im Laufe des Tages zu gemüte führen.

Das würde mich auch sehr interessieren!

Das wäre eine tolle Möglichkeit wieder an eine Hardware die dem lieb gewonnenen TP Link 3600er entspricht zu kommen. Die Kiste hat doch Dualband oder?

Nein, das ist ein Singleband 3,4 GHz 3x3 MiMo mit 100TX Lan, 64MB RAM, 16MB(!) Flash und 560MHz CPU.
Ausserdem wäre da das „nur zum Privatimport“-Problem. (Kein CE, nur CCC)

Bedingt. Mehr der Neugier halber.
(Da ist jetzt die 400MHz lahme v5, V6 finde ich gerade nicht.)

http://www.aliexpress.com/item/TP-Link-WR941N-V5-300Mbps-Wireless-OPENWRT-Router-WIFI-signal-amplifier-Wi-Fi-Extender-Support-DDWRT/32480276238

Ich vermute, meine Antwort könnte besser sein, da ich vermutlich erstmal einen Autoupdater brauche, damit die Funktion überhaupt da ist, oder?

DESIGNATED DRIVER (Bleeding Edge, r47603)
[..]
root@OpenWrt:~# cat /tmp/sysinfo/model
TP-Link TL-WR941N/ND v6
root@OpenWrt:~# cat /tmp/sysinfo/board_name
tl-wdr3500
root@OpenWrt:~# lua -e 'print(require("platform_info").get_image_name())'
lua: (command line):1: module 'platform_info' not found:
        no field package.preload['platform_info']
        no file './platform_info.lua'
        no file '/usr/share/lua/platform_info.lua'
        no file '/usr/share/lua/platform_info/init.lua'
        no file '/usr/lib/lua/platform_info.lua'
        no file '/usr/lib/lua/platform_info/init.lua'
        no file './platform_info.so'
        no file '/usr/lib/lua/platform_info.so'
        no file '/usr/lib/lua/loadall.so'
stack traceback:
        [C]: in function 'require'
        (command line):1: in main chunk
        [C]: ?

Ja. Zumindest das Gluon lua-platform-info-Package muss installiert sein. Aber es wird sowieso nur dieses Script ausgeführt: https://raw.githubusercontent.com/freifunk-gluon/packages/master/libs/lua-platform-info/files/ar71xx/generic/platform_info.lua

Deshalb brauchst du es auch nicht mehr zu testen. get_image_name() benutzt nur das model, also den Wert aus /tmp/sysinfo/model um daraus den Image-Namen für den Autoupdater zu generieren. Das wäre bei der chinesischen Version und der internationalen in der Tat identisch, da sie die gleiche HWID haben. Deshalb muss zusätzlich auf den Boardname geprüft werden, um beim chinesischem das CN-Kürzel anzufügen.

@adorfer Sag mal, ist da wirklich Breed als Bootloader auf dem Teil drauf? Wäre gut, wenn man den Gluon-Support mit nem unverbasteltem v6 ohne RAM/Flash-Mod testen könnte.

Ja, ist es. Wird so geliefert. ohne weitere FW. (OpenWRT kostet extra… warum auch immer.)

Das klappt leider nicht.

rm -f /home/build/gluon/ffdusexp/output/images/sysupgrade/gluon-*-tp-link-tl-wr941n-nd-v2-sysupgrade.bin && cp /home/build/gluon/ffdusexp/build/ar71xx-generic/profiles/TLWR941/images/gluon-tl-wr941nd-v2-squashfs-sysupgrade.bin /home/build/gluon/ffdusexp/output/images/sysupgrade/gluon-ffdus-$(cat /home/build/gluon/ffdusexp/build/ar71xx-generic/prepared)-tp-link-tl-wr941n-nd-v2-sysupgrade.bin &&   rm -f /home/build/gluon/ffdusexp/output/images/factory/gluon-*-tp-link-tl-wr941n-nd-v2.bin && cp /home/build/gluon/ffdusexp/build/ar71xx-generic/profiles/TLWR941/images/gluon-tl-wr941nd-v2-squashfs-factory.bin /home/build/gluon/ffdusexp/output/images/factory/gluon-ffdus-$(cat /home/build/gluon/ffdusexp/build/ar71xx-generic/prepared)-tp-link-tl-wr941n-nd-v2.bin &&      rm -f /home/build/gluon/ffdusexp/output/images/sysupgrade/gluon-*-tp-link-tl-wr941n-nd-v3-sysupgrade.bin && cp /home/build/gluon/ffdusexp/build/ar71xx-generic/profiles/TLWR941/images/gluon-tl-wr941nd-v3-squashfs-sysupgrade.bin /home/build/gluon/ffdusexp/output/images/sysupgrade/gluon-ffdus-$(cat /home/build/gluon/ffdusexp/build/ar71xx-generic/prepared)-tp-link-tl-wr941n-nd-v3-sysupgrade.bin &&   rm -f /home/build/gluon/ffdusexp/output/images/factory/gluon-*-tp-link-tl-wr941n-nd-v3.bin && cp /home/build/gluon/ffdusexp/build/ar71xx-generic/profiles/TLWR941/images/gluon-tl-wr941nd-v3-squashfs-factory.bin /home/build/gluon/ffdusexp/output/images/factory/gluon-ffdus-$(cat /home/build/gluon/ffdusexp/build/ar71xx-generic/prepared)-tp-link-tl-wr941n-nd-v3.bin &&      rm -f /home/build/gluon/ffdusexp/output/images/sysupgrade/gluon-*-tp-link-tl-wr941n-nd-v4-sysupgrade.bin && cp /home/build/gluon/ffdusexp/build/ar71xx-generic/profiles/TLWR941/images/gluon-tl-wr941nd-v4-squashfs-sysupgrade.bin /home/build/gluon/ffdusexp/output/images/sysupgrade/gluon-ffdus-$(cat /home/build/gluon/ffdusexp/build/ar71xx-generic/prepared)-tp-link-tl-wr941n-nd-v4-sysupgrade.bin &&   rm -f /home/build/gluon/ffdusexp/output/images/factory/gluon-*-tp-link-tl-wr941n-nd-v4.bin && cp /home/build/gluon/ffdusexp/build/ar71xx-generic/profiles/TLWR941/images/gluon-tl-wr941nd-v4-squashfs-factory.bin /home/build/gluon/ffdusexp/output/images/factory/gluon-ffdus-$(cat /home/build/gluon/ffdusexp/build/ar71xx-generic/prepared)-tp-link-tl-wr941n-nd-v4.bin &&    rm -f /home/build/gluon/ffdusexp/output/images/sysupgrade/gluon-*-tp-link-tl-wr940n-nd-v1-sysupgrade.bin && ln -s gluon-ffdus-$(cat /home/build/gluon/ffdusexp/build/ar71xx-generic/prepared)-tp-link-tl-wr941n-nd-v4-sysupgrade.bin /home/build/gluon/ffdusexp/output/images/sysupgrade/gluon-ffdus-$(cat /home/build/gluon/ffdusexp/build/ar71xx-generic/prepared)-tp-link-tl-wr940n-nd-v1-sysupgrade.bin &&   rm -f /home/build/gluon/ffdusexp/output/images/factory/gluon-*-tp-link-tl-wr940n-nd-v1.bin && ln -s gluon-ffdus-$(cat /home/build/gluon/ffdusexp/build/ar71xx-generic/prepared)-tp-link-tl-wr941n-nd-v4.bin /home/build/gluon/ffdusexp/output/images/factory/gluon-ffdus-$(cat /home/build/gluon/ffdusexp/build/ar71xx-generic/prepared)-tp-link-tl-wr940n-nd-v1.bin &&      rm -f /home/build/gluon/ffdusexp/output/images/sysupgrade/gluon-*-tp-link-tl-wr941n-nd-v5-sysupgrade.bin && cp /home/build/gluon/ffdusexp/build/ar71xx-generic/profiles/TLWR941/images/gluon-tl-wr941nd-v5-squashfs-sysupgrade.bin /home/build/gluon/ffdusexp/output/images/sysupgrade/gluon-ffdus-$(cat /home/build/gluon/ffdusexp/build/ar71xx-generic/prepared)-tp-link-tl-wr941n-nd-v5-sysupgrade.bin &&   rm -f /home/build/gluon/ffdusexp/output/images/factory/gluon-*-tp-link-tl-wr941n-nd-v5.bin && cp /home/build/gluon/ffdusexp/build/ar71xx-generic/profiles/TLWR941/images/gluon-tl-wr941nd-v5-squashfs-factory.bin /home/build/gluon/ffdusexp/output/images/factory/gluon-ffdus-$(cat /home/build/gluon/ffdusexp/build/ar71xx-generic/prepared)-tp-link-tl-wr941n-nd-v5.bin &&    rm -f /home/build/gluon/ffdusexp/output/images/sysupgrade/gluon-*-tp-link-tl-wr940n-nd-v2-sysupgrade.bin && ln -s gluon-ffdus-$(cat /home/build/gluon/ffdusexp/build/ar71xx-generic/prepared)-tp-link-tl-wr941n-nd-v5-sysupgrade.bin /home/build/gluon/ffdusexp/output/images/sysupgrade/gluon-ffdus-$(cat /home/build/gluon/ffdusexp/build/ar71xx-generic/prepared)-tp-link-tl-wr940n-nd-v2-sysupgrade.bin &&   rm -f /home/build/gluon/ffdusexp/output/images/factory/gluon-*-tp-link-tl-wr940n-nd-v2.bin && ln -s gluon-ffdus-$(cat /home/build/gluon/ffdusexp/build/ar71xx-generic/prepared)-tp-link-tl-wr941n-nd-v5.bin /home/build/gluon/ffdusexp/output/images/factory/gluon-ffdus-$(cat /home/build/gluon/ffdusexp/build/ar71xx-generic/prepared)-tp-link-tl-wr940n-nd-v2.bin &&      rm -f /home/build/gluon/ffdusexp/output/images/sysupgrade/gluon-*-tp-link-tl-wr941n-nd-v6-sysupgrade.bin && cp /home/build/gluon/ffdusexp/build/ar71xx-generic/profiles/TLWR941/images/gluon-tl-wr941nd-v6-squashfs-sysupgrade.bin /home/build/gluon/ffdusexp/output/images/sysupgrade/gluon-ffdus-$(cat /home/build/gluon/ffdusexp/build/ar71xx-generic/prepared)-tp-link-tl-wr941n-nd-v6-sysupgrade.bin &&   rm -f /home/build/gluon/ffdusexp/output/images/factory/gluon-*-tp-link-tl-wr941n-nd-v6.bin && cp /home/build/gluon/ffdusexp/build/ar71xx-generic/profiles/TLWR941/images/gluon-tl-wr941nd-v6-squashfs-factory.bin /home/build/gluon/ffdusexp/output/images/factory/gluon-ffdus-$(cat /home/build/gluon/ffdusexp/build/ar71xx-generic/prepared)-tp-link-tl-wr941n-nd-v6.bin &&    rm -f /home/build/gluon/ffdusexp/output/images/sysupgrade/gluon-*-tp-link-tl-wr940n-nd-v3-sysupgrade.bin && ln -s gluon-ffdus-$(cat /home/build/gluon/ffdusexp/build/ar71xx-generic/prepared)-tp-link-tl-wr941n-nd-v6-sysupgrade.bin /home/build/gluon/ffdusexp/output/images/sysupgrade/gluon-ffdus-$(cat /home/build/gluon/ffdusexp/build/ar71xx-generic/prepared)-tp-link-tl-wr940n-nd-v3-sysupgrade.bin &&   rm -f /home/build/gluon/ffdusexp/output/images/factory/gluon-*-tp-link-tl-wr940n-nd-v3.bin && ln -s gluon-ffdus-$(cat /home/build/gluon/ffdusexp/build/ar71xx-generic/prepared)-tp-link-tl-wr941n-nd-v6.bin /home/build/gluon/ffdusexp/output/images/factory/gluon-ffdus-$(cat /home/build/gluon/ffdusexp/build/ar71xx-generic/prepared)-tp-link-tl-wr940n-nd-v3.bin &&      rm -f /home/build/gluon/ffdusexp/output/images/sysupgrade/gluon-*-tp-link-tl-wr941n-nd-v6-cn-sysupgrade.bin && cp /home/build/gluon/ffdusexp/build/ar71xx-generic/profiles/TLWR941/images/gluon-tl-wr941nd-v6-cn-squashfs-sysupgrade.bin /home/build/gluon/ffdusexp/output/images/sysupgrade/gluon-ffdus-$(cat /home/build/gluon/ffdusexp/build/ar71xx-generic/prepared)-tp-link-tl-wr941n-nd-v6-cn-sysupgrade.bin &&   rm -f /home/build/gluon/ffdusexp/output/images/factory/gluon-*-tp-link-tl-wr941n-nd-v6-cn.bin && cp /home/build/gluon/ffdusexp/build/ar71xx-generic/profiles/TLWR941/images/gluon-tl-wr941nd-v6-cn-squashfs-factory.bin /home/build/gluon/ffdusexp/output/images/factory/gluon-ffdus-$(cat /home/build/gluon/ffdusexp/build/ar71xx-generic/prepared)-tp-link-tl-wr941n-nd-v6-cn.bin &&    :
/home/build/gluon/ffdusexp/Makefile:428: recipe for target 'image' failed
cp: cannot stat '/home/build/gluon/ffdusexp/build/ar71xx-generic/profiles/TLWR941/images/gluon-tl-wr941nd-v6-cn-squashfs-sysupgrade.bin': No such file or directory

EDIT: Du sollst die Zeile natürlich ohne die Sterne einfügen (hoffe dass es nicht daran lag) :smile:

$(eval $(call GluonModel,TLWR941,tl-wr941nd-v6-cn,tp-link-tl-wr941n-nd-v6-cn))

Ist das denn der aktuelle Gluon-Master?
Das Device heißt definitiv tl-wr941nd-v6-cn, das Device Profile ist TLWR941 und das Image soll „tp-link-tl-wr941n-nd-v6-cn“ heißen.
Alles richtig. Ich glaube nicht, dass das der aktuelle Master ist…

Master vom was? Gluon? Natürlich nicht, das ist ChaosCalmer!

Wenn Du mir eine Version zum Testen bauen magst (egal welche Domain, ist ja nur zum Test), dann würde ich mich freuen.