mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik avrdude Lucid 10.4 ioctl Berechtigungen


Autor: Marius (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin!

Ich möchte gern Eclipse mit den AVR Plugins verwenden. Diese habe ich 
installiert. Allerdings scheint avrdude ioctl Fehler unter Ubuntu Lucid 
10.4 mit 2.6.32-22-generic zu haben.

Es geht um einen AVR JTAG ICE mkII und einen ATMega 2560.
% sudo avrdude -pm2560 -cjtag2 -Uflash:w:Sensor.hex:a
avrdude: ser_open(): can't set attributes for device "/dev/ttyS0": Inappropriate ioctl for device

Ich hatte trotzdem an einen ioctl Fehler gedacht:

sudo vim /etc/udev/rules.d/80-usbprog.rules - mit Zeilennummern:
  1 TTR{idVendor}=="03eb", ATTR{idProduct}=="2104", GROUP="plugdev", MODE="0660" # AVRISP mkII
  2 ATTR{idVendor}=="03eb", ATTR{idProduct}=="2107", GROUP="plugdev", MODE="0660" # AVR-Dragon
  3 ATTR{idVendor}=="03eb", ATTR{idProduct}=="2103", GROUP="plugdev", MODE="0660" # JTAG ICE mkII
  4 ATTR{idVendor}=="03eb", ATTR{idProduct}=="2106", GROUP="plugdev", MODE="0660" # STK600
  5 ATTR{idVendor}=="16c0", ATTR{idProduct}=="05dc", GROUP="plugdev", MODE="0660" # USBASP von www.fischl.de
  6 ATTR{idVendor}=="03eb", ATTR{idProduct}=="2ffa", GROUP="plugdev", MODE="0660" # AT90USB
  7 ATTR{idVendor}=="10c4", ATTR{idProduct}=="ea60", GROUP="plugdev", MODE="0660" # AVR910
  8 ATTR{idVendor}=="0403", ATTR{idProduct}=="6001", GROUP="plugdev", MODE="0660" # Future Technology Devices International
% lsusb

Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 026: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Bus 003 Device 025: ID 03eb:2103 Atmel Corp. JTAG ICE mkII
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 003: ID 04f2:b1b4 Chicony Electronics Co., Ltd 
Bus 002 Device 002: ID 0bda:0158 Realtek Semiconductor Corp. Mass Storage Device
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 004: ID 14cd:6500 Super Top 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Sowohl als root, als auch als User - selbiges Problem. Unter Windows mit 
AVR Studio in einer VM (ist aus) funktioniert alles.
Weiß jemand was man da machen muss um in den Genuss von Eclipse AVR mit 
der Linux Toolchain zu kommen?

Danke ;),
Marius

Autor: Hc Zimmerer (mizch) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> avrdude: ser_open(): can't set attributes for device "/dev/ttyS0"

Die Fehlermeldung zeigt deutlich, dass avrdude versucht, über den 
seriellen Port zu verbinden.  Was Du sonst geschrieben hast, deutet aber 
darauf hin, dass Du USB zum Verbinden benutzt hast.

Dann solltest Du das dem avrdude auch sagen (-P usb).

Autor: Marius (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ah, das ist richtig.

avrdude -pm2560 -cjtag2 -P usb -Uflash:w:Sensor.hex:a

avrdude: jtagmkII_program_enable(): bad response to enter progmode command: RSP_ILLEGAL_JTAG_ID
avrdude: jtagmkII_program_enable(): bad response to enter progmode command: RSP_ILLEGAL_JTAG_ID
avrdude: JTAGEN fuse disabled?
avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.


avrdude done.  Thank you.

Das bringt mich schon mal einen Schritt weiter, aber leider immer noch 
nicht zum Ziel.

Autor: Hc Zimmerer (mizch) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist denn die JTAG-Fuse programmiert?

Falls ja, beschreibe mal Deine Hardware (Schaltplan inklusive des 
JTAG-Verbinders), hänge an Deine Kommandozeile ein -v an und poste das 
Ergebnis samt der kompletten Kommandozeile.

Autor: Marius (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sers!

Ich bin leider noch recht neu in der Thematik.
Daher hab ich das einfach aus den Eclipse Frontends für die AVR GCC 
Toolchain und avrdude heraus konfiguriert.
Der verbose-Output für avrdude ist:

% avrdude -pm2560 -cjtag2 -P usb -Uflash:w:Sensor.hex:a -v

avrdude: Version 5.10, compiled on Mar 23 2010 at 15:05:31
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is "/etc/avrdude.conf"
         User configuration file is "/home/wishi/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : usb
         Using Programmer              : jtag2
avrdude: usbdev_open(): Found JTAGICE mkII, serno: 070000003585
JTAG ICE mkII sign-on message:
Communications protocol version: 1
M_MCU:
  boot-loader FW version:        255
  firmware version:              6.06
  hardware version:              0
S_MCU:
  boot-loader FW version:        255
  firmware version:              6.06
  hardware version:              1
Serial number:                   07:00:00:00:35:85
Device ID:                       JTAGICEmkII
         AVR Part                      : ATMEGA2560
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PA0
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65    10     8    0 no       4096    8      0  9000  9000 0x00 0x00
           flash         65    10   256    0 yes    262144  256   1024  4500  4500 0x00 0x00
           lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : JTAGMKII
         Description     : Atmel JTAG ICE mkII
         M_MCU hardware version: 0
         M_MCU firmware version: 6.06
         S_MCU hardware version: 1
         S_MCU firmware version: 6.06
         Serial number:          07:00:00:00:35:85
         Vtarget         : 3.4 V
         JTAG clock      : 891.7 kHz (1.1 us)

avrdude: jtagmkII_program_enable(): bad response to enter progmode command: RSP_ILLEGAL_JTAG_ID
avrdude: retrying with external reset applied
avrdude: jtagmkII_program_enable(): bad response to enter progmode command: RSP_ILLEGAL_JTAG_ID
avrdude: JTAGEN fuse disabled?
avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.


avrdude done.  Thank you.

Ich wüsste jetzt nicht was ich da setzen soll... meine Erfahrungen sind 
bisher mit AVR Studio: klicken, geht.

Autor: Hc Zimmerer (mizch) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich sehe da auf Anhieb keinen Fehler (was nicht viel heißen muss).

Das Nachfolgende kann ich nicht selbst ausprobieren, denn ich habe 
derzeit keine Hardware hier.  Also kann der eine oder andere Fehler drin 
sein.

Ruf' mal auf:
avrdude -pm2560 -cjtag2 -P usb -Uflash:w:Sensor.hex:a -t

(das sollte avrdude in den Terminal Mode versetzen)
und tippe dann ein:
dump efuse 0 0
dump hfuse 0 0
dump lfuse 0 0
quit

um den Stand der Fuses zu sehen.

Autor: Hc Zimmerer (mizch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oben ist ein Fehler (und ich kann es nicht nachkorrigieren - das Forum 
hatte mich ausgeloogt).  In der avrdude-Kommandozeile ist das 
„-Uflash:w:Sensor.hex:a“ zu viel.

Autor: Marius (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank für die Hilfe.

Ich weiß nicht warum... aber es funktioniert jetzt :). Es hatte auch 
nichts mit den Fuses oder mit Pins zu tun, nichts mit udev oder Linux. 
Fnord.

avrdude hat die Fuses - wie es für mich aussieht - in der globalen 
config in /etc/avrdude.conf.

Ich denke ich muss mal zusehen, dass ich mir ein zuverlässigeres Board 
löte. :)

Autor: Michael Z. (zellm)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich glaube, ich werde gerade von einem Ähnlichen Problem geplagt.

Ich verwende Ubuntu 10.04, avrdude 5.10 und AVR8 Burn o Mat 2.1.1.

Folgende Zeilen Spuckt mein AVR8 Burn o Mat aus:
/usr/bin/avrdude -C /usr/local/etc/avrdude.conf -p m8 -P /dev/stk600 -c stk600  -U flash:r:/home/michael/test.h:a 
avrdude: ser_open(): can't set attributes for device "/dev/stk600": Inappropriate ioctl for device
Dazu Popt ein Fenster mit der Meldung: "Error reading Flash!" auf.

Den Burn o Mat starte ich mit sudo über das Terminal.

hat jemand eine Idee zur Behebung des Problems?

@ Marius: Konntest du die Ursache für deine Fehlfunktion nachträglich 
noch ermitteln?

Vielen Dank im Voraus

Gruß Michael

//EDIT: ich vergaß zu erwähnen, dass ich für mein STK600 folgende 
udevrule angelegt habe:
ATTR{idVendor}=="03eb", ATTR{idProduct}=="2106", GROUP="users", MODE="0777", NAME="stk600" # STK600

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.