Hallo, ich habe einen AVR Webserver mit einem ATMEGA644 aufgebaut. Er funst auch soweit. Als nächstes wollte ich den Mailversand testen. Ich habe auf der SD- Card meinen Username und Passwort eingetragen. Seltsamerweise bekomme ich aber die Initialisierungswerte aus der "sendmail.c" (ingo, test) angezeigt. Was mache ich falsch? Warum übernimmt er die Daten von der SD-Karte nicht. Die IP und anderes übernimmt er??? Hat jemand diesen Fall schon mal gehabt. In der Doku kann ich dazu nichts finden. Auszug: ... SMTP: 217.72.197.145 (freemail.de) --- NTP Enabled=NO --- Mail-Trigger Enabled=YES SMTP AUTH LOGIN=YES SMTP User=ingo SMTP Pass=test ... Gruß Florian
Hmm...ich lese hier zwar öfter mit, aber: Welchen Server verwendest du? Dann kann dir vielleicht auch jemand helfen.
Hallo Steffen, wie im Betreff angegeben. Es ist der Webserver von "www.mikrocontroller.com", Die Version mit der Netzwerkarte Huckepack. Mit einem ATMEGA 644, Software V1.40 Gruß Florian
>#SMTP_USER=test >#SMTP_PASS=test Da musst du das # wegmachen. Und kein Leerzeichen nach = .
OH NEIN vordenkopfhau Natürlich!!! Das hab' ich ja total übersehen. Und ich such wie so ein doofer. Argh. Naja Tomaten auf den Augen eben. Danke vielmals und Gruß Florian
ich noch mal ;-) ich bekomme jetzt zwar das Passwort angezeigt. Der Username bleibt aber frei. Das # ist weg und auch kein Leerzeichen mach dem = Wenn ich trotzdem eine Mail manuell triggern will sagt er mir "Sorry, no MAC for SMTP" Ich habe die IP (SMTP: 217.72.197.145) für web.de rausgesucht. Auch (SMTP: 217.72.192.157) für den smtp server klappt nicht. Die IP ist 3stellig eingegeben. Gruß Florian
>ich bekomme jetzt zwar das Passwort angezeigt. Der Username bleibt aber >frei. Das ist merkwürdig. Trag user,pass doch einfach mal in sendmail.c ein. In server.cfg dann wieder mit # deaktivieren. Neu compilieren und brennen nicht vergessen. >Wenn ich trotzdem eine Mail manuell triggern will sagt er mir "Sorry, no >MAC for SMTP" Ist die Router Ip richtig eingetragen ? >(SMTP: 217.72.192.157) für den smtp server klappt nicht. >Die IP ist 3stellig eingegeben. Naja, sieht hier nicht so aus.
Also jetzt noch den Compiler installieren und damit kämpfen wollte ich mir eigentlich ersparen. Die Router IP stimmt definitiv. die IP's sind 3stellig eingetragen. (SMTP: 217.72.192.157) dies ist aus dem Fenster von Hyper Terminal kopiert. Dort unterschlägt er die führenden Nullen. Kann mir jemand sagen ob die IP für den smpt server von web.de richtig ist. SMTP: 217.72.192.157 Gruß Florian
> Kann mir jemand sagen ob die IP für den smpt server von web.de richtig ist. > SMTP: 217.72.192.157 ping ihn doch einfach an, dann siehte es doch. Peter
nslookup meldet bei mir: web.de: 217.72.195.42 smtp.web.de: 217.72.192.157 mfg gast
Hallo, erst mal vielen Dank für die IP-Tipps samt Bestätigung. Ich habe mal noch ein bisschen rumprobiert. Es scheint so als ob ich nicht mehr als 4 Zeichen beim Username eingeben kann. Ab 4 Buchstaben macht er Unsinn. Lässt z.b. den Username weg. Oder schreibt das Ende des Passwortes in den Username. So gehts noch. Mail-Trigger Enabled=YES SMTP AUTH LOGIN=YES SMTP User=abcd SMTP Pass=fghi Sobald ich aber mehr Zeichen als "abcd" schreibe geht er auf den Bart. Kann das an meiner SD Karte liegen? Wobei laut Foto ist es auch eine 512MB und sieht aus wie die von der Doku (mikrocontroller.com) Ich würde mich über Tipps sehr freuen. Es geht einfach nicht voran :-( Gruß Florian
Das Problem liegt in sendmail.c char SMTP_Username[] = "ingo\0"; char SMTP_Password[] = "test\0"; Die Arrays erlauben nur 4 Zeichen + \0. Wenn du mehr Zeichen in server.cfg einträgst gibt es einen Buffer Overrun und andere Speicherbereiche werden zerstört. Bei den Arrays hätte er die Größe mit angeben sollen: char SMTP_Username[9] = "ingo\0"; char SMTP_Password[9] = "test\0"; Ohne neu zu compilieren geht es nicht. Gruß holger
Hallo, ich habe mich jetzt durchgerungen den neusten WinAVR-20071221 zu installieren. Wie zu erwarten war Milliarden an Warnungen und Fehlern :-( HEUL Hat sich jemand schon mal mit den Änderungen befasst die vorgenommen werden müssen? > "make.exe" all -------- begin -------- avr-gcc (GCC) 4.2.2 (WinAVR 20071221) Copyright (C) 2007 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Compiling: mmc.c avr-gcc -c -mmcu=atmega644 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=mmc.lst -std=gnu99 mmc.c -o mmc.o In file included from main.h:34, from mmc.c:29: mmc.h:43:1: warning: "SPCR" redefined In file included from c:/programme/winavr/bin/../avr/include/avr/iom644.h:38, from c:/programme/winavr/bin/../avr/include/avr/io.h:155, from main.h:15, from mmc.c:29: c:/programme/winavr/bin/../avr/include/avr/iomxx4.h:267:1: warning: this is the location of the previous definition In file included from main.h:34, from mmc.c:29: mmc.h:44:1: warning: "SPE" redefined In file included from c:/programme/winavr/bin/../avr/include/avr/iom644.h:38, from c:/programme/winavr/bin/../avr/include/avr/io.h:155, from main.h:15, from mmc.c:29: c:/programme/winavr/bin/../avr/include/avr/iomxx4.h:269:1: warning: this is the location of the previous definition In file included from main.h:34, from mmc.c:29: mmc.h:45:1: warning: "MSTR" redefined In file included from c:/programme/winavr/bin/../avr/include/avr/iom644.h:38, from c:/programme/winavr/bin/../avr/include/avr/io.h:155, from main.h:15, from mmc.c:29: c:/programme/winavr/bin/../avr/include/avr/iomxx4.h:271:1: warning: this is the location of the previous definition In file included from main.h:34, from mmc.c:29: mmc.h:46:1: warning: "SPSR" redefined In file included from c:/programme/winavr/bin/../avr/include/avr/iom644.h:38, from c:/programme/winavr/bin/../avr/include/avr/io.h:155, from main.h:15, from mmc.c:29: c:/programme/winavr/bin/../avr/include/avr/iomxx4.h:277:1: warning: this is the location of the previous definition In file included from main.h:34, from mmc.c:29: mmc.h:47:1: warning: "SPDR" redefined In file included from c:/programme/winavr/bin/../avr/include/avr/iom644.h:38, from c:/programme/winavr/bin/../avr/include/avr/io.h:155, from main.h:15, from mmc.c:29: c:/programme/winavr/bin/../avr/include/avr/iomxx4.h:282:1: warning: this is the location of the previous definition In file included from main.h:34, from mmc.c:29: mmc.h:48:1: warning: "SPIF" redefined In file included from c:/programme/winavr/bin/../avr/include/avr/iom644.h:38, from c:/programme/winavr/bin/../avr/include/avr/io.h:155, from main.h:15, from mmc.c:29: c:/programme/winavr/bin/../avr/include/avr/iomxx4.h:278:1: warning: this is the location of the previous definition In file included from main.h:34, from mmc.c:29: mmc.h:49:1: warning: "SPR0" redefined In file included from c:/programme/winavr/bin/../avr/include/avr/iom644.h:38, from c:/programme/winavr/bin/../avr/include/avr/io.h:155, from main.h:15, from mmc.c:29: c:/programme/winavr/bin/../avr/include/avr/iomxx4.h:275:1: warning: this is the location of the previous definition In file included from main.h:34, from mmc.c:29: mmc.h:50:1: warning: "SPR1" redefined In file included from c:/programme/winavr/bin/../avr/include/avr/iom644.h:38, from c:/programme/winavr/bin/../avr/include/avr/io.h:155, from main.h:15, from mmc.c:29: c:/programme/winavr/bin/../avr/include/avr/iomxx4.h:274:1: warning: this is the location of the previous definition In file included from main.h:34, from mmc.c:29: mmc.h:51:1: warning: "SPI2X" redefined In file included from c:/programme/winavr/bin/../avr/include/avr/iom644.h:38, from c:/programme/winavr/bin/../avr/include/avr/io.h:155, from main.h:15, from mmc.c:29: c:/programme/winavr/bin/../avr/include/avr/iomxx4.h:280:1: warning: this is the location of the previous definition mmc.c: In function 'mmc_init': mmc.c:54: error: 'SPCR0' undeclared (first use in this function) mmc.c:54: error: (Each undeclared identifier is reported only once mmc.c:54: error: for each function it appears in.) mmc.c:54: error: 'SPE0' undeclared (first use in this function) mmc.c:54: error: 'MSTR0' undeclared (fir mmc.c:54: error: 'SPR00' undeclared (first use in this function)st use in this function) mmc.c:54: error: 'SPR01' undeclared (first use in this function) mmc.c:55: error: 'SPSR0' undeclared (first use in this function) mmc.c:55: error: 'SPI2X0' undeclared (first use in this function) mmc.c: At top level: mmc.c:137: warning: C99 inline functions are not supported; using GNU89 mmc.c:137: warning: to disable this warning use -fgnu89-inline or the gnu_inline function attribute mmc.c: In function 'Read_Byte_MMC': mmc.c:140: error: 'SPDR0' undeclared (first use in this function) mmc.c:141: error: 'SPSR0' undeclared (first use in this function) mmc.c:141: error: 'SPIF0' undeclared (first use in this function) mmc.c: At top level: mmc.c:167: warning: C99 inline functions are not supported; using GNU89 mmc.c: In function 'Write_Byte_MMC': mmc.c:169: error: 'SPDR0' undeclared (first use in this function) mmc.c:170: error: 'SPSR0' undeclared (first use in this function) mmc.c:170: error: 'SPIF0' undeclared (first use in this function) make.exe: *** [mmc.o] Error 1 > Process Exit Code: 2 > Time Taken: 00:00
Mach in mmc.h mal folgendes: /* #define SPCR SPCR0 #define SPE SPE0 #define MSTR MSTR0 #define SPSR SPSR0 #define SPDR SPDR0 #define SPIF SPIF0 #define SPR0 SPR00 #define SPR1 SPR01 #define SPI2X SPI2X0 */
Hallo Holger, vielen Danke für Deine Tipps. Es klappt leider trotzdem noch nicht. In der mmc.h stehen diese defines schon drinn. Da das Programm für den ATmega644 sein soll gehe ich davon aus das ich das dem Compiler nicht noch mal extra sagen muss. Gruß Florian Quellcode aus der mmc.h #if defined (_AVR_ATmega644_) #define SPI_DI 6 //Port Pin an dem Data Output der MMC/SD-Karte angeschlossen ist #define SPI_DO 5 //Port Pin an dem Data Input der MMC/SD-Karte angeschlossen ist #define SPI_Clock 7 //Port Pin an dem die Clock der MMC/SD-Karte angeschlossen ist (clk) #define MMC_Chip_Select 3 //Port Pin an dem Chip Select der MMC/SD-Karte angeschlossen ist #define SPI_SS 4 //Nicht Benutz muß aber definiert werden #define SPCR SPCR0 #define SPE SPE0 #define MSTR MSTR0 #define SPSR SPSR0 #define SPDR SPDR0 #define SPIF SPIF0 #define SPR0 SPR00 #define SPR1 SPR01 #define SPI2X SPI2X0 #endif
> Es klappt leider trotzdem noch nicht. In der mmc.h stehen diese defines > schon drinn. Ja, eben. Das ist das Problem. Deshalb sollst du sie auskommentieren. > Da das Programm für den ATmega644 sein soll gehe ich davon aus das ich > das dem Compiler nicht noch mal extra sagen muss. Doch, mußt du. Woher soll der Compiler das sonst wissen? Allerdings sieht man an der Kommandozeile, daß du es dem Compiler schon sagst: > avr-gcc -c -mmcu=atmega644 -I. -g -Os -funsigned-char ^^^^^^^^^^^^^^^
@ Rolf Magnus Das mit dem Auskommentieren hatte ich nicht verstanden. Die /**/ hatte ich fehlinterpretiert. > Da das Programm für den ATmega644 sein soll gehe ich davon aus das ich > das dem Compiler nicht noch mal extra sagen muss. Mir ist schon klar das der Compiler wissen muss mit welchen Prozessor er es zu tun hat. Nur ist der Quellcode mit makefile schon für den ATMEGA644 vorbereitet gewesen. Das meinte ich. Gruß Florian
So! kompiliert habe ich es jetzt bekommen. Vielen Dank (holger, Rolf). Es sind aber noch massig Warnungen aufgelaufen aber das hex-File lies sich brennen. Das char Array ist jetzt groß genug. Schade nur das ich immer noch keine Mails versenden kann da ich die folgende Meldung bekomme: MailTrigger Sorry, no MAC for SMTP IP=192.168.006.101 (passt, html seite kann ich aufrufen) ROUTER=192.168.006.001 (passt, kann ich anpingen) SMTP=217.072.192.157 (smpt.web.de) So wie ich das Verstanden habe muss ich doch nicht die original MAC der Karte eingeben?! Oder täusche ich mich da? Das Ding macht mich fertig :-) Florian
>MailTrigger >Sorry, no MAC for SMTP Gemeint ist die MAC vom SMTP. Die konnte nicht ermittelt werden. Da gabs halt keine sofortige Verbindung zum SMTP (Timeout), der Router lässt dich nicht durch (IP vom Webserver nicht freigegeben im Router) oder sonst was. Ein paar Wiederholungsversuche den SMTP zu kontaktieren könnten nicht schaden. Wie das im Code geht kann ich dir aber nicht sagen :( >So wie ich das Verstanden habe muss ich doch nicht die original MAC der >Karte eingeben?! Oder täusche ich mich da? Nein. Musst du nicht. Siehe oben.
Hallo Holger,
vielen Dank für Deine geduldige Hilfe!
>IP vom Webserver nicht freigegeben im Router
Doch das passt. Habe ich getestet.
Ich habe noch einiges ausprobiert, scheitere aber immer an der NO MAC
Geschichte. Schade. Aber ich habe trotzdem viel gelernt die letzten
Tage. War also nicht umsonst. Vielleicht bekomme ich es ja doch noch
irgendwie hingebogen. Aufgeben können andere :-)
Gruß
Florian
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.