Beiträge von mittererr

    Da hast Du natürlich vollkommen recht - das habe ich angepasst.

    Was mir allerdings mehr sorgen macht - wie kriege ich die Pinnummer in die Methode "myInterrupt"? Mit dem Aufruf "&myInterrupt(i)" bekomme ich den Compiler Fehler - ohne das "&" bekommen ich den Speicherzugriffsfehler?
    Ich denke daran scheitert das ganze Projekt aktuell.

    Danke - ich hab das mal korrigiert. Wenn ich das "&" vor den Funktionsaufruf "myInterrupt(i)" setze bekomme ich einen Compilerfehler. Der lautet "error: lvalue required as unary '&' operand"

    Der Code sieht jetzt so aus:

    Schönen Nachmittag,

    ich bin gerade dabei das WiringPi Beispiel hier für meinen Bedarf abzuwandeln. Leider sind meine C-Kenntnisse aus Schulzeiten schon sehr eingerostet.

    Was will ich erreichen:
    Ich will die Interrupts für alle GPIO Pins auswerten.

    Mein aktueller Code:

    Wenn ich diesen Code am RPi laufen lasse bekomme ich einen "Speicherzugriffsfehler"?

    Kann mir jemand einen Tipp geben, wie ich den Code korrigieren muss?

    Danke

    Nö das hat's leider auch nicht gebracht. Dauert zwar eine Weile aber es ändert sich nichts.

    Code
    echo "+++ATH0\n" > /dev/ma180
    echo "+++ATZ0\n" > /dev/ma180


    Wenn ich das Modem samt USB Hub vom RPi trenne dann bleibt das Modem trotzdem im "online Mode"! Das Ding checkt also nichtmal wenn die USB Verbindung unterbrochen wird!
    Wenn ich den Hub dann an einem Windows Rechner anschließe und die Windows Software von dem Stick aufrufe wird der Stick sofort in den "command Mode" versetzt.

    Es muss also eine Lösung geben softwaremäßig diesen Reset durchzuführen?

    Hab jetzt einen anderen Stick probiert - damit hat es sofort geklappt. TP-Link wandert in die Elektroschrott Kiste . . .

    Danke für Eure Hilfe!

    Das ist alles schön und gut aber mein Modem nimmt keine AT - Commands entgegen . . .

    Code
    [root@alarmpi etc]# wvdial signal
    --> WvDial: Internet dialer version 1.61
    --> Cannot get information for serial port.
    --> Initializing modem.
    --> Sending: ATH0
    --> Sending: ATQ0
    --> Re-Sending: ATH0
    --> Modem not responding.

    Kann ich vielleicht das Modem so konfigurieren, dass die Verbindung zum Netzbetreiber abbricht sobald die Verbindung zu wvdial abbricht? Dann komme ich garnicht in die Situation, dass der Stick nicht mehr reagiert.

    Hallo zusammen,

    ich habe meinen UMTS Stick (TP-Link, MA180) am RPi laufen (über powered USB Hub). Das läuft für einige Stunden recht gut. Irgendwann bricht wvdial die Verbindung ab - keine Ahnung warum. Das wäre auch noch nicht weiter tragisch, das Problem ist vielmehr, dass das Modem vom dem Abbruch nichts mitbekommt und im "online mode" bleibt.
    Ich nun aber nicht mehr auf das Modem zugreifen:

    Code
    [root@alarmpi /]# wvdial signal
    --> WvDial: Internet dialer version 1.61
    --> Cannot get information for serial port.
    --> Initializing modem.
    --> Sending: ATZ
    --> Sending: ATQ0
    --> Re-Sending: ATZ
    --> Modem not responding.



    Der einzige weg der hilft ist es den Stick aus- und wieder einzustecken. Das will ich aber nicht, weil die Hardware so mal extern laufen soll und ich keine Lust habe da jeden Tag hinzufahren :no_sad:.

    Ich habe gelesen, dass man ein Modem mit einem "+++" String aus dem "online Mode" in den "command Mode" holen kann. Ich habe das mal so an das Modem geschickt:

    Code
    echo "+++" > /dev/ma180

    Hat aber leider keine Wirkung.

    Danke für Eure Tipps . . .

    Hab es mit folgenden Regeln lösen können:

    Code
    SUBSYSTEMS=="usb", ATTRS{idVendor}=="2357", ATTRS{idProduct}=="0200", SYMLINK+="ma180zerocd", RUN+="/etc/mov_umtsconnector"
    SUBSYSTEMS=="usb", ATTRS{idVendor}=="2357", ATTRS{idProduct}=="0201", SYMLINK+="ma180umts", RUN+="/etc/mov_umtsconnector"

    Ich muss die Sache nochmal aufwärmen. Leider kann ich noch immer nicht auf das Modem zugreifen wenn es online ist.

    Zusätzlich habe ich das Problem, dass wenn die Verbindung abbricht ich das Modem nicht mehr aus dem "online Mode" bekomme.

    Hier http://www.tldp.org/HOWTO/Modem-HOWTO-18.html ist das Problem ganz genau beschrieben allerdings kann ich dem Modem keine Befehle mehr schicken. Ich habe mir mal ein Script mit dem "+++" Befehl gebaut aber das greift leider auch nicht.

    Code
    sleep 1
    echo '+++' > /dev/ma180
    sleep 1

    Kann mir jemand sagen wie ich das Modem wieder in den "Command Mode" bekomme??

    :danke_ATDE:

    Achtung jetzt wird's richtig spannend:

    ich habe heute Nachmittag meine neuen RPi - Version B geliefert bekommen. Hab also aus der alten Kiste die SD-Card rausgenommen und in einen neuen RPi Version B eingesteckt, gebootet und siehe da es funktioniert. Der Stick wird als /dev/ma180zerocd gemountet!

    Wie kann ich mir das erklären??

    Nein ich glaube nicht das 0200 falsch ist.

    Wenn der Stick eingesteckt wird erscheint er unter lsusb als 2357:0200 - erst nach eject /dev/sr0 wird er zu 2357:0201!

    Ich möchte aber das eject /dev/sr0 auf eject /dev/ma180zerocd bekommen haben. Ich kann ja nicht sicher sein, dass das sr0 nicht plötzlich mal sr1 ist oder?

    Nö die Rule verweigert immer noch.

    die Rule schaut jetzt so aus:

    Code
    SUBSYSTEMS=="usb", ATTRS{idVendor}=="2357", ATTRS{idProduct}=="0200", SYMLINK+="ma180zerocd"

    Ausgaben:

    Den Artikel kannte ich schon.

    ich habe hier noch einen gefunden: http://doc.opensuse.org/documentation/…e/cha.udev.html

    Da ist udev recht gut beschrieben.

    Mir fehlt aber nach wie vor der Ansatz - meine Regeln greifen einfach nicht.

    Aktuell habe ich unter /dev/udev/rules.d/10-tplink.rules:

    Code
    KERNEL=="scsi_device", ATTRS{idVendor}=="2357", ATTRS{idProduct}=="0200", SYMLINK+="ma180zerocd"

    Sollte meiner Meinung nach unter /etc einen Symlink names ma180zerocd erzeugen oder?

    Schönen Nachmittag,

    hab schon wieder eine Frage zu meinem UMTS Stick :blush:.

    Ich will die Internetverbindung beim Booten automatisch herstellen. Dazu fehlen mir allerdings noch ein paar Bausteine.
    Manuell mache ich das jetzt so:

    1. UMTS Stick am RPi stecken, Strom ein

    2. RPi hat gebootet, UMTS Stick befindet sich im "ZeroCD" Mode (2357:0200)

    3. Stick auf UMTS Mode umschalten (2357:0201)

    Code
    eject /dev/sr0

    4. Stick Interface definieren

    Code
    modeprobe usbserial vendor=0x2357 product=0x0201
    ln -s /dev/ttyUSBirgendwas /dev/ma180

    Jetzt ist das Modem ansprechbar. Allerdings finde ich Schritt 3 und 4 total besch.... Vor allem bei Schritt 4 ist mir aufgefallen das der Stick einmal unter ttyUSB0 und einmal unter ttyUSB2 verfügbar ist. Das geht natürlich garnicht.

    Das Heilmittel sollte doch udev sein oder? Mir fehlt leider das Fachwisse so eine Regel auf die Reihe zu bekommen.

    Ah ja - usb_modeswitch hat ich probiert - scheitert aber am USB-Hub an dem der Stick gesteckt ist.


    Danke für Eure Tipps!

    Danke - das funktioniert soweit.

    Diese Methode ist aber nicht gleichwertig mit Stick ausstecken und wieder einstecken oder? Wenn sich der Stick wirklich aufhängt werde ich ihn damit wohl auch nicht aus der Versenkung holen können?

    Ich habe mich unklar ausgedrückt. Ich möchte das USB Device an sich reseten.

    Beispiel: Der UMTS Stick am RPi hängt sich aus irgendeinem Grund auf. Der Soll dann per RPi resetet werden. Der RPi braucht in dem Fall keinen Reset.

    Guten Abend,

    ich habe schon wieder eine Frage. Gibt es eine Möglichkeiten ein USB Device (WLAN Stick, Bluetooth Stick, UMTS Stick, etc.) per RPi Betriebssystem (in meinem Fall Arch) in den Reset zu schicken?

    Wenn man keine Möglichkeit hat das Gerät aus- und wieder einzustecken möchte ich gerne diese Variante für einen Reset nutzen können.

    Danke