# Arduino mit Gentoo  - gelöst

## Puschi

Hallo,

hat jemand von Euch die Arduino-Entwicklungsumgebung " dev-embedded/arduino 1.0.3-r1" unter AMD64 mit Multilib zum laufen bekommen?

Ich habe da einige Schwierigkeiten. 

Ich habe das ebuild "dev-embedded/arduino 1.0.3-r1" mit doc und examples als USE-Variablen installiert

Die Installation selbst funktioniert soweit. Aber offensichtlich wird die Toolchain für avr nicht ordnungsgemäß gebildet. 

Außerdem sind die Beispiele unter /usr/share/doc/arduino/examples noch gepackt und werden in der Entwicklungsumgebung nicht angezeigt. (nach entpacken sind sie sichtbar)

Ebenso sind die Links für Hilfe und Referenz aus der Entwicklumngsumgebung nicht richtig. ( in /usr/shar/doc/arduino statt /usr/share/arduino)

Die Arduino-Umgebung kann ich starten. Ebenso das Board und die serielle Schnittstelle auswählen. (Serielle Treiber im Kernel aktiviert und funktionsfähig)

Beim kompilieren der Beispiele bekomme ich immer den Fehler das er den gcc-avr nicht finden kann.

Habe schon unter "http://playground.arduino.cc//Linux/Gentoo" und hier im englischen Forum gesucht aber nicht die richtige Lösung gefunden.

Fehler scheint ja die cross-avr/avr-libc-1.8.0 zu sein, Mit Version 1.7.1 solles wohl gehen. siehe "http://arduino.cc/forum/index.php/topic,93672.0.html"

Habe nun mehrere Varianten durchprobiert, allerdings mit geringen Erfolg. Leider nur neue Fehlermeldungen. Zwar genau in der Reihenfolge wie in den Beiträgen beschrieben 

aber eben nicht funktionsfähig.

Hänge da ein wenig in der Luft.

Gibt es sonst unter 32-Bit die gleiche Probleme oder nur unter 64-bit mit multilib?

PuschiLast edited by Puschi on Thu Feb 14, 2013 7:18 pm; edited 2 times in total

----------

## syn0ptik

>Gibt es sonst unter 32-Bit die gleiche Probleme oder nur unter 64-bit mit multilib? 

nein,

Du notig treiber stütze.

CONFIG_IA32_EMULATION

----------

## Puschi

Problem gelöst !!!!!!!!!!

Ich habe einen Weg gefunden die Arduino-Entwicklungsumgebung auf meinem 64-Bit-Gentoo-Multilib-System funktionsfähig zu installieren.

Dazu ist kein crossdev, keine avr-toolchain und kein avrdude notwendig.

1. "jre-6u39-linux-x64.bin" von "http://www.oracle.com/technetwork/java/javase/downloads/jre6downloads-1902815.html" downladen und in /usr/portage/distfiles kopieren

2. "emerge -avq sun-jre-bin" mit angezeigten Abhängigkeiten installieren.

3. Nutzer den Gruppen tty und uucp zuweisen, 

    gpasswd -a "Nutzername" tty uucp

4. Kernel konfigurieren, mit "Device Drivers -> USB support -> USB Serial Converter support -> USB FTDI Single Port Serial Driver" (für ältere Arduinos)

                                        "Device Drivers -> USB support -> USB Modem (CDC ACM) support"                                                    ( für Uno und meinen Mega 2560 )

5. dann "arduino-1.5.2-linux64.tgz" von der Seite "http://arduino.cc/en/Main/Software" unter Arduino 1.5.2, dann Linux und 64 bit laden und zB. nach /opt/arduino entpacken.

6. Das Startscript liegt unter /opt/arduino. Mit sh /opt/arduino/arduino kann man das Programm starten bzw in sein Startmenü eintragen.

7. Die Arduino-Entwicklungsumgebung startet bei mir in deutscher Sprache, mit Beispielen und Bibliotheken und lokalen Referenzen und funktioniert wunderprima!!!!!!!

    Unter Werkzeuge->Board den entsprechenden Arduino auswählen, bei mir der Mega 2560, und unter Werkzeuge->serieller Port die Schnittstelle wählen = /dev/ttyACM0.

8. Nach dem ersten Start wird im Home des Nutzers der Ordner .arduino erstellt. Dort die Datei preferences.txt editieren. 

    zb. Webbrowser für Reference und Links aus dem Programmcode, bei mir "browser=mozilla" nach "browser=qupzilla" bzw "browser.linux=mozilla" nach "browser.linux=qupzilla"

So das war alles. Kein crossdev, keine avr-Toolchain, kein avrdude und es funktioniert trotzdem. Es ist alles in /opt/arduino enthalten.

Arduino 1.5.2 ist eine Beta-version, aber benutzbar wie vieles unter Linux.

Ich hoffe machen von Euch hiermit helfen zu können, den nach der Anzahl der Views war das Interresse nicht gerade gering.

Gruß Puschi

----------

## syn0ptik

nachdem anschließen arduino von usb diese schaffen /dev/ttyUSB0 ?

welchen kernel configuration du betray

----------

## Puschi

Hallo synOptik,

Usbport ist /dev/ttyACM0.

%lsusb -> Bus 003 Device 005: ID 2341:0010 Arduino SA Mega 2560 (CDC ACM)

%dmesg | tail ->

usb 3-1: Manufacturer: Arduino (www.arduino.cc)

usb 3-1: SerialNumber: 75237333536351209192

usb 3-1: usb_probe_device

usb 3-1: configuration #1 chosen from 1 choice

usb 3-1: adding 3-1:1.0 (config #1, interface 0)

cdc_acm 3-1:1.0: usb_probe_interface

cdc_acm 3-1:1.0: usb_probe_interface - got id

cdc_acm 3-1:1.0: ttyACM0: USB ACM device

usb 3-1: adding 3-1:1.1 (config #1, interface 1)

hub 3-0:1.0: state 7 ports 2 chg 0000 evt 0002

im Kernel mit 

"Device Drivers -> USB support -> USB Modem (CDC ACM) support" ( für Uno und meinen Mega 2560 ) 

"Device Drivers -> USB support -> USB Serial Converter support -> USB FTDI Single Port Serial Driver" (für ältere Arduinos)

Man kann mit Udev-Regeln den Seriellen Port nach /dev/ttyUSB0 ändern, muß man aber nicht.

Wenn man sich nicht sicher ist, die IDE starten, ohne den Arduino anzuschließen. Unter tools->serielle ports schauen was angeboten wird. ( meist /dev/ttyS0 )

Dann den Arduino an den USB-Port anschließen und nochmals unter tools->serielle ports schauen. Die Schnittstelle die jetzt neu dazugekommen ist ist die richtige. 

Der Name ist dabei nebensächlich.

hoffe ich konnte helfen

Puschi

----------

