Forum: Projekte & Code Netzwerkkarte mit RTL8019


von Uli (Gast)


Lesenswert?

Hallo,
habe auf meiner Webseite einen kleinen Webserver mit einer
Netzwerkkarte und AVR µC gebaut. Wer noch eine Netzwerkkarte für ein
eigenes Projekt benötigt, findet hier auch eine keine Platine mit einem
Realtek RTL8019 Chip zum selber bauen(das Layout ist einseitig). Die
Layouts liegen als Eagle files mit der Libary vor.

Mfg Ulrich Ragig

meine Page www.ulrichradig.de

von Joline (Gast)


Lesenswert?

Hallo Uli,

prima. Ich hatte die Seite schon vor einigen Tagen gefunden, habe aber
noch keine Netzwerkkarte mit RTL8019. Ich werd's demnächst mal mit
einer anderen Karte probieren. Ich brauche nur noch eine
ISA-Steckleiste.

Joline

P.S. Inzwischen funzt Deine Seite ja auch mit Opera.  ;o)

von André Kronfeldt (Gast)


Lesenswert?

Hallo Joline,

falls Du noch den ISA-Stecker suchst:

www.Reichelt.de:
STECKER 62-254
Preis: 0,45 Euro

Grüße,
André

von stromi (Gast)


Lesenswert?

hallo,
ich habe mit interesse das projekt gesehen. ist es dann möglich mit
browsern wie iexplorer die ad-kanäle und ports darzustellen und gibt es
dafür beispiele?
für eine antwort wäre ich dankbar.
tschaui

von ulrichradig (Gast)


Lesenswert?

Dieses ist bisher nicht realisiert stellt aber kein Problem dar.
Dieses werde ich die nächsten Tage mal in Angriff nehmen.
Zur Zeit lassen sich nur die Ports steuern.

Mfg Ulrich Radig

von stromi (Gast)


Lesenswert?

danke für die antwort,
ich bin gespannt.
so etwas ähnliches wird ab und zu mal bei ebay angeboten.

von Andreas Jakob (Gast)


Lesenswert?

Hallo Ulrich,

das Layout für die einseitige Realtek Netzwerkkarte gefällt mir, werde
ich wahrscheinlich nachbauen. Aber bist Du sicher daß R1 220 Ohm haben
soll ? Soweit ich daß in Errinerung habe, muss dieser Widerstand dem
Wellenwiderstand das Kabels entsprechen, also 100 Ohm haben ?!

Grüße
Andreas

von ulrich (Gast)


Lesenswert?

Hallo,

Laut Realtek ( www.realtek.com.tw ) soll der widerstand 200 ohm
betragen. da dieser nicht vorhanden war habe ich halt 220 ohm genommen.
funzt aber genauso.

Mfg Ulrich Radig

von Max (Gast)


Lesenswert?

Hallo!

Ich habe selber diesen Webserver nachgebaut und hat soweit super
funktioniert. jedoch ist mir vor einer woche die Realtek RTL8019AS ISA
Netzwerkkarte aus irgend einem grund kaputt gegangen. deshalb hab ich
versucht eine neue aufzutreiben, war aber nicht erfolgreich.

hätte jemand eine solche NIC für mich billig übrig? (am besten gleich 2
g). - wäre super!

danke schon mal,
Max

von ulrich (Gast)


Lesenswert?

Ja habe ich noch,
inzwischen habe jetzt so viele netzwerkkarten getestet und herumliegen
das ich eine abtreten kann.

Mfg Ulrich

von schneidertobi (Gast)


Lesenswert?

hi,
benoetigt man fuer dein projekt eigendlich unbedingt eine karte mit
diesem realtek chipsatz oder reicht auch jede normale isa(ne2000)
ethernetkarte?

Gruß Tobias

von ulrich (Gast)


Lesenswert?

NEIN!

es reicht eine ISA Netzwerkkarte (NE2000 Kompatibel)

getestet habe ich Netzwerkkarten natürlich Realtek RTL8019, Accton mit
MPX2 Chipsatz, 3Com 3c509TX und eine eines mir unbekannten Herstellers
mit UM9008F Chipsatz.

Mfg Uli

von uli (Gast)


Lesenswert?

Hinzugekommen ist eine Realtek Netzwerkkarte mit RTL8009 Chipsatz

Mfg Ulrich Radig

von Joline (Gast)


Lesenswert?

Hallo,

hat schon mal einer einen anderen als den ATMega103/128 ausprobiert?
Funktioniert aus ein ATMega8 oder ATMega16?

Joline

von Ulrich (Gast)


Lesenswert?

Nur mit einen Mega32 mit 2Kbyte bisher noch getestet.
Sollte aber erstmal nichts dagegensprechen das Programm an einen mega8
anzupassen.

Mfg Uli

von Joline (Gast)


Lesenswert?

Hallo,

wenn ich die Quellen compiliere, wird eine .hex Datei erzeugt, die
19.814 Bytes groß ist. Ist das auch die Speichergröße, die ich auf dem
Controller benötige? Dann würde nämlich ein ATMega8/16 nicht
funktionieren.

Joline

von ulrich (Gast)


Lesenswert?

das ist richtig das die datei 19KByte groß ist :-)
lade dieses hexfile mal mit deiner programmersoftware
und du bemerkst dann das er nur ca. 8Kbyte programmiert
in dem HEX file sind adresslocation und prüfsummen enthalten
die nicht mit programmiert werden. Somit passt das programm in einen
Mega32

Mfg Ulrich Radig

von uli (Gast)


Lesenswert?

so habe von jemanden erfahren das dieser meinen Code für einen Atmel
umgeschrieben hat fotos werden laufe der nächsten tage auf meiner
homepage folgen.

Mfg uli

von uli (Gast)


Lesenswert?

habe mega8 vergessen

von Joline (Gast)


Lesenswert?

Ich bin schon gespannt darauf.  :o)

von schneidertobi (Gast)


Lesenswert?

hi ulrich,
ich hab grad nochmal dein layout ueberfolgen, und da ist mir noch was
aufgefallen, ist denn diese Verbindung zwischen den zwei pads ganz
links unten, auf der linken seite gewollt? die sieht so unpassend zum
restlichen layout aus

Gruß Tobias

von uli (Gast)


Lesenswert?

Das ist Richtig.
Das sind die Pinne SMEMWB und SMEMRB wie im Schaltplan zu erkennen
liegen die auf +5V.

Mfg uli

von Joline (Gast)


Lesenswert?

@Uli

Hallo,

ich habe mir mal den Code etwas genauer angesehen und jetzt einige
Fragen:

1. Warum wurde INT4 benutzt? Ist es auch ohne weiteres (nach
Programmanpassung) möglich, einen anderen Interrupt, etwa INT0, zu
benutzen?

2. Auf der Website, die zurückgeliefert wird, werden 3 Checkboxen
angezeigt: Lampe 1, Lampe und Test. Bei diesen sind Value=1,2 bzw. 3
hinterlegt. An welcher Stelle des Codes werden diese Werte
ausgewertet?

3. Ist es richtig, dass im Moment nur PB0 als Ausgang benutzt wird?
Wird noch ein weiterer Kanal als Eingang benutzt?

4. Es wurde ein Quartz mit 14,xxx benutzt. Hat das einen wichtigen
Grund, oder war der einfach nur gerade verfügbar?

Joline

von uli (Gast)


Lesenswert?

4. Der Quarz ist unerheblich, allerdings verlängern sich bei einer
niedrigeren Frequenz die Antwortzeiten z.b bei PING

3. Es ist richtig das zur zeit nur PB0 angesteuert wird. Ist aber ohne
weiteres auf 8 und mehr kanäle zu erweitern.

2. Die Auswertung findet in der datei Httpd.c statt direkt am Anfang.

1. Der INT4 ließ sich besser konfigurieren (mehr möglichkeiten) als
INT0. Würde aber auch mit INT0 laufen wenn dieser richtig eingestellt
wird. :-)

Mfg Uli

von john (Gast)


Lesenswert?

hallo uli,

ich habe mir einen tragbaren mp3 spieler gebastelt der die daten von
einer mmc liesst. das neue projekt ist ein desktop player, der neben
mmc auch netzwerk haben soll.
ich hatt mir zwei packet whacker von edtp.com bestellt. leider war
einer schon kaputt als er an kam, und den zweite habe ich gebraten. da
habe ich deinen beitrag in diesem forum gelesen, und dein board ist wie
der packet whacker, nur das du auch noch galvanisch trennst.
lange rede kurzer sinn, tolles design.
frage : weisst du wo ich die RTL8019 einzeln bestellen kann ?
packet whacker ist mir zu teuer, und wenn ich auf zb easytcp/ip
umsteige, müsste ich die ganze source wieder ändern.

danke im vorraus,

john

von Oliver Keller (Gast)


Lesenswert?

Geht doch einfach zum Schrottplatz (ok, nur die mit
Elektronik-Container)!
Bei meinem findet man ISA NE2000 Netzwerk Karten in rauhen Mengen...

Gruss,
oli

von Joline (Gast)


Lesenswert?

Hallo Uli,

ich bin noch Anfänger in Sachen Mikrocontroller. Deshalb auch die
blöden Fragen:

Wieso lässt sich INT4 besser als z.B. INT0 konfigurieren? Macht nicht
jeder Interrupt das Gleiche?

Und noch einmal zu meiner Frage 2 (s.o.):
Ich habe schon prinzipiell die Stelle (also Httpd.c) gefunden, sonst
hätte ich das mit PB0 ja nicht gewußt. Aber ich kann dort nicht finden,
wann welche Value ausgewertet bzw. gesetzt wird. Irgendwie bin ich da
blind.  :o(

Danke Joline

von Uli (Gast)


Lesenswert?

Meine ISA Karten habe ich vom Schrottplatz!
Habe dann den RTL8019 heruntergelötet und auf meiner Netzwerkkarte
verbaut.
Aber man bekommt den Chipsatz auch bei www.egnite.de, finde ich aber
etwas zu teuer.
Eine andere Alternative wäre da noch EBay.

Mfg Uli

von kofi (Gast)


Lesenswert?

ich habe auch noch solche karten hier herumfliegen aber wie kann ich son
fetten IC darunter löten ohne was kaputt zu machen ???

gruß
-kofi

von uli (Gast)


Lesenswert?

Ich benutze dazu immer einen Heißluftfön.
Als erstes ziehe ich kupferlackdraht unter den IC beinchen durch,
danach befestige ich die Karte hochkant, durch erwärmen der unterseite
der platine und gleichzeitige ziehen am kupferlackdraht löst sich das
IC. Kupferlackdraht nehmen!!

mfg uli

von Joline (Gast)


Lesenswert?

Hallo Uli,

ich bin noch Anfänger in Sachen Mikrocontroller. Deshalb auch die
blöden Fragen:

Wieso lässt sich INT4 besser als z.B. INT0 konfigurieren? Macht nicht
jeder Interrupt das Gleiche?

Und noch einmal zu meiner Frage 2 (s.o.):
Ich habe schon prinzipiell die Stelle (also Httpd.c) gefunden, sonst
hätte ich das mit PB0 ja nicht gewußt. Aber ich kann dort nicht finden,
wann welche Value ausgewertet bzw. gesetzt wird. Irgendwie bin ich da
blind.  :o(

Danke Joline

von uli (Gast)


Lesenswert?

Da ist eine IF abfrage 1 = 1 das setzt den portB.0
ist noch nicht ganz sauber aber ich arbeite dran

Mfg Uli

von Joline (Gast)


Lesenswert?

Hallo Uli,

irgendwie kann ich nicht erkennen, wie hier Value = 1,...,3 versteckt
sind:

if ((buffer[TCP_hdrflags+1]&PSH_Flag) > 0 )
  {
  unsigned int result16 = ((buffer[ip_vers_len] & 0x0F) << 2) +
    ((buffer[TCP_hdrflags] & 0xF0) >>2) + 14;
    for (int a = result16;a < (result16 +20);a++)
      {
      if (buffer[a] == '1' && buffer[a + 1] == '=' &&
        buffer[a + 2] == '1')
        {
          if (bit_is_set(PORTB,0))
            {
              PORTB = 0;
            }
            else
            {
              PORTB = 1;
            }
         }
      }
  }

Vielleicht kannst Du das ja noch einmal kurz erklären.

Danke Joline

von Uli (Gast)


Lesenswert?

das ist die 2 IF abfrage

if (buffer[a] == '1' && buffer[a + 1] == '=' && buffer[a + 2] ==
'1')

somit wird der portb.0 an bzw ausgeschaltet, diese routine müsste noch
überarbeitet werden am besten durchsucht man buffer nach den wert 1=1.
wenn man nun portb.1 schalten wollte kopiert man die routine und setzt
portb.1 ein und ersetzt das kriterium für die suche.

mfg uli

von Joline (Gast)


Lesenswert?

Hallo Uli,

das mit portb.0 ist klar.
Aber wenn man aus "webpage.h" den HTML-code extrahiert, bekommt man
eine Seite mit 3 (!) Checkboxen angezeigt: Lampe 1 (Value=1), Lampe
(Value=2) und Test (Value=3).

Wird also nur Value=1 auf den Wert 1 geprüft und die beiden anderen
Checkboxen sind überflüssig?

------------

Dem Anschlußplan der ISA-Netzwerkkarte ist zu entnehmen, dass alle
wichtigen Signale auf dem ISA-Bus Ax und Bx liegen. Bei Dx und Cx sind
lediglich D16 mit VCC und D18 mit GND verbunden. Kann man diese beiden
eigentlich auch weglassen oder sind die wichtig?

Joline

von uli (Gast)


Lesenswert?

Dx und Cx können weg gelassen werden. Mit der anderen annahme liegst du
richtig, man kann die anderen Checkboxen weglassen oder mit einer
Funktion belegen.

Mfg Uli

von Kofi (Gast)


Lesenswert?

Moin!
... hab' da mal ne Idee:
Was haltet ihr davon eine Fnktion zu integrieren, die die interne RTC
des µC mit dem NTP Protokoll und einem ntp server einstellt...
NTP ist recht simpel.


gruß

Kofi

von uli (Gast)


Lesenswert?

an diese idee habe ich auch schon gedacht, aber da ich nun die mmc
ansteuerung fertig habe, werde ich erst diese für webseiten und
downloads impementieren

mfg uli

von kofi (Gast)


Lesenswert?

gibt es eigentlich schon ähnliche oder vergleichbare open source
projekte ?

gruß
kofi

von Sascha (Gast)


Lesenswert?

ja,

von egnite. Da kostet nur die Hardware was.


Mfg Sascha

von uli (Gast)


Lesenswert?

Ja es gibt eine menge vergleichbarer Produkte Ethernut usw. und auch die
Elektor hat in ihrem Halbleiterjahresheft 2004 nun einen Webserver mit
MSP µC allerdings soll dieser 159€ kosten. Mein Ziel war es einen
Webserver zu bauen den jeder ohnen großen Aufwand nachbauen kann somit
sind auch meine Platinenlayouts einseitig. Ein weiteres Punkt ist und
war es so wenig Bauteile wie möglich also nur Prozessor und Netzwerk
IC. Somit ist dieser Webserver nach meinen Vorstellungen einer mit der
preiswertesten auf dem Markt.

Mfg Ulrich

von kofi (Gast)


Lesenswert?

Dat stimmt !
Wie weit bist du eigentlich ?!
Ist das schwierig das man z.B. files per µC auf einer MMC oder SD-Card
ablegt ?!
...Ich meine braucht man da nicht ein richtiges Dateisystem für .. FAT
oderso ?

gruß
kofi

von uli (Gast)


Lesenswert?

Hallo
es geht voran werde in den nächsten 1-2 Tagen einen neuen Source Code
für den WebServer haben, nun kann dann auch eine Webseite Bilder
enthalten.
Die Ansteuerung einer MMC karte kommt dann laufe der Woche.
Die Daten werden dann zur Zeit mit einen CardReader gespeichert.
Der Webserver greift dann via FAT auf die Karte zu. Das Speichern von
Daten via FTP brauch dann noch ein wenig Zeit.

Mfg Uli

von Sascha (Gast)


Lesenswert?

Hallo,

bin beim Nachbau. Genutzt werden, soll ein ATmega32. Ich habe aber nur
Netzwerkkarten mit einem SMC Chip (83C790). Reicht es, nur das EEprom
auszulöten?

Mfg Sascha

von uli (Gast)


Lesenswert?

Ich würde die Netzwerkkarte in einen PC einstecken und dann
konfigurieren. EEprom würde ich nicht auslöten.

Mfg Ulrich

von Sascha (Gast)


Lesenswert?

Tja, hab leider keinen PC, der noch nen Isa Slot hat.
Mfg Sascha

von uli (Gast)


Lesenswert?

Ich weiß nicht wie sich der Netzwerkchip verhält wenn man das EEprom
abklemmt, beim RTL ist es dann IRQ 9 IO 300 aber das kann bei deinen
Netzwerkchip anders sein. Am besten in die Spec. schauen.

Mfg uli

von Sascha (Gast)


Lesenswert?

Hehe,

das ist es ja. Finde nichts mehr dazu. Außer den Nachfolger, den
83C795, der auch nicht mehr hergestellt wird. An der Karte kann ich nur
per Jumper INT3 und 10 und Adresse 280 und 300 einstellen.
IRQ3 - Adresse 280
IRQ10 - Adresse 300

Mfg Sascha

von uli (Gast)


Lesenswert?

das ist doch gut dann benutze halt irq10 und Adresse 300
mußt halt nur den int an IRQ10 der Netzwerkkarte anschließen anstelle
von IRQ 9 die ISA-Slot Belegung findest du auf meiner Seite.

Mfg Uli

von Sascha (Gast)


Lesenswert?

schon probiert.

Die Meldung der Initialisierung erscheint. Das ready auch. Aber an
meinem Hub ist die Lampe für den Port nicht an.

Mfg Sascha

von uli (Gast)


Lesenswert?

das bedeutet das der medium Type noch nicht auf RJ45 steht,
bei dem RTL 8019 gibt es am IC ein Pin um dieses einzustellen.
evt auf deiner Karte ein Jumper.

Mfg Ulrich

von Joline (Gast)


Lesenswert?

Hallo Uli,

gibt's denn schomn Neuigkeiten bzgl. der Umsetzung auf einen
ATMega8/16?

Du wolltest doch mal Infos auf Deine Seite stellen.

Joline

von uli (Gast)


Lesenswert?

Hallo,

ja das habe ich auch noch vor, hatte aber zur Zeit weiter den Webserver
noch verbessert.

Mfg Ulrich

von Joline (Gast)


Lesenswert?

Am besten, Du gibst dann hier mal Bescheid.

von Sascha (Gast)


Lesenswert?

Hi,

hab hetzt ne 3Com EthelinkIII 3C509BC bekommen. Gibts ne Möglichkeit
diese zu nutzen? Sind keinerlei Jumper drauf :(

Mfg Sascha

von Kay (Gast)


Lesenswert?

Hi,

ich habe da mal ne frage. wenn ich den webserver im Netzwerk habe, kann
ich ihn ja anpingen. kann ich denn übers netzwerk auf die Speicherkarte
zugreifen ? also quasi als Netzlaufwerk ?

mfg Kay

von ulrich (Gast)


Lesenswert?

Hallo,

Zur Zeit ist die Speicherkarte noch nicht an den Webserver angebunden
wird aber bald geschehen. Wie eine Anbindung dann aussieht weiß ich
noch nicht ob FTP,NFS

Mfg Ulrich

von Sascha (Gast)


Lesenswert?

Hi Uli,

hast du den source für den ATmega32?


Mfg sascha

von uli (Gast)


Lesenswert?

Hallo @sascha

ist doch kein Problem den Source an einen Mega32 anzupassen, sind doch
nur die ser. Reg. und Interrupt zu ändern.

Mfg Uli

von Sascha (Gast)


Lesenswert?

Hi,

schon fertig. Es läuft.


Mfg sascha

von Sascha (Gast)


Lesenswert?

hallo,

wie kann ich die IP-Adresse ausfindig machen, wovon auf den Webserver
zugegriffen wird?

Mfg Sascha

von Ulrich (Gast)


Lesenswert?

Die IP adresse ist 192.168.0.101 und wird in main.c angegeben

Mfg uli

von Sascha (Gast)


Lesenswert?

Hi,

so meinte ich es nicht. Meinte die Ip-Adresse, die auf den Webserver
zugreift. Nicht die, vom Webserver selber.
Hat sich aber schon erledigt.

Gruß Sascha

von Oliver Keller (Gast)


Lesenswert?

Naja, bisher habe ich nur den
MSP430x4xx Family User's Guide (slau056d)
und den
MSP430x1xx Family User's Guide (slau049d)
gesehen.

Übrigens gibts jetzt auch Erratas dazu!
MSP430x4xx Family User's Guide Errata (slaz008)
MSP430x1xx Family User's Guide Errata (slaz007)

n8,
oli

von Oliver Keller (Gast)


Lesenswert?

öh sorry! Falscher Thread... 's ist einfach schon zu spät!

von Joline (Gast)


Lesenswert?

@Sascha

Kannst Du vielleicht Deinen Code hier posten. Ich würde das ganze mal
auf einem ATMega8 laufen lassen (wenn Reichelt endlich liefert  :o( ).
Dann könnte ich mir mal die Änderungen im Vergleich zur Originalversion
ansehen.

Joline

von Sascha (Gast)


Angehängte Dateien:

Lesenswert?

Hier ist es.

Ist aber wirklich nicht viel geändert.

Mfg sascha

von Christof Krüger (Gast)


Lesenswert?

Schaut mal hier:
http://cgi.ebay.de/ws/eBayISAPI.dll?ViewItem&category=26807&item=5708227391&rd=1

Ich brauche keine 50 Karten. Will jemand welche? Meint ihr, der
Verkäufer ist okay? Hat letztens 3 negative Bewertungen bekommen.

Gruß,
 Christof

von Sascha (Gast)


Lesenswert?

Hi.

also, ich habe bei zwei einzelnen zugeschlagen. Die haben wenigstens
alle Jumper onboard.

Mfg Sascha

von Christof Krüger (Gast)


Lesenswert?

Hmm... ich schau mal, wie sich der Preis so entwickelt, wenn der nicht
zu hoch wird, greife ich eben zu. Vielleicht will jemand dann noch
welche.

von Uli (Gast)


Lesenswert?

Hallo,

Ich habe die 50 Netzwerk-Karten ersteigert wer eine von euch haben will
bitte melden! Mal sehen wann diese kommen. Will keinen Gewinn machen
alle Netzwerk - Karten kosteten mit Versand um die 81€ also 1.62€ das
Stück.

Mfg Uli

von Christof Krüger (Gast)


Lesenswert?

Hmmm... gut, dass ich doch nicht mitgesteigert habe. Sonst hätten wir
uns evtl. noch gegenseitig hochgepusht... hättest ja was sagen können
;)

Okay, ich hätte dann gerne Netzwerkkarten im Wert von pi mal Daumen 15€
inkl. Versand.
Schreib mir doch einfach mal ne mail!

von Uli (Gast)


Lesenswert?

Hallo,

melde mich sofort, wenn ich die 50 Netzwerkkarten habe.

Mfg Ulrich Radig

von Bjoern Biesenbach (Gast)


Angehängte Dateien:

Lesenswert?

Super Arbeit Uli, wirklich super !
Habe mich vorhin mal hingesetzt, mir eine alte rtl8019 gesucht, und den
Webserver mit einem Mega32 ausgebaut. Und siehe da, inzwischen läuft er
:-)
Allerdings hatte ich Probleme mit meinem 16MHz Quarzoszillator, was
auch mit meiner wilden verkabelung zu tun haben könnte. Jedenfalls
funktionierts mit 8MHz jetzt prima.
Die Karte habe ich nicht umgebaut, sondern mit einem alten pc
umprogrammiert.
Anbei ein kleines Bild meines Testaufbaus.

Viele Grüsse
Björn

von Henning (Gast)


Lesenswert?

@uli
sind die Netzwerkkarten aus ebay angekommen?
Wenn es damit möglich ist so einen Server aufzubauen würde ich welche
nehmen! Würde das jetz doch gerne mit deiner ISA variante probieren,
weil ich drauf hoffe hier hilfe zu bekommen, wenn´s doch nicht klappen
sollte.

Den Chip würde ich nur ungern auslöten, das man die Karte so verwenden
kann kommt mir auch gelegen.

Melde Dich bitte hier oder per Mail.

von Fiffi (Gast)


Lesenswert?

Hallo,

ich habe noch ~10 ISA Netzwerkkarten mit folgendem Chip: 82595FX

Kann Ich diese Karten auch mit einem AVR ansteuern ?
Gibt es für diese Karten auch einen fertigen TCP/IP Stack ?


Vielen Dank für eure Hilfe !


Gruß

Fiffi

von Titus (Gast)


Lesenswert?

Hallo,

ich hab da mal ne frage. In der Device.h steht
#define data_port_rtl_read    PINA

jetzt meine Frage welcher Pin oder Port versteckt sich hinter "PINA"


MfG Titus

von uli (Gast)


Lesenswert?

Hallo,

Das ist Port A, in der Atmel Doku gibt es drei Register PortA für
Ausgabe PinA für die Eingabe und DDRCA für das Direction Control
Register.

Mfg Uli

von Titus (Gast)


Lesenswert?

Hallo,

habe schon wieda ne Frage;

loop_until_bit_is_set(ReadRTL(isr),rdc);

was Prüfst du da? Also was muss anliegen damit es weiter geht, (muss da
0x07 anliegen?)

MfG Titus

von uli (Gast)


Lesenswert?

Hallo,

in device.h " #define rdc  6 " also prüfe ich auf 6

Mfg Ulrich

von Simon Lehmayr (Gast)


Lesenswert?

Ich habe auch einen Posten RealTek Karten mit dem RTL8019 bei ebay
ersteigert. Ich habe sie auch getestet und gleich auf IRQ 9 und IO 300
konfiguriert. (Zum Glück habe ich noch nen 486 rumstehen :-)
Für 2 Euro pro Karte würd ich welche abtreten. 1-2 Karten kann ich
(ohne Slotblende wegen max. Höhe) als Großbrief für EUR 1,44 versenden,
bei mehr wohl als Päckchen oder Warensendung.
Bei Interesse einfach melden!

von Henning (Gast)


Lesenswert?

im gegensatz zu Simon habe ich probleme meine Karten von Ulrich zu
konfigurieren. Hab mich jetz ne weile mit einer beschäftigt, aber was
ich auch mache, das Konfigurationsprogramm ezcfg deaktiviert die
Menüeinträge, mit der ich Plug&Pray, IRQ un I/O einstellen könnte.

Momentan scheint die Karte auf I/O 220 und IRQ 5 zu stehen. der IRQ ist
einfach nur ein andere Kontakt an der Karte, aber was mache ich mit dem
anderen I/O Bereich? evtl. die Adress Pins anders Verschalten? also
statt A8 und A9 auf Hi nun A9 und A5 auf Hi. Denke mal das ist so
korrekt.

Aber: Hat die Karte sich die Werte denn gemerkt, oder will sie beim
nächsten Power on wieder ein Plug&Play haben?

Wer hat ein alternatives Config-Programm?

von Titus (Gast)


Lesenswert?

Hallo Henning,


Ich hätte da eine Hardware mässige Lösung;

falls das die Karten sind die grade bei Ebay zu massig versteigert
werden (Neuwahre) dan kannst du das mal versuchen;

EEPROM auslöten (dan ist standart IRQ 9 - I/O 300) alles was mit dem
BNC Übertrager und Wandler zu tuen hat kannste auch entlöten und ganz
wichtig ist, den Pin des RTL Chips 64 auf GND und Pin 65 auf VCC legen.
(geht mit Kupferlack draht gut)

MfG Titus

Ps: sorry Softwaremässig kann ich dir nicht weiterhelfen

von uli (Gast)


Lesenswert?

Hallo

Wenn dir das Auslöten des EEproms zuviel ist einfach das hardwiring an
den Adressleitungen ändern. Dieses ist auf I/O 300 eingestellt.
A8(256dez) und A9(512dez) auf high (256 + 512 = 768 also 300 HEX).

Mfg Ulrich Radig

von Henning (Gast)


Lesenswert?

die Karte ist aber ja noch im Plug & Play modus. Merkt sie sich denn die
Adresse, die sie beim letzten Booten im PC zugeortnet bekommen hat?

Werde das ausprobieren, hab aber noch nicht gelötet. Im Moment baue ich
den Quellcode für meinen Mega32 um.

Eeprom auslöten ist ja nicht das Problem, aber Pin 64 und 65 sind so
ungünstig klein ausgefallen. Ich werde erstmal Ulrichs Vorschlag
probieren und Jumper für Adresse und IRQ vorsehen.

von PatrickHH (Gast)


Lesenswert?

Ist es möglich, den Webserver auch mit einen Mega8 oder Mega16 zu
betreiben? Und wo werden eigentlich die Webseiten gespeichert? Im
Controller, oder in einem externen Eprom?

Danke!

von Henning (Gast)


Lesenswert?

Die Daten der Website werden im Controller gespeichert und ich bin
gerade dabei das ganze auf einem Mega32 zum laufen zu bringen. Wenn ich
makefile hexsize (siehe wiki:winavr) ausführe zeigt er follgendes am:

   text     data      bss      dec      hex  filename
      0    10706        0    10706     29d2  main.hex

vielleicht hilft das weiter, aber mir scheint der Wert falsch zu sein:
vor der Hex Adresse $29d2 sind jede menge Adressblöcke mit $FF gefüllt,
als wenn sie unbenutzt sind. Wenn´s nach dem letzten Speicherplatz geht,
der kein $FF enthält, ist die Datei schon bei $14E8 zuende.

von Uli (Gast)


Lesenswert?

Hallo,

Die Webseiten werden zur Zeit noch im Controller eigenen FlashSpeicher
abgelegt. Aufgrund des geringen Sram beim mega8 bzw 16 sehe ich einige
Probleme, mit einen Mega32 haben es schon einige Personen ohne Probleme
realisiert.

Mfg Ulrich

von Volker Klautsch (Gast)


Lesenswert?

@Henning:

Mit dem Programm rset8019 (oder so ähnlich :-) von der Realtek-Homepage
geht es problemlos.

von Uli (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

Habe eine neue Version des SourceCode auf meiner HP zum download
bereitgestellt. Enthält nun auch die Änderungen für einen ATMega32
(noch nicht getestet).

Mfg Ulrich

von Uli (Gast)


Lesenswert?

Hallo,

Ich habe da mal eine neue Idee Voice over IP ist doch was feines für
den Webserver. Da ich noch keine Zeit gefunden habe mich schlau zu
machen. Frage ich mal ob jemand dazu Daten hat.
Welches Audio Format? (MP3/WAV oder was)
Ich nehme mal an irdendwas einfaches wie WAV mit evt 10Khz und Mono
reicht ja für ein Internet Telefon :-) dazu würde dann der interne ADC
vom AVR µC ausreichen.
Also wenn jemand dazu Datenblätter hat mal zumailen evt. programmiere
ich dann mal was. Ist doch ganz nett den Webserver auch als IP Telefon
zu nutzen oder? (wäre dann auch recht billig wenn es dann mal geht)

Mfg Ulrich

von Uli (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

und nochmal eine neue Version :-)

Mfg Ulrich

von Simon Lehmayr (Gast)


Lesenswert?

Hab gerade den Server mit mega32 nachgebaut, allerdings erhalte ich
immer "Overrun" egal ob Netzwerkkabel angesteckt oder nicht... Ich
musste auch noch SIG_INTERRUPT4 zu SIG_INTERRUPT0 ändern. Im makefile
habe ich atmega32 eingetragen. Die IP habe ich auf 192.168.1.101
geändert.

von Henning (Gast)


Lesenswert?

haste denn auch den richtigen interrupt freigegeben? in der main.c

von Simon Lehmayr (Gast)


Lesenswert?

Im aktuellen Code ist alles mit #if defined gemacht:
  #if defined (_AVR_ATmega32_)
    GICR|=0x40;
    MCUCR=0x03;
    MCUCSR=0x00;
    GIFR=0x40;
  #endif

  #if defined (_AVR_ATmega103_)
    EICR = 3;
  #endif

  #if defined (_AVR_ATmega128_)
    EICR = 3;
  #endif

  //Setze Portb für die Ausgänge auf output
  DDRB = OUTPUT;

  //Interrupt 4 oder 0 Einschalten (für die Netzwerkkarte)
  #if defined (_AVR_ATmega103_)
    enable_external_int (1<<INT4);
  #endif

  #if defined (_AVR_ATmega128_)
    enable_external_int (1<<INT4);
  #endif

  #if defined (_AVR_ATmega32_)
    enable_external_int (1<<INT0);
  #endif

von Simon Lehmayr (Gast)


Lesenswert?

Habe gerade festgestellt, dass ich A10 auf +5V hatte statt auf GND.
Jetzt passiert folgendes: Die MCU geht nach dem Init sofort auf Reset.
Card Init :34 zeigt er an und gibt noch MAC/IP aus, dann fängt er von
vorne an. Aber nur solange der Interruptpin auf GND liegt. Wenn man von
Hand auf 5V stopselt, passiert das nicht...

von Simon Lehmayr (Gast)


Lesenswert?

Habe gerade die Version von Sascha für den 32 laufen, die geht!

von Uli (Gast)


Lesenswert?

Hallo,

Was ist denn an dieser Version noch anders??
Habe ich da noch was übersehen.

mfg ulrich

von Uli (Gast)


Lesenswert?

Hallo,
habe mir den code nochmal angeschaut!
Übernimm mal die definition des Ports D von Sascha in meinen Code!!

Mfg Ulrich

von Simon Lehmayr (Gast)


Angehängte Dateien:

Lesenswert?

Hab den Webserver jetzt als Schalter für einen Netzwerklaserdrucker
laufen. Der Drucker zieht soviel Saft, dass er vom Netz getrennt sein
sollte, um Strom zu sparen. Außerdem macht sein Lüfter einen
Mordskrach. Der Webschalter kann mit einen Klick auf einen Link den
Drucker an und ausschalten. Im Anhang ein Foto vom Webserver im Einsatz
& als Prototyp und die Seite, die er sendet.
Nochmals vielen Dank an Uli, da es echt ein Erfolgserlebnis ist, für so
wenig Aufwand ein so tolles Projekt zu machen.

von Uli (Gast)


Lesenswert?

Hallo @all,

Ja dann werde ich bald noch einen drauf geben, die ersten Teste als
Printserver und TimeServer mit DCF77 (SNTP) laufen schon. Dauert etwa
noch so 2 Wochen dann gibt es die erste Version, natürlich ohne weitere
Hardware. (klar ein DCF77 Modul von Conrad wird halt benötigt)
Was mich jetzt nur noch plagt warum lauft die Version 1.07 noch nicht
mit einen Mega32 ohne Probleme. Das mit Sig interrupt0 ist mir klar,
das muß ich in der nächsten Version an einen Mega 32 anpassen und was
noch? wollte nicht noch einen Webserver mit einen Mega32 basteln habe
doch schon 3 ;-).

Mfg Uli

von Bjoern Biesenbach (Gast)


Lesenswert?

Hallo,

ich habe die Version 1.07 mit meinem mega32 leider auch noch nicht ans
laufen bekommen.
@ Uli: Wäre schön wenn du die Dateinamen Device.h und Device.c von
deinem Quellcode noch klein schreiben würdest. Unter Linux findet er
sie sonst nicht, da sie ja in den anderen Files mit kleinem Dateinamen
inkludiert sind.

von Uli (Gast)


Lesenswert?

Hallo,

Was mir noch zu Mega32 einfällt definiert doch mal (unsigned char
packet[1500]; auf 1400) evt stürzt er dann nicht mehr ab. Wie gesagt
habe noch leider keinen mega32 Webserver.

Mfg Ulrich

von Titus (Gast)


Lesenswert?

Hallo,

hab nur ne kurze Frage, schreibt jemmand den Webserver auch für einen
8051 von Philips (zb.: P89C51 etc)?

Bitte melden hätte interesse an den Sourcecode


MfG Titus

von Simon Lehmayr (Gast)


Lesenswert?

Uli, kannst du mal eine ausführlich Funktionsbeschreibung deines Codes
posten? (Welche Routine macht was, braucht was, wie hängt alles
zusammen, Programmflussplan, ...)
Mich interessiert hauptsächlich, wo denn die Pages verschickt werden,
so dass man die Seite abhängig von Sensorwerten erzeugen kann und nicht
fest eingebaut.

von Henning (Gast)


Lesenswert?

@simon

Das passiert in httpd.c mittels Pointer. - Steht ja schließlich im
Quellcode ;-)

von Simon Lehmayr (Gast)


Lesenswert?

Das weiß ich sogar, ich hab auch neue Seiten dazugefügt, aber ich will
ja Werte dynamisch übertragen, also Messwerte, Sensoren, etc.

von Uli (Gast)


Lesenswert?

Hallo,

Werte dynamisch übertragen kein Problem!
Füge doch einfach in der Webseite einen Platzhalter ein wie bei printf
z.b. %x oder %i
Bei add Packet meine ich (zu faul jetzt nachzuschen) wo halt der
Pointer ins array geschrieben wird, einfach eine if abfrage einfügen.
Aber da bin ich schon zugange. Ist am dienstag fertig.
Problem da noch niemand den Fehler für einen Mega32 gefunden hat läuft
der neue Code dann wie die Version 1.07 auch nicht mit Mega 32. Sondern
nur auf Mega103/128.

Mfg Ulrich Radig

von Henning (Gast)


Lesenswert?

Werde mich um den Mega32 kümmern, denn ich bin grad am löten. Termine
kann ich aber nicht versprechen.

von Simon Lehmayr (Gast)


Angehängte Dateien:

Lesenswert?

Jetzt neu:

Webserver mit mega8 (für alle die ein schmales Budget haben!)
Basiert auf der Modifikation für mega32 von Sascha.

Anschlussverdrahtung ändert sich wie folgt:
- Interner RC-Oszillator muss verwendet werden um PORTB frei zu haben.
Beachten bei STK500: PORTB6 und 7 liegen auf Anschluss PORTE als XT1
und XT2!!!
- PORTB 0..7 sind Daten-Leitungen D0..D7 (statt PORTA)
- PORTC 0..4 sind Adressleitungen A0..A4 (bleibt gleich)
- PORTD 2 ist IRQ (bleibt gleich)
- PORTD 5,6,7 sind Steuerleitungen (statt PORTC)

von Simon Lehmayr (Gast)


Angehängte Dateien:

Lesenswert?

Update:

Ich habe eine Variable für die Anzeige auf der Webpage in "tcp.c"
eingepflegt (Anzahl Druckerbenutzer).
Routine tcp_add_data in der Schleife, die den Puffer überträgt:

if (pgm_read_byte(pointer)=='%' && pgm_read_byte(pointer+1)=='S' &&
pgm_read_byte(pointer+2) =='1')
{
 sprintf(s, "%d", countaccess);
 i = 0;
 while (s[i] != 0)
 {
  buffer[result16] = s[i++];
  result16++;
 }
 pointer += 3;
}

Dieses Konstrukt reagiert auf %S1 und schreibt die Variable countaccess
hin. Der Pointer wird auch um 3 erhöht (Länge von %S1).

von Simon Lehmayr (Gast)


Angehängte Dateien:

Lesenswert?

Ein Bild vom neuen Server. Die Platine mit dem mega 8 ist gerade mal
5x4cm groß!

von Tobias Schneider (Gast)


Lesenswert?

impressive

von Simon Lehmayr (Gast)


Lesenswert?

Dem mega32 Reset auf der Spur: Ich bin auf ein seltsames Verhalten
gestoßen. Wenn man die Baudrate der seriellen Ausgabe über 19200 erhöht
(16 MHz Boardtakt), startet der mega32 zyklisch neu. Und zwar kurz nach
dem printf mymac myIP. Das kann ich mir nicht erklären!

von Mattias (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Leute,
also ich habe mir jetzt auch mal so einen Server gebaut. Ich habe
allerdings alles auf einer Platine untergebracht. Die Netzwerkteile
habe ich von einer Karte runtergelötet und bei mir neu platziert. Ich
habe den Mega128 verwendet und die letzte Version (1.07) von Ulrich.
Hat auf Anhieb funktioniert. Großes Lob an Ulrich.
Jetzt müssen wir nur mal sehen, wie wir am besten eine vernünftige
Kommunikation hinbekommen (Variablen Inhalt auf der Seite automatisch
aktualisieren usw.). Ich muss mich damit jetzt auch erst einmal
beschäftigen.

Gruss Mattias

von Mattias (Gast)


Angehängte Dateien:

Lesenswert?

Huch, falsche Datei geschnappt...
hier die richtigen Bilder

Mattias

von Uli (Gast)


Lesenswert?

Hallo,

Habe nun auf meiner HP das EagleFile von Mattias nachgebauten Webserver
zum herunterladen.
Danke Mattias für die Bilder.

Mfg Ulrich

von Volker (Gast)


Lesenswert?

@Simon:

Hallo, ich hatte mal so ein ähnliches Problem. Hast du bei dem Mega32
das Fusebit CKOPT programmiert?

MFG Volker

von Simon Lehmayr (Gast)


Lesenswert?

Nein, kein CKOPT.

von Volker (Gast)


Lesenswert?

@Simon:

Das würde ich dann mal empfehlen. D.h. CKOPT programmieren (auf 0
setzen)

Volker

von Ralf Kirmis (Gast)


Lesenswert?

Hallo,

wer kann mir gegen Kostenbeteiligung eine solche Platine
mit der alles auf einer Karte Lösung ätzen ?

bis denne
Ralf

von Stefan (Gast)


Lesenswert?

Hallo Simon,

ich habe mal versucht, die Quellen zum Mega8 mit dem neuesten WinAVR zu
übersetzen.
Dabei erhalte ich folgende Fehlermeldungen:

------------------------------------------------------------------------ 
--------
avr-gcc (GCC) 3.4.1
Copyright (C) 2004 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: main.c
avr-gcc -c -mmcu=atmega8 -I. -gstabs   -Os -funsigned-char
-funsigned-bitfields -fpack-struct -fshort-enums -Wall
-Wstrict-prototypes -Wa,-adhlns=main.lst  -std=gnu99
-Wp,-M,-MP,-MT,main.o,-MF,.dep/main.o.d main.c -o main.o
In file included from main.c:49:
./device.c: In function `Write_Ethernet_Frame':
./device.c:156: error: invalid lvalue in unary `&'
In file included from main.c:74:
./interrupt4.c: In function `__vector_1':
./interrupt4.c:120: error: invalid lvalue in unary `&'
./interrupt4.c:126: error: invalid lvalue in unary `&'
make: *** [main.o] Error 1
------------------------------------------------------------------------ 
--------

In device.c ist es Zeile 156:
   loop_until_bit_is_set(ReadRTL(isr),rdc);

und in interrupt4.c sind es die Zeilen 120 und 126:

   if (bit_is_set (ReadRTL(isr),ovw))

   if (bit_is_set (ReadRTL(isr),prx))

Eigentlich sollte das doch funktionieren, oder? Zumindest sehe ich hier
keinen
Fehler. Oder stört sich die neue Version von avr-libc vielleicht an den
alten
bit_is_set-Funktionen?

Stefan

von Simon Lehmayr (Gast)


Lesenswert?

Die Version, die ich habe, kompiliert das (ist wohl eine Version
früher), die neue habe ich wieder runtergeschmissen, da es damit nicht
mehr ging :-)

von Uli (Gast)


Lesenswert?

Hallo @Stefan

Schaue dir mal die Version 1.07 an da habe ich das if (bit_is_set
(ReadRTL(isr),ovw)) rausgeschmissen und ersetzt. Diese Funktion wird
vom neuen AVR GCC nicht mehr in dieser Form unterstützt.

Mfg Ulrich

von Kai M. Tegtmeier (Gast)


Lesenswert?

Hallo, allerseits!

Ich habe mit dem GCC genau das gleiche Problem, bin allerdings auch
kein Experte, was GCC angeht (Codevision-verwöhnt...). Ich habe in der
Datei interrupt4.c die Zeilen entsprechend geändert und bekomme nun die
Fehlermeldung

'ISR' undeclared (first use in this function)
'OVW' undeclared (first use in this function)
'PRX' undeclared (first use in this function)

Kann mir jemand einen Tip geben, wie ich das wegbekomme?

Des weiteren hatte ich testweise mal Simons main.hex in meinen Mega8
geladen. Der steckte auf dem STK500 und wurde mit einem 16MHz-Quarz
versorgt. Ich verwende eine Netzwerkkarte, wie Ulrich sie massenweise
bei eBay ersteigert hatte, und habe sie entsprechend umgebaut (EEPROM
auslöten etc.) Leider leuchtet beim Verbinden mit dem Netzwerkkabel die
grüne Lampe nicht, und ein PING vom PC aus sagt nur Timeout. Hast Du
einen Tip, woran das liegen könnte?

Vielen Dank schonmal für Eure Hilfe!
Gruß
Kai Markus

von Henning (Gast)


Lesenswert?

hast du denn die uart angeschlossen und die initiallisierung
entsprechend bekommen?

von Kai M. Tegtmeier (Gast)


Lesenswert?

Hallo, allerseits!

Bin jetzt schon mal etwas weitergekommen.

@Henning:
Nein, ich habe die UART nicht angeschlossen. Muß ich mal ganz doof
fragen: woran sollte die UART angeschlossen sein und was sollte man da
sehen können?!?

Was den Compiler angeht, bin ich jetzt soweit, daß mir das Programm
annähernd einwandfrei übersetzt wird. Nur ganz am Schluß noch die
Fehlermeldung:

.... ccUhaaaa.s:3087 Error: garbage at end of line
make: *** [main.o] Error 1

Hat da jemand noch eine Idee?!?

MfG
Kai Markus

von Uli (Gast)


Lesenswert?

Hallo,

Welche Version von GCC benutzt ihr meine Version 1.07 läuft mit dem
neuen AVR GCC und der alten Version, alle vorherige Versionen laufen
nur mit dem alten AVR GCC!!

Mfg Ulrich

von Kai M. Tegtmeier (Gast)


Lesenswert?

Hallo, Ulrich!

Ich benutze avr-gcc 3.4.1

von Henning (Gast)


Lesenswert?

sorry, die antwort passte natürlich nur zum letzten teil deines post: da
die netzwerk karte noch nicht initiallisiert ist wird die led nicht
leuchten. und anpingen wirst du sie dann leider erst recht nich können.
sie hat ja noch garkeine ip zugeteilt bekommen.
auf der uart werden die unterschiedlichen initiallisierunsschritte
ausgegeben. du kannst dort also sehen ob die init prozedur geklappt
hat.

aber dein problem hängt ja noch beim compilieren des programms.

ich bin am tüfteln mit dem mega32 aber hab mir die fuses verbrannt, so
das ich jetz erst den uC wiederbeleben muss... die nicht ganz
eindeutige angabe in avrprog ärgert mich schon wieder... harken = fuse
programiert (=0) oder bit gesetzt (=1)...

von Uli (Gast)


Lesenswert?

Hallo @Kai

Die alten Versionen laufen noch nicht mit AVR-GCC 3.4.1 - avr-libc
1.0.4 nur die neuen ich meine ab Version 1.05.
Ist auf meiner HP aber noch genau dokumentiert.

Mfg uli

von Kai M. Tegtmeier (Gast)


Lesenswert?

Hallo, Ulrich!

Ich kann leider nicht genau sagen, mit welcher Version von Deiner
Software ich arbeite. Ich habe die letzte Datei von Simon vom 10.9.
heruntergeladen, weiß aber nicht, auf welcher Version von Deiner
Software die aufsetzt.

Bei meiner Schaltung scheint aber auch anderes noch im Argen zu liegen.
Ich habe mal ein Skop an den TxD-Pin drangehängt und stelle auch da nach
einem Reset des AVR keinen Datenverkehr fest. Das müßte ja eigentlich
sein...

By the way, ich werde dann mal die RS232 des STK500 an den USART des
AVR hängen. Wie sollte mein Terminalprogramm denn konfiguriert sein?!?

Gruß
Kai Markus

von Uli (Gast)


Lesenswert?

@Tegtmeier

8Datenbits, No Parity, 1StopBit, 9600Baud kein Protocol

Mfg Uli

von Kai M. Tegtmeier (Gast)


Lesenswert?

Hallo, Ulrich und Henning!

Vielen Dank für die Infos. Habe gerade mal angeschlossen, da kommt im
HyperTerminal gar nichts an. Ich nehme mal an, daß noch etwas mit der
Schaltung im STK500 insgesamt nicht stimmt. Ich werde dann (allerdings
wahrscheinlich erst morgen) mal genau forschen, was los ist. Sobald ich
was weiß, melde ich mich wieder. Einstweilen schon mal vielen Dank und
einen schönen Abend noch!

Gruß
Kai Markus

von Kai M. Tegtmeier (Gast)


Lesenswert?

Hallo!

Da bin ich mal wieder. Ich habe mittlerweile die UART zum Laufen
bekommen und Simons Programm mit einer älteren Version (3.3.1) von gcc
übersetzt. Das ging dann auch ohne Probleme. In Simons Programm waren
die Befehle zur UART auskommentiert, deshalb tat sich da nix.

Am Status der Netzwerkkarte hat sich noch nichts geändert. Mein
angeschlossener PC sagt mir "Netzwerkverbindung mit 10 MBit/s" und am
PC leuchtet die "link"-LED auch auf. Nicht aber an der Netzwerkkarte.
Versuche ich die Karte anzupingen, bekomme ich eine
Zeitüberschreitung.

An der UART bekomme ich folgende Statusmeldungen:

Init Network Card: ......... Init Ready!

Hat jemand noch einen Tip, woran das liegen könnte?!?
Ich glaube, Ulrich sprach mal davon, daß evtl. die Netzwerkkarte noch
auf Autodetect RJ45/BNC eingestellt sein könnte und deswegen keine
Verbindung zustande kommt. Kann das hier der Fall sein?

MfG
Kai Markus

von Kai M. Tegtmeier (Gast)


Lesenswert?

Falls es weiterhilft, den Fehler einzukreisen:

Am RTL8019AS geht nach dem Einschalten der Pin60 in den High-Zustand.
Laut Datenblatt signalisiert das, daß er in den 10Base2-Modus
geschaltet hat oder in den Auto Link-Modus mit "link test failure".

Gruß
Kai Markus

von Uli (Gast)


Lesenswert?

Hallo @Tegtmeier,

Also ich nehme mal an deine Netzwerkkarte ist noch auf BNC geschaltet.
Bei Init Ready sollte 34 als Init Wert erscheinen.
Somit solltest du die Netzwerkkarte entweder auf Auto Detekt bzw. auf
RJ45 umschalten.

Mfg Ulrich

von Kai M. Tegtmeier (Gast)


Lesenswert?

Hallo, Ulrich!

Vielen Dank für Deinen Hinweis. Ist diese Umschaltung hardwaremäßig
machbar (ich benutze eine von Deinen ISA-Karten aus eBay) oder muß ich
die in einen PC stecken und umkonfigurieren?

Gruß
Kai Markus

von Uli (Gast)


Lesenswert?

Hallo,

Am besten ist es sie in einen PC einstecken und umkonfigurieren, oder
halt nach meiner Umbauanleitung mit Pin64 und 65. EEprom kann dann in
diesenfall drin bleiben. Wie gesagt konfigurieren mit PC ist meiner
Meinung nach die beste Lösung.

Mfg Uli

von Kai M. Tegtmeier (Gast)


Lesenswert?

Hm, EEprom ist bereits ausgebaut, Pin 64 ist mit GND und Pin 65 mit VCC
verbunden. Was mir dabei nicht ganz klar ist: im Datenblatt vom
RTL8019AS steht, daß der BNC-Anschluß dann deaktiviert wird, wenn Pin64
auf High gelegt wird. Müßte dann Pin64 nicht eher auf "high" mit
External MAU gelegt werden?

Ich habe auch mal verschiedene Logikzustände an Pin74 bzw. 77 "Network
medium type" angelegt, aber auch ohne Erfolg.

MfG
Kai Markus

von Uli (Gast)


Lesenswert?

Hallo,

AUI pin 64 wird nicht benutzt also auf low.
PNP pin 65 auf high da nicht benutzt.

Da das EEPROM fehlt initialisiert sich die Netzwerkkarte auf IO300 IRQ
9 und auf medium type RJ45.

Wie bei Mattias und vielen anderen Personen funktioniert es auch so.
Ich habe schon so 5 Netzwerkkarten selbst gebaut und immer ohne
Probleme funktionierten auf anhieb. Kannst ja mal den Schaltplan von
meiner HP für die selbstbau Netzwerkkarte herrunter laden und
vergleichen.

Mfg Ulrich

von Uli (Gast)


Lesenswert?

Hallo,

Ich hoffe ja nicht das du BNC benutzt!!

Mfg Ulrich

von Simon Lehmayr (Gast)


Lesenswert?

An alle Mega8 Nutzer:

Da der mega8 seinen Port B nicht ganz freigibt (XTAL an 6 und 7) muss
der interne RC-Oszillator mit 8 MHz benutzt werden!
Dann sollte auch die Netzwerkkarte korrekt initialisiert werden! Habe
ich in  meinem Beitrag vom 10.09.2004 aber erwähnt.

von Henning (Gast)


Lesenswert?

hi, ich habe das selbe problem, wie kai:

der Hub sagt, es besteht eine Verbindung, die LED der Netzwerkkarte
leuchtet nicht. ausserdem bekomme ich nach dem Init über die Uart den
Wert 255. Was kann ich mit diesem Wert anfangen? Vorher gebe ich nach
der Zeile Resetpin low und

  ReadRTL (rstport);
  WriteRTL (rstport , 0xFF);
den rstport aus und erhalte immer den Wert 18.

Auch ich verwende die Netzwerkkarten von Ulrich, habe das Eprom
ausgelötet und Pin 64 auf GND sowie Pin65 auf VCC gelegt.

von Henning (Gast)


Lesenswert?

ausserdem erhalte ich 2 "Overrun!" kurz nach dem starten.
Ein Ping führt natürlich zum Zeitüberlauf...
vielleicht hat ja jemand nen Tip. Werd später versuchen die Signale per
Oszi nachzumessen.

von Kai M. Tegtmeier (Gast)


Lesenswert?

Hallo, Simon!

Diese Pinbelegung habe ich auch eingehalten. Tut sich aber bis jetzt
trotzdem noch nichts. Du hattest (vermutlich aus Platzgründen) in
Deinem Code die Kommunikation via UART ja deaktiviert. Welche Zeile im
Code ist denn für das Anzeigen der "34" zuständig, die nach der
Initialisierung erscheinen soll?

MfG
Kai Markus

von Simon Lehmayr (Gast)


Lesenswert?

Das ist in device.c "init_rtl" oder so. Schau dir die Version von
Sascha für den mega32 an, ist ja fast identisch und der printf Code ist
da noch drin. Den kannst du direkt kopoeren. In main.c musst du dann
auch die printf inits wieder reintun.

von Kai M. Tegtmeier (Gast)


Lesenswert?

Ich habe mir jetzt noch mal die Datei Device.c angeschaut, in beiden
Sourcecodes, und kann beim besten Willen keinen Printf-Befehl finden,
der über die UART eine Zahl ausgibt. Entweder bin ich zu blöd, die
Zeile zu entdecken, oder es ist schon zu spät?!?

Gruß
Kai Markus

von Kai M. Tegtmeier (Gast)


Lesenswert?

Habe gerade die betreffende Zeile in Ulrichs Code V1.07 entdeckt. Steckt
in der main.c. Die habe ich jetzt mal in Simons Code eingebaut. Nun gibt
mir die Netzwerkkarte auch den Wert 34 zurück. Nach wie vor läßt sich
die Karte aber nicht anpingen, und auch die LED leuchtet nicht. Ein
angeschlossener PC meldet aber 10MBit-Netzwerk. Kann das immer noch an
der Einstellung RJ45/BNC liegen?

von Uli (Gast)


Angehängte Dateien:

Lesenswert?

Hallo @ all

Hier der neue Source Code 1.08 nun endlich funktioniert auch der
Mega32. Habe mich mal über Nacht an den bau meines 5. Webservers
begeben aber dises mal mit Mega32 ;-). Und der neue Source Code läuft
jetzt auf Mega 32  103  128

nun stürtzt der Mega32 nicht mehr ständig ab. Eigentlich hatte ich die
Interrupt Einstellungen von Sascha übernommen aber dabei gemerkt das
immer ein Interrupt ausgelößt wird. Das funktionierte bei der Version
1.07 halt dann nicht weil ich die Datenannahme des NIC geändert hatte.
Nachdem ich die Interrupt Einstellungen richtig einstellte funktioniert
es nun. Und noch einen Webserver mehr.

Mfg Ulrich Radig

von Uli (Gast)


Lesenswert?

Nochmal für alle:

Nach dem Einschalten sollte folgende Meldung stehen:

Init Network Card: ......... Init Ready!
Card Init: 34

My Mac: 1e.a.2b.2b.2d.4d
My IP : 192.168.0.101

Wenn nicht 34 steht wurde die Netzwerkkarte nicht erkannt.
Bei einen Mega 103/128 wird der Interrupt 4 verwendet.
Bei einen Maga 32 der Interrupt 0 sowie die richtigen fuse Bits also
CKOPT.

Noch einen schönen Sonntag ich gehe jetzt Schlafen

Mfg Ulrich

von Bjoern Biesenbach (Gast)


Lesenswert?

Hurra, Version 1.08 läuft nun auch auf meinem Mega32 Webserver :-)

von Mattias (Gast)


Lesenswert?

@Ulrich
ich habe ja Deinen Webserver auf der ein-platinen-version gebaut.
Funktioniert wunderbar.
Nun habe ich aber noch ein paar Fragen zum Code:
Die wesentlichen Bestandteile werden ja in webpage.h und httpd.c
abgehandelt. Jetzt ist dort eine Schleife "for (int
a=0;a<10;a++)..".
Warum 10x ???
Warum wird der Header 10x eingelesen ???
Wie kommst Du an die Textstellen "1=1", "ulrich.jpg" usw, wenn Du
immer am Anfang des pointers "buffer" nachschaust ( a, a+1 ..) ???
Genauso wird 10x ein TCP Paket erzeugt und gesendet. Wird etwa jedes
Element (Bild, Text,...) getrennt versendet ???

Kannst Du eventuell mal in kurzen Worten erläutern, wie prinzipiell der
Ablauf funktioniert ???
Ich blicke da irgendwie überhaupt nicht durch.

Danke schon voraus.

Mattias

von Uli (Gast)


Lesenswert?

Hallo,

Bei einer Webseite mit Bildern wird für jedes Bild sowie die Webseite
selber ein sogenanter Socket geöffnet. Des halb reserviere ich 10
Speicherplätze, da ein offener Socket auch wieder geschlossen werden
muß. Dieses wird in der Schleife erledigt. Der Header selber wird nicht
10 mal eingelesen sondern nur auf seinen Inhalt überprüft 1=1.
Schaue dir mal die Webseite in Version 1.02 (webpage.h) an, dort hatte
ich auf der Webseite einen Buttom zum steuern einer LED eingebunden.
Bei dem betätigen des Buttom wird an dem Header 1=1 hinzugefügt,
welches im µC (1=1) überprüft wird.

Mfg Ulrich

von Simon Lehmayr (Gast)


Lesenswert?

Uli:
Dein Projekt wär glatt mal "veröffentlichungsreif", so bei Elektor,
etc. Hast ja die Elektor schon erwähnt, mit dem Preis für ihr mickriges
MSC1210 Board und Netzwerkkarte, huahuahua...
Gibt auf diesem Planeten wohl genügend Bastler, die an deiner Version
echtes Interesse hätten, wo es doch fast keine günstigen Alternativen
gibt!

von Uli (Gast)


Lesenswert?

Hallo @Mattias

Besorge dir mal das freie Programm Etherreal für den PC, damit kann man
sich die Datenpakete die über die Netzwerkkarte gesendet werden
anschauen.

Mfg Ulrich

von Peter Kock (Gast)


Lesenswert?

Hallo,

habe mir nun auch einen Webserver mit dem Mega32 gebaut, leider kommt
nach dem Einschalten immer

Init Network Card: ......... Init Ready!
Card Init: 255

Software-Version ist 1.08, der AVR läuft mit 14,318MHz, ist auch in
main.c eingetragen.
Die Karte ist auf IRQ9 und IO300 eigestellt, Anschluß auf 10BaseT.
Ist eine Realtek 8019AS.

Gibt es vielleicht schon eine "Fehlersuchliste", warum die Karte
nicht erkannt wird?

Gruß
Peter

von Uli (Gast)


Lesenswert?

Hallo @Peter,

Das hatte ich auch bis ich die Fuse CKOPT eingestellt habe,
diese ist zum abschalten des 2. Quarzes.

Mfg Ulrich

von Mattias (Gast)


Lesenswert?

@Ulrich,
danke, das war ein guter Tip. Das is ja ein cooles Programm. Jetzt kann
man sich das besser vordstellen. Man, da ist ja wirklich was los auf dem
Netz.
Bei mir sagt übrigens mein Rechner zu dem Webserver immer:
...[CHECKSUM INCORRECT]...
Taucht das bei Dir auch auf ???
Der Inhalt wird trotzdem korrekt angezeigt. Das mit dem LED steuern
finktioniert auch.

Mattias

von Uli (Gast)


Lesenswert?

@Mattias

...[CHECKSUM INCORRECT]...??

Wo schreibt er dieses??
Habe diese Meldung noch nie gesehen!

Mfg Ulrich

von Uli (Gast)


Angehängte Dateien:

Lesenswert?

Hallo @Mattias

Ich habe mal die Datenpackete mit Etherreal aufgezeichnet und man sieht
alle Checksummen sind correct (Datei im Anhang).

Mfg Ulrich

von Uli (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

Ich habe mal mit einer Doku angefangen evt. fällt einen oder andern der
dieses Projekt nachgebaut hat noch was ein.

Mfg Ulrich

von Mattias (Gast)


Angehängte Dateien:

Lesenswert?

@Ulrich,
also, ich habe auch mal so ein capture file erzeugt (so.). Mein PC ist
die ...14, der Webserver die ...15
Ich habe die Seite geladen, die Lampe1 angeklickt und den Button
gedrückt. Geht alles wunderbar. Aber die Meldung ...[CHECKSUM
INCORRECT]... kommt trotzdem.
Vielleicht kannst Du in diesem Wirwar ja was sehen :-).

Mattias

von Uli (Gast)


Lesenswert?

Hallo,

Ja nachdem Protocol macht mein Webserver keine Probleme.
Wieso?
Weil das Packet mit der falschen Checksumme von deinen PC erzeugt wurde
und nicht von meinen Webserver. Source = 141.25.73.14 also definitiv von
deinen PC.
Welches BS benutzt du? Ich benutze XP.

Mfg Ulrich

von Mattias (Gast)


Lesenswert?

Hallo Ulrich,
ich benutze auch XP.
Also ich würde das so verstehen: (habe aber keine Ahnung !)
schauen wir uns mal die relevanten Dinge an...

No.     Time        Source                Destination
Protocol
3 1.514749    141.25.73.14          141.25.73.15          TCP
1900 > http [SYN] Seq=0 Ack=0 Win=16384 Len=0 MSS=1460

von Mattias (Gast)


Lesenswert?

Nochmal....
irgendwie ist mir gerade mein Mozilla abgeschmirt :-(((

also nochmal. Ich verstehe das so:
----------------------------------------
No.     Time        Source                Destination         Protocol
     3       1.514749    141.25.73.14          141.25.73.15          TCP
     1900 > http [SYN] Seq=0 Ack=0 Win=16384 Len=0 MSS=1460
----------------------------------------
No.     Time        Source                Destination         Protocol
     4       1.515586    141.25.73.15          141.25.73.14          TCP
     http > 1900 [SYN, ACK] Seq=0 Ack=1 Win=16384 Len=0 MSS=1460
----------------------------------------
No.     Time        Source                Destination         Protocol

5       1.515626    141.25.73.14          141.25.73.15          TCP
 1900 > http [ACK] Seq=1 Ack=1 Win=17520 [CHECKSUM INCORRECT] Len=0
----------------------------------------
No.     Time        Source                Destination         Protocol

6       1.519587    141.25.73.14          141.25.73.15          HTTP
 GET / HTTP/1.1
----------------------------------------
No.     Time        Source                Destination         Protocol

7       1.567106    141.25.73.15          141.25.73.14          HTTP
 HTTP/1.0 200 OK


In Nummer 3 will ...14 (mein PC) Kontakt mit ...15 aufnehmen (Seq=0
Ack=0).
Dann antwortet ...15 mit Seq=0 Ack=1.
...14 sagt daraufhin zu ...15 mit Seq=1 Ack=1, dass [CHECKSUM
INCORRECT] ist.
Bedeutet das nicht, dass CHECKSUM von ...15 nach ...14 falsch ist ???
Dann vordert ...14 trotzdem von ...15 irgendwas mit GET / HTTP/1.1.
...15 sendet daraufhin dises komische HTTP/1.0 200 OK.

Warum kommt die Verbindung überhaupt zustande, wenn [CHECKSUM
INCORRECT] ist ???
Was ist mit dem Win=xxxxx und MSS=xxxxx ???
Warum ist Len=0 ???

Gruss Mattias

von Uli (Gast)


Lesenswert?

Hallo,

Die Verbindung kommt zustande weil das Datenpacket welches vom PC kommt
nicht auf die richtige Checksumme überprüft wird.
Die LEN = 0 weil dieses nur ein ACK Packet vom PC ist ohne Inhalt
(Daten).

>>Bedeutet das nicht, dass CHECKSUM von ...15 nach ...14 falsch ist ???


Nein da nur Checksumm error angezeigt wird in dem Packet welches einen
Error hat. Würde der Webserver einen Fehler verursachen würde der PC
die Verbindung daraufhin mit FIN oder einen RST abbrechen.
Und eine neue Verbindung aufbauen.

von Uli (Gast)


Lesenswert?

Hallo @Mattias

Hier das gleiche Daten Packet mit Etherreal aufgezeichnet:

Frame 4 (62 bytes on wire, 62 bytes captured)
    Arrival Time: Sep 21, 2004 12:53:24.711546000
    Time delta from previous packet: 0.000849000 seconds
    Time relative to first packet: 1.179174000 seconds
    Frame Number: 9
    Packet Length: 62 bytes
    Capture Length: 62 bytes
Ethernet II, Src: 1e:0a:2b:2b:2d:4d, Dst: 00:0c:76:16:59:a7
    Destination: 00:0c:76:16:59:a7 (Micro-St_16:59:a7)
    Source: 1e:0a:2b:2b:2d:4d (1e:0a:2b:2b:2d:4d)
    Type: IP (0x0800)
Internet Protocol, Src Addr: 192.168.0.101 (192.168.0.101), Dst Addr:
192.168.0.1 (192.168.0.1)
    Version: 4
    Header length: 20 bytes
    Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN:
0x00)
        0000 00.. = Differentiated Services Codepoint: Default (0x00)
        .... ..0. = ECN-Capable Transport (ECT): 0
        .... ...0 = ECN-CE: 0
    Total Length: 48
    Identification: 0x273e
    Flags: 0x04
        .1.. = Don't fragment: Set
        ..0. = More fragments: Not set
    Fragment offset: 0
    Time to live: 128
    Protocol: TCP (0x06)
    Header checksum: 0x51d3 (correct)
    Source: 192.168.0.101 (192.168.0.101)
    Destination: 192.168.0.1 (192.168.0.1)
Transmission Control Protocol, Src Port: http (80), Dst Port: 1063
(1063), Seq: 0, Ack: 2603669461, Len: 0
    Source port: http (80)
    Destination port: 1063 (1063)
    Sequence number: 0
    Acknowledgement number: 2603669461
    Header length: 28 bytes
    Flags: 0x0012 (SYN, ACK)
        0... .... = Congestion Window Reduced (CWR): Not set
        .0.. .... = ECN-Echo: Not set
        ..0. .... = Urgent: Not set
        ...1 .... = Acknowledgment: Set
        .... 0... = Push: Not set
        .... .0.. = Reset: Not set
        .... ..1. = Syn: Set
        .... ...0 = Fin: Not set
    Window size: 65535
    Checksum: 0x89db (correct)
    Options: (8 bytes)
        Maximum segment size: 1460 bytes
        NOP
        NOP
        SACK permitted

Und dahinter steht dann das Datenpacket ist correct.
Ich weiß nicht welches Programm du benutzt!!
Probier es mal mit Etherreal aus evt. ist die Darstellung besser.
Auch hier ist das TCP Packet LEN = 0 da es keine Daten enthält.

Mfg Ulrich

von Uli (Gast)


Angehängte Dateien:

Lesenswert?

Hallo @all,

Hier nochmal eine neue Doku, ich hoffe jemand von euch kann besser
schreiben ;-)

Mfg Ulrich

von Torsten Voigt (Gast)


Lesenswert?

Hallo,

also erst einmal ein ganz großes Lob an Ulrich für dieses tolle
Projekt.
Habe mir den Server mit Mega32 gebaut, funktioniert ausgezeichnet.

Kleiner Zusatz zur Doku:
Wenn man einen Mega32  benutzt, muß das JTAG-Interface disabled werden,
weil die JTAG-Pins auf PortC liegen.

MfG Torsten

von Mattias (Gast)


Lesenswert?

@Ulrich,
ich habe mal jetzt die Verbindung zum Internet überprüft und
festgestellt, dass dort auch immer die Meldung [CHECKSUM INCORRECT]
kommt, wenn mein PC etwas anfordert. Das Netz funktioniert trotzdem
einwandfrei. Ich werde das jetzt einfach mal ignorieren...
Es liegt also tatsächlich an meinem BS.
Das Programm Ethereal ist wirklich genial.

Gruss Mattias

von Mattias (Gast)


Lesenswert?

Hallo,
habe ein kleines Problem entdeckt.
Ich habe meinen kleinen Server an einem Netz betrieben, wo richtig was
los ist. Der Netzwerkchip (RTL 8019) hat praktisch ununterbrochen einen
Interrupt gesendet. Nun ist es ja so:
Sendet der 8019 einen Interrupt (Leitung auf high), muss er vom
Controller quittiert werden. Bleibt der Controller in der Interrup
Funktion hängen, kann er diesen nicht quittieren. Die Anlage hängt. Nun
ist in der Funktion von Ulrich aber nichts drin was hängen bleiben kann.
Man sollte also annehmen, dass der Interrupt immer quittiert wird.
Hier ein Auszug aus dem Ende der Interrupt Funktion:
.
.
.
  //Zurücksetzen der Interrupt Bits des NIC
  WriteRTL (ISR, 0xFF);
  //startet die Network Card
  WriteRTL (CR , 0x22);
  //Globale wieder Interrupts Einschalten
  sei ();
Ende Interrupt Funktion.

Ich habe nun folgende Vermutung:
Der Interrupt wird quittiert und die Karte wird gestartet. Wenn genau
zu diesem Zeitpunkt ein neuer Interrupt kommt, bekommt der Controller
das nicht mit, weil sei(); noch nicht ausgeführt wurde. Die
Interruptfunktion wird also nie mehr ausgeführt.
Ich habe jetzt noch folgendes (hinter sei();) hinzugefügt:

  if(PINE & 0x10){
  //Zurücksetzen der Interrupt Bits des NIC
  WriteRTL (ISR, 0xFF);

  //startet die Network Card
  WriteRTL (CR , 0x22);
  }
Wenn also der Interrupt Pin nach sei() high ist, quittiere ich einfach
erneut, ohne genau zu wissen, ob das so richtig ist. Vielleicht gibt es
ja eine bessere Lösung.
So funktioniert es jedenfalls schon seit mehreren Stunden einwandfrei.
Vorher ging es höchstens für 2 min. Dann hing der Server.

Gruss Mattias

von Uli (Gast)


Lesenswert?

Hallo @Mattias,

Hast du den Webserver an einen Switch oder HUB angeschlossen?
Würde den Fehler gerne nachvollziehen aber bisher ohne erfolg in einen
Netzwerk mit 30 Rechnern (alles über einen Switch verbunden)

Mfg Ulrich

von Uli (Gast)


Lesenswert?

Hallo,

Was mir noch einfällt anstelle den Interrupt flankengesteuert
einzusetzen, einfach meinen Code bei behalten und einen Interrupt
auslösen wenn High Pegel auftritt.

MCUCR=0x03; auf MCUCR = 0x01; einstellen ,meine ich, wenn ich das
Register noch richtig im Kopf habe


Mfg Ulrich

von Uli (Gast)


Lesenswert?

Hallo,

Habe soeben den SourceCode 1.09 mit geänderten Interrupt auf meiner HP
eingestellt. Meine nun damit ist der Fehler beseitigt.

Mfg Ulrich

von Uli (Gast)


Lesenswert?

Hallo,

Zum gefundenen Fehler eine kleine Erklärung.
Natürlich ist es Richtig das nach dem neu Start der Netzwerkkarte und
dem Zurücksetzen des Interrupts ein neuer Interrupt eintreten kann.
Somit ist der µC schon mit einen gesetzten Interrupt nicht mehr in die
Interruptroutine gesprungen. Da ja der INT flankengesteuert war.
Durch ändern der INT Einstellungen sollte dieser Fehler in Version 1.09
nicht mehr auftreten.

Mfg Ulrich

von Mattias (Gast)


Lesenswert?

Hallo,
mein Server hängt an einem HUB, dieser an einem Netz mit ca. 200
Rechnern und dieses an einem Switch. Danach weiss ich nicht wie es
weiter geht.
Das mit dem INT High Pegel wollte ich auch schon probieren, war mir
aber nicht sicher, ob das nur auf Änderungen reagiert. Werde das heute
noch probieren und berichten. So, wie gesagt, geht es jedenfalls.

Gruss Mattias

von Mattias (Gast)


Lesenswert?

So,
habe jetzt die Änderungen von Version 1.09 übernommen. Geht so aber
nicht, da das die Definition für:

"Any logical change on INTn..." ist
Nur auf high Pegel geht leider nicht.

ISCn1 ISCn0 Description

0 0 The low level of INTn generates an interrupt request.
0 1 Any logical change on INTn generates an interrupt request
1 0 The falling edge between two samples of INTn generates an
interrupt
1 1 The rising edge between two samples of INTn generates an interrupt

Bleibe also erst mal bei meiner Änderung.

Gruss Mattias

von PatrickHH (Gast)


Lesenswert?

Tach,

Hab hier noch ne 3Com Etherlink III 3C509BC ISA-Karte rumliegen. Wollte
nur mal fragen, ob die auch funktioniert. Das wurde ja hier schonmal
gefragt, aber es gab keine Antwort drauf.

Gruß PatrickHH

von Henning (Gast)


Lesenswert?

3com ist scheinbar nicht ne2000 kompatibel -> geht nicht.

die interrupt funktionen scheinen falsch definiert zu sein, denn SIGNAL
erledigt die cli() und sei() automatisch. Hab den letzten Quellcode
nicht überprüft (ist nur nen kurzer gedanke, der mir früher aufgefallen
ist), aber das könnte es sein. Müsste nochmals genauer betrachtet
werden.

von PatrickHH (Gast)


Lesenswert?

Jo Danke,

werde mir dann mal ne andere besorgen.

Gruß PatrickHH

von Uli (Gast)


Lesenswert?

Hallo,

Die 3Com Netzwerkkarten funktionieren definitiv nicht,
die Register sind anders als bei einer NE2000 kompatiblen Karte.

Mfg Ulrich

von Bjoern Biesenbach (Gast)


Lesenswert?

@Mattias

Dein einseitiges Layout für den Webserver gefällt mir sehr gut.
Hast du die Platine selber geätzt ?
Ich bin leider nicht in der Lage eine derart feine und komplexe Platine
selber herzustellen und wollte desshalb fragen, ob du mir evtl ein
Exemplar anfertigen könntest (gegen Bezahlung!), oder einen Tip für
mich hättest, wo man eine Platine kommerziell anfertigen könnte.

Gruß
Björn

von Henning (Gast)


Lesenswert?

ich habe gestern auch einen Server zum laufen gebracht. Dabei habe ich
einen Mega32 verwendet mit 16Mhz. die ISA Karte kommt von Ulrich.

Hier ein Paar stellen, an denen es bei mir geklemmt hat:
der Tackt muss bei 16Mhz über die Fusebits eingstellt werden. was da
AVRProg programmiert stimmt efinitiv nicht. ich habe mir dann per
PonyProg geholfen

Das JTAG muss per Fusebits deaktiviert werden, denn es Liegt auf Port C
(war ein Hinweis von Torsten Voigt)

Ab da hat dann die Initiallisierung hingehauen, aber die Interrupts
stimmten noch nicht. Bei den Karten von Ulrich ist eine Treiberdiskette
mit Konfig-Programm bei. Mit dem konnte ich zwar lustig testen, aber
keine einstellungen machen (heisst EZCFG ?) auch ein hinweis von Hier
hat mich dann auf rset8019 gebracht, damit konnte ich die Karte
einstellen. Hinweis dazu: Media-Type auf Auto lassen, denn 10Base-T (=
UTP = Unshielded Twisted Pair (die mit dem RJ45 Stecker)) hatte (bei
mir) dann keinen LinkDetect mehr. mit Auto Funktionierts aber
wunderbar.

10Base-2 und 10Base-5 sind übrigens die Coax-Kabel mit BNC Stecker
dran. Ich war zwischenzeitig auf der suche nach erklärungen der
Bezeichnungen.

Hab jetzt allerdings ein anderes Problem :) ich suche noch einen
gescheiten Verwendungszweck...

von Uli (Gast)


Lesenswert?

Hallo,

>>Hab jetzt allerdings ein anderes Problem :) ich suche noch einen
gescheiten Verwendungszweck...

Ich habe auch noch keinen ;-)

Mfg Uli

von Mattias (Gast)


Lesenswert?

@Bjoern,
die Platine habe ich bei meiner Partnerfirma fertigen lassen, weil ich
keine Lust zum Bauen hatte. Ich habe aber den Film und könnte natürlich
mal einige machen. Die Mittel habe ich. Ich sag mal so 10 EUR + Versand
1 EUR.
Ich mach einfach mal welche. Ihr könnt Euch ja dann überlegen, wer eine
haben will.

Gruss Mattias

von Bjoern Biesenbach (Gast)


Lesenswert?

@ Mattias

Super Sache ! Dann würde ich, wenn möglich, auch zwei nehmen.
Könntest du mir evtl deine Email-Adresse zukommen lassen ?
Danke

Gruß
Björn

von Uli (Gast)


Angehängte Dateien:

Lesenswert?

Hallo @all,

Hier mal eine neue beta des Webservers der nun auch die Anfänge eines
FTP Servers enthält. z.b. über Smart FTP einloggen und das Root
Verzeichnis sehen geht schon. Ist natürlich noch alles pseudomäßig.
Da es ja noch kein FileSystem gibt :-q
Auch der Webserver selber also httpd.c wurde etwas besser gestaltet.
Daher die Frage welches Speichermedium soll man nehmen meine MMC oder
doch besser DOC oder was ganz anderes?

Mfg Ulrich

von Bjoern Biesenbach (Gast)


Lesenswert?

Hallo,

also ich würde zu MMC tendieren. Die Medien sind bei ebay günstig zu
bekommen und von allen wohl am einfachsten und mit dem wenigsten
"pin-verbrauch" anzusteuern. CompactFlash wäre aufgrund der Größe der
Karten (bis 4GB?) auch sehr schön, nur wäre der Aufwand wohl viel zu
gross.

Gruß
Björn

von Simon Lehmayr (Gast)


Lesenswert?

Ich tendiere auch zu SD/MMC, wegen guten Erfahrungen in diesem Bereich
:-)

von Henning (Gast)


Lesenswert?

Ich würde SD sagen, da ich in dem breich schon ne speicherkarte habe und
die auch in einer dcam verwenden kann.

alternative währe HDD, dann kann man das gleich mit mp3 kompinieren...
jaja, der übliche mp3player...

wie sieht es eigentlich mit Übertragungsgeschwindigkeit aus? bilang kam
mir das ganze recht lahm vor. wirklich dateien kann man damit nicht
übertragen, oder was meint ihr?

von Martin (Gast)


Lesenswert?

Hallo,

ich wäre auch für MMC. Die HD hat so viele Pinne. Ich glaube da ist der
Atmel dann an seinen Grenzen bzw ohne Tricksereien geht es nicht mehr.


Martin

von Uli (Gast)


Angehängte Dateien:

Lesenswert?

Hallo

Hier wieder ein neuer Source Code mit weiteren Verbesserungen, sowie
eine UHR mit Timer1 (noch nicht mit Mega32 getestet).

Mfg Ulrich

von Torsten Voigt (Gast)


Lesenswert?

Hallo,

habe eben mal die neuste Version auf Mega32 getestet, FTP funktioniert
, jedenfalls kann man sich einloggen.
Die Uhrzeit wird über die serielle Schnittstelle ausgegeben. Gibt es
auch eine Möglichkeit, die Uhr zu stellen? Außer im Source Code?

Gruß
Torsten

von Bjoern Biesenbach (Gast)


Lesenswert?

Hallo,

was haltet ihr von der Idee, mal gemeinsam am Software Projekt
mitzuarbeiten? Ich würde schon gerne an der ein oder andern Stelle
etwas beisteuern.
Wir könnten das Ganze zB über "Subversion" oder "CVS" organisieren.
Einen Server könnte ich bereitstellen, falls Interesse besteht.

Gruß
Björn

von Uli (Gast)


Lesenswert?

Hallo,

>>Die Uhrzeit wird über die serielle Schnittstelle ausgegeben. Gibt es
auch eine Möglichkeit, die Uhr zu stellen? Außer im Source Code?

Ist schon in Arbeit wird bald über Telnet realisiert.

Mfg Ulrich

von Uli (Gast)


Angehängte Dateien:

Lesenswert?

Hallo @all,

mit diesem Device.c.h dateien läuft alles ein bisschen schneller ;-)

Mfg Ulrich

von Simon Lehmayr (Gast)


Lesenswert?

@Uli:
Ich möchte gerne eine reine socket-basierende Verbindung aufbauen,
ungefär nach folgendem Prinzip:
1. PC (=Client) öffnet Socket auf einem bestimmten Port
2. (evt.) Miniserver schickt eine kleine Bestätigung
3. PC sendet Kommando (z.B. sende Analogwert Kanal 0 oder setze Ausgang
1 auf AN)
4. Miniserver antwortet mit Daten

alternativ:
3. PC sendet Kommando "Dauerübertragung"
4. Miniserver sendet kontinuierlich Datenpakete mit Messwerten, bis
Socket geschlossen wird.

Wo muss ich mich in deinem Code da einhängen?

von Uli (Gast)


Lesenswert?

Hallo @Simon:

in Interrupt4 bei Get

Mfg Ulrich Radig

von Bjoern Biesenbach (Gast)


Lesenswert?

Hallo,

mit Uli's Einverständniss habe ich einen neue Projektpage für den
AVR-Webserver angelegt. Bisher bin ich noch nicht zu Viel gekommen,
aber der Subversion Server steht schonmal.
Wer also gerne interaktiv am Code mitwirken möchte, kann sich bei mir
per Mail melden, und bekommt dann einen Entwickler Zugang zum
Subversion Repository.
Vorerst ist die Seite zu erreichen unter:
http://avrwebserver.bjoern-b.de

Viele Grüße
Björn

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
Noch kein Account? Hier anmelden.