Ubuntu: avrdude findet AVR-ISP Programmer an USB nicht

OP #3424972
Lesenswert?

Hallo Forum.

Ich habe avrdude aufgerufen mit dem Befehl:
1
 avrdude -c stk500 -p m128 -P usb:3 -v
Und als Ergebnis das bekommen:
1
 avrdude: usbdev_open(): did not find any (matching) USB device "usb:3"
Wie kann ich die Daten finden, die avrdude braucht, um sich per USB mit 
dem Programmer zu verbinden?

Gruß

Frank
#3425033
Lesenswert?

Hallo,

beim Einstecken des Programmers wird ein neues Device angelegt. 
Warscheinlich sowas wie /dev/ttyUSBx, welches genau steht im Syslog. Das 
musst du beim avrdude-Aufruf angeben. Damit das Programmieren als 
normaler User klappt, musst du außerdem noch die udev-Regeln anpassen.

Viele Grüße
Oliver
OP #3425057
Lesenswert?

Hallo zusammen.

udevadm info --attribute-walk --name=bus/usb/005/011 brachte unter 
anderem:
1
  looking at device '/devices/pci0000:00/0000:00:08.0/0000:01:05.1/usb5/5-1':
2
    KERNEL=="5-1"
3
    SUBSYSTEM=="usb"
4
    DRIVER=="usb"
5
    ATTR{bDeviceSubClass}=="00"
6
    ATTR{bDeviceProtocol}=="00"
7
    ATTR{devpath}=="1"
8
    ATTR{idVendor}=="10c4"
9
    ATTR{speed}=="12"
10
    ATTR{bNumInterfaces}==" 1"
11
    ATTR{bConfigurationValue}=="1"
12
    ATTR{bMaxPacketSize0}=="64"
13
    ATTR{busnum}=="5"
14
    ATTR{devnum}=="11"
15
    ATTR{configuration}==""
16
    ATTR{bMaxPower}=="100mA"
17
    ATTR{authorized}=="1"
18
    ATTR{bmAttributes}=="80"
19
    ATTR{bNumConfigurations}=="1"
20
    ATTR{maxchild}=="0"
21
    ATTR{bcdDevice}=="0204"
22
    ATTR{avoid_reset_quirk}=="0"
23
    ATTR{quirks}=="0x0"
24
    ATTR{serial}=="mySmartUSBlight-0001"
25
    ATTR{version}==" 1.10"
26
    ATTR{urbnum}=="11"
27
    ATTR{ltm_capable}=="no"
28
    ATTR{manufacturer}=="Silicon Labs"
29
    ATTR{removable}=="unknown"
30
    ATTR{idProduct}=="ea60"
31
    ATTR{bDeviceClass}=="00"
32
    ATTR{product}=="myAVR - mySmartUSB light"

dieser Aufruf:
1
 avrdude -c ea60 -p t13 -P usb:/devices/pci0000:00/0000:00:08.0/0000:01:05.1/usb5/5-1

brachte dieses Ergebnis:
1
avrdude: ser_open(): can't open device "usb:/devices/pci0000:00/0000:00:08.0/0000:01:05.1/usb5/5-1": No such file or directory

udef Regeln habe ich so modifiziert:
1
SUBSYSTEM!="usb", ACTION!="add", GOTO="avrisp_end"
2

3
# Silicon Labs stk500 mySmartUSBlight
4
ATTR{idVendor}=="10c4", ATTR{idProduct}=="ea60", MODE="660", GROUP="frank"

Aber zuerst mal geht es ja darum, avrdude beizubringen, den Programmer 
am USB zu finden.
OP #3425085
Lesenswert?

1
tail -f /var/log/syslog

brachte:
1
Nov 29 21:25:42 Compi kernel: [39843.032045] usb 5-1: New USB device found, idVendor=10c4, idProduct=ea60
2
Nov 29 21:25:42 Compi kernel: [39843.032058] usb 5-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
3
Nov 29 21:25:42 Compi kernel: [39843.032066] usb 5-1: Product: myAVR - mySmartUSB light
4
Nov 29 21:25:42 Compi kernel: [39843.032072] usb 5-1: Manufacturer: Silicon Labs
5
Nov 29 21:25:42 Compi kernel: [39843.032077] usb 5-1: SerialNumber: mySmartUSBlight-0001
6
Nov 29 21:25:42 Compi mtp-probe: checking bus 5, device 11: "/sys/devices/pci0000:00/0000:00:08.0/0000:01:05.1/usb5/5-1"

Wie ist denn das Format, mit dem avrdude der USB-Anschluss mitgeteilt 
wird?
OP #3425224
Lesenswert?

Ich hab noch mit lsusb -v ein paar Infos gefunden:
1
Bus 005 Device 013: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP210x UART Bridge / myAVR mySmartUSB light
2
Device Descriptor:
3
  bLength                18
4
  bDescriptorType         1
5
  bcdUSB               1.10
6
  bDeviceClass            0 (Defined at Interface level)
7
  bDeviceSubClass         0 
8
  bDeviceProtocol         0 
9
  bMaxPacketSize0        64
10
  idVendor           0x10c4 Cygnal Integrated Products, Inc.
11
  idProduct          0xea60 CP210x UART Bridge / myAVR mySmartUSB light
12
  bcdDevice            2.04
13
  iManufacturer           1 Silicon Labs
14
  iProduct                2 myAVR - mySmartUSB light
15
  iSerial                 3 mySmartUSBlight-0001
16
  bNumConfigurations      1
17
  Configuration Descriptor:
18
    bLength                 9
19
    bDescriptorType         2
20
    wTotalLength           32
21
    bNumInterfaces          1
22
    bConfigurationValue     1
23
    iConfiguration          0 
24
    bmAttributes         0x80
25
      (Bus Powered)
26
    MaxPower              100mA
27
    Interface Descriptor:
28
      bLength                 9
29
      bDescriptorType         4
30
      bInterfaceNumber        0
31
      bAlternateSetting       0
32
      bNumEndpoints           2
33
      bInterfaceClass       255 Vendor Specific Class
34
      bInterfaceSubClass      0 
35
      bInterfaceProtocol      0 
36
      iInterface              2 myAVR - mySmartUSB light
37
      Endpoint Descriptor:
38
        bLength                 7
39
        bDescriptorType         5
40
        bEndpointAddress     0x81  EP 1 IN
41
        bmAttributes            2
42
          Transfer Type            Bulk
43
          Synch Type               None
44
          Usage Type               Data
45
        wMaxPacketSize     0x0040  1x 64 bytes
46
        bInterval               0
47
      Endpoint Descriptor:
48
        bLength                 7
49
        bDescriptorType         5
50
        bEndpointAddress     0x01  EP 1 OUT
51
        bmAttributes            2
52
          Transfer Type            Bulk
53
          Synch Type               None
54
          Usage Type               Data
55
        wMaxPacketSize     0x0040  1x 64 bytes
56
        bInterval               0
57
Device Status:     0x0000
58
  (Bus Powered)
Aber was mach ich denn jetzt, um das Problem zu lösen?
Gast #3425250
Lesenswert?

Hallo

Der CP210x mit USB ID 10c4:ea60 wird bereits seit 2006 von Linux 
unterstützt. Der Kernel-Treiber heißt naheliegenderweise auch "cp210x".

Leider hast du die mehrfach gestellte frage ob beim Anstecken eine 
Gerätedatei /dev/ttyUSB* oder /dev/ttyACM* angelegt wird immer noch 
nicht beantwortet.

Wenn dem nicht so ist, würde ich erstmal vermuten das bei deiner Ubuntu 
Installation was nicht stimmen könnte. Daher einfach mal den Programmer 
an einen anderen Linux Rechner anstecken oder den selben rechner von 
LiveCD starten und sehen ob es dort Funktioniert oder nicht.

da1l6

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