www.mikrocontroller.net

Forum: Mikrocontroller und Elektronik Grasshopper und OpenWrt


Autor: Christian Z. (christianz)
Datum:

Hallo,

ich habe gerade mal wieder meinen Grasshopper (AVR32-Board) rausgekramt.

Ich sehe, dass mittlerweile ein Port von OpenWrt für AVR32 existiert.
(Das ATNGW100 wird explizit als unterstützte Hardware aufgeführt.) Hat
schon einmal jemand versucht, OpenWrt auf dem Grasshopper einzusetzen?
Interessant an OpenWrt ist u.a., dass es eine Vielzahl an fertigen
Anwendungen in Form von Packages gibt.

Christian
Autor: Christian Z. (christianz)
Datum:

Hmm, hat das noch keiner probiert? Muss ich das wirklich am WE einfach
mal selber testen?
Autor: Axel Thobaben (Gast)
Datum:

Hallo Christian,
Bist Du schon weiter gekommen? Ich habe grade versucht meine
Std.-Buildroot Umgebung mit OWFS und FUSE zu erweitern und habe mir
dabei das Patch zerschossen.
Beim Googlen bin ich dann auf OpenWrt gestossen und frage mich nun, ob
es einen Grasshopper mit OpenWrt gibt...

Gruss,
Axel
Autor: Christian Z. (christianz)
Datum:

Axel, nein, leider habe ich OpenWrt auch nicht auf den Grasshopper
bekommen. (Ich habe allerdings auch nicht viel Zeit darauf verwendet.)
Autor: Christian Z. (christianz)
Datum:

Dieses Wochenende habe ich mich mal wieder mit dem Thema OpenWrt auf dem
AVR32 Grasshopper beschäftigt und -- deshalb hole ich den alten Thread
nochmal nach oben -- eine lauffähige Version davon erzeugt.

Ihr findet ein JFFS2-Image eines schlanken OpenWrt-Systems für den
Grasshopper jetzt unter
http://www.chzsoft.de/grasshopper/openwrt-avr32-jf...
(knapp 2 MiB)

Es handelt sich dabei um einen OpenWrt basierend auf dem heute aktuellen
Stand (SVN Revision 19786) mit folgenden Änderungen:
- Es kommt ein Linux-Kernel 2.6.30.9 zum Einsatz, der für den
Grasshopper gepatcht wurde. Vorteil dieser Kernelversion: Es stehen auf
der OpenWrt-Seite fertige Pakete der einzelnen Kernelmodule bereit, die
bequem mit dem Paketmanager (s. unten) eingespielt werden können.
- Das Netzwerkinterface wurde konfiguriert, sich per DHCP eine IP zu
besorgen.
- Der Kernel ist als "/boot/uImage" in das JFFS2-Image integriert, so
dass das obige Image direkt als Ersatz für das Standardimage dienen
kann. Der Bootloader U-Boot muss dazu nicht modifiziert werden.

Ein paar Hinweise zum Einstieg:
- Im Wiki http://www.mikrocontroller.net/articles/AVR32_Grasshopper ist
beschrieben, wie man ein neues Rootdateisystem flasht.
- Damit der SSH-Zugang aktiv wird, muss entweder über die serielle
Konsole (d.h. über die USB-Schnittstelle) oder über Telnet ein
Root-Passwort gesetzt werden.
- Der Paketmanager heißt opkg. Mit "opkg update" lädt man eine Liste der
verfügbaren Pakete, mit "opkg list" zeigt man diese an und mit "opkg
install paketname" installiert man ein Paket.
- An Software installiert sind u.a. bereits ein cgi-bin-fähiger
HTTP-Server (liefert Dateien aus "/www" aus) und die Skriptsprache lua.

Abschließend ein Hinweis: Ich übernehme keine Haftung für Schäden,
Probleme etc., die aus der Verwendung des Images resultieren. Über
Feedback freue ich mich trotzdem.

Christian
Autor: Dilldepp (Gast)
Datum:

Hallo christianz,

tolle Arbeit! Ich war schon eine Weile auf der Suche nach OpenWRT auf
dem Grasshopper. Nach einigen Wochen frustrierendem "Gefrickel" an
ICNova und ATMEL Toolchains endlich mal ein Kernel und ein JFF2 Image,
das funktioniert.

DANKE !

Einen kleinen Wermutstropfen hat das Ganze leider doch. Ich habe an
meinem Hopper eine SDCard angeschlossen, die unter UBOOT und anderen
Kernels gut funktioniert.

Ich kann die für die SDcard benötigten Module via OPKG INSTALL
nachinstallieren. Leider werden nur zwei (mmc-block, mmc-core) der drei
benötigten Module geladen. Das Modul "atmel-mci" beendet sich immer mit
der Meldung:

insmod: can't insert 'atmel-mci': No such device

Hast Du irgendeine Idee, was ich da noch machen kann?

Gruß dilldepp
Autor: Christian Z. (christianz)
Datum:

Es kann sein, dass zur Verwendung von SD-Cards irgendwas in den Kernel
fest eincompiliert werden muss, das in meinem Image nicht drin ist. Du
musst dann den Kernel neu compilieren.

Unter
http://www.chzsoft.de/grasshopper/openwrt-r19787-g...
habe ich einen Patch gegen SVN-Rev. 19787 von OpenWRT abgelegt. Damit
kannst Du Dein eigenes OpenWRT-Image für den Grasshopper erzeugen.
Folgende Schritte sind nötig:

Auschecken mit SVN in den Ordner openwrt:
svn co -r 19787 svn://svn.openwrt.org/openwrt/trunk/ openwrt

Vorher entpackten Patch (s.o.) anwenden:
patch -p1 -d openwrt < openwrt-r19787-grasshopper.patch

OpenWRT konfigurieren und Image erstellen:
cd openwrt
make menuconfig
make

Meine Konfigurationsdatei liegt als Starthilfe unter
http://www.chzsoft.de/grasshopper/openwrt-r19787-g...
bereit. Einfach entpacken und als ".config" in den openwrt-Ordner
kopieren.
Autor: Dilldepp (Gast)
Datum:

Hallo christianz,

danke für die ausführliche Anleitung.

Das Auschecken, Patchen und der MAKE Vorgang liefen einwandfrei durch.

Im nächsten Durchlauf aktiverte ich den MMC Support in allen denkbaren
Varianten (ATMEL-MCI, SPI-MMC, GPIO-MMC usw.).

Es blieb immer beim selben Ergebnis: Das Modul kann nicht geladen
werden, weil das Device nicht existiert.

Im Moment bin ich mir nicht so sicher, welches device gemeint ist
(Physikalisch oder in /dev).

Was mich wundert ist, dass es beim NGW100 ohne zu Murren funktioniert.
Im Prizip hat der Grasshopper doch nur eine etwas andere
Speicheraufteilung ?

Ich bleibe dran.

Bis dann. Gruß Dilldepp.
Autor: Christian Z. (christianz)
Datum:

Hmm, aus irgendeinem Grund werden die entsprechenden Zeilen für MMC in
arch/avr32/boards/grasshopper/setup.c nicht mitcompiliert, selbst wenn
CONFIG_MMC_ATMELMCI gesetzt ist. Ich gehe dem nach, wenn ich mal mehr
Zeit habe. Evtl. hilft es Dir bis dahin, ein

#define CONFIG_MMC_ATMELMCI y

an den Anfang der oben genannten Datei zu setzen und den Kernel nochmal
zu compilieren.
Autor: Christian Z. (christianz)
Datum:

Außerdem fehlt in arch/avr32/boards/grasshopper/setup.c noch ein

#include <linux/atmel-mci.h>

damit die Datei mit CONFIG_MMC_ATMELMCI compiliert. Dann lässt sich das
Kernel-Modul atmel-mci.ko auch laden. Hoffe, das hilft. Wenn ich mehr
Zeit habe, fixe ich das ganze noch einmal richtig.
Autor: Christian Z. (christianz)
Datum:

Das JFFS2-Image unter
http://www.chzsoft.de/grasshopper/openwrt-avr32-jf...
wurde aktualisiert:

- basierend auf OpenWRT SVN-Rev. 20651,
- mit Linux-Kernel 2.6.32.10, für den es z.Zt. fertige Pakete gibt,
- diesmal vorbereitet für die Installation von kmod-mmc-atmelmci (testen
kann ich es mangels SD-Card nicht).

Patch:
http://www.chzsoft.de/grasshopper/openwrt-r20651-g...
Config:
http://www.chzsoft.de/grasshopper/openwrt-r20651-g...
Autor: Dilldepp (Gast)
Datum:

Hallo Christianz,

es klappt. :-))

Die SD-Card wird erkannt, das Mosul kann fehlerfrei eingebunden werden.
Beim Einbinden des KMOD-FS-VFAT bekomme ich allerdings eine Menge
Fehler, das Einsprungpunkte nicht gefunden werden können. Scheinbar lade
ich ein Modul für eine anderen Kernelversion.

Ich schaue mir das in den nächsten Tagen noch einmal an und poste die
genaue Fehlermeldung.

Mir fehlt ein wenig die Zeit detaillierter zu antworten.

Auf jeden Fall noch einmal vielen Dank. Tolle Arbeit !

Bis dann.
Autor: Dilldepp (Gast)
Datum:

So, hier die versprochenen Fehlermeldungen. Egal, welche Paketquelle
(Deine Webseite oder Openwrt) ich angebe.

In beiden Fällen die selbe Fehlermeldungen und damit ist kein mount
möglich....

Downloading
http://www.chzsoft.de/grasshopper/openwrt/kmod-nls....
Configuring kmod-fs-vfat.
fat: Unknown symbol load_nls
fat: Unknown symbol utf16s_to_utf8s
fat: Unknown symbol unload_nls
vfat: Unknown symbol fat_dir_empty
vfat: Unknown symbol fat_time_unix2fat
vfat: Unknown symbol fat_get_dotdot_entry
vfat: Unknown symbol fat_free_clusters
vfat: Unknown symbol fat_setattr
vfat: Unknown symbol fat_scan
vfat: Unknown symbol fat_search_long
vfat: Unknown symbol fat_getattr
vfat: Unknown symbol fat_fs_error
vfat: Unknown symbol fat_attach
vfat: Unknown symbol fat_build_inode
vfat: Unknown symbol fat_fill_super
vfat: Unknown symbol fat_alloc_new_dir
vfat: Unknown symbol fat_remove_entries
vfat: Unknown symbol fat_add_entries
vfat: Unknown symbol fat_sync_inode
vfat: Unknown symbol utf8s_to_utf16s
vfat: Unknown symbol fat_detach
Configuring kmod-nls-base.
root@OpenWrt:/etc#


Witzigerweise funktioniert KMOD-FS-EXT3 ohne Probleme. Habe z.Zt leider
nur SC-Cards mit VFAT zur Hand :-(
Autor: Christian Z. (christianz)
Datum:

Auch hier gilt: Es kann sein, dass, Routinen, die von keinem zu
compilierenden Modul benötigt werden, nicht in den Kernel eincompiliert
werden, um diesen klein zu halten

Hier dürfte helfen, OpenWRT inkl. Kernel wie ich es oben beschrieben
habe (aber diesmal ausgehend von SVN-Revision 20651) zu bauen und dabei
"kmod-fs-vfat" als Package zu aktivieren.
Autor: Dilldepp (Gast)
Datum:

Die selben Fehlermeldungen kommen beim Einbinden des Moduls
KMOD-FS-MSDOS.

Ich konnte aber erfolgreich das Modul KMOD-FS-NTFS einbinden. Scheinbar
kann es aber nur lesen und nicht schreiben.

Wie auch immer, nachdem ich die SD-CArd mit NTFS formatiert hatte,
konnte ich die Karte mounten und die Dateien von der SD-Card ins /tmp
Verzeichnis kopieren. Ein binärer Vergleich zeigte, dass der
Kopiervorgang fehlerfrei war.

Soweit, so gut.

Hat Du noch eine Idee, was mit den beiden FAT-Modulen los ist?
Autor: Dilldepp (Gast)
Datum:

das Programmpaket nfts-3g kann auch schreibend auf ein NTFS FS
zugreifen.

Und was das Beste ist: es scheint auch zu funktionieren. Wahnsinn !

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel




Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder GIF-Format hochladen.
Siehe Bildformate
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken erkennst du die Nutzungsbedingungen an.

webmaster@mikrocontroller.netImpressumNutzungsbedingungenWerbung auf Mikrocontroller.net