Wo finde ich auf der Box welche Verbinding aktiviert worden ist?

  • Ich habe auf der dm920 sowohl eine Kabel- als auch eine WiFi-Verbindung; also eth0 und wlan0. Wenn ich cat /sys/class/net/XXX/operstate anschaue, dann sind beide "up"; also könnte beide genutzt werden. Aber wo finde ich den Status, also welche tatsächlich Aktiv ist/sind; ich brauche der in einem Skript.

  • Wozu benötigst du das?

    Soweit ich weiß sind die immer beide aktiv, sofern konfiguriert

    die können ja theoretisch auch in unterschiedlichen Subnets konfiguriert sein

    Man kann aber der /etc/connman/main.config priorisieren, wenn das der Wunsch ist
    also z.B. das WiFi nur dann aktiv ist, wen LAN inaktiv ist (kein Kabel etc)

    Code
    root@dm900:~# cat /etc/connman/main.conf
    [General]
    PreferredTechnologies=ethernet,wifi
    SingleConnectedTechnology=true
    root@dm900:~#


    die /etc/connman/main.conf ist default nicht im image enthalten, muss also erstellt werden


    dazu gibt es auch einen Thread: Netzwerkpriorität


    sonst mal nach connman configuration googlen, da gibt es einige (alternative) Einstellungsmöglichkeiten, nur halt nicht über die GUI ...

    Gruß Fred

    Die Dreambox ist tot, es lebe die Dreambox

  • Na, wenn die beide UP sind, dann sind auch beide aktiv. Die haben dann ja auch unterschiedliche IP Adressen bzw. auch DNS Namen. Je nachdem, welche Du ansprichst wird die halt dann auch benutzt.

  • Danke alle


    Wozu benötigst du das?

    Ich habe hier immer noch der dm920 "Terrassenbox". Diese ist eine Partnerbox (also kein Satkabel angeschlossen). Tagsüber benutze ich oft die dm920 (bekabelt) auf der Terrasse, sonst steht sie in einem anderen Zimmer (WiFi). Also die Box wird oft komplett ein/aus geschaltet.


    Immer gibt es hier noch das nach reboot: es sehr sehr lange dauert bevor der Box endlich hoch ist, weil immer die connman settings geändert worden sind (aber nicht von mir). Ich bin dabei ein Skript zu machen, daß rausfindet welche Verbindung (eth oder wlan) aktiv ist und dann die dazugehörige settings Datei ändert bzw. neu erstellt.

    Ich kann selbstverständlich Wired ausschalten und dann suchen lassen welche UP gibt und fertig. Es besteht aber auch die Möglichkeit: Wired auf aktiv zu lassen und nur die Kabelverbindung darunter auf inaktiv zu setzen und WLAN zu aktivieren (dann wird bei sowohl eth als wlan UP gegeben. Ich weiß, dass es weit hergeholt ist, aber es muss "donkey proof" sein.

    Edited once, last by ni_hao: Ein Beitrag von ni_hao mit diesem Beitrag zusammengefügt. ().

  • dann ist die connman main.conf im 2. Post genau was du suchst


    1. es wird immer nur eine Verbindung hergestellt: eth0 ODER wifi

    2. eth0 wird bevorzugt, wifi wird nur aktiv, wenn eth0 inaktiv ist - kann man auch umgekehrt konfigurieren, also einfach die Reihenfolge in der Zeile PreferredTechnologies= ändern



    einfach beide adapter im selben subnet mit 2 IPs konfigurieren


    lies dir den verlinkten Thread durch, da ist alles beschrieben


    ist auch noch ein Network share eingebunden?

    Gruß Fred

    Die Dreambox ist tot, es lebe die Dreambox

    Edited once, last by Fred Bogus Trumper ().

  • Genau darum habe ich auch main.conf erstellt. Ja Network Shares habe ich auch (eigenbunden in fstab/system-d).

    Doch noch ne Frage: wo werden die verfügbaren WiFi-Netzwerke auf der Box gespeichert und dann vielleicht auch der Status (aktiv/inaktiv)

  • Die verfügbaren Netzwerk werden soweit ich weiß nicht gespeichert - wozu auch? Die können sie ja auch jederzeit ändern. Die aktuellen WiFi Netzwerke werden ja in den WLAN Einstellungen in der GUI angezeigt. Und wozu ist die Information wichtig?


    Wenn du die Box per WLAN mit einer SSID verbindest, werden die Verbindungseinstellungen in der Datei´/var/lib/connman/wifi_*/settings pro SSID gespeichert. D.h. du kannst theoretisch auch mehrere WiFi Netzwerke und mehrer WLAN Schnittstellen (USB Adapter) konfigurieren.



    Die Syntax für den Speicherort ist immer gleich:

    /var/lib/connman/wifi_<MAC wlan interface>_<SSID ID>_<Verschlüsselungsart>/settings



    Sieht man z.B. so gut. Ich habe das selbe WiFi Netzwerk (SSID ID) auf zwei verschiedenen USB Adaptern (unterschiedliche MAC Adressen) eingerichtet. Sobald ich einen der beiden USB Adapter anstecke, verbindet er sich mit dem konfigurierten wireless network.


    Code
    root@dm900:~# ls -1d /var/lib/connman/wifi*
    /var/lib/connman/wifi_000272xxxxxx_447265616d6e6574_managed_psk
    /var/lib/connman/wifi_74da38xxxxxx_447265616d6e6574_managed_psk
    root@dm900:~#




    Die aktuell verfügbaren WiFi Netzwerke kann man auch im Terminal oder später per script mit connmanctl zuerst scannen, dann listen bzw. bei Bedarf in eine Datei schreiben.

    Code
    root@dm900:~# connmanctl scan wifi
    Scan completed for wifi
    root@dm900:~# connmanctl services
    *AO Wired ethernet_000934xxxxxx_cable
    *AR MyWiFi wifi_000272xxxxxx_447265616d6e6574_managed_psk
    UPC Wi-Free wifi_000272xxxxxx_5550432057692d46726565_managed_ieee8021x
    Uplink wifi_000272xxxxxx_55706c696e6b_managed_psk
    root@dm900:~# connmanctl services|grep wifi > /tmp/current_wifi.list
    root@dm900:~#


    Hier sieht man dann die verfügbaren Netzwerke.



    Das beantwortet übrigens auch dein ursprüngliche Frage, wie man sieht, welcher Adapter gerade aktiv ist.

    'A' bedeudet autoconnectable, 'O' online und 'R' ready



    In der zweiten Spalte sieht man die verfügbaren SSIDs bzw. WLAN Netzwerke

    In der dritten Spalte, in welchem Ordner in /var/lib/connman die settings gespeichert sind oder gespeichert werden würden, wenn man die Verbindung herstellt.



    Man sieht also in der Ausgabe, dass beide Adapter aktiv sind - ich habe derzeit keine main.conf aktiv:


    Wired=eth0 ist autoconnectable konfiguriert und Online (=verbunden)

    wlan0 ist autoconnectable konfiguriert und Ready und mit dem Wifi mit der SSID "MyWiFi" verbunden



    Würde jetzt bei einem der beiden Adapter nur *A stehen würde das bedeuten, dass mit diesem Adapter keine Verbindung hergestellt wurde.

    Wird Wired nicht gelistet oder es wird keine SSID gelistet ist die Netzwerkschnittstelle nicht aktiviert, kein LAN Kabel verbunden oder kein WLAN in der Nähe (also klarerweise nicht verbunden) - vermute ich jetzt mal.



    MIt meiner main.conf aus Post #2 würde also Wired zwischen "*A" und "*A0" und wireless MyWiFi zwischen "*A" und "*AR" springen - jenachdem ob ein Netzwerkabel angeschlossen ist oder nicht. Beides gleichzeitig, also "Wired "*A0" und "MyWiFi *AR" wäre nicht möglich.

    Ohne main.conf bzw. mit der Option "SingleConnectedTechnology=false" können beide Verbindungen gleichzeitig aktiv sein, wie man das im obigen Terminal Output sehen kann.


    Im übrigen kann man komplett ohne GUI mit connmanctl die Verbindungen verwalten, herstellen oder trennen. Theoretisch auch gescriptet, was aber nicht viel Sinn macht. Lässt sich ja alles in den conmann Einstellungen regeln.




    Kann es sein, dass du LAN und mehrere unterschiedliche WiFi Verbindungen in unterschiedlichen subnets nutzt bzw. dass sich der network share und das verbundene Netzwerk je nach Verbindungsart in unterschiedlchen subnets befinden?

    Das würde erklären, warum der Start je nach Verbindungsart so lange dauert.

    Eine genaue Problembeschreibung bzw. Aufgabenstellung mit dedailierter Netzwerkbeschreibung wäre jetzt hilfreich.
    Deine Fragen sind zu "oberflächlich" um sie beantworten zu können.


    Wenn die Aufgabenstellung die ist, dass nur dann versucht wird einen Network Share zu verbinden wenn sich die Box im "richtigen" subnet befindet, würde ich das über verbundene subnet lösen, und nicht ob WLAN bzw. LAN verbunden ist oder nicht.

    Gruß Fred

    Die Dreambox ist tot, es lebe die Dreambox

    Edited 5 times, last by Fred Bogus Trumper ().