USB-JTAG unter Linux

Gast #1525102
Lesenswert?

Ich habe mir aus China ein günstiges USB-JTAG-Interface für 
AVR-Mikrocontroller kommen lassen.

Der Kasten hat nur 3 LED's (grün-gelb-rot), mitgeliefert wurde eine 
Mini-CD, deren RAR-Archiv mehrere Dateien auf FTDI* beinhalteten.

Daraus schloß ich, daß ich das ftdi_sio-Kernelmodul bräuchte.

Mein Problem ist wie folgt: ich bekomme weder avarice noch avrdude dazu, 
den Adapter zu nutzen.

Ein "avarice -2 -j usb" in allen erdenklichen Kombinationen führt nur zu 
einem 'did not find any USB device "usb"'.


AVR-DUDE verhält sich ähnlich: ein "avrdude -c jtag2 -P usb -v -p m16"
vermeldet nur: 'avrdude: usbdev_open(): did not find any USB device 
"usb"'

Der Adapter offenbart sich über lsusb -v wie folgt:
 idVendor           0x0807
  idProduct          0x8001
  bcdDevice            4.00
  iManufacturer           1 LSTX
  iProduct                2 USB<==>JTAG ICE
  iSerial                 3 LSR6LPSK
...
     bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              2 USB<==>JTAG ICE

Wie bekomme ich das Teil zum laufen?
Gast #1525133
Lesenswert?

Hab jetzt eine udev-Regel zum Einbinden eingerichtet:
SUBSYSTEM=="usb", SYSFS{idVendor}=="0807", SYSFS{idProduct}=="8001", 
MODE="0666", SYMLINK+="avrjtag"

Nun habe ich ein /dev/avrjtag aber das mag avarice auch nicht:
"AVaRICE version 2.10, Dec 18 2009 16:10:11

Defaulting JTAG bitrate to 250 kHz.

JTAG ICE communication failed: Inappropriate ioctl for device"
Grrrrr......
#1525153
Lesenswert?

Soweit ich aus Netzinfo erkennen kann ist avarice ein Programm zur
Kommunikation mit
  JTAG ICE mkI
  JTAG ICE mkII
  AVR Dragon.
Die mitgelieferte CD suggeriert jedoch einen FTDI-Chip. Wenn es der 
FT232 ist, dann arbeitet das JTAG Interface über einen 
USB/Serial-Konverter und den müsste das Linux eigentlich als serielle 
Schnittstelle erkennen. Dann wäre eher dieses /dev/ttyS* das Device für 
avarice.

Vendor 0807 scheint aber nicht FTDI zu sein.
#1525202
Lesenswert?

Ok, dann könnte das eine Variation eines JTAG ICE mkI sein, denn der 
besteht aus einem Mega16, angesprochen über dessen serielle 
Schnittstelle. Dann wär's jetzt an der Zeit, dem FTDI Treiber von Linux 
die gezeigte ID beizubringen, damit die dafür nötige serielle 
Schnittstelle auftaucht.
Gast #1525209
Lesenswert?

Das mit dem mkI ist eine wichtige Information. Ich schau mal nach, was 
ich über den FTDI-Treiber so rausbekomme. Ein modprobe lädt ihn einfach, 
ansonsten passiert nichts.

Anscheinend erkennt er die ID des Chips nicht, oder?
#1525223
Lesenswert?

Rolf S. schrieb:

> In der PDF steht's ja - es sind Modulparameter. Weiß jemand die
> Vendor/Product-ID von einem mkI?

Kriegt man im Internet raus, aber diese ID hat er nicht. Nimm das Brett 
vorm Kopf weg, ist dein eigener Text:

Der Adapter offenbart sich über lsusb -v wie folgt:
 idVendor           0x0807
 idProduct          0x8001

Das ist die ID die er hat und folglich die ID unter der der FTDI 
Treiber ihn finden wird.
Gast #1525233
Lesenswert?

JAAAA!!!!
"usb 6-1: FTDI USB Serial Device converter now attached to ttyUSB0"

Für's Protokoll: ich habe die Datei
/etc/udev/rules.d/99-usbftdi.rules

mit dem Inhalt
SYSFS{idProduct}=="8001", SYSFS{idVendor}=="0807", RUN+="/sbin/modprobe 
-q ftdi_sio product=0x8001 vendor=0x0807"

Nebenbei habe ich gelernt wie man mittels udev beim Einstecken von 
Geräten Kommandos ausführt - eine gute Möglichkeit für Streiche....

Wenn jedesmal "igitt!" aus dem Lautsprecher tönt wenn die Webcam oder 
ein USB-Stick angesteckt wird...
Gast #1525236
Lesenswert?

"rules.d # avarice -1 -j /dev/ttyUSB0
AVaRICE version 2.10, Dec 18 2009 16:10:11

Defaulting JTAG bitrate to 250 kHz.

JTAG config starting.
Hardware Version: 0xc1
Software Version: 0x80
Reported JTAG device ID: 0x9403
Configured for device ID: 0x9403 atmega16
JTAG config complete."

:-) :-) :-) :-)

Dann kann ich endlich in der Weihnachtszeit mal auf dem 
Experimentierbrett spielen.....

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren