Forum: Mikrocontroller und Digitale Elektronik USB-JTAG unter Linux


von Rolf S. (Gast)


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?

von Christoph S. (mixer) Benutzerseite


Lesenswert?

Hallo,

wenn da ein FTDI-Chip verbaut ist dann sollte dein PC beim Anstecken 
einen virtuellen Com-Port öffnen.

Dann musst du auch diesen Port avrdude mitteilen und nicht eine 
USB-Schnittstelle.

MFG Mixer

von Rolf S. (Gast)


Lesenswert?

Ah, das ist eine heiße Spur! Danke!

von Rolf S. (Gast)


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......

von (prx) A. K. (prx)


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.

von Rolf S. (Gast)


Lesenswert?

Leider keine Reaktion auf die bestehenden 4, es werden auch keine neuen 
ttyS* angelegt....

von (prx) A. K. (prx)


Lesenswert?

Kein Wunder bei der ID. Zu Atmel passt diese ID allerdings genauso 
wenig. Was immer das ist, ein 100% Klon eines Atmel JTAG ist es wohl 
nicht.

Hat der Verkäufer irgendwas von Linux erzählt, oder war das deine 
unausgesprochene Hoffnung?

von (prx) A. K. (prx)


Lesenswert?

Zeig doch mal wo du das Ding herhast.

Wenn du Glück hast, dann steckt da ein umnummerierter FT232 drin. Dann 
müsstest du den FTDI Treiber dazu bewegen, diese ID zur Kenntnis zu 
nehmen. Frag mich aber nicht wie.

von Rolf S. (Gast)


Lesenswert?

Das ist das Problem - hab's im Sommer bei eBay gekauft und habe erst 
jetzt eine STK-500 ähnliche Zielplattform erworben.

An Chips sind zu sehen:
 * ein AtMega16
 * ein FT232

von (prx) A. K. (prx)


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.

von Rolf S. (Gast)


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?

von (prx) A. K. (prx)


Lesenswert?

Kann er nicht, die ID kennt er nicht. Hat sich dein Chinese vielleicht 
selbst einfallen lassen.

Probiert's mal mit 
http://www.ftdichip.com/Documents/TechnicalNotes/TN_101_Customising_FTDI_VID_PID_In_Linux(FT_000081).pdf

von Christian R. (supachris)


Lesenswert?

Programmier den FTDI Chip doch einfach auf die FTDI Default VID/PID und 
dann taucht der auch als virtuelle serielle auf. Geht mit MProg unter 
Windows einfach, weiß nicht, wie man das unter Linux macht. Dann hättest 
zu wohl mehr Glück mit dem avarice.

von Rolf S. (Gast)


Lesenswert?

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

Warum konnten die nicht einfach das auch noch mitkopieren?

von (prx) A. K. (prx)


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.

von Rolf S. (Gast)


Lesenswert?

Danke, hab mir auch gerade vor die Birne gehauen....

von Rolf S. (Gast)


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...

von Rolf S. (Gast)


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.....

von Rolf S. (Gast)


Lesenswert?

Ein Dank an alle Hilfegeber!!!!

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.