1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Sonderheft 1/15 Raspi als usb server probleme

Discussion in 'Heft: Fragen zur aktuellen PC-WELT' started by Wess1, Nov 14, 2014.

Thread Status:
Not open for further replies.
  1. Wess1

    Wess1 Byte

    Hallo
    Ich habe das Skript ausgeführt und alles hat eigendlich geklappt und diese beschrieben 3 Dateien wurden erzeugt. Wenn ich jetzt die Sachen auf den Raspi kopiere und nach Anleitung ausführe bekomme ich bei der Zeile sudo modprobe usbiP-host die Fehlermeldung could not insert usbip host exec format error.

    Kann mir jemand sagen was da schief läuft?
     
  2. dnalor1968

    dnalor1968 Ganzes Gigabyte

    Wir haben jetzt Mitte November 2014.
    Wie kann es da sein, dass schon ein Heft mit 1/2015 erscheint? :grübel:
     
  3. kalweit

    kalweit Hüter der Glaskugel

  4. Wess1

    Wess1 Byte

    Bei einer Google Suche sind die zwei Seiten erschienen wo das beschrieben wird..
    Und weiter.
     
  5. piggy

    piggy Freigeist

    Ursache für die Fehlermeldung ist, dass Kernel- und/oder GCC-Version des Moduls nicht mit dem laufenden Kernel übereinstimmen.
    Welche Kernel-Version aktuelle im Einsatz ist, bekommen Sie im Terminal-Fenster mit

    Code:
    uname -a
    heraus, den verwendeten Compiler mit

    Code:
    cat /proc/version
    Wenn das Raspbian-System aktualisiert wurde, sollte das zurzeit folgendes sein:

    Code:
    Linux version 3.12.28+ (dc4@dc4-XPS13-9333) (gcc version 4.8.3 20140303 (prerelease) (crosstool-NG linaro-1.13.1+bzr2650 - Linaro GCC 2014.03) ) #709 PREEMPT Mon Sep 8 15:28:00 BST 2014
    Ich bin beim Verfassen des Artikels davon ausgegangen, das die Github-Version mit dem aktuellen Kernel immer übereinstimmt.
    Dem ist aber nicht so. Im Moment ist dieser neuer.

    Ich habe das Build-Script entsprechend angepasst.

    Löschen Sie die alte Script-Datei und das Verzeichnis raspi_cross.

    Laden Sie das Script noch einmal herunter mit:

    Code:
    cd ~ && wget [url]www.pcwelt.de/oyhy[/url] -O raspi_crosstools.sh
    chmod 755 raspi_crosstools.sh
    und starten Sie es mit sudo ./raspi_crosstools.sh.
    Es lädt jetzt die Kernel-Version 3.12.28 herunter und erstellt die Module.
    Dann gehen Sie weiter so vor, wie im Artikel beschrieben.

    Sollte die Kernel-Version sich ändern, müssen Sie die Module neu erstellen.
    Wie man die jeweils passende Revisions-Nummer herausbekommt, ist unter Raspberry Pi Kernel Modules development beschrieben. Es muss im Script in der Regel nur die Nummer hinter "git checkout" geändert werden.
     
  6. zwilling

    zwilling Viertel Gigabyte

    ... und ich bekomme die Hefte dann im Februar :D
     
  7. Wess1

    Wess1 Byte

    Hallo noch mal
    Auf dem Raspi hat jetzt alles funktioniert. Nun hab ich ein USB Gerät eingebunden und den Client auf Windows 7 gestartet, vorher natürlich noch die Treiber installiert

    Wenn ich nun den Client auf Win starte spuckt der mir folgende Meldung aus

    C:\usbip>usbip.exe -a 192.168.178.39 1-1.4
    usbip dbg: usbip_network.c: 229 (tcp_connect ) trying 192.168.178.39 port 3240

    usbip dbg: usbip_network.c: 249 (tcp_connect ) connected to 192.168.178.39:3240
    usbip err: usbip_network.c: 124 (usbip_recv_op_common) recv op_common, -1
    usbip err: usbip.c: 136 (query_interface0) recv op_common
    usbip err: usbip.c: 298 (attach_device) can't found device


    Jemand ein Idee was nun schon wieder ist...
    Gruß
    Wess
     
  8. piggy

    piggy Freigeist

    Sie verwenden wahrscheinlich die Datei usbip.exe aus dem Archiv usbip_windows_
    v0.2.0.0_signed.zip. Im Artikel ist das vielleicht etwas zu knapp bzw. missverständlich beschrieben.
    Sie müssen die neuere EXE-Datei vom 15.09.2014 aus dem Archiv usbip-v0.2.0.zip verwenden.
    Kopieren Sie zusätzlich die Datei usb.ids aus usbip_windows_
    v0.2.0.0_signed.zip in das Verzeichnis mit der neuen EXE-Datei.
    Das ist optional, sorgt aber für die Anzeige des USB-Geräte-Herstellers im Klartext.
     
  9. Wess1

    Wess1 Byte

    Vielen Dank. Nun funktioniert es endlich.
    Wirklich ein toller Support hier.
    Eine Frage hätte ich aber noch. Da ich den Raspi B+ habe wollte ich noch fragen ob es eigendlich möglich alle USB Ports gleichzeitig einzubinden oder funktioniert immer nur einer?
    Gruß
     
  10. piggy

    piggy Freigeist

    Es gehen auch mehrere.
    Einfach über

    Code:
    sudo usbip bind -b X-Y.Z
    alles Gewünschte freigeben.

    Leider ist der Windows-Client von "perfekt" noch etwas entfernt.
    Zum Verbinden muss man daher für jedes Gerät ein eigenes Fenster mit der Eingabeaufforderung öffnen, hier usbip.exe -a IP-Adressse USB-Port starten und geöffnet lassen. Das kann man über einen Batch-Datei allerdings automatisieren.
     
  11. Wess1

    Wess1 Byte

    Danke. Leider gehen meine Programmierkenntnisse gegen null. Aber mit der manuellen Eingabe kann ich auch sehr gut leben.
     
  12. piggy

    piggy Freigeist

    Das ist aber ganz einfach.
    Nur die gewünschten Befehlszeilen in eine Textdatei mit der Endung ".bat" schreiben und dann per Doppelklick starten.
     
  13. Wess1

    Wess1 Byte

    Also einfach
    Start cmd.exe
    Erster USB einbinden
    Start cmd.exe
    Zweiter USB ....
    Usw
     
  14. piggy

    piggy Freigeist

    ja, so ähnlich, beispielsweise:

    Code:
    START "usb 1-1.2" cmd.exe /K usbip.exe -a 192.168.0.85 1-1.2
    START "usb 1-1.3" cmd.exe /K usbip.exe -a 192.168.0.85 1-1.3
    Damit öffnet sich für jeden usbip.exe-Prozess ein eigenes Fenster.
     
  15. Wess1

    Wess1 Byte

    Das kann ich ja gar nicht mehr gut machen. Danke für die Info. Werde das morgen mal testen.
    Kann ich das einbinden der Usb ports über den raspi auch über die "rc.local" automatisieren ?

    Ich meine jetzt nicht für den client, sondern das der raspi die USB ports automatisch für Windows bereit stellt, so das ich auf win nur noch das batch Skript ausführen muss um mich mit dem jeweiligen USB gerät zu verbinden.
     
    Last edited: Nov 16, 2014
  16. piggy

    piggy Freigeist

    das sollte funktionieren. Beispielsweise mit den Zeilen

    Code:
    modprobe usbip-host
    usbipd -D
    usbip bind -b 1-1.2
    usbip bind -b 1-1.3
    oberhalb von exit 0.
     
  17. Wess1

    Wess1 Byte

    So eigendlich läuft das jetzt alles...eigendlich.
    Ich möchte jetzt mal kurz beschreiben was ist eigentlich mit dem Raspberry vorab. Und zwar soll er als "Teleskop Server " arbeiten. Die Steuerung des Teleskops über einen seriell USB Adapter funktioniert tadellos. Nun zu meinem Problem. Da ich mich überwiegend mit Astrophotographie beschäftige müsste der raspberry eine Digitale Spiegelreflexkamera durch schleifen d.h. ein Liveview Bild bzw die aufgenommen Bilder an den PC über tragen und eventuell noch eine zusätzliche Web cam damit ich sehen kann was das ganze draussen macht. Jetzt hab ich das Problem das USbip beim einbinden der Spiegelreflexkamera und auch der Webcam aufhängt. Besser gesagt der PC. Nun würde ich gerne noch wissen ob usbip über haupt dazu in der Lage ist, diese Aufgabe zu bewerkstelligen. Da ich im Moment leider keinen zusätzlichen USB hub hier habe und der raspi ja leider nur eine geringe USB Spannung liefert dachte ich vielleicht das es daran liegt. Vielleicht hat ja jemand schon etwas ähnliches versucht zu verwirklichen.
     
  18. piggy

    piggy Freigeist

    Über Usbip sind Drucker, Scanner und Massenspeicher kein Problem.
    Streaming-Geräte, wie DVB-Sticks oder Webcams funktionieren nur teilweise.

    Es geht ja offenbar darum, Live-Bilder von einer Kamera alle paar Minuten auf einen PC zu übertragen.
    Dafür gibt es einige Tools. Voraussetzung wäre aber, das die Kamera von Linux unterstützt wird.
    Ein Tool ist beispielsweise fswebcam. Mit einem Bash-Script und Zeilen wie

    DATE=`date +"%s-%Y-%m-%d-%H-%M"`
    /usr/bin/fswebcam -q -F 10 -skip 9 -d /dev/video0 -r 1280x720 --jpeg -1 /mnt/WindowsFreigabe/$DATE-capture.jpg

    kann man ein Bild aufnehmen und auf eine auf dem Raspberry gemountete Windows-Freigabe kopieren.
    Wenn man das Script über eine Cronjob automatisch regelmäßig ausführen lässt, bekommt man Bildsequenzen.
     
  19. Wess1

    Wess1 Byte

    Habe mir jetzt einen aktiven USB hub zugelegt und sieh da es funktioniert. Lag also wohl nur an der Spannung.
    Ich wollte das nur mal als Rückmeldung hinterlassen. Vielen Dank an piggy für die unendliche Geduld.

    Hoffe es läuft jetzt auch noch stabil.
    Gruß
     
  20. TRyan

    TRyan ROM

    Hallo,

    erstmals Danke für die Super Anleitung für USB/IP.

    Ich habe jetzt das Problem, das Mein RPi mit der Kernel Version 3.12.35+ läuft. Nun wollte ich das Script dafür abändern.
    Jedoch weiß ich leider nicht, was ich nun bei "git checkout" eintragen muss. Damit es auch mit der Version 3.12.35+ läuft.
    Vielleicht hat jemand ein Tipp für mich.

    Vielen Dank.

    Tobias
     
Thread Status:
Not open for further replies.

Share This Page