g_ether/USB-Netzwerk auf Wiz Revision 255 / GPH Sabotage ?


hiben

Still Fresh
Joined
Dec 30, 2009
Messages
34
Moin!

Das hier ist mein erster Post aber ich lese schon seit einiger Zeit im Forum und fühle mich schon sehr heimisch... :)

Ich habe mir nun also auch einen Wiz zugelegt, welcher mit der Firmware 1.1.0 in Revision 255 kam. Wie sicherlich bekannt ist, geht mit diesen Geräten das USB-Netzwerk mit g_ether nicht mehr.

Daher habe ich mich also einmal hingesetzt und versucht, dass Modul zu debuggen. Ich bin nun an einem Punkt, wo ich glaube, gegen eine Wand zu laufen; vielleicht kann mir hier ja jemand eine neue Richtung aufzeigen:

Das Problem mit dem Modul ist, dass ein Segfault auftritt, wenn man das Modul lädt. Dies liegt daran, dass die Kernel-Funktion alloc_etherdev zwar ein device initialisiert, aber die private Datenstruktur nicht allokiert. Dann wird versucht, mit der privaten Struktur zu arbeiten und - Oops - Griff ins Leere / Segfault. Wenn man selbst den Speicherbereich anlegt (Alignment ist ein 'No-Op' auf ARM), dann kann man das Modul laden, bekommt ein usb-network-device und auch der PC am anderen Ende erkennt die Verbindung mit dem Gadget-Treiber. Aber Kommunikation ist nicht möglich...

Zunächst einmal scheint das ja gut zu klingen: Man kann das Modul laden. Aber hier geht es nicht weiter, da man es nicht zu Kommunikation überreden kann. Also einmal zurück zur ersten Beobachtung: Der Segfault. Nach Studium der Kernel-Quellen, kann dies nicht passieren. Es wird immer Speicher allokiert. Was ist hier also los ?

Meine Vermutung ist, dass GPH den Netzwerkcode im Kernel 'sabotiert' hat. Auf der offiziellen Seite, steht etwas von Network-Messenger-Tests für den Wiz. Ich nehme daher an, dass sie daran basteln. Allerdings haben sie damit Grundfunktionen des Kernels gestört.
Im Prinzip ja kein Problem. Der entsprechende Code ist GPL, daher müssen sie ihre Modifikationen rausgeben (da sie das Gerät vertreiben). Aber wie ist das nun mit der Realität ? Kann mir jemand sagen, ob es GPH juckt, wenn ich als Privatperson nach dem Code frage und mit der GPL wedle ?

Irgendwelche Ideen dazu ?

p.s.
Der Beitrag ist eventuell etwas chaotisch - ich hoffe, ihr versteht aber, worauf ich hinaus will.

Vielleicht noch etwas zu mir:
Ich bin kein Kernel-Guru, aber ein kompetenter Programmierer und Linux Enthusiast mit abgeschlossenem Studium in Informatik. Ich arbeite in einem wissenschaftlichem Bereich, wo wir viel mit embedded Systemen zu tun haben. Mein Interesse am Wiz liegt in diesem Bereich. Bisher habe ich noch kein Spiel auf dem Gerät installiert, aber schon etwa 10 Stunden Kernel-Module debuggt... ;-)
 
Ich befürchte, hier ist das level der frage etwas zu hoch.


Du solltest damit vielleicht eher dieses Board bemühen: klick
 
Hallo hiber,

erst einmal ein gesundes neues Jahr und herzlich willkommen. :)
Ich fürchte, bei Deinem Hintergrund werde ich Dir nicht viel Hilfe stellen können. Ich versuch's aber mal.

Dass GPH den Code bewusst sabotiert glaube ich weniger. Die sind voll auf OpenSource-Geräte spezialisiert und auf die Communitiy angewiesen. Die werden nicht absichtlich die Entwickler behindern. Wenn überhaupt ist das versehentlich passiert, weil sie vielleicht etwas anders im Fokus hatten. Ich habe allerdings auch gehört, dass sie (noch) nicht alles veröffentlicht haben. Warum weiß ich aber nicht.

Ich gehe davon aus, dass Du den Thread im englischen Forum verfolgt hast? Registriert bist Du da ja.

Wenn der Host-PC die Verbindung über den Gadget-Treiber erkennt, bist Du doch schon weiter als alle anderen mit Rev. 255, von denen ich weiß.
Bist Du denn auch ganz sicher, dass die mangelnde Kommunikation dem WIZ geschuldet ist?

Da Du Dich gut auskennst, denke ich mal Du hast daran gedacht, usb0 am Host-Rechner mit
Code:
ifconfig usb0 inet 10.0.0.1 netmask 255.255.255.0
zu initialisieren.

Ich hatte trotzdem auch ab und zu Kommunikationsprobleme. Das lag bei mir aber daran, dass ich zuviel mit den Routing-Einstellungen und verschiedenen IP-Adressbereichen herumgespielt habe. (Ich wollte vom WIZ aus über eine Ethernet-Bridge über den Host ins Internet. Ging auch.)

Mir haben folgende Tools und Maßnahmen bei der Fehlersuche geholfen:

Mit Termula: http://dl.openhandhelds.org/cgi-bin/wiz.cgi?0,0,0,0,8,163 kannst Du auf der Konsole mit dmesg und ifconfig den aktuellen Stand überprüfen.
Als die beiden nicht miteinander reden wollten, habe dann vom WIZ aus meinen Rechner angepingt.
Mit Wireshark habe ich auf dem Rechner den Traffic auf usb0 überwacht und siehe da: Die Anforderung vom WIZ kam, nur mein Rechner hat sie ignoriert. Vielleicht hilft Dir das irgendwie weiter.

Ansonsten würde ich empfehlen, Deine Fortschritte hfc im englischen Forum mitzuteilen.

Viele Grüße und viel Erfolg,

Kasi
 
Scheint mir sinnvoll zu sein, dies hier in der englischen Community weiter zu führen. Den entsprechenden Thread kannte ich und hab mich mal 'dran gehängt'.

GPH hat in der Vergangenheit schon mal gezeigt, dass sie das mit der GPL nicht so ganz verstehen - ich hoffe, das Bewusstsein ist da nun besser. Ich habe nur etwas Angst, weil sie jetzt Spiele für den Wiz verkaufen wollen. Eventuell machen die dann mental dicht wenn es um die Community geht... aber die Hoffnun stirbt zuletzt... :)

Die ganzen Details wegen ifconfig, shell mit termula und Abhören der Verbindung hatte ich schon in Betracht gezogen... leider kein Erfolg...

Ich habe noch die verrückte Idee, pppd zu porten und über USBSerial eine PPP Verbindung aufzubauen. Das wäre vielleicht eine Krücke, an der sich gehen lässt... ;-)
 
hiben said:
Kann mir jemand sagen, ob es GPH juckt, wenn ich als Privatperson nach dem Code frage und mit der GPL wedle ?

Damit dürftesst du eigentlich Erfolg haben, zumindest Revision 245 liegt ja auch im FileArchive, und das ha GPH auch nicht selbst reingetan. ;)
 
Back
Top