Turris Omnia LTE Router Project

23 März 2014
2.848
1.265
Turris Omnia - Open Souce LTE Router Project (EM/MC7455/EM7565)

In diesen Thread geht es primär darum, einen LTE Router selber zu bauen!

Infos über den router: https://omnia.turris.cz/en/

Zu kaufen gibt es ihn hier:
1 GB RAM Version: via Amazon.de 1GB version
2 GB RAM Version: via Amazon.de 2 GB version

Ich betreibe meinen Omnia aktuell mit einen CAT12 Modem von Sierra Wireless!
Modem was ich verwende: Sierra Wireless Airprime EM7565

Adapter M2 zu miniPCIe hab bei ebay gekauft (USB 2.0 adapter!): Den hier (ebay)
Ich habe leider noch keinen internen Adapter gefunden was USB 3.0 kann! (wenn wer was weiß, bitte PN an mich!)

Um USB 3.0 zu nutzen für den EM7565 muss man über die USB 3.0 Ports gehen - passender Adapter: aliexpress

Antennen Kabel EM7455/EM7565: aliexpress
Antennen Kabel MC7455: aliexpress

Unterhalb sieht man das Innenleben mit Modem und Antennenanschlüsse. Man braucht nur auf der hintern Seite die Abdeckungen aus dem Gehäuse drücken, und man kann die SMA Buchsen reinschrauben. Kein lästiges Gehäuse anbohren oder sonstiges. Sieht sauber aus ;)
IMG_20161118_203402963_HDR.jpg IMG_20161128_213738611.jpg IMG_20161128_213824249_HDR.jpg IMG_20161128_214229331.jpg IMG_20161128_214318203.jpg IMG_20161128_214308475_HDR.jpg


Turris Omnia als LTE Router im Eigenbau

INFOS rund um das CAT6 Modem EM/MC7455 gibt es HIER
=> http://www.lteforum.at/mobilfunk/cat-6-module-basteleien.4969/

In diesen Thread stehen wichtige Infos rum um AT befehle und sonstiges!

Ein besonderes Danke für die Hilfe geht hier an @Gsicht @KOSH @Yoshi @Gruber

ACHTUNG für die MC7455 Besitzer: Es müssen gewisse PINs abgeklebt werden, das der Router das Modem erkennt. Danke an @dfx2k und @Gruber für die Info
Anleitung hier => http://www.lteforum.at/mobilfunk/tu...oject-em-mc7455.6379/seite-8.html#post-108560

INFOS rund um das CAT12 Modem EM7565
=> https://www.lteforum.at/mobilfunk/cat-12-modul-sierra-airprime-em7565.8143/

WICHTIG: Das Modem muss an den mPCIe / mSATA Port eingebaut werden! Auf den anderen Ports wird das Modem nicht erkannt! Danke an @dfx2k für die Info! => http://www.lteforum.at/mobilfunk/tu...ject-em-mc7455.6379/seite-12.html#post-108904

Wichtig: Modem wird erst nach dem Ersten booten eingebaut!

Als erstes ist es wichtig wenn ihr das erste mal den Router startet das Ihr eine aktive Internetverbindung habt. Der Router holt sich am Anfang ein Firmware update und er ladet sich schon so gut wie alle Pakete automatisch von seiner Paketquelle! Solltet ihr keine aktive Internet Verbindung haben, müsst ihr entweder etwas warten danach bis der autoupdater anspringt, oder ihr loggt euch via SSH ein, und startet die "updater.sh" bzw "pkgupdate" (je nachdem wie alt die Grundsoftware ist)

falls die paketquelle nicht aktiviert sein sollte beim ersten mal, händisch aktivieren in der Turris Oberfläche:
config.png

Sobald das update durch ist, könnt ihr den Router abdrehen, und das Modem einbauen (SIM voher nicht vergessen)

Ihr benötigt nach wie vor einen AKTIVE Internetverbindung!

- Router einschalten
- auf die Oberfläche LUCI verbinden.
-- Network => Interfaces => WAN6 löschen!
-- Den WAN Port löschen wir mit der MBIM config!

- Mit Putty verbinden auf den Router
.-- Checken ob folgende Pakete installiert sind (Ob wir alle brauchen weiß ich nicht, aber der Router liefert sowieso schon fast alle pakete mit!)
comgt, comgt-directip, kmod-mii, kmod-usb-net, kmod-usb-net-cdc-mbim, kmod-usb-net-cdc-ncm, kmod-usb-net-sierrawireless, kmod-usb-serial, kmod-usb-serial-qualcomm, kmod-usb-serial-sierrawireless, kmod-usb-serial-wwan, umbim, wwan
Normal sollten bis auf ein paket (comgt-directip) alles installiert sein!
- nicht zu vergessen das paket screen installiern, denn das brauchen wir um das modem einmalig zum einstellen!

- die Datei mbim.sh tauschen. Diese zum download findet man hier: http://www.lteforum.at/mobilfunk/cat-6-module-basteleien.4969/seite-113.html#post-106295
Diese gehört in /lib/netifd/proto - die vorhandene Datei überschreiben und CHMOD 777 setzen!

CAT6 MODEM 7455
Im Putty eingeben: screen /dev/ttyUSB2 und folgende befehle absetzen:

AT!ENTERCND="A710"
AT!BAND=0B,"B3",0,4
AT!BAND=0A,"B7",0,40
AT!BAND=0D,"B20",0,80000
AT!BAND=0C,"B3&B7",0,44
AT!BAND=0E,"B1",0,1


AT!SELRAT=06 <= LTE only
AT!BAND=00 <= automatisches band selbst wählen

Oder händisch:
AT!BAND=0B <= B3 only
AT!BAND=0E <= B1 only
AT!BAND=0C <= B3+B7 CA


CAT12 Modem 7565
Im Putty eingeben: screen /dev/ttyUSB1 und folgende befehle absetzen:

AT!ENTERCND="A710"
AT!USBCOMP=1,3,1009


dann die Bänder geconft:
AT!ENTERCND="A710"
AT!BAND=0A,"B1",0,1
AT!BAND=0B,"B3",0,4
AT!BAND=0C,"B7",0,40
AT!BAND=0D,"B20",0,80000
AT!BAND=0E,"B1+B3",0,5
AT!BAND=0F,"B1+B7",0,41
AT!BAND=10,"B3+B7",0,44
AT!BAND=11,"B1+B3+B7",0,45


Auf LTE Only geschalten:
AT!SELRAT=06

und das Band händisch ausgewählt:
AT!BAND=0E

hat man das erledigt schließt man mit:
- strg+A+D screen
- screen -ls => pid vom screen erscheint!
- kill PID vom screen

Und un zu guter letzt gibt man im terminal folgendes ein:

Den folgenden schritt kann man nun entweder über das LUCI machen, oder im terminal:
Am besten den Router rebooten nach diesen schritt (egal ob terminial oder LUCI)

Terminal:
Code:
uci del network.wan
uci set network.wan=interface
uci set network.wan.proto=mbim
uci set network.wan.device=/dev/cdc-wdm0
uci set network.wan.apn=drei.at
uci set network.wan.username=1234
uci set network.wan.password=1234
uci commit network
reboot

LUCI:
zuerst müssen wir das Paket auf den router übertragen. Die datei liegt im Anhang bei. (THX to @valexi )
- entpacken
- Mittels WinSCP die Datei auf den Router übertragen nach /root
- im terminal installieren mittels befehl: opkg install /root/luci-proto-mbim_git-17.022.20959-3b46d84-1_all.ipk
- nun könnt ihr im LUCI unter Network => Interfaces => Add new Interface MBIM auswählen.

-- Name of interface: WAN
-- Protocol of the new interface: MBIM Cellular
-- Submit
-- Modem devide /dev/cdc-wdm0
-- Daten von euren provider eingeben (zB von oben für 3 die daten entnehmen)
-- save & apply
-- connect


wenn ihr den Router rebootet, und ihr keine LAN Verbindung mehr habt, nicht erschrecken. Einfach das LAN kabel ziehen und wieder anstecken. Ist aber nur beim ersten mal nach dem WAN reconfigen. Scheint ein BUG zu sein.

VOILA und wir sind ONLINE!
falls wir nicht direkt online sind, im putty einmal "ifup wan" eingeben!

Im Luci unter Network => interfaces sieht das nun so aus (OHNE ipk)
turris-interface.PNG




.....To be continued mit mehr infos und tipps....
2018-11-11 Anleitung etwas angepasst, EM7565 hinzugefügt
2017-08-20 B1 config hinzugefügt, scripe tipps,, usb reload,firewall reload, mbim anzeige für luci
2016-11-28 grundconfig+LTE verbindung
2016-12-08 paket liste angepasst, Wichtige info für MC7455 User hinzugefügt
 

Anhänge

  • luci-proto-mbim_git-17.022.20959-3b46d84-1_all.zip
    2,1 KB · Aufrufe: 468
Zuletzt bearbeitet:
23 März 2014
2.848
1.265
Persönliche erweiterungen von mir:

- USB reset nachdem die LTE verbindung verloren geht, weil es vorkommen kann, das MBIM es nicht immer schafft direkt eine Verbindung aufzubauen (danke an @reallumpi)
- Firewall reload beim booten und wenn die verbindung neu aufgebaut wird, sodass die ports garantiert wieder frei werden. Anscheinend buggt das des öfteren einmal. Damit funktioniert es bei mir seit Monaten problemlos
- LTE watchdog mittels script (aktuelle version auständig, wird nachgereicht)
- NAT loopback mittels script (aktuelle version auständig, wird nachgereicht)

USB Reset einrichten
- paket "usbreset" und "bc" über den paketmanager runterladen (über luci oder terminal). Das Paket "bc" benötigen wir, dass das script nicht greift, wenn der router gerade bootet.
- im terminal "usbreset" eingeben
damit bekommen wir folgende ausgabe
Code:
root@elturris:~# usbreset
Usage:
  usbreset PPPP:VVVV - reset by product and vendor id
  usbreset BBB/DDD   - reset by bus and device number
  usbreset "Product" - reset by product name

Devices:
  Number 001/002  ID 1199:9071  Sierra Wireless EM7455 Qualcomm® Snapdragon™ X7 LTE-A

Im feld "devices" sehn wir das modem und deren ID (wird bei euch anderst sein), diese benötigen wir später um den reset auszuführen!

man öffnet die /lib/netifd/protombim.sh und editiert unter
proto_mbim_setup() {
folgende Zeilen. Das ganze sieht dann so aus:

Code:
proto_mbim_setup() {
    local ret

     uptime="$(echo $(awk '{print $1}' /proc/uptime) / 60 | bc)"
    if [ "${uptime}" -gt "2" ]
      then
               usbreset 1199:9071
               sleep 15
      else
               echo "no usbreset, we are probably just booting"
     fi

    _proto_mbim_setup $@
    ret=$?

    [ "$ret" = 0 ] || {
        logger "mbim bringup failed, retry in 5s"
        sleep 5
    }

    return $rt
}

Wichtig: bei usbreset die ID von euren Modem eintragen!


Firewall reload
In der mbim.sh habe ich unter
echo "LTE-Watchdog started"
folgende zeilen hinzugefügt:

Code:
    sleep 2
    /etc/init.d/firewall restart

sieht dann komplett so aus:
Code:
#    echo "$mask"
        /bin/sh /home/loopback.sh
        echo "Loopback created for IP: $IP"
 
        /etc/init.d/sessionhold.sh start
        echo "LTE-Watchdog started"
 
    sleep 2
    /etc/init.d/firewall restart

    return 0
}

desweiteren habe ich beim reboot einen firewall reload eingebaut:
LUCI => System => Stgartup => ganz nach unten scrollen und folgendes eintragen:

sleep 3
/etc/init.d/firewall restart

exit 0 muss IMMER ganz zum schluss stehn, ansonst funktioniert der reload nicht!

Damit hat man die garantie das die Ports auch immer frei sind, auch wenn die verbindung verloren geht, oder der router aufgrund von einen Update mal in der nacht neustartet.





 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: KOSH
23 März 2014
2.848
1.265
hab heute das reconnect script @gogosch eingebaut. Hab ein bisschen was angepasst damit wir es auch am Omnia nutzen können!

in unserer mbim.sh ist das schon so eingebaut, da das reconnect script auomatisch anspringt. Also falls der wan port mal down gehn sollte - kommt die verbindung innerhalb von 10 sekunden wieder online.

Wir gehn wie folgt vor:
reconnect.sh nach /root/ kopiern
sessionhold.sh nach /etc/init.d/ kopieren

nicht vergessen mit winscp (oder putty) die scripte auf chmod 777 setzen, sonst funktionieren sie nicht

danach im putty folgendes eingeben:
/etc/init.d/sessionhold.sh enable

Danach im luci noch die cron tabs passend einfügen unter System => Scheduled Tasks

Code:
* * * * * /bin/sh '/root/reconnect.sh'
* * * * * sleep 10; /bin/sh '/root/reconnect.sh'
* * * * * sleep 20; /bin/sh '/root/reconnect.sh'
* * * * * sleep 30; /bin/sh '/root/reconnect.sh'
* * * * * sleep 40; /bin/sh '/root/reconnect.sh'
* * * * * sleep 50; /bin/sh '/root/reconnect.sh'

im putty mal den cron restarten mit
/etc/init.d/cron restart

und schon funktioniert das script.

testen kann man das wiefolgt:im ternimal einfach ifdown wan eingeben. Nach 10 sekunden sollte das script anspringen und die verbindung wieder herstellen.

ein kurzer test, dann sieht das im log sieht das wie folgt aus:

Code:
2016-11-29T22:31:22+01:00 notice netifd[]: Interface 'wan' is now down
2016-11-29T22:31:42+01:00 notice root[]: LTE down!! Restarting interface wan.
2016-11-29T22:31:42+01:00 notice netifd[]: Interface 'wan' is setting up now
2016-11-29T22:31:42+01:00 notice root[]: Interface wan successful restarted.
2016-11-29T22:31:42+01:00 notice root[]: reconnect.sh ended
2016-11-29T22:31:42+01:00 notice netifd[]: wan (20588): LTE-Watchdog stopped
2016-11-29T22:31:42+01:00 notice netifd[]: wan (20588): mbim[20588] Reading capabilities
2016-11-29T22:31:44+01:00 notice netifd[]: wan (20588):   devicetype: 0003 - remote
2016-11-29T22:31:44+01:00 notice netifd[]: wan (20588):   cellularclass: 0001
2016-11-29T22:31:44+01:00 notice netifd[]: wan (20588):   voiceclass: 0001 - no-voice
2016-11-29T22:31:44+01:00 notice netifd[]: wan (20588):   simclass: 0002
2016-11-29T22:31:44+01:00 notice netifd[]: wan (20588):   dataclass: 003C
2016-11-29T22:31:44+01:00 notice netifd[]: wan (20588):   smscaps: 0003
2016-11-29T22:31:44+01:00 notice netifd[]: wan (20588):   controlcaps: 0001
2016-11-29T22:31:44+01:00 notice netifd[]: wan (20588):   maxsessions: 0008
2016-11-29T22:31:44+01:00 notice netifd[]: wan (20588):   deviceid: 354324070032707
2016-11-29T22:31:44+01:00 notice netifd[]: wan (20588):   firmwareinfo: SWI9X30C_02.20.03.00
2016-11-29T22:31:44+01:00 notice netifd[]: wan (20588):   hardwareinfo: EM7455
2016-11-29T22:31:44+01:00 notice netifd[]: wan (20588): mbim[20588] Checking subscriber
2016-11-29T22:31:44+01:00 notice netifd[]: wan (20588):   readystate: 0001 - initialized
2016-11-29T22:31:44+01:00 notice netifd[]: wan (20588):   simiccid: 8943102001200048336
2016-11-29T22:31:44+01:00 notice netifd[]: wan (20588):   subscriberid: 232106605099833
2016-11-29T22:31:44+01:00 notice netifd[]: wan (20588): mbim[20588] Register with network
2016-11-29T22:31:45+01:00 notice netifd[]: wan (20588):   nwerror: 0000 - unknown
2016-11-29T22:31:45+01:00 notice netifd[]: wan (20588):   registerstate: 0003 - home
2016-11-29T22:31:45+01:00 notice netifd[]: wan (20588):   registermode: 0001 - automatic
2016-11-29T22:31:45+01:00 notice netifd[]: wan (20588):   availabledataclasses: 0020 - lte
2016-11-29T22:31:45+01:00 notice netifd[]: wan (20588):   currentcellularclass: 0001 - gsm
2016-11-29T22:31:45+01:00 notice netifd[]: wan (20588):   provider_id: 23210
2016-11-29T22:31:45+01:00 notice netifd[]: wan (20588):   provider_name: 3 AT
2016-11-29T22:31:45+01:00 notice netifd[]: wan (20588):   roamingtext: (null)
2016-11-29T22:31:45+01:00 notice netifd[]: wan (20588): mbim[20588] Attach to network
2016-11-29T22:31:45+01:00 notice netifd[]: wan (20588):   nwerror: 0000 - unknown
2016-11-29T22:31:45+01:00 notice netifd[]: wan (20588):   packetservicestate: 0002 - attached
2016-11-29T22:31:45+01:00 notice netifd[]: wan (20588):   uplinkspeed: 50000000
2016-11-29T22:31:45+01:00 notice netifd[]: wan (20588):   downlinkspeed: 300000000
2016-11-29T22:31:45+01:00 notice netifd[]: wan (20588): mbim[20588] Connect to network
2016-11-29T22:31:45+01:00 notice netifd[]: wan (20588):   sessionid: 0
2016-11-29T22:31:45+01:00 notice netifd[]: wan (20588):   activationstate: 0001 - activated
2016-11-29T22:31:45+01:00 notice netifd[]: wan (20588):   voicecallstate: 0000 - none
2016-11-29T22:31:45+01:00 notice netifd[]: wan (20588):   nwerror: 0000 - unknown
2016-11-29T22:31:45+01:00 notice netifd[]: wan (20588):   iptype: 0001 - ipv4
2016-11-29T22:31:45+01:00 notice netifd[]: wan (20588): mbim[20588] Get IP config
2016-11-29T22:31:45+01:00 notice netifd[]: wan (20588): IP: 178.113.x.x
2016-11-29T22:31:45+01:00 notice netifd[]: wan (20588): MASK: 255.255.255.252
2016-11-29T22:31:45+01:00 notice netifd[]: wan (20588): GW: 178.113.67.38
2016-11-29T22:31:45+01:00 notice netifd[]: wan (20588): DNS: 213.94.78.17
2016-11-29T22:31:45+01:00 notice netifd[]: wan (20588): mbim[20588] Connected, setting IP
2016-11-29T22:31:45+01:00 notice netifd[]: Interface 'wan' is now up
2016-11-29T23:31:45+01:00 info kernel[]: [78823.622104] 8021q: adding VLAN 0 to HW filter on device wwan0
2016-11-29T22:31:45+01:00 notice netifd[]: Network device 'wwan0' link is up
2016-11-29T22:31:45+01:00 notice netifd[]: wan (20588): /bin/sh: can't open '/home/loopback.sh'
2016-11-29T22:31:45+01:00 notice netifd[]: wan (20588): Loopback created for IP: 178.113.x.x
2016-11-29T22:31:45+01:00 notice Sessionhold[]: reconnect.sh started.
2016-11-29T22:31:45+01:00 notice netifd[]: wan (20588): LTE-Watchdog started
2016-11-29T22:31:45+01:00 notice firewall[]: Reloading firewall due to ifup of wan (wwan0)

test erfolgreich - internet verbindung steht!

nächter schritt für mich: Bänder wechsel, signalinfo etc für die oberfläche

langsam ernährt sich das Eichhörnchen! :D :D
 

Anhänge

  • reconnect_scripte.zip
    764 Bytes · Aufrufe: 453
Zuletzt bearbeitet:
5 Februar 2015
620
145
Wie gut funktioniert das Wlan beim Omnia?
Isses stabil bzw. wie hoch sind die Durchsatzraten bei 2.4Ghz und 5Ghz Wlan wenn du Daten z. B. vom NAS auf den PC holst?
 
23 März 2014
2.848
1.265
@dfx2k da wird meine auskunft schwer - ich hab leider nur ein einfaches notebook hier stehn was nur 2,4 ghz wlan kann.
Dort liegt der wert beim kopiern bei ca 54 mbit - aber damit ist schicht im schacht beim kleinen notebook.
im 5 ghz hängt bei mir grad mal die smartphones und co rum - also los ist bei mir im wlan nicht viel was ;)

hier hängt ansonst vom sat receiver übern tv bis hin zum PC alles am kabel.
 
  • Gefällt mir
Reaktionen: KOSH
23 März 2014
2.848
1.265
@rampart leider noch nicht. Da gibs aber schon einige anfragen anscheiennd...
miniDLNA wäre ne alternative. Oder man baut sich was mit der virtualisierung vom router (debian, debian based NAS usw) und knallt da plex drauf ;)
 
  • Gefällt mir
Reaktionen: KOSH und rampart
G

gogosch

Gast
Die reconnect-Cron-Jobs sind nicht notwendig, outdated und obsolet! In der neuesten Version wird dies im reconn.sh bereits abgehandelt.
Bitte alle reconnect.sh entfernen. Sie könnten die Wiederverbindung massiv stören.
 
  • Gefällt mir
Reaktionen: Sin10
23 März 2014
2.848
1.265
@gogosch muss sowieso die scripte anpassen das sie bei uns auch funktioniern, dann wird auch der beitrag dementsprechend aktualisiert.
Als erstes muss ich das aber mal testen, hab doch leicht panne die mbim.sh auzutauschen ;)
 

Aktuelle Themen