Vorwort:
--------

Der Einsatz dieser Software erfolgt ausschliesslich auf eigene Gefahr!

Die Autoren haben sich zwar grsste Mhe gegeben, dass alles so wie beabsichtigt
funktioniert, jedoch sind Fehlfunktionen nicht auszuschliessen. Es besteht gegenber
den Autoren kein Haftungsanspruch jeglicher Art. Dies wird mit dem Einsatz der
Software anerkannt.


Mgliche Probleme beim Programmieren ber den ISP-Anschluss:
------------------------------------------------------------

Schaltungsbedingt ist der ISP-Anschluss des ATmega an den selben Pins 
wie auch der Ethernet-Chip angeschlossen. Es kann daher vorkommen, dass
der Ethernet-Chip whrend des Programmiervorgangs "dazwischenfunkt", da er
sich nicht den Reset-Anschluss mit dem ATmega teilt, und bei einem Reset
des ATmega daher nicht mit resettet wird! (Achtung, jetzt NICHT die beiden
Reset-Eingnge nachtrglich miteinander verbinden, hier herrschen unterschiedliche
Spannungen!!!)

Durch diesen Umstand kann es vorkommen, dass der Programmierprozess gestrt
wird. Meistens wird der Prozessor schon nicht korrekt identifiziert, sonst werden
sptestens beim Vergleichen des Flash-Inhaltes mit dem zu flashenden Programm
Unterschiede festgestellt werden. In diesem Fall einfach den Programmiervorgang
wiederholen bis er erfolgreich verlaufen ist.

Es hat sich gezeigt, dass bei nicht angeschlossenem Ethernet die Fehler deutlich
zurckgehen bzw. gar nicht erst auftreten. Wer sicher gehen mchte, der entferne
einfach vor dem Programmieren des Net-IO das Ethernetkabel.


Erste Inbetriebnahme:
---------------------

Bevor das Board mit der EtherKISS-Firmware bespielt wird, sollte ein
Funktionstest mit der bereits im Controller aufgespielten Demo-Software
vorgenommen werden! Diese sollte auch mit einem Programmiertool ausgelesen
und abgespeichert werden! Hierbei auch das EEPROM nicht vergessen.

Nach dem Aufspielen der EtherKISS-Firmware auf das Net-IO ist das EEPROM
mit den Konfigurationseinstellungen in der Regel ebenfalls gelscht worden.
Dies wird von der EtherKISS-Firmware festgestellt und das Board nimmt in diesem
Fall Standardwerte an, mit denen eine erste Kontaktaufnahme mglich ist.

Die erste Konfiguration MUSS in der Regel ber die serielle Schnittstelle
vorgenommen werden, da der Ethernetteil noch z.T. mit Initialwerten arbeitet
und daher wahrscheinlich nicht erreichbar ist. (siehe Abschnitt "Standardwerte")


Konfiguration ber die serielle Schnittstelle:
----------------------------------------------

Dies ist die generelle Prozedur zur Konfiguration der Platine ber die
serielle Schnittstelle. Sie ist zur ersten Inbetriebnahme, sowie nach jedem
Bespielen der Boards mit einer neuen Firmware notwendig.

* Das Board spannungsfrei machen

* Den Jumper J11 in die Position "prog." stecken

* Das Board ber ein 1:1-Kabel an eine serielle Schnittstelle des PC anschliessen

* Das Ethernet NUR anschliessen wenn es schon konfiguriert wurde! (siehe unten)

* Ein ASCII-Terminalprogramm starten, Schnittstelle auf 9600 Baud, 8 Datenbits,
  keine Paritt und ein Stopbit einstellen. Es darf keine Flusskontrolle (weder
  Software noch Hardware) verwendet werden.

* Das Board mit Spannung versorgen, es erscheint die Einschaltmeldung, alle
  aktuellen Einstellungen werden angezeigt und ein Konsolenprompt erscheint.

  Ein eventuell angeschlossenes LCD-Display zeigt, sofern es erkannt wurde,
  zur Information die serielle Baudrate an. Da ein LCD-Display auch eine
  mgliche Fehlerquelle darstellt, wird ein Anschluss bei der ersten
  Inbetriebnahme nicht unbedingt empfohlen!

Wichtig: das Board startet bei gesetztem "prog"-Jumper IMMER mit 9600 Baud,
unabhngig davon, was fr eine Baudrate fr den KISS-Betrieb konfiguriert wurde!

Im Konfigurationsmodus funktioniert KISS nicht, auch AX25IP und TELNET sind abgeschaltet.
Es werden lediglich PING-Pakete und ARP-Anfragen bearbeitet, das Versenden von
eigenen Pings ist ebenfalls mglich. Die Netzwerkfunktionen sollten jedoch erst
NACH der vollstndigen Konfiguration der Netzwerkeinstellungen benutzt werden.

Jetzt knnen alle Betriebsparameter angesehen und verndert werden. Eine
Ausgabe aller mglichen Kommandos inklusive einer kurzen Beschreibung des
Kommandos erhlt man mit den "HELP"-Kommando.

Alle Parameternderungen werden grundstzlich sofort in das EEPROM bernommen.
Einige Parameter sollten bzw. knnen nicht im laufenden Betrieb gendert werden,
hier ist ein Neustart zwingend erforderlich.

Bei Abfragen von Werten, dies geschieht durch Eingabe des jeweiligen Kommandos
ohne zustzliche Argumente, wird der aktuell verwendete (!) Wert angezeigt. Sollte
schon ein genderter Wert ins EEPROM geschrieben worden sein, so wird dieser NICHT
angezeigt, sondern der noch aktuell verwendete Wert!

Wird ein unkonfiguriertes EEPROM vorgefunden, so verwendet das Board automatisch die
intern fest eingestellte Standardwerte. Das EEPROM bleibt in diesem Fall unverndert
bis ein vom Standardwert abweichender Wert eingestellt wird.

Fr Fortgeschrittene:
Wer die EtherKISS-Firmware selst bersetzt, kann in der Datei "config.h" die Standard-
einstellungen ndern und so das Board direkt mit seinen Einstellungen starten lassen.


Ethernet konfigurieren:
-----------------------

Bevor das Board weiter konfiguriert wird, MUSS die MAC-Adresse des Ethernet-
Controllers auf jeden Fall gendert werden! Das Board startet bei fehlerhafter bzw.
nicht konfigurierter MAC-Adresse im EERPROM immer mit der Adresse 00:20:DE:AD:BE:EF.
Dies ist somit auch nach einem Flashen des Boards der Fall wenn das EEPROM gelscht
wurde!

* Die MAC-Adresse einstellen: die auf dem Aufkleber befindliche MAC-Adresse durch
  Doppelpunkte getrennt in das Board eingeben.

  Kommando: MAC xx:xx:xx:xx:xx:xx

  Nach der Eingabe einer neuen MAC ist das Board UNBEDINGT mittels "RESET"-
  Kommando neu zu starten! Sicherer ist es jedoch, vor allem wenn schon ein
  Netzwerkkabel angeschlossen war, das Board kurze Zeit stromlos zu machen. Dies
  lscht im gnstigen Fall auch gleich die MAC-Tabelle eines angeschlossenen
  Switches oder PC, da der Netzwerk-Link in diesem Fall auch zusammenbricht.

Alle IP-Adressen werden durch Punkte getrennt mit diesen Kommandos eingegeben:

* Die eigene IP-Adresse des Boards einstellen:

  Kommando: IP xxx.xxx.xxx.xxx

* Die eigene Subnetzmaske einstellen:

  Kommando: NET xxx.xxx.xxx.xxx

* Das Standard-Gateway des eigenen Subnetzes einstellen:

  Kommando: ROUTER xxx.xxx.xxx.xxx


Jetzt sollte das Board erneut resettet bzw. kurz stromlos gemacht werden. Alle
nderungen wurden sofort nach deren Eingabe im EEPROM abgelegt und werden erst
bei einem Neustart bernommen.

Das Netzwerkkabel kann nun eingesteckt werden und die Netzverbindung mit dem
PING-Kommando berprft werden.

* Kommando: PING <IP-Adresse eines erreichbaren Netzteilnehmers>

Eingehende Pings von anderen Netzteilnehmern sollten ebenfalls beantwortet werden.

Fr einen Test des eingestellen Standard-Gateways sollte auch eine IP-Adresse ausserhalb
des eigenen Subnetzes angepingt werden.


KISS konfigurieren:
-------------------

Fr den KISS-Betrieb muss die zu verwendende Baudrate und der Dialekt eingestellt
werden.

* Die KISS-Baudrate einstellen:

  Kommando: KISSBAUD <9600, 19200, 38400, 57600, 115200>

* Den KISS-Dialekt einstellen:

  Kommando: KISSTYPE <KISS, SMACK, RMNC> bzw. <K, S, R>

Alle KISS-Dialekte verwenden 8 Datenbits, keine Paritt und ein Stop-Bit (8N1),
sowie keinerlei Flusskontrolle.

Zur Erinnerung: die KISS-Baudrate wird NUR verwendet, wenn sich das Board
nicht mittels "prog"-Jumper im Programmiermodus und der Jumper J11 sich in 
Position "normal" befindet!

Je nach Art der KISS-Gegenstelle ist nun ggf. ein gekreuztes serielles
Anschlusskabel (Nullmodem-Kabel) erforderlich! Wer sicher gehen mchte,
verbindet nur die Leitungen RX, TX und GND und schliesst die Statusleitungen
nicht an, das Net-IO kann diese in der Standardausfhrung sowieso nicht bedienen.


AX25IP konfigurieren:
---------------------

Fr den AX25IP-Betrieb muss die IP-Adresse der Gegenstelle eingetragen werden,
fr die verwendeten UDP-Portnummer sind Standardwerte hinterlegt (Port 10093),
die in der Regel nicht gendert werden mssen wenn zwischen zwei EtherKISS-
Boards eine Verbindung aufbaut werden soll.

Zur Erinnerung: es ist NUR UDP-Verkehr mglich! Dies ist besonders zu beachten
falls die Gegenstelle kein anderes Net-IO mit EtherKISS ist.

* Die IP-Adresse der AX25IP-Gegenstelle einstellen:

  Kommando: REMOTEIP xxx.xxx.xxx.xxx

Sollen abweichende UDP-Portnummern verwendet werden, so sind diese wie folgt
einzustellen.

* Eine eigene, abweichende UDP-Portnummer fr AX25IP einstellen:

  Kommando: LOCALPORT <UDP-Portnummer>

* Eine abweichende UDP-Portnummer der Gegenstelle fr AX25IP einstellen:

  Kommando: REMOTEPORT <UDP-Portnummer der Gegenstelle>


Ein Reset des Boards ist nun empfehlenswert bzw. erforderlich.

Es erfolgt (noch) KEINE Analyse der durchgeleiteten AX.25-Pakete, diese werden
unabhngig vom nchsten Zielrufzeichen im AX.25-Pfad immer an die eingestellte
Gegenstelle geschickt, egal ob sie der richtige Empfnger ist oder nicht.
Dies entspricht dem direkten Ersatz eines HF-Links durch einen Ethernet-Link.

Die Analyse der weitergeleiteten Pakete ist fr einen der grsseren Prozessoren
(ATmega644 oder besser) vorgesehen, sie passte leider nicht mehr in den ATmega32.


Telnet konfigurieren:
---------------------

Telnet ist standardmssig auf Port 23 aktiv, dies ist der in der Regel fr Telnet
verwendete Port und sollte daher mit Telnet-Clients erreichbar sein. Er kann noch
nicht gendert werden, spter wird dies mglich und eine Portnderung auch ratsam sein.

GANZ WICHTIG:
Der Telnet-Port steht in der Grundkonfiguration jedem offen und jeder kann Einstellungen
des Boards verndern! Daher sollte er unbedingt vom Sysop mit einem Passwort versehen werden.

Ein neues bzw. bestehendes Kennwort kann mit dem SETPASS-Befehl gesetzt werden:

* Kommando: SETPASS <Passwort (max. 8 Zeichen)>

Ist ein Passwort gesetzt, wird bei einer eingehenden Telnetverbindung ein Login-
Prompt gesendet und die Angabe des Passwortes ist zum Fortsetzen zwingend erforderlich.
Es ist derzeit nicht mglich, das Board wieder ohne Passwort zu betreiben wenn es mit
einem Passwort versehen wurde!

Eine Telnetverbindung MUSS durch den "QUIT"-Befehl beendet werden.

Es ist nur eine gleichzeitige Telnetverbindung erlaubt, weitere eingehenden Verbindungen
werden kommentarlos abgelehnt.

Mit Hilfe von Telnet kann das Board von Ferne konfiguriert und abgefragt werden. Wir weisen
aber ausdrcklich darauf hin, dass eine bestehende Telnetverbindung die Funktion des Boards
stark beeinflusst, da sie sehr Ressourcen fressend ist. Daher sollte sie nur so lange
wie ntig gehalten, und in jedem Fall mit "QUIT" beendet werden.

Ausgaben des Boards sollten grundstzlich abgewartet und nicht durch die Eingabe von
neuen Befehlen unterbrochen werden! Dies kann zum Auslsen des Watchdogs und einem Neustart
des Boards fhren.


Konfiguration beenden:
----------------------

* Das Board stromlos machen

* Den Jumper J11 wieder in Position "normal" stecken

Jetzt werden die Einstellungen fr KISS und AX25IP bercksichtigt, auf der
seriellen Schnittstelle ist nun kein Konsolenbetrieb mehr mglich! Sofern
Telnet konfiguriert wurde, ist das Board nun unter der eingestellten Portnummer
mit dem ggf. gesetzten Passwort erreichbar.

Ein Umstecken des Jumpers J11 hat im Betrieb keine Auswirkungen, der Betriebsmodus
wird erst beim nchsten Reboot gewechselt.


Standardwerte:
--------------

Diese Werte verwendet EtherKISS nach einem Flash-Vorgang wenn noch keine
Konfiguration durchgefhrt wurde:

Einstellung               : Wert               Befehl zum ndern
-------------------------------------------------------------------------------
Terminal-Baudrate         : 9600 Baud          - (wenn J11 in "prog."-Position)
KISS-Dialekt              : KISS               KISSTYPE
KISS-Baudrate             : 57600 Baud         KISSBAUD
MAC-Adresse               : 00:20:DE:AD:BE:EF  MAC
eigene IP-Adresse         : 192.168.1.90       IP
Subnetzmaske              : 255.255.255.0      NET
Default-Router            : 192.168.1.1        ROUTER
eigener AX25IP UDP-Port   : 10093              LOCALPORT
entfernter AX25IP UDP-Port: 10093              REMOTEPORT
entfernte IP-Adresse      : 192.168.1.91       REMOTEIP
Telnet-Port               : 23                 - (momentan nicht nderbar)
Telnet-Passwort           : nicht gesetzt      SETPASS
digitaler IO an Port C    : 0 (alle aus)       DOUT


LCD-Display anschliessen:
-------------------------

Es ist der Anschluss eines 2x40 LCD vorgesehen, fr nhere Informationen siehe LCD.txt.

Ist ein LCD-Display angeschlossen, so werden automatisch wechselnde Statusinformationen
angezeigt.


Befehle fr den tglichen Bedarf:
---------------------------------

EtherKISS ist generell wartungsfrei, es existieren jedoch ein paar Befehle, die dem Sysop
noch zustzliche Mglichkeiten erffnen. Diese sollen hier noch kurz vorgestellt werden.

Die Analogeingnge knnen mit dem Befehl "ADC" abgefragt und angezeigt werden. Die Abfrage
erfolgt kontinuierlich im Hintergrund, es dauert 8 Sekunden, bis der gleiche Kanal erneut
abgefragt und der angezeigte Wert aktualisiert wird. Die ausgegebenen Werte liegen im Bereich
zwischen 0 und 1023, wobei 0 einer Spannung von 0V und 1023 der AREF-Spannung (Jumper J4)
entspricht (max. 5V). Der AREF-Jumper sollte in Position "int." gesteckt sein und muss nur
bei externer Referenz auf "ext." gesteckt werden.

---

Die digitalen IO-Pins des Prozessorports C, welcher direkt auf die 25pol. DSUB-Buchse gefhrt ist,
lassen sich mit dem Befehl "DOUT" abfragen und verndern. Wurde ein Standardschema gespeichert,
so wird dieses beim Start geladen und am Port wieder ausgegeben.

Ein paar Beispiele:

"DOUT"		zeigt die aktuellen Zustnde der Portpins an
"DOUT 1 1"	setzt Pin 1 von Port C auf HIGH (5V)
"DOUT 1 0"	setzt Pin 1 von Port C auf LOW (0V)
"DOUT S"	speichert den aktuellen Zustand des Ports C als Default im EEPROM 

Generell: "DOUT <Pin-Nummer des Ports C, 0-7> <0|1>"

Achtung, die Pins des Port C haben nichts mit den Pin-Nummer des DSUB-Anschlusses zu tun!
Im Net-IO-Manual gibt es eine Tabelle, welcher Pin des Port C an welchen Pin der DSUB-Buchse
gefhrt ist.
(Port C Pin 0 -> DSUB Pin 2,
 Port C Pin 1 -> DSUB Pin 3 usw.) 

Die Pins sind direkt und ungepuffert auf den Prozessor gefhrt, daher ist beim Anschluss von
externer Peripherie auf die Spezifikationen zu achten um den ATmega nicht zu beschdigen!

---

Eine Ausgabe der internen Statistiken und einiger Einstellungen ist mit dem "VERSION"-Befehl
mglich. Diese Angaben entsprechen auch weitestgehend denen, die auf einem eventuell
angeschlossenen LCD-Display angezeigt werden.


Bugs, Fragen und sonstiges:
---------------------------

Wer Fragen, Probleme bei der Inbetriebnahme und dem Betrieb, Verbesseungsvorschlge oder Bugs
gefunden hat, der kann sich gerne bei uns melden. Bitte fertigt im Fehlerfall eine mglichst
ausfhrliche Beschreibung an und legt einen Mitschnitt des Ausgabe des "VERSION"-Befehls bei.

EMail:
etherkiss@gmx.de
dg9obu@gmx.de
df2au@gmx.de

Packet:
dg9obu@db0uhi.#nds.deu.eu
df2au@db0fc.#nds.deu.eu
