Hi, nachdem ich selbst nichts im Netz dazu gefunden habe, veröffentliche ich mal ein kleines howto, wie man den beliebten DX-ISP Programmieradapter (USB) unter Linux ans Laufen bringt. Was man benötigt: -Den DX-ISP - Adapter selbst: http://www.wiesolator.de/index.php?area=AVR&topic=AVR-Progger%20Diamex%20DX-ISP -Linux Kernel ab 2.6.24, abzufragen mit uname -a Linux Arbeitsrechner 2.6.34.7-0.3-desktop #7 SMP PREEMPT Sat Oct 23 00:23:14 CEST 2010 x86_64 x86_64 x86_64 GNU/Linux 2.6.24 deswegen, weil ab diesem imHo der ttyACM-Treiber enthalten ist. -Den ttyACM-Treiber Dieser ist bei Distributionskerneln in der Regel schon enthalten. Bei selbstkompilierten Kernel muss man ihn ggf. hinzufügen. Ob der ttyACM-Treiber installiert ist, sagt einem ein tail -f /var/log/messages wenn man den Adapter ansteckt: Feb 26 12:44:50 Arbeitsrechner kernel: [ 1501.803403] usb 7-1: new full speed USB device using uhci_hcd and address 3 Feb 26 12:44:50 Arbeitsrechner kernel: [ 1501.981131] usb 7-1: New USB device found, idVendor=16c0, idProduct=2a9b Feb 26 12:44:50 Arbeitsrechner kernel: [ 1501.981134] usb 7-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0 Feb 26 12:44:50 Arbeitsrechner kernel: [ 1501.981137] usb 7-1: Product: DX-ISP Feb 26 12:44:50 Arbeitsrechner kernel: [ 1501.981138] usb 7-1: Manufacturer: Stange Distribution Feb 26 12:44:50 Arbeitsrechner kernel: [ 1501.984174] cdc_acm 7-1:1.0: ttyACM0: USB ACM device Wichtig ist die letzte Zeile; erscheint sie, kann man den folgenden Abschnitt überspringen: -Installation des ttyACM - Treibers- tobias@Arbeitsrechner: su tobias@Arbeitsrechner:~> cd /usr/src/linux tobias@Arbeitsrechner:/usr/src/linux> make menuconfig In dem Menu navigiert man zu /drivers/usb/ und wählt dann "usb modem (cdc acm) support aus, und zwar als Modul ("M"). dann die module mit make modules make modules_install übersetzen und installieren. Nun sollte sich der ttyACM-Treiber melden, sobald der Adapter erneut angesteckt wird: Feb 26 12:44:50 Arbeitsrechner kernel: [ 1501.984174] cdc_acm 7-1:1.0: ttyACM0: USB ACM device -Nutzung des Adapters- Betrachten wir noch einmal die Zeile Feb 26 12:44:50 Arbeitsrechner kernel: [ 1501.984174] cdc_acm 7-1:1.0: ttyACM0: USB ACM device aus /var/log/messages. Netterweise teilt einem der Treiber gleich mit, welchem virtuellen Com-Port er nutzt (hier ttyACM0). Über diesen Com-Port lässt sich der Adapter jetzt als Stk500v2 ansprechen. Dazu muss avrdude so konfiguriert werden, dass es als seriellen Port den virtuellen com-Port /dev/ttyACMx nutzt. Die Parameter hierfür sind: -P <com-Port> also z.B. -P /dev/ttyACM0 -c <Programmer> also -c stk500v2 avrdude -p atmega168 -P /dev/ttyACM0 -c stk500v2 -B 1 -U flash:w:nano_os.hex Damit ist der Adapter unter Linux einsatzbereit! gruß tobi
Hallo, ich bin mir nicht sicher, wohin damit. Daher hänge ich das mal hier dran. Vielleicht hilft das ja mal jemandem. Ich verwende den gleichen Programmer unter FreeBSD, dort ist das alles allerdings ein bischen anders. Irgendwelche Kernelmodule muss man unter FreeBSD nicht installieren, das geht alles out-of-the-box. Ich hab mir dieses kleine Script erstellt, das mir via sysctl den entsprechenden Port raussucht:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
Der Vollständigkeit halber, so sieht die Ausgabe des Kernels aus, wenn man das Teil anschliesst:
1 | |
2 | |
3 | |
Mit sysctl kann man sich dann raussuchen, welcher Port der virtuelle Serial ist:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
Interessant ist hier die vorletzte Zeile, der Port ist: ttyname=U2 Das Device ist also: /dev/cuaU2 Und das ist dann die Ausgabe des obigen Scriptes. @Mods: falls das doch nicht richtig hier ist, bitte wenn möglich verschieben.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.