Versuche mal, deinen avrdude-Befehl als Root auszuführen, also warscheinlich "sudo make program".
Falls es dann geht, ist es nur noch ein Rechte-Problem
Hallo an alle,
ich habe mir vor kurzem aus dem Shop diesen vermeintlich unter avrdude funktionierenden ISP Programmer gekauft. Leider funktioniert der Programmer nicht. Der Haken an der ganzen Sache scheint bei mir allerdings zu sein, dass ich Ubuntu mit avrdude Version 5.11.1 nutze. So viel zum ThemaZitat von robotikhardware.de
Avrdude gibt mir folgende Fehlermeldung aus:
Viel merkwürdiger ist allerdings, dass der originale Atmel AVR ISP MKII bei mir problemlos nach Erstellen der udev-Regeln funktioniert. Aha, deshalb alsoCode:avrdude: usb_open(): cannot read serial number "error sending control message: Connection timed out" avrdude: usb_open(): cannot read product name "error sending control message: Connection timed out" avrdude: usbdev_open(): Found [unnamed product], serno: [unknown] avrdude: usbdev_open(): error setting configuration 1: could not set config 1: Connection timed out avrdude: usbdev_open(): did not find any USB device "usb"
Anders als hier erläutert, wird der Diamex Programmer bei mir aber nicht ausgeworfen, lsusb liefert kontinuierlich beim Diamex ProgrammerZitat von robotikhardware.de
und beim Atmel Originalprogrammer
Was genau kann ich nun tun, damit ich den Programmer auch unter Ubuntu nutzen kann? Oder ist das schlicht nicht möglich?
Grüße
Jan
Versuche mal, deinen avrdude-Befehl als Root auszuführen, also warscheinlich "sudo make program".
Falls es dann geht, ist es nur noch ein Rechte-Problem
Hi,
danke für Deine Antwort.
Hab’s ausprobiert; auch dann kommen diese Fehlermeldungen.
Grüße
Hmm, schade..
Könntest du mal die Parameter zeigen, mit denen du avrdude aufrufst? (bzw. das Makefile, falls du eines benutzt)
Hi,
ich nutze das Makefile der u8glib.
Code:# # Generic and Simple Atmel AVR GNU Makefile # # Desinged for the gnu-avr tool chain # # Copyright (c) 2012 Oliver Kraus (olikraus@gmail.com) # # Redistribution and use in source and binary forms, with or without modification, are # permitted provided that the following conditions are met: # # * Redistributions of source code must retain the above copyright notice, this list of # conditions and the following disclaimer. # * Redistributions in binary form must reproduce the above copyright notice, this list # of conditions and the following disclaimer in the documentation and/or other materials # provided with the distribution. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS # IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR # PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # # Features # - upload # - create exe from library # - create assembler listing (.dis) # # Limitations # - only C-files supported # - no automatic dependency checking (call 'make clean' if any .h files are changed) # # Targets: # make # create hex file, no upload # make upload # create and upload hex file # make clean # delete all generated files # # Note: # Display list make database: make -p -f/dev/null | less # User defined values TARGETNAME = robocup MCU:=atmega2560 F_CPU:=16000000 WORKDIR:=. U8GM2DIR:=u8g SYSDIR:=sys # Type: "avrdude -c ?" to get a full listing. AVRDUDE_PROGRAMMER := avrispmkii # com1 = serial port. Use lpt1 to connect to parallel port. AVRDUDE_PORT := USB # Replace standard build tools by AVR tools CC = avr-gcc AR = @avr-ar # Compile all .c files in all directories SRC = $(shell ls $(WORKDIR)/*.c 2>/dev/null) SRC += $(shell ls $(U8GM2DIR)/*.c 2>/dev/null) SRC += $(shell ls $(SYSDIR)/*.c 2>/dev/null) # Flags for the linker and the compiler COMMON_FLAGS = -DF_CPU=$(F_CPU) -mmcu=$(MCU) $(DOGDEFS) COMMON_FLAGS += -I$(WORKDIR) -I$(U8GM2DIR) -I$(SYSDIR) COMMON_FLAGS += -g -Os -Wall -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums COMMON_FLAGS += -ffunction-sections -fdata-sections -Wl,--gc-sections COMMON_FLAGS += -Wl,--relax -mcall-prologues CFLAGS = $(COMMON_FLAGS) -std=gnu99 -Wstrict-prototypes OBJ = $(SRC:.c=.o) .SUFFIXES: .elf .hex .dis # Targets .PHONY: all all: $(TARGETNAME).dis $(TARGETNAME).hex avr-size $(TARGETNAME).elf .PHONY: flash flash: $(TARGETNAME).dis $(TARGETNAME).hex avrdude -F -p $(MCU) -P $(AVRDUDE_PORT) -c $(AVRDUDE_PROGRAMMER) -B 1 -v -v -U flash:w:$(TARGETNAME).hex avr-size $(TARGETNAME).elf .PHONY: clean clean: $(RM) $(TARGETNAME).hex $(TARGETNAME).elf $(TARGETNAME).a $(TARGETNAME).dis $(OBJ) # implicit rules .elf.hex: avr-objcopy -O ihex -R .eeprom $< $@ # explicit rules $(TARGETNAME).elf: $(TARGETNAME).a($(OBJ)) $(LINK.o) $(COMMON_FLAGS) $(TARGETNAME).a $(LOADLIBES) $(LDLIBS) -o $@ $(TARGETNAME).dis: $(TARGETNAME).elf avr-objdump -S $< > $@
Sollte eigentlich passen, vor allem auch weil du schreibst, dass der originale Atmel AVR ISP MKII bei dir funktioniert.
Folgender Thread könnte sehr interessant sein: http://www.mikrocontroller.net/topic/226307
Anscheinend haben alte Firmwareversionen des Programmers Probleme mit USB 2.0
Hi,
ich habe auch diesen AVR Programmer im Einsatz. Zeitweise hatte ich dann auch das AVR-Studio Original im Einsatz, welcher mir aber defekt ging.
Nach einem Update des ALL-AVR Programmers (schau mal bei Reichelt nach, die habe die aktuelle Firmware hinterlegt), ging mein
ALL-AVR auch unter Ubuntu und sogar in einer VMWare, wo ich AVR Studio verwende.
Gruss R.
Kaum macht man es richtig, schon funktioniert's ...
Hi,
bin nun endlich dazu gekommen, das mal auszuprobieren.
Die BIOS-Version des Programmers war in der Tat noch Version 1.5.0 (aktuell war 1.8.0, hier herunterzuladen (bei Reichelt habe ich die aktuelle Version nicht gefunden)), das habe ich auch unter Windows geupdated, geholfen hat es allerdings nicht. Erst, als ich diesen Thread bei mikrocontroller.net noch einmal durchgelesen habe, auf diesen Beitrag gestoßen bin und den Anweisungen mehr oder weniger gefolgt bin, hat das ganze funktioniert. Die Datei 39-libmtp.rules heißt lediglich bei mir 69-libmtp.rules und die auszukommentierende Zeile befindet sich nicht wie dort beschrieben in Zeile 735, sondern in Zeile 884 (alternativ einfach in der Datei nach "00|02|" suchen, das gibt es nur in der Zeile). Danach muss der Computer neugestartet werden! Ob das ganze ohne Update des Programmers funktioniert hätte, kann ich nicht sagen.
Danke auf jeden Fall und
Grüße
Jan
Uff das hat mich vielleicht Nerven gekostet, aber das mit dem Auskommentieren der Zeile die mit "ENV{ID_MTP_DEVICE}!="1",....." beginnt in "/lib/udev/rules.d/39-libmtp.rules" hat zum Erfolg geführt.
Schade finde ich wenn man schon 30Euro bezahlt das http://www.diamex.de/ nicht mal das Teil für Linux sauber programmieren kann. Klaar das Teil wird explizit nur für Windows angeboten, aber so ein Fehler.....
Na ja jetzt klappt es ja.
Sorry, aber wie erwähnt ist er nur für Windows angeboten und selbst das Atmel Studio erkennt ihn einwandfrei (und das macht OFT Probleme mit Programmern). Und 30 bits für einen Programmer der 10 und 6-pol. Anschluss hat und fast jeden AVR programmieren kann ist wirklich ein Schnäppchen.
mfg
Lesezeichen