UMTS: Unterschied zwischen den Versionen

Aus Freifunk-Rheinbach Wiki
Zur Navigation springen Zur Suche springen
 
(33 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
Dieser Artikel beschreibt wie ein Freifunkrouter mit einem UMTS-Stick zu einem mobilen Hotspot wird. Einige Modelle (z.B. TP-LINK TL-WR841 V7, V10 oder MR3020) lassen sich mit einer Powerbank oder der Autobatterie autark vom 220V Netz wirklich mobil betreiben.
Dieser Artikel beschreibt wie ein Freifunkrouter mit einem UMTS-Stick (USB-3G-Dongle) oder einem Smartphone mit USB-Tethering zu einem mobilen Hotspot wird. Einige Modelle (z.B. TP-LINK TL-WR841 V7, V10, WR1043ND oder MR3020) lassen sich mit einer Powerbank (5 Volt) oder der Autobatterie autark vom 220V Netz wirklich mobil betreiben.


Getestet mit: TP-LINK TL-WR1043 v2 und v3, TP-LINK TL-MR3020 v1.9 und MEDION Surfstick S4222 mit FONIC Prepaid Karte.
Getestet mit: TP-LINK TL-WR1043 v2 und v3, TP-LINK TL-MR3020 v1.9 und MEDION Surfstick S4222 mit FONIC Prepaid Karte.
Zeile 9: Zeile 9:
== Voraussetzungen ==
== Voraussetzungen ==


Für die Installation eines UMTS-Stick sind folgende Voraussetzungen zu erfüllen:
Für die Installation eines UMTS-Stick (weitere Hinweise unter [[USB-Support]]) sind folgende Voraussetzungen zu erfüllen:


* Der Router benötigt einen USB-Port.
* Der Router benötigt einen USB-Port.
* Während der Softwareinstallation muss der Router über den WAN-Port aus Internet angeschlossen sein.
* Während der Softwareinstallation muss der Router über den WAN-Port aus Internet angeschlossen sein.
* In ''/etc/resolv.conf'' muss ein Nameserver eingetragen werden, damit die OpenWrt Pakete gefunden werden.  
* In ''/etc/resolv.conf'' muss ein erreichbarer Nameserver (z.B. 8.8.8.8) eingetragen werden, damit die OpenWrt Pakete gefunden werden.  


Als Nameserver nutze ich meinen lokalen Router.
Als Nameserver nutze ich meinen lokalen Router.
Zeile 25: Zeile 25:


== Schritt 1a: Installation der Software (Teil 1) ==  
== Schritt 1a: Installation der Software (Teil 1) ==  
Ab Gluon v2017.x haben die Router bei Freifunk Rheinbach USN_Support an Bord, wenn sie einen USB-Port haben. Ausnahmen bestätigen die Regel: Der TP-Link TL-WR842N(D) läuft mit USB-Support instabil.


Gluon verwendet einen eigenen, modifizierten Kernel. Daher müssen Kernel-Module für diesen Kernel kompiliert werden. Dies geschieht bei der Generierung der Firmware. Die Module befinden sich im Ordner ''/output/modules''. Für die Installation der richtigen Module sollte in der Datei ''/etc/opkg/customfeed.conf'' der Pfad zu den Modulen eingetragen werden, die mit der Firmware generiert wurden. Für meine Zwecke habe ich die Pakete auf einem Router mit USB-Stick geladen und den Ordner unter der Statusseite als ''/download'' abgelegt. Hier das Beispiel für mein Image vom 05.10.2016:
Gluon verwendet einen eigenen, modifizierten Kernel. Daher müssen Kernel-Module für diesen Kernel kompiliert werden. Dies geschieht bei der Generierung der Firmware. Die Module befinden sich im Ordner ''/output/modules''. Für die Installation der richtigen Module sollte in der Datei ''/etc/opkg/customfeed.conf'' der Pfad zu den Modulen eingetragen werden, die mit der Firmware generiert wurden. Für meine Zwecke habe ich die Pakete auf einem Router mit USB-Stick geladen und den Ordner unter der Statusseite als ''/download'' abgelegt. Hier das Beispiel für mein Image vom 05.10.2016:
Zeile 51: Zeile 53:
  reboot ; exit
  reboot ; exit


Nach einem Reboot muss natürlich die ''/etc/resolv.conf'' wieder angepasst werden.  
Nach einem Reboot muss natürlich die ''/etc/resolv.conf'' wieder angepasst werden, wenn weitere Software installiert werden soll.


== Schritt 1b. Softwareinstallation  (Teil 2) ==
== Schritt 1b. Softwareinstallation  (Teil 2) ==
Zeile 72: Zeile 74:
</pre>
</pre>


Auf einem TP-LINK TL-MR3020 ist nicht genug Speicher für die obige Lösung.
Der Speicher des TP-LINK TL-MR3020 reicht für die obige Lösung leider nicht aus.


Alternativ kann ''rdnis'' genutzt werden, was aber nach verschiedenen Berichten bei älteren 3G-Dongles ggf. nicht funktioniert.
Alternativ kann ''rdnis'' genutzt werden, was aber nach verschiedenen Berichten bei älteren 3G-Dongles ggf. nicht funktioniert.
Zeile 88: Zeile 90:
</pre>
</pre>


(Diese Pakete passen auch auf einen TP-LINK MR3020. Sie reichen aber nicht aus, um einen Medion Stick damit anzusteuern. Was ich noch nicht getestet habe, ist ein USB-Tethering über ein Mobiltelefon.)  
(Diese Pakete passen auf einen TP-LINK MR3020. Sie reichen aber nicht aus, um einen Medion UMTS-Stick damit anzusteuern. Hier funktioniert nur ein USB-Tethering über ein Mobiltelefon.)  


Diese Lösung habe ich mit dem Medion Stick noch nicht getestet. In welchem Umfang neuere Sticks die erste Lösung nicht mehr unterstützen, weiß ich nicht.
Diese Lösung habe ich mit dem Medion Stick noch nicht getestet. In welchem Umfang neuere Sticks die erste Lösung nicht mehr unterstützen, weiß ich nicht.
Zeile 102: Zeile 104:
</pre>
</pre>


=== USB-3G-Dongle von Medion (S4222) ===
== Schritt 3: USB-Schnittstellen einrichten ==
 
Der USB-3G-Dongle soll eine zweite Verbindung ins Internet aufbauen, über die ''fastd'' einen Tunnel zu den Supernodes im Internet aufbauen kann. Dazu definieren wir eine neue Netzwerkschnittstelle, die ich 'umts' genannt habe.
Dieses Interface wird mit folgendem Script auf dem Freifunkrouter als Netzwerkschnittstelle eingerichtet werden. Dabei ist &lt;xxxx&gt; durch die PIN der SIM-Karte zu ersetzen. Wenn alles richtig läuft, meldet sich die Schnittstelle als ''3g-umts''. Die Schnittstellle ''umts'' muss außerdem der Firewall in der Zone 1 bekannt gemacht werden. Dies geschiet am besten mittels ''uci'' Befehlen, die ich in einem Script ''umts'' zusammengefügt habe.
 
<pre>
#!/bin/sh
 
echo "Einrichten der Netzwerkschnittstelle für UMTS
 
uci set network.umts=interface
uci set network.umts.proto=3g
uci set network.umts.peerdns=0
uci set network.umts.ifname=umts0
uci set network.umts.device=/dev/ttyUSB0
uci set network.umts.apn=internet
uci set network.umts.pincode=&lt;xxxx&gt;
uci set network.umts.delay=90
uci commit


uci set firewall.@zone[1].network='wan wan6 umts'
Für die Einrichtung der USB-Schnittstelle gibt es verschiedene Möglichkeiten. Wird der USB-3G-Dongle von Medion genutzt, funktioniert die Einrichtung mit ''gomgt''. Soll die UMTS-Verbindung über ein USB-Tethering erfolgen, dann muss rdnis verwendet werden.
uci commit firewall
</pre>


Für den DNS muss die Datei /var/gluon/wan-dnsmasq/resolv.conf geändert werden. Diese wird durch zwei Scripte erstellt
Im Gegensatz zu anderen Installationsanweisungen, die die WAN Schnittstelle umbenennen und durch die USB-Schnittstelle erstetzen, wird in dieser Lösung eine zusätzliche WAN-Schnittstellen (theter und umts) definiert. Dies hat den Vorteil, dass der Router auch über den WAN-Port funktioniert.


Zusätzlich müssen zwei Dateien angepasst werden: /''etc/hotplug.d/iface/50-gluon-wan-dnsmasq'' und ''/lib/gluon/wan-dnsmasq/update.lua''
=== Schritt 3.1: TP-LINK TL-MR3020 mit rdnis für USB-Tethering einrichten ===


In der Datei ''50-gluon-wan-dnsmasq'' muss das neue Interface ''umts'' in die Liste eingefügt werden ...
Beim TP-LINK TL-MR3020 ist der Overlay-Speicher leider zu klein, um eine UMTS Unterstützung nachträglich zu installieren. Um Platz zu schaffen, muss auf das Paket ''gluon-status-page'' verzichtet werden. Dann kann eine Firmware für den TP-LINK TL-MR3020 gebaut werden, die den Router über ein Mobiltelefon mit USB-Tethering mit den [[fastd]] Servern verbindet. Für die Lösung mit einem USB-3G-Dongle reicht der Platz noch nicht. Mit dem TL-3020 kommt daher nur eine Minimallösung über USB-Tethering in Frage, die auch bei anderen Routern mit USB-Port möglich ist.
 
<pre>
if [ "$INTERFACE" = 'wan' -o "$INTERFACE" = 'wan6' -o "$INTERFACE" = 'umts' ]; then
  /lib/gluon/wan-dnsmasq/update.lua
fi
</pre>
 
und in der Datei ''update.lua'' wird der Aufruf ''pcall(s,'umts')'' eingefügt.
 
<pre>
...
else
pcall(s,'wan6')
pcall(s,'wan')
pcall(s,'umts')
end
...
</pre>
 
== TP-LINK TL-MR3020 mit USB-Tethering ==
 
Beim TP-LINK TL-MR3020 ist der Overlay-Speicher leider zu klein, um eine UMTS Unterstützung nachträglich zu installieren. Um Platz zu schaffen, muss auf das Paket ''gluon-status-page'' verzichtet werden. Dann kann eine Firmware für den TP-LINK TL-MR3020 gebaut werden, die den Router über USB-Tethering mit den fastd Servern verbindet.


<pre>
<pre>
Zeile 173: Zeile 132:
</pre>
</pre>


Mit folgenden Befehlen wird dann die Schnittstelle aktiviert.
Mit folgenden Befehlen wird die Schnittstelle aktiviert.


<pre>
<pre>
Zeile 184: Zeile 143:
uci set network.tether.device='/dev/ttyUSB0'
uci set network.tether.device='/dev/ttyUSB0'
uci commit
uci commit
</pre>


uci set firewall.@zone[1].network='tether wan wan6'
Die zusätzliche WAN Schnittstelle müssen noch in der Firewall eingerichtet werden.
 
<pre>
uci add_list firewall.@zone[1].network='tether'
uci commit firewall  
uci commit firewall  
</pre>
</pre>
Die obigen Ergänzungen der Netzwerkeinstellungen bleiben auch bei einer Aktualisierung der Firmware erhalten. (Außer man erzwingt ein Rücksetzen aller Einstellungen.) Dagegen müssen die folgenden Anpassungen bei jeder Aktualisierung der Firmware erneut vorgenommen werden.


Wie bereits oben beschrieben müssen auch hier die Dateien  
Wie bereits oben beschrieben müssen auch hier die Dateien  
* ''/etc/hotplug.d/iface/50-gluon-wan-dnsmasq'' und  
* ''/etc/hotplug.d/iface/50-gluon-wan-dnsmasq'' und  
* ''/lib/gluon/wan-dnsmasq/update.lua''
* ''/lib/gluon/wan-dnsmasq/update.lua''
angepasst werden:
angepasst werden.


In der Datei ''50-gluon-wan-dnsmasq'' muss das neue Interface ''tether'' in die Liste eingefügt werden ...
In der Datei ''50-gluon-wan-dnsmasq'' muss das neue Interface ''tether'' in die Liste eingefügt werden ...
Zeile 213: Zeile 178:
...
...
</pre>
</pre>
Durch diese Konfiguratioin werden zwei zusätlichen Netzwerkschnittstellen usb0 und br-tether erstellt.


Getestet wurde diese Konfiguration mit einem Samsung Galaxy Note 4.
Getestet wurde diese Konfiguration mit einem Samsung Galaxy Note 4.
==== Tunneldigger ====
Wenn anstelle [[fastd]] [[Tunneldigger]] eingesetzt wird, muss die Tunneldigger Konfiguration geändert werden. Tunneldigger wird an die Netzwerkschnittstelle [[br-wan]] gebunden. Diese Bindung muss auif br-tether geändert werden.
<pre>
uci set tunneldigger.mesh_vpn.bind_interface='br-tether'
uci commit tunnlerdigger
/etc/init.d/tunneldigger restart
</pre>
=== Schritt 3.2: USB-3G-Dongle von Medion (S4222) mit gomgt einrichten ===
Bei Routern mit mehr Speicher als der MR3020 (z.B. WR1043nd v1 bis v4, v5 hat kein USB mehr) kann ein vollständiger USB-Support installiert werden. Mit einem USB-3G-Dongle kann eine Verbindung ins Internet aufgebaut werden, über die ''fastd'' oder ''Tunneldigger'' einen Tunnel zu den Supernodes im Internet aufbauen können.
Dazu definieren wir eine weitere Netzwerkschnittstelle, die ich 'umts' genannt habe. Viele Kochrezepte empfehlen die Schnittstelle ''wan'' zu benennen und die alte Schnittstelle in ''wan2'' umzubenennen. Dies ist jedoch nicht notwendig. Der Router kann mit mehreren Schnittstellen gleichzeitig umgehen. Dies hat den Vorteil, dass der Router sowohl über den WAN-Port, als auch über einen UMTS-Stick angebunden werden kann. Eine gleichzeitige Verbindung mit beiden Schnittstellen ist möglich. Hier kann es jedoch passieren, dass die Verbindung über UMTS stattfindet, was sehr teuer werden kann.
Dieses zusätzliche Interface ''umts'' mit folgendem Script auf dem Freifunkrouter als Netzwerkschnittstelle eingerichtet. Dabei ist &lt;xxxx&gt; durch die PIN der eingesetzten SIM-Karte zu ersetzen. Wenn alles richtig läuft, meldet sich die Schnittstelle als ''3g-umts''. Die Schnittstelle ''umts'' muss außerdem der Firewall in der Zone 1 bekannt gemacht werden. Dies geschieht am besten mittels ''uci'' Befehlen, die ich in einem Script ''umts'' zusammengefügt habe.
(Die folgende Anpassung ist nicht in der Firmware enthalten.)
<pre>
#!/bin/sh
echo "Einrichten der Netzwerkschnittstelle für UMTS
uci set network.umts=interface
uci set network.umts.proto=3g
uci set network.umts.peerdns=0
uci set network.umts.ifname=umts0
uci set network.umts.device=/dev/ttyUSB0
uci set network.umts.apn=internet
uci set network.umts.pincode=&lt;xxxx&gt;
uci set network.umts.delay=90
uci commit
uci add_list firewall.@zone[1].network='umts'
uci add_list firewall.@zone[1].network='tether'
uci commit firewall
</pre>
Anmerkung: Der Ursprüngliche Befehl "uci set firewall.@zone[1].network='umts tether wan wan6' ist zumindest ab Gluon 2017.1.x falsch.
Für den DNS muss die Datei /var/gluon/wan-dnsmasq/resolv.conf geändert werden. Diese wird durch zwei Scripte erstellt. (In der Rheinbacher Firmware ab Gluon v2017.x sind die folgenden Anpassungen bereits drin.)
Zusätzlich müssen zwei Dateien angepasst werden: /''etc/hotplug.d/iface/50-gluon-wan-dnsmasq'' und ''/lib/gluon/wan-dnsmasq/update.lua''
In der Datei ''50-gluon-wan-dnsmasq'' muss das neue Interface ''umts'' in die Liste eingefügt werden ...
<pre>
if [ "$INTERFACE" = 'wan' -o "$INTERFACE" = 'wan6' -o "$INTERFACE" = 'umts'  -o "$INTERFACE" = tether']; then
  /lib/gluon/wan-dnsmasq/update.lua
fi
</pre>
und in der Datei ''update.lua'' wird der Aufruf ''pcall(s,'umts')'' eingefügt.
<pre>
...
else
pcall(s,'wan6')
pcall(s,'wan')
pcall(s,'umts')
end
...
</pre>
==== Tunneldigger ====
Wenn anstelle [[fastd]] [[Tunneldigger]] eingesetzt wird, muss die Tunneldigger Konfiguration geändert werden. Tunneldigger ist normalerweise an die Netzwerkschnittstelle [[br-wan]] gebunden. Diese Bindung muss auf [[3g-umts]] geändert werden.
Leider muss diese Umschaltung noch von HAnd ausgeführt werden.
<pre>
uci set tunneldigger.mesh_vpn.bind_interface='3g-umts'
uci commit tunnlerdigger
/etc/init.d/tunneldigger restart
</pre>


== Test ==
== Test ==
TP-Link TL-WR1043ND mit USB-3G-Dongle. Hier wird die Schnittstelle 3g-umts bereitgestellt. (Die IP-Adresse 10.171.235.229 stallt vom Mobilfunkanbieter. GGf. wird es zu Konflikten kommen, wenn dieser Adressbereich vom Freifunknetz verwendet wird.


<pre>
<pre>
Zeile 227: Zeile 274:
           collisions:0 txqueuelen:3  
           collisions:0 txqueuelen:3  
           RX bytes:98 (98.0 B)  TX bytes:140590 (137.2 KiB)
           RX bytes:98 (98.0 B)  TX bytes:140590 (137.2 KiB)
</pre>
TP-Link TL-MR3020 am Samsung Galaxy Note 4 mit USB-Tethering:
<pre>
root@su-rhb-ff-ext-002:~# ifconfig usb0
usb0      Link encap:Ethernet  HWaddr 02:50:07:03:35:64 
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:159014 errors:0 dropped:0 overruns:0 frame:0
          TX packets:66906 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:60228689 (57.4 MiB)  TX bytes:20634066 (19.6 MiB)
root@su-rhb-ff-ext-002:~# ifconfig br-tether
br-tether Link encap:Ethernet  HWaddr 02:50:07:03:35:64 
          inet addr:192.168.42.85  Bcast:192.168.42.255  Mask:255.255.255.0
          inet6 addr: fe80::50:7ff:fe03:3564/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:163095 errors:0 dropped:0 overruns:0 frame:0
          TX packets:67936 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:61112941 (58.2 MiB)  TX bytes:17979223 (17.1 MiB)
</pre>
</pre>



Aktuelle Version vom 24. Juni 2018, 18:42 Uhr

Dieser Artikel beschreibt wie ein Freifunkrouter mit einem UMTS-Stick (USB-3G-Dongle) oder einem Smartphone mit USB-Tethering zu einem mobilen Hotspot wird. Einige Modelle (z.B. TP-LINK TL-WR841 V7, V10, WR1043ND oder MR3020) lassen sich mit einer Powerbank (5 Volt) oder der Autobatterie autark vom 220V Netz wirklich mobil betreiben.

Getestet mit: TP-LINK TL-WR1043 v2 und v3, TP-LINK TL-MR3020 v1.9 und MEDION Surfstick S4222 mit FONIC Prepaid Karte.

Mobiler Router mit UMTS

Für einen Freifunkrouter, der über einen UMTS-Stick ans Internet angebunden werden soll, sollte das Image mit USB Unterstützung verwendet werden. Trotz der USB Unterstützung sind folgende Schritte notwendig, um den UMTS-Stick zum Laufen zu bringen. (Es werden auch die Module aufgeführt, die ohne USB-Unterstützung bei der Erstellung der FF-Firmware benötigt werden.)

Voraussetzungen

Für die Installation eines UMTS-Stick (weitere Hinweise unter USB-Support) sind folgende Voraussetzungen zu erfüllen:

  • Der Router benötigt einen USB-Port.
  • Während der Softwareinstallation muss der Router über den WAN-Port aus Internet angeschlossen sein.
  • In /etc/resolv.conf muss ein erreichbarer Nameserver (z.B. 8.8.8.8) eingetragen werden, damit die OpenWrt Pakete gefunden werden.

Als Nameserver nutze ich meinen lokalen Router.

Beispile: /etc/resolv,conf

search lan
nameserver 192.168.20.1
nameserver 127.0.0.1

Schritt 1a: Installation der Software (Teil 1)

Ab Gluon v2017.x haben die Router bei Freifunk Rheinbach USN_Support an Bord, wenn sie einen USB-Port haben. Ausnahmen bestätigen die Regel: Der TP-Link TL-WR842N(D) läuft mit USB-Support instabil.

Gluon verwendet einen eigenen, modifizierten Kernel. Daher müssen Kernel-Module für diesen Kernel kompiliert werden. Dies geschieht bei der Generierung der Firmware. Die Module befinden sich im Ordner /output/modules. Für die Installation der richtigen Module sollte in der Datei /etc/opkg/customfeed.conf der Pfad zu den Modulen eingetragen werden, die mit der Firmware generiert wurden. Für meine Zwecke habe ich die Pakete auf einem Router mit USB-Stick geladen und den Ordner unter der Statusseite als /download abgelegt. Hier das Beispiel für mein Image vom 05.10.2016:

# add your custom package feeds here
#
# src/gz example_feed_name http://www.example.com/path/to/files
src/gz gluon http://[fda0:747e:ab29:2241:16cc:20ff:fecd:15bc]/download/modules/gluon-su-rhb-s2016.2-usb-20161005/ar71xx/generic 

Als erstes müssen die Paketlisten aufdatiert und die Pakete installiert werden.

opkg update
opkg install \
 kmod-usb-core \
 kmod-usb2 \
 libusb-1.0 \
 usb-modeswitch \
 usbreset

Anschließend soll der Router neu gestartet werden. (Der Sinn leuchtet mir nicht ganz ein.)

reboot ; exit

Nach einem Reboot muss natürlich die /etc/resolv.conf wieder angepasst werden, wenn weitere Software installiert werden soll.

Schritt 1b. Softwareinstallation (Teil 2)

Die Installation der weiteren Software kann nicht schaden und wird - nach anderen Beschreibungen - für ältere USB-Dongle benötigt.

opkg update
opkg install \
 chat \
 comgt \
 kmod-ppp \
 kmod-pppoe \
 kmod-usb-serial \
 kmod-usb-serial-option \
 kmod-usb-serial-\
 wwan \
 ppp \
 ppp-mod-pppoe

Der Speicher des TP-LINK TL-MR3020 reicht für die obige Lösung leider nicht aus.

Alternativ kann rdnis genutzt werden, was aber nach verschiedenen Berichten bei älteren 3G-Dongles ggf. nicht funktioniert.

opkg undate
opkg install \
 kmod-nls-base \
 kmod-usb-core \
 kmod-mii \
 kmod-usb-net \
 kmod-usb-net-cdc-ether \
 kmod-usb-net-rndis \
 kmod-usb-uhci 

(Diese Pakete passen auf einen TP-LINK MR3020. Sie reichen aber nicht aus, um einen Medion UMTS-Stick damit anzusteuern. Hier funktioniert nur ein USB-Tethering über ein Mobiltelefon.)

Diese Lösung habe ich mit dem Medion Stick noch nicht getestet. In welchem Umfang neuere Sticks die erste Lösung nicht mehr unterstützen, weiß ich nicht.

Schritt 2: Stick prüfen

Mit den drei folgenden Befehlen wird geprüft, ob der UMTS-Dongle erkannt wird.

usbmode -l
ls /dev/ttyUSB*
gcom info -d /dev/ttyUSB0

Schritt 3: USB-Schnittstellen einrichten

Für die Einrichtung der USB-Schnittstelle gibt es verschiedene Möglichkeiten. Wird der USB-3G-Dongle von Medion genutzt, funktioniert die Einrichtung mit gomgt. Soll die UMTS-Verbindung über ein USB-Tethering erfolgen, dann muss rdnis verwendet werden.

Im Gegensatz zu anderen Installationsanweisungen, die die WAN Schnittstelle umbenennen und durch die USB-Schnittstelle erstetzen, wird in dieser Lösung eine zusätzliche WAN-Schnittstellen (theter und umts) definiert. Dies hat den Vorteil, dass der Router auch über den WAN-Port funktioniert.

Schritt 3.1: TP-LINK TL-MR3020 mit rdnis für USB-Tethering einrichten

Beim TP-LINK TL-MR3020 ist der Overlay-Speicher leider zu klein, um eine UMTS Unterstützung nachträglich zu installieren. Um Platz zu schaffen, muss auf das Paket gluon-status-page verzichtet werden. Dann kann eine Firmware für den TP-LINK TL-MR3020 gebaut werden, die den Router über ein Mobiltelefon mit USB-Tethering mit den fastd Servern verbindet. Für die Lösung mit einem USB-3G-Dongle reicht der Platz noch nicht. Mit dem TL-3020 kommt daher nur eine Minimallösung über USB-Tethering in Frage, die auch bei anderen Routern mit USB-Port möglich ist.

USB_PACKAGES_MR3020 := \
	kmod-nls-base \
	kmod-usb-core \
	kmod-mii \
	kmod-usb-net \
	kmod-usb-net-cdc-ether \
	kmod-usb-net-rndis \
	kmod-usb-uhci

# basic support for USB stack
USB_PACKAGES_BASIC := \
	kmod-usb-core \
	kmod-usb2

GLUON_TLMR3020_SITE_PACKAGES := $(USB_PACKAGES_BASIC) $(USB_PACKAGES_MR3020)

Mit folgenden Befehlen wird die Schnittstelle aktiviert.

uci set network.tether='interface'
uci set network.tether.ifname='usb0'
uci set network.tether.auto='1'
uci set network.tether.proto='dhcp'
uci set network.tether.type='bridge'
uci set network.tether.peerdns='0'
uci set network.tether.device='/dev/ttyUSB0'
uci commit

Die zusätzliche WAN Schnittstelle müssen noch in der Firewall eingerichtet werden.

uci add_list firewall.@zone[1].network='tether'
uci commit firewall 

Die obigen Ergänzungen der Netzwerkeinstellungen bleiben auch bei einer Aktualisierung der Firmware erhalten. (Außer man erzwingt ein Rücksetzen aller Einstellungen.) Dagegen müssen die folgenden Anpassungen bei jeder Aktualisierung der Firmware erneut vorgenommen werden.

Wie bereits oben beschrieben müssen auch hier die Dateien

  • /etc/hotplug.d/iface/50-gluon-wan-dnsmasq und
  • /lib/gluon/wan-dnsmasq/update.lua

angepasst werden.

In der Datei 50-gluon-wan-dnsmasq muss das neue Interface tether in die Liste eingefügt werden ...

if [ "$INTERFACE" = 'wan' -o "$INTERFACE" = 'wan6' -o "$INTERFACE" = 'tether' ]; then
   /lib/gluon/wan-dnsmasq/update.lua
fi

und in der Datei update.lua wird der Aufruf pcall(s,'tether') eingefügt.

...
else
pcall(s,'wan6')
pcall(s,'wan')
pcall(s,'tether')
end
...

Durch diese Konfiguratioin werden zwei zusätlichen Netzwerkschnittstellen usb0 und br-tether erstellt.

Getestet wurde diese Konfiguration mit einem Samsung Galaxy Note 4.

Tunneldigger

Wenn anstelle fastd Tunneldigger eingesetzt wird, muss die Tunneldigger Konfiguration geändert werden. Tunneldigger wird an die Netzwerkschnittstelle br-wan gebunden. Diese Bindung muss auif br-tether geändert werden.

uci set tunneldigger.mesh_vpn.bind_interface='br-tether'
uci commit tunnlerdigger
/etc/init.d/tunneldigger restart

Schritt 3.2: USB-3G-Dongle von Medion (S4222) mit gomgt einrichten

Bei Routern mit mehr Speicher als der MR3020 (z.B. WR1043nd v1 bis v4, v5 hat kein USB mehr) kann ein vollständiger USB-Support installiert werden. Mit einem USB-3G-Dongle kann eine Verbindung ins Internet aufgebaut werden, über die fastd oder Tunneldigger einen Tunnel zu den Supernodes im Internet aufbauen können.

Dazu definieren wir eine weitere Netzwerkschnittstelle, die ich 'umts' genannt habe. Viele Kochrezepte empfehlen die Schnittstelle wan zu benennen und die alte Schnittstelle in wan2 umzubenennen. Dies ist jedoch nicht notwendig. Der Router kann mit mehreren Schnittstellen gleichzeitig umgehen. Dies hat den Vorteil, dass der Router sowohl über den WAN-Port, als auch über einen UMTS-Stick angebunden werden kann. Eine gleichzeitige Verbindung mit beiden Schnittstellen ist möglich. Hier kann es jedoch passieren, dass die Verbindung über UMTS stattfindet, was sehr teuer werden kann.

Dieses zusätzliche Interface umts mit folgendem Script auf dem Freifunkrouter als Netzwerkschnittstelle eingerichtet. Dabei ist <xxxx> durch die PIN der eingesetzten SIM-Karte zu ersetzen. Wenn alles richtig läuft, meldet sich die Schnittstelle als 3g-umts. Die Schnittstelle umts muss außerdem der Firewall in der Zone 1 bekannt gemacht werden. Dies geschieht am besten mittels uci Befehlen, die ich in einem Script umts zusammengefügt habe.

(Die folgende Anpassung ist nicht in der Firmware enthalten.)

#!/bin/sh

echo "Einrichten der Netzwerkschnittstelle für UMTS

uci set network.umts=interface
uci set network.umts.proto=3g
uci set network.umts.peerdns=0
uci set network.umts.ifname=umts0
uci set network.umts.device=/dev/ttyUSB0
uci set network.umts.apn=internet
uci set network.umts.pincode=<xxxx>
uci set network.umts.delay=90
uci commit

uci add_list firewall.@zone[1].network='umts'
uci add_list firewall.@zone[1].network='tether'
uci commit firewall

Anmerkung: Der Ursprüngliche Befehl "uci set firewall.@zone[1].network='umts tether wan wan6' ist zumindest ab Gluon 2017.1.x falsch.

Für den DNS muss die Datei /var/gluon/wan-dnsmasq/resolv.conf geändert werden. Diese wird durch zwei Scripte erstellt. (In der Rheinbacher Firmware ab Gluon v2017.x sind die folgenden Anpassungen bereits drin.)

Zusätzlich müssen zwei Dateien angepasst werden: /etc/hotplug.d/iface/50-gluon-wan-dnsmasq und /lib/gluon/wan-dnsmasq/update.lua

In der Datei 50-gluon-wan-dnsmasq muss das neue Interface umts in die Liste eingefügt werden ...

if [ "$INTERFACE" = 'wan' -o "$INTERFACE" = 'wan6' -o "$INTERFACE" = 'umts'  -o "$INTERFACE" = tether']; then
   /lib/gluon/wan-dnsmasq/update.lua
fi

und in der Datei update.lua wird der Aufruf pcall(s,'umts') eingefügt.

...
else
pcall(s,'wan6')
pcall(s,'wan')
pcall(s,'umts')
end
...

Tunneldigger

Wenn anstelle fastd Tunneldigger eingesetzt wird, muss die Tunneldigger Konfiguration geändert werden. Tunneldigger ist normalerweise an die Netzwerkschnittstelle br-wan gebunden. Diese Bindung muss auf 3g-umts geändert werden.

Leider muss diese Umschaltung noch von HAnd ausgeführt werden.

uci set tunneldigger.mesh_vpn.bind_interface='3g-umts'
uci commit tunnlerdigger
/etc/init.d/tunneldigger restart

Test

TP-Link TL-WR1043ND mit USB-3G-Dongle. Hier wird die Schnittstelle 3g-umts bereitgestellt. (Die IP-Adresse 10.171.235.229 stallt vom Mobilfunkanbieter. GGf. wird es zu Konflikten kommen, wenn dieser Adressbereich vom Freifunknetz verwendet wird.

root@su-rhb-test-01:~# ifconfig 3g-umts
3g-umts   Link encap:Point-to-Point Protocol  
          inet addr:10.171.235.229  P-t-P:10.64.64.64  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:9 errors:0 dropped:0 overruns:0 frame:0
          TX packets:615 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3 
          RX bytes:98 (98.0 B)  TX bytes:140590 (137.2 KiB)


TP-Link TL-MR3020 am Samsung Galaxy Note 4 mit USB-Tethering:

root@su-rhb-ff-ext-002:~# ifconfig usb0
usb0      Link encap:Ethernet  HWaddr 02:50:07:03:35:64  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:159014 errors:0 dropped:0 overruns:0 frame:0
          TX packets:66906 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:60228689 (57.4 MiB)  TX bytes:20634066 (19.6 MiB)
root@su-rhb-ff-ext-002:~# ifconfig br-tether
br-tether Link encap:Ethernet  HWaddr 02:50:07:03:35:64  
          inet addr:192.168.42.85  Bcast:192.168.42.255  Mask:255.255.255.0
          inet6 addr: fe80::50:7ff:fe03:3564/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:163095 errors:0 dropped:0 overruns:0 frame:0
          TX packets:67936 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:61112941 (58.2 MiB)  TX bytes:17979223 (17.1 MiB)

Links

Freifunk:Mobiler Hotspot

3G, LTE, mehrere WAN Verbindungen Konfigurieren, etc.