Hallo zusammen, ich habe mir vor kurzen ein neues NGW100 von Atmel zugelegt. Nach der Freude über die kurze Lieferzeit kam nach dem ersten Einschalten die Ernüchterung. Für die Inbetriebnahme habe ich den LAN-Port mit meinem Netzwerk verbunden und dir RS232 für die Bootlog-Ausgabe am PC angeschlossen. Laut Beschreibung sollte auf dem Board ein funktionsfähiges, vorinstalliertes Linux drauf sein. Dem war leider nicht so. Nach dem sich der Bootloader gemeldet hat, ging es nicht mit dem Starten des Kernels vom Flash weiter, sondern der Bootloader hat versucht, das Kernelimage über TFTP zu laden. Da er das natürlich nicht im Netzwerk gefunden hat, wurde das Initialisieren des LAN-Interfaces und das erfolglose Booten per TFTP zu einer Endlosschleife. Hier mal ein Auszug aus dem Bootlog mit Ausgabe der bei meinem Board werkseitig eingestellten Environment-Variablen: U-Boot 1.1.4-at0 (Jan 3 2007 - 10:30:09) U-Boot code: 00000000 -> 000144f7 data: 24000000 -> 24002d80 SDRAM: 32 MB at address 0x10000000 Testing SDRAM...OK malloc: Using memory from 0x11fc0000 to 0x12000000 Flash: 8 MB at address 0x00000000 DRAM Configuration: Bank #0: 10000000 32 MB In: serial Out: serial Err: serial Net: macb0, macb1 Press SPACE to abort autoboot in 1 seconds Uboot> Uboot> printenv baudrate=115200 ethaddr=00:04:25:1C:52:74 bootdelay=1 ethact=macb0 serverip=172.24.41.2 tftpip=172.24.41.2 bootcmd=dhcp 0x10300000 uImage_a11_0002_rev8; bootm 0x10300000 eth1addr=00:04:25:1C:52:75 bootargs=console=ttyS0 root=/dev/nfs ip=dhcp nfsroot=172.24.41.2:/exports/nfsroot/ngw100 mtdparts=physmap-flash.0:128k(u-boot)ro,8000k(root),64k(env) stdin=serial stdout=serial stderr=serial Environment size: 388/65532 bytes Jetzt kommt aber das eigentliche Problem. Die Einstellung auf Netzwerk-Boot ist ja für Entwicklungszwecke nicht schlecht. Ein neues NGW100 sollte aber vom internen Flash booten. Leider ist es mir nicht gelungen, das booten vom internen Flash zu aktivieren. Es kursieren da mehrere unterschiedliche Werte für bootargs und bootcmd im Internet. Egal welche Einstellung ich getestet habe, das Ergebnis war immer das gleiche und zwar folgende Fehlermeldung: Press SPACE to abort autoboot in 1 seconds ### JFFS2 loading '/boot/uImage' to 0x10400000 Scanning JFFS2 FS: | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - done. find_inode failed for name=boot load: Failed to find inode ### JFFS2 LOAD ERROR<0> for /boot/uImage! ## Booting image at 10400000 ... Bad Magic Number Eigentlich würde es mir für den Anfang reichen, wenn das zum Lieferumfang gehörende Linux starten würde und ich mit dem Board vertraut machen kann. Deshalb wäre ich für die Einstellungen der Environment-Variablen eines originalen neuen „funktionsfähigen“ NGW100 dankbar. Da der Bootprozess bei mir ja schon im Anfangsstadium von Anfang an hängen bleibt kann ich nicht mal eine Aussage darüber treffen, ob die Hardware voll funktionsfähig ist und ob der Flash überhaupt in Ordnung ist oder ob da überhaupt ein Image drin ist. Da ich nach langer Suche bezüglich dieses Problems lediglich nur einen Beitrag mit genau diesem Thema gefunden habe, wende ich mich an Euch alle. Leider konnte mir die in dem Beitrag genannte Einstellung des Bootloaders auch keine positive Veränderung bringen: set serverip set tftpip set bootargs root=mtd1 rootfstype=jffs2 set bootcmd 'fsload 0x10400000 /boot/uImage; bootm' saveenv reset Viele Grüße Torsten
Hallo Torsten, Torsten K. schrieb: > ein neues NGW100 von Atmel zugelegt. Darf man fragen wo du das NGW gekauft hast? Bei einem Händler oder aus privater Hand? Torsten K. schrieb: > Uboot> printenv > > baudrate=115200 > ethaddr=00:04:25:1C:52:74 > bootdelay=1 > ethact=macb0 > serverip=172.24.41.2 > tftpip=172.24.41.2 > bootcmd=dhcp 0x10300000 uImage_a11_0002_rev8; bootm 0x10300000 > eth1addr=00:04:25:1C:52:75 > bootargs=console=ttyS0 root=/dev/nfs ip=dhcp > nfsroot=172.24.41.2:/exports/nfsroot/ngw100 > mtdparts=physmap-flash.0:128k(u-boot)ro,8000k(root),64k(env) > stdin=serial > stdout=serial > stderr=serial Das sieht danach aus als wenn jemand das NGW schon mal in Betrieb hatte. Die original Environment-Einstellungen sehen wie folgt aus: U-Boot> printenv ethaddr=xx:xx:xx:xx:xx:xx bootargs=console=ttyS0 root=/dev/mtdblock1 rootfstype=jffs2 bootcmd=fsload /boot/uImage;bootm bootdelay=1 baudrate=115200 hostname="atngw100" stdin=serial stdout=serial stderr=serial ethact=macb0 wobei die MAC-Adresse von der Seriennummer deines NGWs abhängt. Wie die lauten muss kannst du hier nachlesen/berechnen: http://www.avrfreaks.net/wiki/index.php/Documentation:NGW/NGW100_Ethernet_PHY Du solltest die Environment-Variablen besser auch mit dem Befehl "askenv" einstellen. Also "askenv bootcmd" ect. Gruß Udo
Hallo Udo, Danke für die Antwort. Das NGW100 habe ich diese Woche von embedded-projects geliefert bekommen. Ich werde heute Abend die von Dir genannten Einstellungen testen und mich dann wieder melden. Gruß Torsten
Hallo, es hat leider etwas länger gedauert, aber ich habe einiges ausgetestet. Die Originaleinstellungen brachten keinen Erfolg. Gleiche Fehlermeldung. Dann habe ich das Board über TFTP/NFS gebootet (Kernel & Rootfs von der Atmel-Seite), erfolgreich. Nächster Schritt war das erstellen eines eigenen Images mit Buildroot unter Ubuntu 9.10 mit den Standardeinstellungen, erfolgreich. Dann habe ich das ganze auf eine SD-Karte entpackt und das Board darüber ohne Fehler gestartet. Nun kommt meine Frage. Kann man mit dem gestarteten Linux von SD-Karte auf den Onboardflash zugreifen und sich den Inhalt ansehen (dev/mtdblock1 und dev/mtdblock3). Viele Grüße Torsten
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.