Hallo zusammen, (mein erster Beitrag hier) Zum Problem; Ich versuche jetzt seit bummelig 1 Woche das AVR NET IO an mein Firmennetzwerk anzubinden. Gestern ist es mir gelungen, das Board anzupingen, jedoch erst nach dem flashen. Klau ich dem Board nun die Spannung und starte es neu, kann ich es nicht mehr anpingen. Ich habe mir das ganze mal mit HTerm angeguckt. Nach dem Flashen ist das Board innerhalb von 2 Sek im Netz registriert und bereit. Nach einem Reset liegt das Problem scheinbar im "Discover gesendet". 10x bekomme ich die Nachricht bis dann der Timeout alles abbricht und die default Werte angenommen werden. Aber auch mit den Sollwerten die ich als Default einstelle kann ich ihn dann nicht erreichen. Sprich das Switch was dazwischen hängt gibt den Port nicht frei. Meine Vermutung ist, dass das Programm nicht korrekt läuft. Bzw sich irgendwas im EEPROM ablegt, was nach einem Neustart nicht da sein darf. Ich steig nicht so recht durch die ganzen Funktionen und Routinen durch und hoffe nun auf eure Hilfe. Gruß Timo Edit: Ich glaube ich habe hier schon einen ähnlichen Beitrag gefunden, dem meiner Meinung nach aber ein anderes Problem zugrunde lag.
also, du hast ein net io ohne addon, und betreibst darauf open mcp..? poste doch bitte mal den "boot" log von der seriellen schnittstelle.. nach allgemeinen erfahrungsberichten hat es sich bewährt, dem ethernetcontroller die fehlenden stützkondensatoren -100nF- zu spendieren.. aber erstmal abwarten, wie das log aussieht.. mfg
Hey, danke für die schnelle Antwort. Hier die Log Files. Die fehlenden Ablockkondensatoren könnten das "Neubooten" beim "Log-nach Reset" erklären. Gruß Timo
zuerstmal fällt mir auf, das OpenMCP offensichtlich noch die SD karte sucht, also hast du die config nicht richtig angepasst, hast wohl noch (wie die FW aus dem netz kommt) das ADDON eingestellt.. solltest du mal ändern.. ;) ich hab übrigens bei meinem kein DHCP an, kann daher zu DEM problem nichts sagen.. kannst es ja testweise mal abschalten..? mfg
Also, ich habe die Config schon um einiges angepasst, sprich nicht ausm Netz einfach übernommen. Unter anderem musste ich die MAC Adresse einstellen, weil sonst gar nix laufen würde. Das Intranet hier im Betrieb lässt das Board sonst gar nicht zu. Im Makefile ist das Addon ausgeschaltet, aber in der Config war die MMC noch aktiv. Hab ich jetzt geändert. Einfach so DHCP ausschalten, würde - glaube ich - verhindern, dass das Switch den Port freigibt. Weil ein "Anmeldung" am selbigen dadurch nicht stattfindet. Oder sendet das Programm trotzdem ein "Ping" zum Switch? Mit der Standard-Firmware vom AVR Net IO musste ich den Switchport auf komplett Dumm stellen, damit ich überhaupt drauf pingen konnte. Weil keine Anfrage vom µC kam und das Switch sonst dicht gemacht hätte. ;) Aber ich probier trotzdem mal, ob ich es was bringt das DHCP abzuschalten. Danke dir schonmal^^
Nächster Tiefschlag... Nach dem Deaktivieren des DHCP (und MMC) und neu flashen, hat es wieder funktioniert. Aber dann nach dem Reset (Unterbrechung der Spannungsversorgung) passiert GAR NIX mehr. Nicht mal die Ausgabe über UART scheint anzulaufen, denn ich kann nix mehr mit HTerm empfangen. Anpingen ist auch nicht mehr möglich. Kann mir einer genau sagen, was im EEPROM gespeichert wird und wie mit einer vorhanden Config verfahren wird? Kann man das evtl umgehen, so dass das EEPROM nach einem Neustart immer keine Config enthält, sodass eine neu erstellt werden muss. Mit Berücksichtigung der Schreibzyklen.
Salut, das ganze klingt irgendwie nach einem Hardwareproblem. Hast du die Fuses eingestellt die im makefile hinterlegt sind? Einige switches wie z.b. die von Cisco sind mehr als hinderlich beim netio, die brauchen zu lange bis sie den Port richtig freigeben. Die Config im eeprom kannst du dir per Webinterface unter System ansehen oder per Telnet mit
1 | eemem print |
Du kannst den Configspeicher auch schreibschützen per Telnet mit
1 | eemem protect |
CA sharan
Update: Ich habe jetzt mal einfach weiter rumprobiert ohne große Erfolge. Vor ein paar Minuten habe ich einfach mal stur versucht die Website aufzurufen und war erstaunt, dass ich diese erreichen konnte. Hatte gedacht die HTML Dateien werden nur auf die MMC geladen, aber ok^^ umso besser für mich. Dann habe ich den alten Thread, von dem ich vorhin sprach ("Die andere Firmware vor AVR NET IO"). Dort hatte Karl das gleiche Problem. Und Dirk hatte ihm geraten mal den Haken bei "DHCP on" zu setzen. Habe ich gemacht und tada es läuft. Auch nach einem Stromklau, kann ich den µC erreichen. Ich habe zwar kein DHCP (laut HTerm auf jeden Fall) komme aber durch die Defaultwerte trotzdem auf die Seite. Aber die Frage ist nun, kann mir jmd sagen warum der Haken nach einem Flashen und einloggen nicht mehr gesetzt ist? Weil kein Eintrag aufm EEPROM vorhanden ist? Aber dann versteh ich nicht, warum einen DHCP-Error erhalte, obwohl der Haken laut Website gesetzt ist und der Controller schon einmal eingeloggt war?! Gruß Timo
Hi Dirk, ja die Fuses habe ich nicht verändert. Dürften dann also so sein, wie du sie im Makefile eingetragen hast. Ich habe jetzt mal mit Telnet den Protect reingehauen.
1 | -> Config ist 2035 bytes gross, 166 byte werden benutzt. Offset 13 |
2 | |
3 | DHCP=on |
4 | IP=131.169.39.110 |
5 | MASK=255.255.255.0 |
6 | GATE=131.169.39.16 |
7 | DNS=131.169.40.200 |
8 | MAC=00:22:f9:01:82:2f |
9 | NTP=on |
10 | NTPSERVER=time.fu-berlin.de |
11 | UTCZONE=0 |
12 | WRITE_PROTECT=ON |
Allerdings sagt HTerm mir nach einem Neustart wieder das DHCP failed. Dennoch komme ich auf die Website.
1 | OpenMCP ...<\r><\n> |
2 | UART Initialisiert<\r><\n> |
3 | STDOUT Initialisiert<\r><\n> |
4 | CLOCK Initialisiert<\r><\n> |
5 | CONFIG gefunden<\r><\n> |
6 | CONFIG initialisiert (Pos: 0, Len: 2035, Offset: 13)<\r><\n> |
7 | Config Initialisiert<\r><\n> |
8 | EXTINT Initialisiert<\r><\n> |
9 | PCINT Initialisiert<\r><\n> |
10 | GPIO Initialisiert<\r><\n> |
11 | ADC Initialisiert<\r><\n> |
12 | SHELL Initialisiert<\r><\n> |
13 | THREAD Initialisiert<\r><\n> |
14 | ENC28j60 (Rev.: 6) initialisiert ( HW-Add: 00:22:f9:01:82:2f )<\r><\n> |
15 | Fullduplex: Link ready<\r><\n> |
16 | -+-> ARP initialisiert<\r><\n> |
17 | |-> UDP (Tornado-engine) initialisiert<\r><\n> |
18 | |-> TCP (Hurrican-engine) initialisiert<\r><\n> |
19 | |-> Versuche DHCP-Config zu holen. <\r><\n> |
20 | DHCP-Client: Erzeuge Socket<\r><\n> |
21 | <\r><\n> |
22 | DHCP-Client: DISCOVER ->Discover gesendet<\r><\n> |
23 | Discover gesendet<\r><\n> |
24 | Discover gesendet<\r><\n> |
25 | Discover gesendet<\r><\n> |
26 | Discover gesendet<\r><\n> |
27 | Discover gesendet<\r><\n> |
28 | Discover gesendet<\r><\n> |
29 | Discover gesendet<\r><\n> |
30 | Discover gesendet<\r><\n> |
31 | Discover gesendet<\r><\n> |
32 | ERROR -> Default Config<\r><\n> |
33 | DHCP-Config Fehlgeschlagen<\r><\n> |
34 | | IP : 131.169.39.110<\r><\n> |
35 | | Netmask: 255.255.255.0<\r><\n> |
36 | | Gateway: 131.169.39.16<\r><\n> |
37 | | DNS : 131.169.40.200<\r><\n> |
38 | |-> NTP-Server Zeit aktualisieren: Zeit: 15:30:04.52<\r><\n> |
39 | HTTP-Server Port 80.<\r><\n> |
40 | Telnet-Server Port 23.<\r><\n> |
Gruß BTW: Ein super Projekt hast du dir da zusammengeschrieben^^ ;) Daumen hoch. Gut durchdacht und gearbeitet. Weiter so ;)
Ja, im Prinzip dürfe das Verhalten wie so wie es jetzt ist gewünscht sein. Es ist ja wie du sagt kein DHCP vorhanden, also endlose Versuche :-). Nachdem diese gescheitert sind nimmt er die config die du hinterlegt hast. Eigentlich solltest du das DHCP jetzt ausschalten können und er nimmt gleich die von dir hinterlegte IP-config (Writeprotect ausschalten nicht vergessen). Die IP-config im der XXX.config.h ist für das Fall das keine config im EEprom hinterlegt ist und er keine IP per DHCP bekommt, also beim ersten starten. CA Sharan
Es ist halbwegs gewünscht. Mein Ursprungsproblem war ja, dass sich das Board nicht anpingen lies, sobald die Configdatei im EEPROM mit Daten gefüllt würde. Die IP wird hier im Netz statisch zugeordnet. Sprich ich bekomme mit dem Board immer die SELBE IP vom Server zugewiesen. Dadurch kann ich in die Defaultwerte diese Daten eingeben. War halt komisch, dass es nur bei DHCP-Erfolg ansprechbar war. Ich teste das nächste Woche mal aus, ob sich das Board jetzt auf einmal doch anpingen lässt. Danke dir, hast mir unheimlich weitergeholfen und ich kann schön "entspannt" ins Wochenende^^ Schönes Wochenende euch Gruß Timo P.S: Kannst mich ja vll bei Gelegenheit mal bei ICQ zulassen :P --> 301 002 184
Soo, hallo zusammen, um diesen Beitrag noch einmal abzuschließen: Ich habe es gerade noch einmal genauso versucht, wie du es mir geraten hast. Und komisch komisch alles funktioniert so, wie es soll. Merkwürdig nur, dass es mir vorher nicht gelungen ist. Aber gut, ich will mich nicht beschweren, denn jetzt läufts ja^^ Also danke für die Hilfe. Wird bestimmt bald wieder irgendein Problem auftauchen, (nicht zwangsläufig zum Webserverprojekt) bei dem ich gerne eure Hilfe hätte ;) Gruß Timo
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.