TP-Link CPE210 v2 - Gluon Support


#41

Hallo wakkomon.

Evtl. kannst du eine Anleitung zum “zu Fuß” aufsetzen des CPE210 V2 verfassen.
Damit währe evtl einigen schon geholfen.


#42

Wurde der Patch den Upstream bei LEDE eingereicht?


#43

Ich habe hier etwas gefunden:
https://forum.lede-project.org/t/build-for-tp-link-cpe210-v2/9006

Hier gibt es Firmware zum download:
https://drive.google.com/drive/folders/12iYQ2pgTMs301K6iw1U0rBQduKRMRjnb

Ob das helfen kann weiss ich auch nicht. Die Spezialisten sind gefragt.

Gruß


#44

ok klar kein Problem hier mein weg “zu fuss”, der Weg ist zwar komplett umständlich aktuell, aber ziemlich linear :wink:

und man muss sehr vorsichtig sein damit man nicht das eigene Netz mit rein bringt(die lan bridge), also ehr nur was für OpenWRT/LEDE erfahrene user
(war ich vorher nicht hab n haufen gelernt dabei :wink: )
ich versuchs mal zu beschreiben

ich hab mir die sourcen der LEDE firmware von folgenden Quellen geholt:

Thread: TP-Link CPE210 v2 - Gluon Support
CPE210v2 test Source: https://github.com/robimarko/source/tree/CPE210-v2-clock
LEDE Soruce: GitHub - lede-project/source: Mirror of https://git.lede-project.org/?p=source.git Please send your PRs against this tree. They will be merged via staging trees and appear in this tree once the staging trees get merged back into source.git
Gluon Source: GitHub - freifunk-gluon/gluon: a modular framework for creating OpenWrt-based firmwares for wireless mesh nodes
OpenWRT Routing source: GitHub - openwrt-routing/packages: OpenWrt Routing Packages
For ff specific packages: GitHub - freifunk-gluon/packages: Reposity for Gluon specific and updated OpenWrt packages

Wenn ihr die Binaries selbst erstellen wollt:
Benötigt werden im Moment nur der komplette “CPE210v2 test source”, sowie das batman-adv und batctl packet vom “OpenWRT Routing source” oder Gluon-Source

habe dazu das batman-adv packet in den package folder vom “CPE210v2 test source” kopiert
anschließend mit “make menuconfig” die packete aktiviert und mit “make” compiliert
die passende make-.config nach meinem “make menuconfig” wäre diese hier: .config
Compilieren deswegen, damit das batman-adv Packet als kernel-mode auch wirklich zum kernel passt

wenn nicht, crashed der kernel und ihr bekommt den CPE nurnoch per tftp recovery wieder ans laufen

Nach dem flashen ist die default ip 192.168.1.1 (lede default) root-pwd keins oder es wird per DHCP eine IP vom router geholt.
Die dann einfach am eigenen Router nachschaun.

Habs nicht hingebracht das Webinterface (luci) gleich mit drin zu haben, kann man als Packet per ssh aber nachinstallieren:
opkg update
opkg install luci
opkg install libiwinfo-lua
opkg install batctl (da evtl die sourcen in der /etc/opkg/distfeeds.conf ändern bin mir nicht mehr sicher)

damit habt ihr erstmal ein “normales” LEDE mit Webinterface, jetzt der Rest vom “gluon” konfiguriert:

Freifunkteil für Clients, optional:
Im Webinterface müßt ihr einmal den schon vorhandenen wifi-adapter im ap-mode belassen und am besten ohne VLAN aufs freifunkclient-netz bridgen(freifunk-ssid ohne verschlüsselung)
die Bridge zum LAN erstmal entfernen
Diesen Adapter kann man dann wenns meshing funktioniert auch auf bat0 bridgen, dann darf aber kein anderes ff-client-netz schon auf den lan-ports sein oder die bridge zu den LAN-Ports muss raus
(wenns ohne mesh bleibt dann ins ff-client-lan bridgen würde aber eh mit jedem AP gehen, interessanter ist ja der mesh part)

Freifunk mesh:
dazu einen 2. WLAN-Adapter per Webinterface anlegen, im ad-Hoc-mode SSID mesh.ffmuc BSSID 02:0E:8E:1E:61:17
NICHT mit irgendeinem Netzwerkadapter bridgen, am besten auf “unmanaged” lassen

dann muss folgendes in die /etc/config/batman-adv (ffmuc spezifisch?))
config mesh ‘bat0’
option gw_mode ‘client’
option orig_interval ‘5000’
option hop_penalty ‘15’
option gw_sel_class ‘3’
option multicast_mode ‘0’

fertig. (geht ggf. auch mit den ff üblichen uci set befehlen).
aktiviert wird batman-adv dann so:

ip link set mtu 1532 dev wlan0
batctl if add wlan0
ip link set bat0 up

wenn alles gut geht seiht ihr mit “ifconfig” nun einen neuen Netzwerkadapter bat0, das ist der virtuelle ff-switch mit dem ff-client-lan
der wird auf den 1. im ap mode eingestellten wifi-adapter gebridged

das kann auch ins startup-script, oder in die crontab, das Problem, batman-adv beendet sich sobald man per webinterface nochmal was an der config nändert, dann muss man das nochmal machen

eine VPN zu einem freifunk gateway hat die firmware damit erstmal nicht und is aufs meshing mit einem anderen ff-router als uplink angewiesen
ist aber eh besser, da die config schon noch sehr wackelig ist und ich will keine schleifen oder fehler im ff-netz verursachen

obs meshing dann auch funktioniert kann man so prüfen:
batctl if (sollte wlan0 als hinzugefügten adapter anzeigen)
batctl o (zeigt alle erkannten nodes im mesh an, dauert ggf eine weile)

ich hoffe ich krieg das alles zusammen als fertige config in eine firmeware, wollte mir den aufwand aber sparen in der hoffnung der CPE-teil der Änderungen kommt recht schnell in die richtige gluon-firmware

hoffe das war soweit verständlich :wink:


#45

weis ich leider nicht, ich weis nicht wie das geht bzw wie man das sieht

habe den source von hier:
https://github.com/robimarko/source/tree/CPE210-v2-clock


#46

die fertige firmware von
https://drive.google.com/drive/folders/12iYQ2pgTMs301K6iw1U0rBQduKRMRjnb1
ist leiderr ohne batman-adv, sie funktioniert zwar grundsätzlich, aber meshing funktioniert leider damit nicht, damit hat man dann auch nicht viel mehr vorteile als mit der stock firmware

kann auch gerne meine binaries inkl. batman-adv zur verfügung stellen (siehe post “weg zu fuss”) allerdings fehlt das luci-webinterface noch und fastd für vpn, nur wlan-meshing und client funktioniert


#47

ok i now tried to get a better firmware by merging robimarko’s LEDE version with gluon packages:

but i get following message:

respondd.c: In function ‘add_uptime’:
respondd.c:140:35: error: ‘json_object_double_to_json_string’ undeclared (first use in this function)
json_object_set_serializer(jso, json_object_double_to_json_string, “%.2f”, NULL);
^

seems that i’m missing json-c package, but i did’nt find it anywhare, i found the source but not sure how to merge… just copiiing also in packages did not work - does someone have an idea what to do?


#48

Why don’t you just take the Lede-Commit which enables the CPE210v2 and apply it to the older Lede-version on which Gluon is based on. Then you’ll only have to add the target in the profiles.mk and you’ll get real support for this device.

I’ve never done this, but the guys on hackint.org IRC #gluon should be able to help you with this.


#49

@wakkomon Found this while searching for the CPE210 v2 support: http://mx.hateotu.de:8025/pipermail/freifunk_info/2017-December/003555.html

I am currently building the image:

git clone -b v2017.1.4  https://github.com/freifunk-gluon/gluon.git gluon
cd gluon
wget https://github.com/FreifunkVogtland/gluon/commit/ffa5a6526f319a43fbe9d0c7721e3c7b87d43dac.patch -O cpe210v2.patch
git am cpe210v2.patch
git clone http://github.com/my-freifunk-community/site.git site
make update
make GLUON_TARGET="ar71xx-generic" GLUON_BRANCH="experimental" DEVICES="tp-link-cpe210-v2.0" -j4

#50

thank you very much that looks like the best way to do it :wink:
i tried it for ffmuc for example like this:

git clone -b v2017.1.4 https://github.com/freifunk-gluon/gluon.git gluon
cd gluon
wget https://github.com/FreifunkVogtland/gluon/commit/ffa5a6526f319a43fbe9d0c7721e3c7b87d43dac.patch -O cpe210v2.patch
git am cpe210v2.patch
git clone https://github.com/freifunkMUC/site-ffm.git site
make update
make GLUON_TARGET=“ar71xx-generic” GLUON_BRANCH=“experimental” DEVICES=“tp-link-cpe210-v2.0” -j1 V=s

but i no get following error:

lua: site_config.lua:9: site_config.lua:5: attempt to index a nil value
stack traceback:
[C]: ?
[C]: in function ‘load’
site_config.lua:9: in main chunk
(command line):1: in main chunk
[C]: ?
stack traceback:
[C]: in function ‘assert’
site_config.lua:9: in main chunk
(command line):1: in main chunk
[C]: ?

not sure if this is a problem of site configuration, the “attempt to index a nil value” error seems to be common with lua use but i did not find a solution yet


#51

thanks for suggestion i will get it a try (or is charlemagnelasse next post something like this?)


#52

i did not manage to merge changes but
got different, much easier solution with working freifunk firmware on CPE210v2:

  • used gluon-ffv-b20171221-v-tp-link-cpe210-v2.0-sysupgrade.bin from Index of /firmware/experimental
  • exchanged /lib/gluon/site.json from my community “ffmuc” (copied from another ffmuc freifunk router)
  • set different settings by uci manually to be sure
  • not using vpn mesh for the moment, only mesh on lan

#53

Also ich konnte mir für FFKS nach einigen Anpassungen an der site.mk / .conf und entsprechender Module, eine gluon-2017.1.4 für generic/tiny bauen.
… Wobei die bei den CPE’s probleme macht in sachen MESH-VPN; CPE rebootet nach kurzer zeit und meshed dann überhaupt nicht mehr. Am Wochenende werde ich mal die Konsole dran hängen und schauen, was da für ein Problem ist.
Mesh-on-WAN; MESH via WLAN funzt hingegen 1a

Der Testaubau mit einem alten TL-WR841n v9 lief mit gluon-2017.1.4 problemlos. (auch MESH-VPN)

Edit: Die rede ist natürlich von CPE210 v2.0


#54

Hallo

Das Problem mit dem Mesh VPN hat auch mein V1.1. Alle 2 Wochen muss ich die Firmware neu drauf machen ohne Übernahme der Konfig, alles neu eingeben und dann macht es es ein zwei Wochen. Danach gehts von neuem los. FW Gö.
Das private WLAN funktioniert.

Gruß


#55

Ok.
auf einem V1.1 habe ich bislang die beta der community genommen basierend auf 2016.2.7
Da laufen die CPE Geräte ohne Probleme…
Ob der 1.1er mit der 2017.1.4 blöd macht müsste ich mal testen


#56

Es gibt jetzt einen OpenWrt pull request. https://github.com/openwrt/openwrt/pull/642

Ich würde gern testen, ob der CPE210v2 jetzt läuft. Bekommt man die Patches irgendwie in Gluon rein? Wenn ich richtig verstanden habe, basiert Gluon 2017.1.4 ja auf LEDE - kann man die Patches trotzdem anwenden?


Test-Firmware v2017.1.4
#57

Soweit ich das verstanden habe, wird Lede jetzt nur noch als eine Version von OpenWRT aufgefasst und OpenWRT selbst ist quasi der Hauptentwicklungszweig.


#58

Wenn die Patches in OpenWrt aufgenommen wurden, kann gerne jemand einen Backport bei Gluon einreichen, wie bei jeder Hardware :slight_smile:

so ähnlich. lede-17.01 ist der aktuelle stable Branch des vereinigten Projektes OpenWrt (Schreibweise!), in dem LEDE wieder aufging.


#59

Was fehlt denn jetzt noch um eine FW für die lokale FF Gruppe zu bauen? Wann kann man damit rechnen? Wir haben hier 2 Stück rumliegen die zum Einsatz kommen sollen.

Gruß


#60

Es fehlt dann wohl jemand, der ein Gluon 2017.1.x (nach letztem “normalen offiziellen Release-Stand” bauen kann)
“ganz standard”, also “kein Master”. Sondern ganz normal ein Gluon bauen. Nach Anleitung ggf.