Forum: Mikrocontroller und Digitale Elektronik usb-avr910 unter linux mit avrdude klappt nicht...


von Prophet (Gast)


Lesenswert?

Hi,

ich versuche nun schon seit zwei Stunden meinen Programmer zum laufen zu 
bringen aber es will nicht klappen.

Ich verwende den USB-AVR910 : http://www.avr-projekte.de/isp.htm

Zum programmieren will ich avrdude verwenden. Ziel ist es meine hex 
datei auf einen ATmega16 zu bringen.

Ich habe schon folgendes versucht:
1.
1
setserial /dev/ttyUSB0 low_latency
2
avrdude -p m16 -P /dev/ttyUSB0 -c butterfly -U flash:w:main.hex
und
1
setserial /dev/ttyUSB0 low_latency
2
avrdude -p m16 -P /dev/ttyUSB0 -c avr109 -U flash:w:main.hex
Beides führte zu dieser ausgabe:
Connecting to programmer: .avrdude: butterfly_recv(): programmer is not 
responding

2.
1
setserial /dev/ttyUSB0 low_latency
2
avrdude -p m16 -P /dev/ttyUSB0 -c avr910 -U flash:w:main.hex
Das führte zu dieser ausgabe:
avrdude: avr910_recv(): programmer is not responding

Der port müsste richtig sein. Ich habe extra mit "dmesg | tail" 
nachgeguckt. Das führte zu dieser ausgabe:
1
[17198659.660000] usb 3-1: FTDI USB Serial Device converter now attached to ttyUSB1
2
[17198671.420000] ftdi_sio ttyUSB0: FTDI USB Serial Device converter now disconnected from ttyUSB0
3
[17198696.244000] usb 3-1: USB disconnect, address 3
4
[17198696.244000] ftdi_sio ttyUSB1: FTDI USB Serial Device converter now disconnected from ttyUSB1
5
[17198696.244000] ftdi_sio 3-1:1.0: device disconnected
6
[17198698.492000] usb 3-1: new full speed USB device using uhci_hcd and address 4
7
[17198698.696000] usb 3-1: configuration #1 chosen from 1 choice
8
[17198698.700000] ftdi_sio 3-1:1.0: FTDI USB Serial Device converter detected
9
[17198698.700000] drivers/usb/serial/ftdi_sio.c: Detected FT232BM
10
[17198698.700000] usb 3-1: FTDI USB Serial Device converter now attached to ttyUSB0

Ich habe auch schon versucht für -p ATmega16 einzusetzten aber das hat 
avrdude nicht angenomen.

Mein avrdude hat version 5.1.

Ich bin bis jetzt immer dieser Anleitung gefolgt:
http://www.klaus-leidinger.de/mp/Mikrocontroller/AVR-Prog/AVR-Programmer.html#avrdude
Aber das bringt mich alles nicht mehr voran.

Der Programmer funktioniert, er lief bereits erfolgreich unter 
Windows...

Ich habe auch schon versucht die ftdi treiber nachzuinstallieren. 
http://www.ftdichip.com/Drivers/VCP.htm
Aber die sind scheinbar nur für kernel der verion 2.4.x gedacht. Ich 
verwende 2.6.x dort sind die treiber scheinbar bereits enthalten. Wei 
gesagt wird das gerät ja sogar erkannt.

Hat einer hier eine idee was ich noch machen könnte? Oder warum es nicht 
funktioniert?

Gruß, Prophet

von fnah (Gast)


Lesenswert?

>avrdude -p m16 -P /dev/ttyUSB0 -c butterfly -U flash:w:main.hex
versuchs mal mit:
avrdude -p m16 -P /dev/ttyUSB0 -b 115200 -c butterfly -U 
flash:w:main.hex

von Ale (Gast)


Lesenswert?

Ich hatte diese Problem, gibt (mindestens) 2 Wäge:

- Ein andere Rechner (Wenn du hast die Xilinx Cable Drivers schon 
installiert)

- Deine user unter linux muss lesen/schreiben /dev/ttyUSB0/1 können

Beachten daß die neue Schnittstelle ist machmals /de/ttyUSB1 (sehe 
dmesg)

Avrdude gibt jetzt auf version 5.3.1 (versuch die alte avrdude.conf zu 
löschen, Alle !!!), und mit -p avr910 und default Baud-rate

- Versucht mit minicom die neue Schnittstelle zu öffnen, und etwas zu 
Hand senden, wenn es geht nicht, es ist sicher ein Treiber Problem. im 
prinzip du brauchst die Treiber von ftdi nicht, es kommt mit dem Kernel 
und geht.


von fnah (Gast)


Lesenswert?

>Avrdude gibt jetzt auf version 5.3.1
nett gemeint, aber dummerweise arbeitet die nicht mit avr910:
https://savannah.nongnu.org/bugs/?18803

ich bleib dabei, einzig die baudrate ist falsch! kann man in der 
avrdude.conf eintragen, oder halt mit -b <baudrate> angeben.

von Ale (Gast)


Lesenswert?

Ich habe avrdude 5.3.1 in meine Linux Rechner installiert, und ich habe 
ein avr910 kompatible (von myAVR) brenner, und es fuktioniert. Ich 
bekomme auch diese lfuse error, aber trozdem es geht (mit -u, bekomme 
ich keine Fehler mehr) (Aber es ist ja lagsamer als mit parallel port, 
ich habe mit dem Baudrate noch nicht gespielt).

Trozdem, er darft versuchen ob die Schnittstelle funktionirt mit minicom 
(o.a,)

von Prophet (Gast)


Lesenswert?

Vielen vielen Dank!

Es lag an der Baudrate. Mit deiner Einstellung klappt es, danke!

von Prophet (Gast)


Lesenswert?

Ich habe es jetzt auch auf macosx versucht. Dort habe ich über die 
macports avrdude in version 5.3.1 installiert. Wenn ich jetzt den befehl 
zu programmieren gebe:
1
avrdude -p m16 -P /dev/tty.usbserial-FTPPBOL4 -b 115200 -c avr910 -U flash:w:main.hex
Passiert der bereits erwähnte fehler:
1
avrdude: Device signature = 0x1e9403
2
3
avrdude: safemode: Verify error - unable to read lfuse properly. Programmer may not be reliable.
4
5
avrdude: safemode: To protect your AVR the programming will be aborted
Wie kann ich diesen umgehen/beheben?

Gruß, Prophet

von fnah (Gast)


Lesenswert?

>Es lag an der Baudrate.
:)

>avrdude: [...] Programmer may not be reliable.
>Wie kann ich diesen umgehen/beheben?
downgraden auf eine version <5.3.1
siehe Beitrag "linux + avrdude + avr910-nachbau"

von P. P. (prophet)


Lesenswert?

Schade ich dachte schon das ich das anders hinbekomme, weil so muss ich 
mir avrdude selber kompilieren. Danke!

von P. P. (prophet)


Lesenswert?

Hat einwandfrei funktioniert. Habe version 5.2 kompiliert und alles 
klappt :)

von Klaus L. (kllei)


Lesenswert?

Hallo,

das Problem liegt am geänderten auslesen der Fusebits in avrdude 5.3.1, 
ich werde mir mal den Bugreport anschauen.

Wenn nur Flash programmiert werden soll (das oben beschriebene Problem) 
hilft der -u switch von avrdude. Der schaltet das sichern der Fuses ab 
und dann funktioniert es auch mit 5.3.1.

Lesen oder schreiben der Fusebits geht aber natürlich nicht.

Viele Grüße,
Klaus

von P. P. (prophet)


Lesenswert?

Danke aber dann benutzte ich lieber eine alte version, die die selbe 
funktionalität bietet ohne mich einzuschränken. :)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.