FAQ: Unterschied zwischen den Versionen

Aus Ethersex_Wiki
Wechseln zu: Navigation, Suche
(Netzwerk)
(Software)
 
(12 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt)
Zeile 48: Zeile 48:
  
 
=== Welches Linux soll ich nehmen? ===
 
=== Welches Linux soll ich nehmen? ===
Den besten Support gibt es für ein Debian Derivat. z.b. Ubuntu, aber jedes andere Linux das den gcc-avr (Cross compiler for avr) unterstützt sollte auch funktionieren.
+
Den besten Support gibt es für ein Debian Derivat. z.b. Ubuntu, aber jedes andere Linux das den gcc-avr (Cross compiler for avr) unterstützt sollte auch funktionieren. Für detailierte Informationen, wie Paketnamen oder Unterschiede der Toolchains der einzelnen Distributionen hilft die Seite [[Voraussetzungen]].
Achtung: Bei Problemen Ethersex auf Gentoo zu kompilieren bitte die Seite [[Gentoo toolchain]] ansehen.
 
  
 
=== Ich habe kein Linux und möchte aus bestimmten Gründen Microsoft Windows benutzen. Was nun? ===
 
=== Ich habe kein Linux und möchte aus bestimmten Gründen Microsoft Windows benutzen. Was nun? ===
Zeile 61: Zeile 60:
  
 
=== Ethersex lässt sich nicht kompilieren, mache ich was falsch? ===
 
=== Ethersex lässt sich nicht kompilieren, mache ich was falsch? ===
Meist liegt das daran das die speziellen PINNINGS für das eigene Projekt bzw. die benötigte Hardware noch nicht eingetragen sind. Diese kann man dann mit "scripts/add-hardware-brocken" eintragen lassen.
+
Meist liegt das daran das die speziellen PINNINGS für das eigene Projekt bzw. die benötigte Hardware noch nicht eingetragen sind. Mehr Infos dazu: [[Ethersex_Hardware_hinzufügen|Neue Hardware in Ethersex unterstützen ]]
Ausserdem ist Ethersex ständig in der Weiterentwicklung, normalerweise sollen keine Fehler auftreten, ausgeschlossen werden kann das aber nicht. Einfach mal die [[Community]] fragen oder im [http://bugs.ethersex.de/view_all_bug_page.php Bugtracker] eintragen.
 
  
 
=== Warum bekomme ich keine Fehlermeldung aber auch kein "Final size of ethersex.bin is ..." beim make? ===
 
=== Warum bekomme ich keine Fehlermeldung aber auch kein "Final size of ethersex.bin is ..." beim make? ===
 
Versuch mal "make clean; make" um mit einem sauberen (clean) Zustand zu kompilieren.
 
Versuch mal "make clean; make" um mit einem sauberen (clean) Zustand zu kompilieren.
 +
 +
=== Wie lautet die Portnummer für ECMD? ===
 +
Die Portnummer ist normalerweise 2701, kann aber selbst eingestellt werden.
  
 
=== Ich kann die Portnummer fuer YPORT nicht finden? ===
 
=== Ich kann die Portnummer fuer YPORT nicht finden? ===
 
Die Portnummer ist 7970
 
Die Portnummer ist 7970
  
=== Wie lautet die Portnummer für ECMD? ===
+
=== Wie stell ich den Baudrate von YPORT auf 9600? ===
Die Portnummer ist normalerweise 2701, kann aber selbst eingestellt werden.
+
In der Datei protocols/yport/yport.h folgendes anpassen  
=== Wie stell ich den baudrate von YPORT auf 9600? ===
 
In der Datei protocols/yport/yport.h folgendes anpassen
 
 
  #define YPORT_BAUDRATE 115200
 
  #define YPORT_BAUDRATE 115200
 +
Oder in neueren Ethersex-Versionen einfach die menuconfig nutzen und die Baudrate entsprechend anpassen ;)
  
=== Your Image is too big for the selected chip... Wie kann ich das Image kleiner machen? ===
+
=== Your Image is too big for the selected chip... ===
* TEENSY nutzen
+
Es gibt zwei Möglichkeiten:
* Deaktivieren nicht unbedingt benötigter Funktionen
+
#Image kleiner machen:
* In VFS INLINING nicht benötigte Seiten deaktivieren
+
#* TEENSY nutzen (...ist damit der [[I2C Bootloader]] gemeint, der mit 256w auskommt?)
* ggf. VFS deaktivieren
+
#* Deaktivieren nicht unbedingt benötigter Funktionen
* Einen Microcontroller mit mehr Programmspeicher nutzen (z.B. ATMEGA 32 statt ATMEGA 16)
+
#* In VFS INLINING nicht benötigte Seiten deaktivieren
 +
#* ggf. VFS deaktivieren
 +
#Microcontroller mit mehr Programmspeicher nutzen
 +
#* z.B. ATmega32 statt ATmega16, oder ATmega644 statt ATmega32.
  
 
=== Warum ist die Temperatur von Onewire Sensoren (DS18S20) immer 85.0 Grad? ===
 
=== Warum ist die Temperatur von Onewire Sensoren (DS18S20) immer 85.0 Grad? ===
 
Das ist anscheindend die standard Temperatur. Mit dem Aufruf von "1w convert" wird die neue Temperatur gemessen
 
Das ist anscheindend die standard Temperatur. Mit dem Aufruf von "1w convert" wird die neue Temperatur gemessen
 
und dann ausgelesen werden. Siehe auch [[Dallas_1-wire_Bus]]
 
und dann ausgelesen werden. Siehe auch [[Dallas_1-wire_Bus]]
 +
 +
Bei mir trat das Problem auf, wenn ich die Sensoren im Parasite Modus betrieben habe. Um dies zu umgehen, habe ich den Vdd vom Sensor direkt mit dem 5V der Platine verbunden. Der Widerstand zwischen Vdd und DQ vom Sensor bleibt.
 +
 +
Bekannt sind auch ähnliche Probleme, wenn mehrere Sensoren verwendet werden. evtl. hilft das reduzieren des Widerstandes zwischen Vdd und DQ des Sensors bei Betrieb im Parasite-Mode. Empfehlenswert is hier ein kleiner Dreh-Poti von 5 kOhm, den man sich nach belieben einstellen kann.
  
 
=== Darf ich auch Verbesserungen einbauen bzw. den Source anpassen? ===
 
=== Darf ich auch Verbesserungen einbauen bzw. den Source anpassen? ===
Klar, nur zu, ist ja unter der GPL lizensiert! Falls Du der Meinung bist irgend jemand anderes könnte davon profitieren, dann kannst du die Veränderung veröffentlichen. Am besten als Patch mit einer ganz kurzen Beschreibung an die Mailingliste schicken.
+
Klar, nur zu, ist ja unter der GPL lizensiert! Falls Du der Meinung bist irgend jemand anderes könnte davon profitieren, dann kannst du die Veränderung veröffentlichen. Am [[Patches]] mit einer kurzen Beschreibung an die Mailingliste schicken, noch besser ist es aber mit einem Git Fork von ethersex zu arbeiten, dann können die Hauptentwickler einfach Änderungen übernehmen.
  
 
=== Wie teste ich neue Funktionen bevor ich die veröffentliche? ===
 
=== Wie teste ich neue Funktionen bevor ich die veröffentliche? ===
 
Das kann man mit dem [[autotest]] Tool recht einfach testen.
 
Das kann man mit dem [[autotest]] Tool recht einfach testen.
 +
 +
=== Printf zeigt bei Float/Double Werten nur Fragezeichen an, was läuft falsch? ===
 +
Standardmäßig wird eine Printf Library verwendet deren Fließkommaunterstützung ausgeschaltet wurde um Platz zu sparen.
 +
 +
Will man die Fließkommaunterstützung einschalten, muss folgende Zeile in der Datei "config.mk" im Ethersex Hauptverzeichnis hinzugefügt werden:
 +
LDFLAGS += -Wl,-u,vfprintf -lprintf_flt -lm
 +
Unter Umständen muss ein "make fullclean" erfolgen um die Objectfiles des Projektes neu zu generieren.
  
 
== Netzwerk ==
 
== Netzwerk ==
Zeile 106: Zeile 120:
  
 
Nicht vergessen die Firewall zu deaktivieren ;)
 
Nicht vergessen die Firewall zu deaktivieren ;)
 +
 +
=== USB-Software Stack - Was ist das und wie mache ich das? ===
 +
Der USB Software Stack ist ein in Software geschriebenes USB Netzwerk device. d.h. man kann mit minimalem Schaltungsaufwand sein ethersex mit der USB-Schnittstelle des Rechners verbinden und dann wie mit einem Netzwerkgerät IP Protokolle nutzen. (telnet, ping, ...) näherers dazu siehe [[USB#usbnet]]
 +
 +
=== MAC-Adresse - Wo steht die? ===
 +
Die MAC-Adresse ist die Ethernet-Adresse, die die Netzwerkschnittstelle eindeutig auf der physikalischen Schicht identifiziert. Die MAC-Adresse wird im EEPROM des Controllers abgelegt (der ENC-Chip hält keine Informationen über die MAC-Adresse). Daher kann sie beim Flashen frei gewählt werden - allerdings sollte man das nicht tun, sondern die MAC-Adresse verwenden, die der Hersteller des Controllerboards angegeben hat. Diese ist bereits eindeutig und wurde nur ein Mal, genau für dieses Board vergeben :-). Beim AVR Net-IO beispielsweise wurde auch eine entsprechende [http://www.coffer.com/mac_find/?string=00%3A22%3Af9|"Vendor ID"] verwendet.
  
 
== Support ==
 
== Support ==

Aktuelle Version vom 30. August 2011, 21:31 Uhr

Hier sollen häufig gestellte Fragen kurz beantwortet und auf vorhandene Wiki Seiten verwiesen werden. Zum Nachlesen wird http://www.mikrocontroller.net und insbesondere dessen Tutorial Seiten empfohlen.

Inhaltsverzeichnis

Hardware

Warum reagiert mein Ethersex so langsam bei der Ausgabe z.b. von "help"?

Folgendes versuchen:

  • Ethersex resetten
  • Netzwerk-Kabel austauschen/prüfen
  • Direktverbindung vom Rechner zum Ethersex testen (mit Cross-Over-Kabel)
  • Switch/Router austauschen
  • sofern verhanden: SD-Card in Reader einstecken/entfernen
  • neuste oder ungenutzte Module in menuconfig entfernen, neu kompilieren, flashen, testen
  • Minimalversion der Module aktivieren, kompilieren, flashen, testen
  • Community fragen

Ich möchte über das LAN die Serielle Schnittstelle weiterreichen, geht das?

Ja, mit YPort kann man SOL (Serial over LAN) machen. Im Handel auch als XPORT bekannt. Man kann hieraus auf dem Linux-Rechner sogar wieder ein device machen. Am einfachsten geht's mit socat:

socat PTY,link=/dev/YPort TCP:192.168.1.5:7970

Ich will keine Kauf-Hardware verwenden sondern selbst etwas mit einem AVR machen. Ist Ethersex trotzdem geeignet?

So genau kann man das gar nicht beantworten, einen Versuch ist es aber bestimmt wert. Am besten die Community fragen.

Der Einstieg ist mit Kaufhardware, von der man weiß, dass sie funktioniert, aber sicherlich einfacher.

Wie sehen die high fuse und low fuse Einstellungen aus?

Schau unter http://www.engbedded.com/fusecalc/

Ich habe Fragen zur seriellen Schnittstelle bzw. UART...

In Kürze:

  • man benötigt einen Pegelwandler z.b. den IC MAX232
  • einige ATMEGAs haben einen, anderen zwei UART Schnittstellen
  • es gibt Software UART, das erzeugt aber einiges an Prozessorlast
  • Ethersex unterstützt Software UART für tx

Schau am besten erstmal unter http://www.mikrocontroller.net/articles/AVR-Tutorial:_UART

Software

Was brauche ich um Ethersex zu kompilieren?

Hier sind die ersten Schritte beschrieben: Kategorie:StepByStep

Wir empfehlen diese Softwareversionen zu nutzen:

  • avr-libc 1:1.6.2 Standard C library for Atmel AVR development
  • binutils-avr 2.18-4 Binary utilities supporting Atmel's AVR targets
  • gcc-avr 1:4.3.3-1 The GNU C compiler (cross compiler for avr)

Neuere Versionen sind auch gut, bei älteren wird es bestimmt Probleme geben.

Welches Linux soll ich nehmen?

Den besten Support gibt es für ein Debian Derivat. z.b. Ubuntu, aber jedes andere Linux das den gcc-avr (Cross compiler for avr) unterstützt sollte auch funktionieren. Für detailierte Informationen, wie Paketnamen oder Unterschiede der Toolchains der einzelnen Distributionen hilft die Seite Voraussetzungen.

Ich habe kein Linux und möchte aus bestimmten Gründen Microsoft Windows benutzen. Was nun?

Microsoft Windows geht auch, mit WinAVR und Cygwin und einigen Einstellungen. so müssen noch einige Links angepasst werden:

/usr/lib/libcurses.a -> libncurses.a
/usr/lib/libcurses.dll.a -> libncurses.dll.a

Ich möchte meine aktuelle Konfiguration einfach jemanden mitteilen. Wie mache ich das?

Entweder mit "make show-config" oder gib eine eine Kopie deiner .config Datei. Sofern aktiviert, kann die Konfiguration auch mit http://ETHERSEXIP/conf auf dem Browser ausgegeben werden

Ethersex lässt sich nicht kompilieren, mache ich was falsch?

Meist liegt das daran das die speziellen PINNINGS für das eigene Projekt bzw. die benötigte Hardware noch nicht eingetragen sind. Mehr Infos dazu: Neue Hardware in Ethersex unterstützen

Warum bekomme ich keine Fehlermeldung aber auch kein "Final size of ethersex.bin is ..." beim make?

Versuch mal "make clean; make" um mit einem sauberen (clean) Zustand zu kompilieren.

Wie lautet die Portnummer für ECMD?

Die Portnummer ist normalerweise 2701, kann aber selbst eingestellt werden.

Ich kann die Portnummer fuer YPORT nicht finden?

Die Portnummer ist 7970

Wie stell ich den Baudrate von YPORT auf 9600?

In der Datei protocols/yport/yport.h folgendes anpassen

#define YPORT_BAUDRATE 115200

Oder in neueren Ethersex-Versionen einfach die menuconfig nutzen und die Baudrate entsprechend anpassen ;)

Your Image is too big for the selected chip...

Es gibt zwei Möglichkeiten:

  1. Image kleiner machen:
    • TEENSY nutzen (...ist damit der I2C Bootloader gemeint, der mit 256w auskommt?)
    • Deaktivieren nicht unbedingt benötigter Funktionen
    • In VFS INLINING nicht benötigte Seiten deaktivieren
    • ggf. VFS deaktivieren
  2. Microcontroller mit mehr Programmspeicher nutzen
    • z.B. ATmega32 statt ATmega16, oder ATmega644 statt ATmega32.

Warum ist die Temperatur von Onewire Sensoren (DS18S20) immer 85.0 Grad?

Das ist anscheindend die standard Temperatur. Mit dem Aufruf von "1w convert" wird die neue Temperatur gemessen und dann ausgelesen werden. Siehe auch Dallas_1-wire_Bus

Bei mir trat das Problem auf, wenn ich die Sensoren im Parasite Modus betrieben habe. Um dies zu umgehen, habe ich den Vdd vom Sensor direkt mit dem 5V der Platine verbunden. Der Widerstand zwischen Vdd und DQ vom Sensor bleibt.

Bekannt sind auch ähnliche Probleme, wenn mehrere Sensoren verwendet werden. evtl. hilft das reduzieren des Widerstandes zwischen Vdd und DQ des Sensors bei Betrieb im Parasite-Mode. Empfehlenswert is hier ein kleiner Dreh-Poti von 5 kOhm, den man sich nach belieben einstellen kann.

Darf ich auch Verbesserungen einbauen bzw. den Source anpassen?

Klar, nur zu, ist ja unter der GPL lizensiert! Falls Du der Meinung bist irgend jemand anderes könnte davon profitieren, dann kannst du die Veränderung veröffentlichen. Am Patches mit einer kurzen Beschreibung an die Mailingliste schicken, noch besser ist es aber mit einem Git Fork von ethersex zu arbeiten, dann können die Hauptentwickler einfach Änderungen übernehmen.

Wie teste ich neue Funktionen bevor ich die veröffentliche?

Das kann man mit dem autotest Tool recht einfach testen.

Printf zeigt bei Float/Double Werten nur Fragezeichen an, was läuft falsch?

Standardmäßig wird eine Printf Library verwendet deren Fließkommaunterstützung ausgeschaltet wurde um Platz zu sparen.

Will man die Fließkommaunterstützung einschalten, muss folgende Zeile in der Datei "config.mk" im Ethersex Hauptverzeichnis hinzugefügt werden:

LDFLAGS += -Wl,-u,vfprintf -lprintf_flt -lm

Unter Umständen muss ein "make fullclean" erfolgen um die Objectfiles des Projektes neu zu generieren.

Netzwerk

Warum kann ich mit ZBUS oder IP OVER RFM12 nicht mehr mein Ethersex anpingen?

Vermutlich hast Du die Netzwerkdevices die gleichen Subnetze gewählt, das kann Ethersex nicht routen. Hier ein korrektes Beispiel wie die Netmask aussehen könnte: ethernet: 10.0.0.190/24 zbus: 10.0.1.199/24

Wie kann ich das Syslog zur Debugausgabe nutzen?

  • entweder via contrib/syslog-listener
  • wireshark auf UDP Port 514 lauschen lassen

Nicht vergessen die Firewall zu deaktivieren ;)

USB-Software Stack - Was ist das und wie mache ich das?

Der USB Software Stack ist ein in Software geschriebenes USB Netzwerk device. d.h. man kann mit minimalem Schaltungsaufwand sein ethersex mit der USB-Schnittstelle des Rechners verbinden und dann wie mit einem Netzwerkgerät IP Protokolle nutzen. (telnet, ping, ...) näherers dazu siehe USB#usbnet

MAC-Adresse - Wo steht die?

Die MAC-Adresse ist die Ethernet-Adresse, die die Netzwerkschnittstelle eindeutig auf der physikalischen Schicht identifiziert. Die MAC-Adresse wird im EEPROM des Controllers abgelegt (der ENC-Chip hält keine Informationen über die MAC-Adresse). Daher kann sie beim Flashen frei gewählt werden - allerdings sollte man das nicht tun, sondern die MAC-Adresse verwenden, die der Hersteller des Controllerboards angegeben hat. Diese ist bereits eindeutig und wurde nur ein Mal, genau für dieses Board vergeben :-). Beim AVR Net-IO beispielsweise wurde auch eine entsprechende "Vendor ID" verwendet.

Support

Ich habe bereits alles Mögliche versucht und komme nicht weiter, was nun?

Am besten mal die Community fragen, entweder über die Mailingliste oder im Chat. Bei Mails am besten kurz aufschreiben welche Hardware man versucht aufzubauen und was man erreichen will, bzw. woran man scheitert. Auch die in menuconfig getroffene Konfiguration (d.h. die Datei .config) nebst eingestelltem Pinning sind dazu regelmäßig hilfreich.

Da fehlen noch Einträge im Wiki?!

Echt? Dann bist Du genau der Richtige um dieses Problem zu lösen. Seite anlegen, Text reinhacken und fertig. Nur keine falsche Scheu, das Wiki wird von einigen Personen gelesen. Wenn mal etwas nicht auf anhieb top ist, wird das sicherlich schnell korrigiert (:mrgreen:)

Bei Fragen oder Anregungen ist die Community immer für Dich da!

Verschiedenes

Warum heißt das Projekt Ethersex und was hat das mit Sex zu tun?

Ethersex ist die alternative Firmware für das von fd0 entwickelte etherrape. Da IPv6 unterstützt wird, wurde der Projektname lautsprachlich kombiniert -> Ethersex

Warum sind zwei aufeinander liegende Hasen das Logo?

Es musste ein Logo her, es gab eine Abstimmung und die Häschen haben gewonnen.