USB Netzwerk ueber Linux - Wie?


pr0npro

Still Fresh
Joined
Apr 1, 2006
Messages
91
Hallo,

ich habe schon in mehreren Threads ueber die Problematik mit der Ethernet ueber USB Verbindung unter Linux geklagt.
Hier noch einmal an richtiger Stelle.

Hat jemand von euch schon unter Linux erfolgreich mit telnet auf seinen gp2x zugreifen koennen?
Ein Kerl namens Puck im gp32x Forum meinte er hats geschafft:
http://www.gp32x.com/board/index.php?showtopic=27741&st=90

Ich habe mir das cdc_ether Modul installiert. Mein gp2x wird auch als neues Interface (usb0) erkannt. Das Problem ist leider, dass nachdem ich dem Interface eine IP Adresse gegeben hab, ein Portscan nur die offnen Ports von meinem COmputer anzeigt.
Oder habe ich etwas vergessen?

Es wird noch so ein anderes Modul erwaehnt, dass man auf seinen gp2x schieben soll, nur weiss ich leider nicht wie ich das machen soll...
 
Hab es jetzt mit dem Alternativen Treiber g_ether.o probiert der im gp32x forum gepostet wurde.

Leider hab ich immer noch kein Erfolg, darum schilder ich hier noch mal die Schritte die ich mache. Vielleicht vergesse ich ja etwas.

1. cdc_ether Modul installieren
2. gp2x verbinden und im Menu Netzwerkverbindung einschalten
3. Das Geraet wird erkannt und ein neues Interface usb0 steht mir zur Verfuegung
4. Ich gebe usb0 eine IP Adresse (ping funktioniert auch)
5. Ich starte ftp/telnet auf dem gp2x
6. ein Portscan zeigt nur die offenen Port auf meinem Computer, nicht aber die des gp2x an.

Hab schon versucht mit telnet oder ftp zuzugreifen, bringt aber alles nichts.

Waere echt super wenn ihr mir bei dem Problem helfen koenntet, dann kann ich noch heute den ganzen Tag und morgen mit der Netzwerkverbindung spielen ;-)
 
Hi,
gib doch mal die Ausgabe von ifconfig durch.
 
Gerne!
Code:
<i>
</i>osiris ~ # ifconfig usb0
usb0      Link encap:Ethernet  HWaddr 2E:A6:C2:DF:A1:20  
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

osiris ~ # ifconfig usb0 192.168.1.3   
osiris ~ # ifconfig usb0
usb0      Link encap:Ethernet  HWaddr 2E:A6:C2:DF:A1:20  
          inet addr:192.168.1.3  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
 
Welche IP hat eth0?
Auch eine 192.168.1.x?
Du darfst (soweit ich informiert bin) keine 2 Netzwerkkarten im selben Subnet betreiben.
 
Ja, es geht.
Einfach alternatives Modul (Pflicht) und dann usb0 auf dem Rechner konfigurieren (eventuell Problematik wegen selbem Subnet beachten).
Problem ist bei mir nur noch, dass der Server beim Aus-/ und wieder Einstecken der Verbindung die IP verliert. Ich denke, dass ich mich da durch die hotplug-Scripts wuehlen muss. Aber wenn mir jemand eine fertige Loesung praesentieren koennte, waere ich natuerlich auch nicht boese ;)
 
Also vielleicht bin ich ja zu bloed, aber ich kriegs einfach nicht hin.

Ich hab mir ein kleines Skript gemacht, welches das alternative Modul auf den gp2x schiebt.
Auf meinem Computer habe ich die Module usbnet und cdc_ether installiert (welche habt ihr installiert?)
Wenn ich jetzt den gp2x anschliesse und Networking und Telnet/FTP anschalte, erkennt der cdc_ether Treiber ein neues Interface 'usb0'. Jetzt kann ich es wie gewohnt konfigurieren.

Ich hab mal assmans Tip befolgt und habe dem Interface usb0 eine IP in einem anderen Subnet zugewiesen.
Mein gp2x hat also die IP 10.0.0.3
Mein Rechner hat die IP 192.168.1.1

Wenn ich jetzt 10.0.0.3 portscanne, taucht trotzdem nur der ssh Port auf.

Was mache ich falsch? Oder welche Schritte habt ihr unternommen?
 
ok, also Modul hast kopiert (ist Voraussetzung)

GP2X:
Settings => System => Advanced "on" => USB Network on => IP am besten belassen 192.168.0.2 => telnet/samba/webserver einschalten => Bestaetigen mit Druck auf Steuerkreuz

Linux-PC:
- Gucken, ob usbnet/cdc_ether geladen ist => dmesg | grep usbnet
- Gucken, ob usb0 ready ist => sudo ifconfig usb0
- IP-Adresse vergeben => sudo ifconfig usb0 192.168.0.3

Verbindungstest von Linux-PC aus:
ping 192.168.0.2
 
Hallo Devaux,

kannst du mir vielleicht freundlicherweise einmal die Ausgabe von 'route' zuschicken?
Und hast du moeglicherweise Ethernet Bridging aktiviert?

Fuer mich hoert sich das ganze irgendwie nach einem Routing Problem an, oder?
 
pr0npro said:
Hallo Devaux,

kannst du mir vielleicht freundlicherweise einmal die Ausgabe von 'route' zuschicken?
Und hast du moeglicherweise Ethernet Bridging aktiviert?

Fuer mich hoert sich das ganze irgendwie nach einem Routing Problem an, oder?

Routen tu ich usb0 nicht. Sind ja bei mir beides Class C-Netze (usb0 und eth0), die voneinander getrennt sind. Fuer normalen smb/ftp/telnet-Direktzugriff braucht man ja nix routen. Vielleicht vorsichtshalber mal nix auf usb0 routen.
 
Hab jetzt schnell mit Routing probiert. Geht auch ohne Probs.

Linux-Server (usb0:192.168.0.3):
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o usb0 -j MASQUERADE


GP2X (192.168.0.2):
route add default gw 192.168.0.3
echo nameserver 195.186.1.111 > /etc/resolv.conf
ping www.gp2x.de => geht

Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.0.0 * 255.255.255.0 U 0 0 0 usb0
default 192.168.0.3 0.0.0.0 UG 0 0 0 usb0


Schuss ins blaue: Kann es sein, dass Dein eth0 fuer eine 16er Mask konfiguriert ist und probiert auf 192.168.0.2 zuzugreifen?
deaktiviere diese doch um dies auszuschliessen => ifdown eth0
Weil mich duenkt es sehr komisch, dass Du pingen kannst und nur nen offenen SSH-Port siehst. Logg Dich doch mal ein, vielleicht bist dann auf dem eigenen PC ;)
 
War gerade mal im irc channel.
Da haben sie mir gesagt, dass ich dem Interface usb0 eine andere IP Adresse geben muss als dem gp2x.
Jetzt gehts... ;-)

Danke fuer deine Hilfe!
 
pr0npro said:
War gerade mal im irc channel.
Da haben sie mir gesagt, dass ich dem Interface usb0 eine andere IP Adresse geben muss als dem gp2x.
Jetzt gehts... ;-)

Aehja, das ist von Vorteil, sonst bist immer auf Deinem eigenen PC, wenn Du nen Portscan machst ;)
 
Devaux said:
Ja, es geht.
Einfach alternatives Modul (Pflicht) und dann usb0 auf dem Rechner konfigurieren (eventuell Problematik wegen selbem Subnet beachten).
Problem ist bei mir nur noch, dass der Server beim Aus-/ und wieder Einstecken der Verbindung die IP verliert. Ich denke, dass ich mich da durch die hotplug-Scripts wuehlen muss. Aber wenn mir jemand eine fertige Loesung praesentieren koennte, waere ich natuerlich auch nicht boese ;)

Code:
#! /bin/bash
typeset -i num
num=`ifconfig | grep usb0 | wc -l`
if [ $num -eq 0 ] ; then
ifconfig usb0 192.168.253.1
fi
iptables -t nat -F
iptables -t nat -A POSTROUTING -j SNAT -o ath0 --to MY_IP
echo 1 > /proc/sys/net/ipv4/ip_forward


so klappt es bei mir, abgespeichert unter /etc/hotplug/usb/cdc_ether
[/code]
 
boeseronkel2k said:
Code:
#! /bin/bash
typeset -i num
num=`ifconfig | grep usb0 | wc -l`
if [ $num -eq 0 ] ; then
ifconfig usb0 192.168.253.1
fi
iptables -t nat -F
iptables -t nat -A POSTROUTING -j SNAT -o ath0 --to MY_IP
echo 1 > /proc/sys/net/ipv4/ip_forward


so klappt es bei mir, abgespeichert unter /etc/hotplug/usb/cdc_ether

Hey, danke :)
Bei meinem Debian musste ich das Script unter /etc/hotplug.d/usb/ abspeichern. Natuerlich nicht vergessen mit 'chmod 755 /etc/hotplug.d/usb/cdc_ether' ausfuehrbar zu machen.
 
Hmnein, will doch irgendwie nicht.
Script funzt fehlerfrei, scheint aber nicht angekickt zu werden.
Any ideas?


EDIT: Ahjetzt
Datei muss in /etc/hotplug.d/default/ sein und folgendermassen aussehen => $MODULNAME.hotplug
 
Naechstes Problem:
Ich moechte mir ein .gpe smbmount-Script schreiben, indem ich die beiden Module lade und /etc/init.d/network und /etc/init.d/inet starte.
Leider schaffe ich es aber nicht usb0 up zu kriegen. Gehe ich dann ins Systemmenue, sind telnet/samba auf "on" geschaltet, nicht aber die USB-Network-Option.
Was fehlt mir noch?
 
Ich bekomme es nicht hin eine Netzwerkverbindung aufzubauen. :(

Ich habe im gp2x das g_ether.o dings kopiert, bei mir hab ich usb0 eine IP gegeben (192.168.0.8 ), der GP2X hat 192.168.0.16.

Pingen funktioniert leider nicht. cdc_ether ist anscheinend auch geladen:
dmesg | grep usbnet said:
[4297129.682000] usb0: register usbnet at usb-0000:00:02.2-5, CDC Ethernet Device, (MAC Adresse)

Hat jemand ne Idee? :)

EDIT: Ok, ok, hat sich erledigt. Hab jetzt 192.168.1.8/192.168.1.16 benutzt, und jetzt gehts. :)

EDIT2: Is das geil! :oops: 8) :lol:

Mfg
Dittboy
 
habe heute mal etwas zeit investiert und das gp2x netzwerk
jetzt auch unter fedora linux laufen. :)

alles super, nur ein problem ist bisher aufgetaucht.
wenn man den linux host (pc) rebootet hängt sich der gp2x
jedesmal auf. hat wohl damit zu tun dass der gp2x es nicht mag, wenn der host pc das usb netzwerk abbricht.
habe darüber schon irgendwann mal was im forum gelesen
nur kann ich es natürlich jetzt nicht finden...

daher die frage: gibt's 'nen fix dafür ?

da das routing auch prima funktioniert und ich
alle websites vom 2x aus pingen kann, würde ich jetzt gerne mal 'nen webbrowser testen.
hatte das qtopia 2.2 nicht den opera integriert?
konnte ihn irgendwie nicht finden...

telnet/ftp/http funktioniert super, nur samba
kommt nach ein paar folder anzeigen mit nautilus (gnome filemanager) gerne aus dem takt. :ph34r:

im grossen ganzen ist das aber alles schon seeehr nice! :oops:


l8r
rSl
 
rSl said:
habe heute mal etwas zeit investiert und das gp2x netzwerk
jetzt auch unter fedora linux laufen. :)

alles super, nur ein problem ist bisher aufgetaucht.
wenn man den linux host (pc) rebootet hängt sich der gp2x
jedesmal auf. hat wohl damit zu tun dass der gp2x es nicht mag, wenn der host pc das usb netzwerk abbricht.
habe darüber schon irgendwann mal was im forum gelesen
nur kann ich es natürlich jetzt nicht finden...

daher die frage: gibt's 'nen fix dafür ?

l8r
rSl

Noe, liegt halt an den schlechten usb-Treibern die von der SA1100 CPU uebernommen wurden und so wie gut kein Kernel-Hacker faesst mehr den 2.4 Kernel fuer ARM-CPU'S, welche auch das gp2x hat, mehr an.

Gruss Henning
 
Back
Top