FAQ: Unterschied zwischen den Versionen
(→Ethersex lässt sich nicht kompilieren, mache ich was falsch?) |
Warhog (Diskussion | Beiträge) (→Software) |
||
(8 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]]. |
− | |||
=== 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 75: | Zeile 74: | ||
In der Datei protocols/yport/yport.h folgendes anpassen | In der Datei protocols/yport/yport.h folgendes anpassen | ||
#define YPORT_BAUDRATE 115200 | #define YPORT_BAUDRATE 115200 | ||
− | Oder in | + | Oder in neueren Ethersex-Versionen einfach die menuconfig nutzen und die Baudrate entsprechend anpassen ;) |
− | === Your Image is too big for the selected chip... | + | === 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 |
− | + | #* 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 | + | 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 110: | Zeile 123: | ||
=== USB-Software Stack - Was ist das und wie mache ich das? === | === 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]] | 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
- 1 Hardware
- 1.1 Warum reagiert mein Ethersex so langsam bei der Ausgabe z.b. von "help"?
- 1.2 Ich möchte über das LAN die Serielle Schnittstelle weiterreichen, geht das?
- 1.3 Ich will keine Kauf-Hardware verwenden sondern selbst etwas mit einem AVR machen. Ist Ethersex trotzdem geeignet?
- 1.4 Wie sehen die high fuse und low fuse Einstellungen aus?
- 1.5 Ich habe Fragen zur seriellen Schnittstelle bzw. UART...
- 2 Software
- 2.1 Was brauche ich um Ethersex zu kompilieren?
- 2.2 Welches Linux soll ich nehmen?
- 2.3 Ich habe kein Linux und möchte aus bestimmten Gründen Microsoft Windows benutzen. Was nun?
- 2.4 Ich möchte meine aktuelle Konfiguration einfach jemanden mitteilen. Wie mache ich das?
- 2.5 Ethersex lässt sich nicht kompilieren, mache ich was falsch?
- 2.6 Warum bekomme ich keine Fehlermeldung aber auch kein "Final size of ethersex.bin is ..." beim make?
- 2.7 Wie lautet die Portnummer für ECMD?
- 2.8 Ich kann die Portnummer fuer YPORT nicht finden?
- 2.9 Wie stell ich den Baudrate von YPORT auf 9600?
- 2.10 Your Image is too big for the selected chip...
- 2.11 Warum ist die Temperatur von Onewire Sensoren (DS18S20) immer 85.0 Grad?
- 2.12 Darf ich auch Verbesserungen einbauen bzw. den Source anpassen?
- 2.13 Wie teste ich neue Funktionen bevor ich die veröffentliche?
- 2.14 Printf zeigt bei Float/Double Werten nur Fragezeichen an, was läuft falsch?
- 3 Netzwerk
- 4 Support
- 5 Verschiedenes
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:
- 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
- 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.