Homepage Wiki Forum Buy

Pseudo Netzwerk mit USB

Aus GNUBLIN

Schwierigkeitsgrad Voraussetzung Gnublin Familie
Gnublin logo advanced.png Linux als USB-Gerät nutzen, Eigenes Netzwerk zwischen PC und GNUBLIN installieren Alle

GNUBLIN selbst kann über den USB OTG Port ebenfalls eine USB-Netzwerkkarte emulieren. Das hat den Vorteil, das man sich zusätzliche Hardware spart.

Inhaltsverzeichnis

GNUBLIN als virtuelle USB Netzwerkkarte

Vorbereitungen:

  • Gnublin von der Versorgungsspannung nehmen.
  • Jumper "USB OTG PWR" und "USB OTG ID" auf "Device" setzen. Die Jumper und I/O Pins sieht man hier
  • Beide USB Anschlüsse des Gnublin Boards mit dem PC verbinden Konsole (Konsole und USB-OTG) Gnublin sollte nun booten. Danach einloggen.

Modul/Treiber laden

Auf Gnublin

root@gnublin:~# modprobe g_ether

Auf unserem eigenen PC führen wir nun den Befehl 'dmesg' aus.

user@mein-pc:~$ dmesg

Es folgt eine recht große Ausgabe. Unter den letzten paar Meldungen sollte in etwa so etwas auftauchen:

[ 2318.712037] usb 4-2: new full-speed USB device number 4 using uhci_hcd [ 2318.868124] usb 4-2: New USB device found, idVendor=0525, idProduct=a4a1 [ 2318.868133] usb 4-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 2318.868140] usb 4-2: Product: Ethernet Gadget [ 2318.868146] usb 4-2: Manufacturer: Linux 2.6.33-gedda7f0 with fsl-usb2-udc [ 2318.940820] cdc_ether 4-2:1.0: usb0: register 'cdc_ether' at usb-0000:00:1d.3-2, CDC Ethernet Device, 42:c5:f6:63:af:9d [ 2318.941145] usbcore: registered new interface driver cdc_ether

Wir sehen, dass unser Gnublin als USB Gerät erkannt wurde.

Internetverbindung von Host PC nutzen

Hat man die vorherigen Schritte ausgeführt, erscheint auf unserem Host PC eine neue Kabelverbindung. Wir öffnen den Netzwerkmanager und bearbeiten diese Verbindung. Unter IPv4-Einstellungen wählen wir unter Methode "Gemeinsam mit anderen Rechnern" ("shared to other computers") aus und speichern diese Konfiguration.

Netzwerkverbindungen.png

Kabelnetzwerkverbindung 1 bearbeiten.png

Auf dem Gnublin führt man danach den folgenden Befehl aus:

root@gnublin:~# dhclient usb0

Nun sollte man eine IP Adresse bekommen haben. Zum testen, ob man jetzt eine funktionierende Internetverbindung am Gnublin besitzt kann man ganz einfach den Befehl ping benutzen:

root@gnublin:~# ping www.gnublin.org

Es folgt in etwa so eine Ausgabe:

PING www.gnublin.org (46.163.117.240) 56(84) bytes of data. 64 bytes from lvps46-163-117-240.dedicated.hosteurope.de (46.163.117.240): icmp_req=1 ttl=53 time=34.4 ms 64 bytes from lvps46-163-117-240.dedicated.hosteurope.de (46.163.117.240): icmp_req=2 ttl=53 time=34.2 ms 64 bytes from lvps46-163-117-240.dedicated.hosteurope.de (46.163.117.240): icmp_req=3 ttl=53 time=40.0 ms 64 bytes from lvps46-163-117-240.dedicated.hosteurope.de (46.163.117.240): icmp_req=4 ttl=53 time=33.9 ms 64 bytes from lvps46-163-117-240.dedicated.hosteurope.de (46.163.117.240): icmp_req=5 ttl=53 time=33.7 ms

Wir brechen den Ping mit "Strg+c" ab. Nun haben wir unsere Internetverbindung von unserem PC mit dem Gnublin Board geteilt und können vom Gnublin aus aufs Internet zugreifen.

Auf Gnublin den Web Server starten

Auf Gnublin

root@gnublin:~# bash /home/root/lighttpd-init.sh

Die Datei lighttpd-init.sh enthaelt (sollte man mal in das Start Skript /etc/init.d/lighttpd einbauen):

  1. #!/bin/sh
  2.  
  3. if [ ! -d /var/log/lighttpd ]
  4. then
  5.    mkdir /var/log/lighttpd
  6.    chmod 777 /var/log/lighttpd/
  7.    touch /var/log/lighttpd/error.log
  8. fi
  9.    chmod 666 /var/log/lighttpd/error.log
  10.    /etc/init.d/lighttpd start

Auf dem PC einen Web-Browser starten und den URL waehlen:

http://10.0.0.1

Danach sollte man "Hello, world" im Browser sehen.

ssh Verbindung vom PC zu Gnublin

Auf dem PC zum SSH Server auf Gnublin verbinden:

hhoegl@aspire1:~$ ssh root@10.0.0.1 The authenticity of host '10.0.0.1 (10.0.0.1)' can't be established. RSA key fingerprint is af:0a:d9:9b:f2:ce:5d:9d:d2:6d:3b:1a:b5:4a:c1:0f. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '10.0.0.1' (RSA) to the list of known hosts. root@10.0.0.1's password: root@armv5te:~#


Damit dies oben klappt, muss auf dem Gnublin Board dropbear oder openssh laufen. Standardmäßig läuft openssh. Notfalls starten mit "/etc/init.d/dropbear start".


In die andere Richtung geht es auch (auf dem PC bzw. Notebook muss der ssh Daemon laufen):

Auf Gnublin:

root@gnublin:~# ssh hhoegl@10.0.0.2 Host '10.0.0.2' is not in the trusted hosts file. (fingerprint md5 47:15:5c:61:aa:d6:cb:22:ff:24:3a:ff:84:98:6a:37) Do you want to continue connecting? (y/n) y hhoegl@10.0.0.2's password: Linux aspire1 2.6.32-38-generic #83-Ubuntu SMP Wed Jan 4 11:13:04 UTC 2012 i686 GNU/Linux Ubuntu 10.04.3 LTS Welcome to Ubuntu! * Documentation: https://help.ubuntu.com/ Your CPU appears to be lacking expected security protections. Please check your BIOS settings, or for more information, run: /usr/bin/check-bios-nx --verbose Last login: Thu Feb 2 22:01:05 2012 from localhost hhoegl@aspire1:~$
In anderen Sprachen