Forum: PC Hard- und Software Nach Update Ubuntu Linux 14.04 -> 16.04 funktioniert avrdude mit USBProg4 nicht mehr


von eTelly (Gast)


Lesenswert?

Hallo Forum,

dies ist zwar eher ein PC-Software Problem, aber in den entsprechenden 
Ubuntu-Foren benutzen wohl doch nur wenige Leute avrdude.

Nach dem Ubuntu Update (Neuinstallation 16.04 Mate) und Installation 
aller entsprechenden Pakete über die Software Boutique kommt es beim 
Versuch avrdude/usbprog4 zu benutzen zu folgender Fehlermeldung:


sudo avrdude -v -c avrispv2 -P usb -p m8

avrdude: Version 6.2
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "/etc/avrdude.conf"
         User configuration file is "/home/eTelly/.avrduderc"
         User configuration file does not exist or is not a regular 
file, skipping

         Using Port                    : usb
         Using Programmer              : avrispv2
avrdude: usbdev_open(): did not find any USB device "usb" 
(0x03eb:0x2104)

avrdude done.  Thank you.


Leider ist die Fehlermeldung "avrdude: usbdev_open(): did not find any 
USB device "usb" (0x03eb:0x2104)" wohl sehr allgemein und man findet 
viele mögliche Lösungen dafür. Bisher war leider keine Passende dabei.

Eigentlich wird der Programmer usbprog4 richtig erkannt:

lsusb
Bus 001 Device 002: ID 8087:8000 Intel Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 005: ID 8087:07dc Intel Corp.
Bus 002 Device 003: ID 5986:0538 Acer, Inc
Bus 002 Device 032: ID 093a:2510 Pixart Imaging, Inc. Optical Mouse
Bus 002 Device 031: ID 05e3:0605 Genesys Logic, Inc. USB 2.0 Hub
Bus 002 Device 051: ID 03eb:2104 Atmel Corp. AVR ISP mkII
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub


Es gibt auch keine Fehler beim Erkennen:

dmesg | tail

[35310.333682] usb 2-2: new full-speed USB device number 50 using 
xhci_hcd
[35310.464192] usb 2-2: New USB device found, idVendor=03eb, 
idProduct=2104
[35310.464197] usb 2-2: New USB device strings: Mfr=1, Product=2, 
SerialNumber=3
[35310.464200] usb 2-2: Product: AVRISP mkII
[35310.464202] usb 2-2: Manufacturer: ATMEL
[35310.464203] usb 2-2: SerialNumber: 000200090638


udev sollte erstmal kein Problem sein weil ich alles als root ausgeführt 
habe. Ich habe jetzt auch keine wirkliche Idee mehr, wie ich weiter 
diagnostizieren könnte.

Unter Ubuntu 14.04 lief alles einwandfrei und tut es noch auf einem 
anderen Rechner.

Hat jemand eine Idee?

Grüße

eTelly

von R. M. (Gast)


Lesenswert?

Wie sieht denn die Ausgabe von "ls -l /dev/bus/usb/002" aus in dieser 
Konstellation aus?
mfG

von hal9000 (Gast)


Lesenswert?

warum nimmst du nicht die rosarote suse version?

von Jim M. (turboj)


Lesenswert?

eTelly schrieb:
> did not find any USB device "usb"
> (0x03eb:0x2104)

Nimm mal das "-P usb" aus der Kommandozeile raus.

von eTelly (Gast)


Lesenswert?

Hab mal Eure Vorschläge durchprobiert.

Bei ls -l /dev/bus/usb/002 kommt dies:

insgesamt 0
crw-rw-r-- 1 root root    189, 128 Jul 17 14:39 001
crw-rw-r-- 1 root root    189, 129 Jul 17 14:39 002
crw-rw-r-- 1 root root    189, 131 Jul 17 14:39 004
crw-rw-r-- 1 root root    189, 133 Jul 17 14:39 006
crw-rw-r-- 1 root root    189, 134 Jul 17 22:02 007
crw-rw-r-- 1 root root    189, 135 Jul 17 22:02 008
crw-rw---- 1 root plugdev 189, 137 Jul 17 22:10 010


Ohne -P usb kommt dies:

avrdude: ser_open(): can't set attributes for device "/dev/ttyS0": 
Inappropriate ioctl for device


Gibt das einen Hinweis?


@HAL9000: Ich möchte eigentlich nicht die Distribution wechseln wenn mal 
was nicht funktioniert. Das ist meist sehr viel mehr Aufwand.

Grüße

eTelly

von nicht"Gast" (Gast)


Lesenswert?

Moin,

braucht das Ding nicht libusb? Ist das noch korrekt installiert? Mach 
mal neu^^.

von K. J. (Gast)


Lesenswert?

eTelly schrieb:

>
> udev sollte erstmal kein Problem sein weil ich alles als root ausgeführt
> habe. Ich habe jetzt auch keine wirkliche Idee mehr, wie ich weiter
> diagnostizieren könnte.
>
> Hat jemand eine Idee?
>
> Grüße
>
> eTelly


> avrdude: ser_open(): can't set attributes for device "/dev/ttyS0":
> Inappropriate ioctl for device

Doch könnte schon sein  spricht schon dafür das das drive nicht mehr als 
USB2Serial erkannt wird die Ausgabe von dmesg spricht auch dafür.

von Kaj (Gast)


Lesenswert?

AVR Programmer schrieb im Beitrag #4651966:
> Mensch Leute, nehmt Windows und die Atmel-Standard Tools und nicht
> diesen Freaky Krampf, dann klappts auch mit dem Programmieren...
Mal gut das es unter windows niemals nicht keine probleme gibt...
Gibt hier bestimmt genauso viele threads wo jemand unter Windows 
probleme mit tool xy hat.
Such doch mal danach wie viele threads es hier gibt, wo leute probleme 
mit atmel studio haben.

Kannst dich mal gehackt legen.

von nicht"Gast" (Gast)


Lesenswert?

eTelly schrieb:
> System wide configuration file is "/etc/avrdude.conf"
>          User configuration file is "/home/eTelly/.avrduderc"
>          User configuration file does not exist or is not a regular
> file, skipping

Bist du denn der Fehlermeldung mal nachgegangen? Wie sieht denn deine 
.avrduderc denn aus. Gibts die überhaupt und steht kein Schrott drin?

von Planlos (Gast)


Lesenswert?

AVR Programmer schrieb im Beitrag #4651966:
> Immer wieder wenns hier um Programmierprobleme geht hört man die
> gleichen Stichworte:  Avrdude und Linux...

Aus demselben Grund warum man immer Windows & Virus in einem Satz 
zusammen hört...
Einfach wegen Marktanteilen und typischen Benutzern.

Auf jede Atmel-Studio-Installation kommen sicher 100, wenn nicht 1000(*) 
avrdude-Installationen. (Bedenke: avrdude ist Teil der Arduino-IDE)

Und genauso, wie bei Windows der Anteil der "Ich doppelklicke jeden 
Mail-Anhang" DAUs größer ist als bei z.B. FreeBSD, ist bei den 
avrdude-Anwendern der Anteil der blutigen µC-Programmieranfänger 
besonders hoch.

Insofern, gemessen an den Threads zu Programmierproblemen hier in 
Relation zu den Benutzern, ist avrdude extrem einsteigerfreundlich, 
einfach & wartungsarm, und Atmel-Studio ist der Produktivitäts-Killer, 
an dem man ständig herumfrickeln muss.



*) Glaube keiner Statistik, die du nicht selbst gefälscht hast.

von Fritz Katze (Gast)


Lesenswert?

Bedeutet "xhci_hcd" nicht, daß das Gerät an einem USB 3.0-Port 
angeschlossen ist?

Damit hatte ich auch schon mal Probleme, aber an einem reinen USB 
2.0-Port ging es dann.

von ErikL (Gast)


Lesenswert?

nicht"Gast" schrieb:
>>          User configuration file does not exist or is not a regular
>> file, skipping
>
> Bist du denn der Fehlermeldung mal nachgegangen? Wie sieht denn deine
> .avrduderc denn aus. Gibts die überhaupt und steht kein Schrott drin?


Die 'Fehler'meldung: "User configuration file does not exist or is not a 
regular file, skipping"

ist nur eine Meldung und kein Fehler und wenn man sie übersetzt bedeutet 
sie dass diese Datei nicht berücksichtigt wurde (da nicht da)
Dieser Sachverhalt dürfte "unschuldig" sein :-)

von nicht"Gast" (Gast)


Lesenswert?

ErikL schrieb:
> Die 'Fehler'meldung: "User configuration file does not exist or is not a
> regular file, skipping"
>
> ist nur eine Meldung und kein Fehler und wenn man sie übersetzt bedeutet
> sie dass diese Datei nicht berücksichtigt wurde (da nicht da)
> Dieser Sachverhalt dürfte "unschuldig" sein :-)

verdammt :) Wer lesen kann, ist klar im Vorteil.

Bleibt nur noch die Frage nach der libusb. Aber der TE hat sich ja nicht 
mehr gemeldet..

von Thomas Z. (thomas_z41)


Lesenswert?

eTelly schrieb:
> avrdude: ser_open(): can't set attributes for device "/dev/ttyS0":
> Inappropriate ioctl for device
>
> Gibt das einen Hinweis?

Das deutet für mich auf ein Rechte Problem hin.
Als kleinen Test kann man avrdude mal mit root Rechten ausführen, wenn 
das klappt dann fehlen dir die nötigen Rechte.
Wahrscheinlich hattest du vorher eine udev rule dafür, die bei dem 
Update irgendwie verloren gegangen ist.

von thorsten (Gast)


Lesenswert?

Ich weiß jetzt nicht, ob bei AVR udev-rules nötig sind. Aber dort würde 
ich mal nachschauen. Eventuell sind die beim Upgrade abhanden gekommen.

von R. M. (Gast)


Lesenswert?

An den Rechten sollte es eigentlich nicht liegen, der TE hat ja schon im 
Eröffnungspost geschrieben, das er den avrdude als root gestartet hat.
in Beitrag "Re: Nach Update Ubuntu Linux 14.04 -> 16.04 funktioniert avrdude mit USBProg4 nicht mehr" ist zu sehen, 
das bus2, gerät10 zur Gruppe plugdev gehört. So siehts bei mir auch aus, 
wenn ich meinen USBtiny einstecke, und der funktioniert hier problemlos 
(ebenfalls LTS16.04). Ich weiss nicht, ob mich avrdude bei der 
Installation in die Gruppe plugdev aufgenommen hat, ich stehe jedenfalls 
drin und kann avrdude ganz normal ohne sudo aufrufen. Da ich mit dem 
AVRISP2 bisher nicht zu tun hatte, könnte ich mir höchstens vorstellen, 
das sich dieses als serielles Gerät darstellen könnte.

von eTelly (Gast)


Lesenswert?

So, mal zusammengefasst in der Reihenfolge der Postings:

- libusb ist korrekt installiert

- meines Wissens ist USBProg 4.0 ein "echtes" USB-Gerät, es wird keine 
serielle Verbindung emuliert und es gibt deshalb auch kein tty device 
(auch nicht unter 14.04 wo es funktioniert)

- die avrdude.conf habe ich mit der vorherigen verglichen, ist gleich

- ich habe es an USB2 und USB3 Ports getestet -> gleiches Ergebnis und 
es funktionierte vorher ja auch

- udev ist kein Problem, weil ich alles als root ausführe

- in der avrdude.conf wird der avrispv2 tatsächlich mit "connection_type 
= serial" gelistet, das war unter 14.04 auch so. Wenn ich den avrispmkII 
mit "connection_type = usb" nehme, ändert sich aber auch nichts.


Ich denke ich muss da wohl doch einen Bugreport aufmachen.

Danke und Grüße

eTelly

von oszi40 (Gast)


Lesenswert?

eTelly schrieb:
> Nach dem Ubuntu Update (Neuinstallation 16.04 Mate)

Allerdings wird der Mate-Desktop nur von der Mate-Community gepflegt und 
nicht von den Ubuntuentwicklern. Evtl. mal andere Version?

von Carl D. (jcw2)


Lesenswert?

Ich hatte nach Upgrade auf 16.04 auch keinen funktionierenden AVRDude.
Nach Rebuild von Source, die ich eh schon hatte, Zuordnung meines Users 
zu Gruppe plugdev und Abmelden/Neuanmelden hat alles wieder 
funktioniert. Leider kann ich aber nicht sagen, was genau durch 
"./configure ; make ; sudo make install" genau repariert wurde. Aber es 
lief dann.
Von der Variante "root" halte ich nicht besonders viel, alles regelmäßig 
benutzte sollte ohne laufen.
BTW, auch andere udev Dinge liefen nicht auf Anhieb, z.B. sigrok, wo die 
ganze udev-Konfiguration verschwunden war.

von eTelly (Gast)


Lesenswert?

Hallo Carl,

an die Option Rebuild from Source habe ich schon gar nicht mehr gedacht. 
Das letzte Mal, dass es nötig war, ist schon so lange her.

Bei mir meckert configure das libhid fehlt. Ich kann libhid nicht so 
ohne weiteres installieren, weil es wohl veraltet ist. Wo hast Du die 
libhid her?

Im normalen Betrieb arbeite ich nicht unter root oder mit sudo. Nur 
jetzt zum Testen mache ich es, um Rechteprobleme auszuschließen.

Grüße

eTelly

von Carl D. (jcw2)


Lesenswert?

Ich hätte eher erwartet, daß irgendwas wie Bison etc. fehlt. libhid 
wurde bei mir nicht angemeckert, muß mal schauen, ob ich die hab (wenn 
ich von iOS auf Linux umgeschaltet hab ;-)

von Carl D. (jcw2)


Lesenswert?

So, im config.log steht bei mir auch LIBHID='', also vermutlich nicht 
gefunden. Scheint aber nichts auszumachen.

Ich hatte bisher auch nur mit den kleinen blauen Chinesen mit 
italienischem Namen experimentiert. Nun hängt ein MKII am Kabel. Und 
geht nur mit sudo :-((

Also gurgeln und:

#--------------------------------------------------
SUBSYSTEM!="usb", ACTION!="add", GOTO="avrisp_end"

# Atmel Corp. JTAG ICE mkII
ATTR{idVendor}=="03eb", ATTR{idProduct}=="2103", MODE="666", 
GROUP="dialout"
# Atmel Corp. AVRISP mkII
ATTR{idVendor}=="03eb", ATTR{idProduct}=="2104", MODE="666", 
GROUP="dialout"
# Atmel Corp. Dragon
ATTR{idVendor}=="03eb", ATTR{idProduct}=="2107", MODE="666", 
GROUP="dialout"

LABEL="avrisp_end"
#--------------------------------------------------

in /etc/udev/rules.d/91-local.rules rein

einmal sudo service udev restart

falls Gruppe dailout noch nicht existent:
sudo addgroup dailout

falls noch nicht in Gruppe dailout:
sudo adduser <dein user> dailout
und logoff/logon

Kabel rein/raus und geht.


Also zusammengefaßt:
16.04 Upgrade löscht die udev-rules

: Bearbeitet durch User
von eTelly (Gast)


Lesenswert?

Ja hast Recht, libhid braucht AVRDude nicht. Ich konnte 6.3 erfolgreich 
kompilieren und installieren. Aber leider (unter root) keine Änderung:

avrdude -vv -c avrisp2 -P usb -p m8

avrdude: Version 6.3, compiled on Jul 19 2016 at 18:53:50
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "/usr/local/etc/avrdude.conf"
         User configuration file is "/home/obibahn/.avrduderc"
         User configuration file does not exist or is not a regular 
file, skipping

         Using Port                    : usb
         Using Programmer              : avrisp2
avrdude: usbdev_open(): did not find any USB device "usb" 
(0x03eb:0x2104)

avrdude done.  Thank you.


Merkwürdig ist auch das er die USB ID (0x03eb:0x2104) listet. Die steht 
nicht in der "/usr/local/etc/avrdude.conf". Er muss sie also korrekt aus 
dem USB System lesen und somit sehen, dass ein passender Programmer dran 
hängt.

von Carl D. (jcw2)


Lesenswert?

probiers mal mit
avrdude -v -c avrispmkII -p m8

bei mir geht zwar auch avrispv2 und avrisp2,
aber wenn ich /usr/local/etc/avrdude.conf richtig interpretiere,
dann sollten avrisp und avrispv2 einen seriellen Port benutzen und
avrisp2 und avrispmkII einen USB Port.

Eventuell kann ja der (aktuelle) Autor des AVRdude etwas Licht ins 
Dunkel bringen.

von eTelly (Gast)


Lesenswert?

Das war mir in der avrdude.conf auch schon aufgefallen und ich habe es 
probiert, mit dem selben Ergebnis.


Stimmt, der aktuelle Autor des avrdude ist hier Administrator. Aber wie 
ruft man ihn? ADMINISTRATOR oder ich hätte gerne einen Wunsch ;-)

Spaß bei Seite, ich werde mal im anderen Thread anfragen.

von Carl D. (jcw2)


Lesenswert?

Schon probiert?

avrdude -v -c avrispmkII -p m8

von eTelly (Gast)


Lesenswert?

Ja, wie ich oben geschrieben habe:

 avrdude -v -c avrispmkII -p m8

avrdude: Version 6.3, compiled on Jul 19 2016 at 18:53:50
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "/usr/local/etc/avrdude.conf"
         User configuration file is "/home/etelly/.avrduderc"
         User configuration file does not exist or is not a regular 
file, skipping

         Using Port                    : usb
         Using Programmer              : avrispmkII
avrdude: usbdev_open(): did not find any USB device "usb" 
(0x03eb:0x2104)

avrdude done.  Thank you.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Carl D. schrieb:
> Eventuell kann ja der (aktuelle) Autor des AVRdude etwas Licht ins
> Dunkel bringen.

Nun, da das Problem durch einen Systemupgrade entstanden ist, liegt
es mehr als wahrscheinlich irgendwo im OS begraben.

Die Linuxe, die ich irgendwo habe, sind derzeit alle älter, insofern
kann ich das dort erstmal nicht nachvollziehen.

Da der TE aber schon vom Sourcecode aus gebaut hat, kann er natürlich
mal in der Datei usb_libusb.c in Funktion libusb_open() ein paar
Ausgaben reinbauen, um das Problem einzukreisen.  Diese Funktion geht
(das ist typisch für USB) alle Geräte am Bus durch, bis sie etwas
gefunden hat, was passen könnte.

Eigentlich sollten aber alle möglichen Fehlerfälle, nachdem erst
einmal VID und PID passen (was ja der Fall zu sein scheint), zumindest
in den höheren Verbose-Levels (also mal -vvv probieren), eine
Diagnosemeldung bringen.

von eTelly (Gast)


Lesenswert?

Ich bin Jörg's Vorschlag (danke dafür) mal gefolgt (erst ein lsusb dann 
der AVRDude Aufruf) und komme zu folgendem Output:
1
lsusb
2
Bus 001 Device 002: ID 8087:8000 Intel Corp. 
3
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
4
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
5
Bus 002 Device 006: ID 8087:07dc Intel Corp. 
6
Bus 002 Device 004: ID 5986:0538 Acer, Inc 
7
Bus 002 Device 019: ID 03eb:2104 Atmel Corp. AVR ISP mkII
8
Bus 002 Device 005: ID 093a:2510 Pixart Imaging, Inc. Optical Mouse
9
Bus 002 Device 003: ID 05e3:0605 Genesys Logic, Inc. USB 2.0 Hub
10
Bus 002 Device 002: ID 16d0:09a0 MCS 
11
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
12
13
14
sudo avrdude -vvv -c avrispmkII -p m8
15
16
avrdude: Version 6.3, compiled on Jul 19 2016 at 18:53:50
17
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
18
         Copyright (c) 2007-2014 Joerg Wunsch
19
20
         System wide configuration file is "/usr/local/etc/avrdude.conf"
21
         User configuration file is "/home/eTelly/.avrduderc"
22
         User configuration file does not exist or is not a regular file, skipping
23
24
         Using Port                    : usb
25
         Using Programmer              : avrispmkII
26
bus found "003"
27
device "001" vid=1D6B, pid=0003
28
bus found "002"
29
device "006" vid=8087, pid=07DC
30
device "005" vid=093A, pid=2510
31
device "004" vid=5986, pid=0538
32
device "003" vid=05E3, pid=0605
33
device "002" vid=16D0, pid=09A0
34
device "001" vid=1D6B, pid=0002
35
bus found "001"
36
device "002" vid=8087, pid=8000
37
device "001" vid=1D6B, pid=0002
38
avrdude: usbdev_open(): did not find any USB device "usb" (0x03eb:0x2104)
39
40
avrdude done.  Thank you.

Offensichtlich wird der Programmer vom Kernel erkannt, im Programm über 
libusb aber nicht. Ich habe ein anderes Programm mit libusb getestet, 
auch dort werden alle USB-Geräte angezeigt, außer der Programmer.

Was auffällt ist, dass im lsusb Output die Device Nummer des Programmers 
die 19 ist, und nicht die 7 und dadurch am Bus 002 die USB-Geräte nicht 
kontinuierlich nummeriert sind. Dies ist bei Ubuntu 14.04 (wo AVRDude 
funktioniert) anders, er bekommt die nächste freie Device Nummer ohne 
Lücke zu den Anderen.

Auch nach dem Booten oder Umstecken des Programmers ist bei Ubuntu 16.04 
die ID immer zwischen 11 und (bisher) 19, und es existiert immer eine 
Lücke in der Nummerierung.

Wenn ich mir jetzt den Source-Code von AVRDude und dem anderen Programm 
anschaue wird die Device-Erkennung schrittweise in einer For-Schleife 
gemacht, bis kein weiteres Device mehr gefunden wird.

Interpretiere ich das richtig, dass die For-Schleife beendet wird weil 
die Device Nummer 7 am Bus nicht belegt ist und deshalb der Programmer 
mit der Device Nummer zwischen 11 und 19 gar nicht erreicht wird?

von eTelly (Gast)


Lesenswert?

eTelly schrieb:
> Dies ist bei Ubuntu 14.04 (wo AVRDude
> funktioniert) anders, er bekommt die nächste freie Device Nummer ohne
> Lücke zu den Anderen.

Da lag ich daneben, man muss nur häufig genug umstecken und dann gibt es 
auch bei 14.04 keine kontinuierliche Nummerierung mehr. AVRDude 
funktioniert aber trotzdem.

Ich denke das Problem liegt irgendwo zwischen libusb und Kernel, ich 
werde da mal weiter schauen.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

eTelly schrieb:
> Ich denke das Problem liegt irgendwo zwischen libusb und Kernel

Das sehe ich auch so.  Offenbar hat da wer was umgebaut und sich nun
einen Bug eingehandelt.

Da AVRDUDE noch auf dem libusb-0.1er API aufsetzt, welches typisch
heutzutage einfach nur als Kompatibilitätsschicht oberhalb der libusb
1.0 aufsetzt, kann es gut sein, dass der Bug nur darin auftritt.  Die
wird vermutlich nur noch von wenigen Programmen genutzt, daher fällt
das dann nicht so sehr schnell auf.  Ein Bug bleibt es aber trotzdem.

von Toto (Gast)


Lesenswert?

Hallo zusammen, Hallo eTelly,
Gibt es zu diesem Thema schon Neuigkeiten? Konntest du das Problem 
lösen, eTelly? Ich befürchte, dass ich vor dem gleichen Problem sitze.
Viele Grüße,
Toto

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Toto schrieb:
> Gibt es zu diesem Thema schon Neuigkeiten?

Da mein Laptop inzwischen bei Ubuntu 16.04 angekommen ist, konnte
ich es jetzt mal selbst testen.  ATmega16 an einem AVRISPmkII, geht
problemlos.  Trotz systemd werden offensichtlich auch die alten
udev-Regeln, die ich mal eingerichtet hatte, korrekt von diesem
erfasst, ich muss also auch nicht "root" sein dafür.

Entweder wurde das Problem mittlerweile behoben, oder das Problem des
TE liegt doch noch irgendwo anders.

von eTelly (Gast)


Lesenswert?

Leider funktioniert es bei mir immer noch nicht. Ich bin in der Diagnose 
einen Schritt weiter gekommen und dann gab es erst mal andere 
Prioritäten.

Der weitere Schritt ist der hier:
Wenn ich ein ausführliches lsusb ausführe, zeigt sich auch schon ein 
Problem:
1
Device: ID 03eb:2104 Atmel Corp. AVR ISP mkII
2
Couldn't open device, some information will be missing
3
Device Descriptor:
4
  bLength                18
5
  bDescriptorType         1
6
  bcdUSB               1.10
7
  bDeviceClass          255 Vendor Specific Class
8
  bDeviceSubClass         0 
9
  bDeviceProtocol         0 
10
  bMaxPacketSize0         8
11
  idVendor           0x03eb Atmel Corp.
12
  idProduct          0x2104 AVR ISP mkII
13
  bcdDevice            2.00
14
  iManufacturer           1 
15
  iProduct                2 
16
  iSerial                 3 
17
  bNumConfigurations      1
18
  Configuration Descriptor:
19
    bLength                 9
20
    bDescriptorType         2
21
    wTotalLength           32
22
    bNumInterfaces          1
23
    bConfigurationValue     1
24
    iConfiguration          0 
25
    bmAttributes         0xc0
26
      Self Powered
27
    MaxPower              100mA
28
    Interface Descriptor:
29
      bLength                 9
30
      bDescriptorType         4
31
      bInterfaceNumber        0
32
      bAlternateSetting       0
33
      bNumEndpoints           2
34
      bInterfaceClass       255 Vendor Specific Class
35
      bInterfaceSubClass      0 
36
      bInterfaceProtocol      0 
37
      iInterface              0 
38
      Endpoint Descriptor:
39
        bLength                 7
40
        bDescriptorType         5
41
        bEndpointAddress     0x82  EP 2 IN
42
        bmAttributes            2
43
          Transfer Type            Bulk
44
          Synch Type               None
45
          Usage Type               Data
46
        wMaxPacketSize     0x0040  1x 64 bytes
47
        bInterval              10
48
      Endpoint Descriptor:
49
        bLength                 7
50
        bDescriptorType         5
51
        bEndpointAddress     0x02  EP 2 OUT
52
        bmAttributes            2
53
          Transfer Type            Bulk
54
          Synch Type               None
55
          Usage Type               Data
56
        wMaxPacketSize     0x0040  1x 64 bytes
57
        bInterval              10

Es deutet für mich einmal mehr darauf hin, dass hier ein Problem auf 
USB-Ebene zwischen Ubuntu und USBPROG 4.0 vorliegt.

@Toto
Ist es bei Dir das Gleiche?

: Bearbeitet durch Moderator
von Norbert (Gast)


Lesenswert?

eTelly schrieb:
> Der weitere Schritt ist der hier:
> Wenn ich ein ausführliches lsusb ausführe, zeigt sich auch schon ein
> Problem:
>
> Device: ID 03eb:2104 Atmel Corp. AVR ISP mkII
> Couldn't open device, some information will be missing

So ein
1
lsusb -vd 03eb:2104
funktioniert als Chef (root) am Besten!

von eTelly (Gast)


Lesenswert?

sudo lsusb -vd 03eb:2104 hab ich gleich mal ausprobiert. Bringt exakt 
den gleichen Output den ich oben schon gepostet habe.

Ich hatte den lsusb -D auch als root ausgeführt.

von Norbert (Gast)


Lesenswert?

Eigenartig!

Wenn ich lsusb... als normaler Benutzer absetze, dann erhalte ich die 
Fehlermeldung.

Mache ich es als root, dann nicht.
Ubuntu scheint sich da wohl deutlich anders zu verhalten als Debian 
stable.

1
$ lsusb -vd 046d:c212
Bus 003 Device 004: ID 046d:c212 Logitech, Inc. WingMan
Couldn't open device, some information will be missing

1
# lsusb -vd 046d:c212
Bus 003 Device 004: ID 046d:c212 Logitech, Inc. WingMan

von eTelly (Gast)


Lesenswert?

Hab das lsusb jetzt sicherheitshalber nochmal als root ausgeführt und 
nicht nur per sudo, ergibt aber das gleiche negative Ergebnis.

Das es bei Debian stable funktioniert überrascht mich nicht so sehr. Es 
hat ja auch bei Ubuntu 14.04 funktioniert. Debian ist ja sehr 
konservativ mit Neuerungen und hat daher vielleicht die älteren und 
funktionierenden Kernel/Treiber.

Was gibt denn bei Dir ein uname -a aus?

# uname -a
Linux Tellur 4.4.0-51-generic #72-Ubuntu SMP Thu Nov 24 18:29:54 UTC 
2016 x86_64 x86_64 x86_64 GNU/Linux

von Norbert (Gast)


Lesenswert?

Das ist ein:
1
3.16.0-4-amd64 #1 SMP Debian 3.16.36-1+deb8u2 (2016-10-19) x86_64 GNU/Linux

Hab's gerade mal am 32bit Laptop getestet, gleiches Verhalten und 
Ergebnis wie am Hauptrechner.
1
4.2.0-0.bpo.1-686-pae #1 SMP Debian 4.2.6-3~bpo8+2 (2015-12-14) i686 GNU/Linux

Böse Zungen würden jetzt behaupten,
man kann entweder 'Stable' oder 'Ubuntu' haben. ;-)

von (prx) A. K. (prx)


Lesenswert?

Norbert schrieb:
> Böse Zungen würden jetzt behaupten,
> man kann entweder 'Stable' oder 'Ubuntu' haben. ;-)

Das stimmt schon. Ubuntu und Debian(stable) befinden sich recht weit von 
einander entfernt in der Skala zwischen "alt aber bewährt" und 
"brandaktuell".

: Bearbeitet durch User
von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Naja, es muss noch irgendwas anderes im Spiel sein:
1
$ uname -a
2
Linux wega 4.4.0-45-generic #66-Ubuntu SMP Wed Oct 19 14:12:37 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
3
$ cat /etc/lsb-release 
4
DISTRIB_ID=Ubuntu
5
DISTRIB_RELEASE=16.04
6
DISTRIB_CODENAME=xenial
7
DISTRIB_DESCRIPTION="Ubuntu 16.04.1 LTS"
8
$ lsusb -s6 -v
9
10
Bus 002 Device 006: ID 03eb:2104 Atmel Corp. AVR ISP mkII
11
Device Descriptor:
12
  bLength                18
13
  bDescriptorType         1
14
  bcdUSB               1.10
15
  bDeviceClass          255 Vendor Specific Class
16
  bDeviceSubClass         0 
17
  bDeviceProtocol         0 
18
  bMaxPacketSize0        16
19
  idVendor           0x03eb Atmel Corp.
20
  idProduct          0x2104 AVR ISP mkII
21
  bcdDevice            2.00
22
  iManufacturer           1 ATMEL
23
  iProduct                2 AVRISP mkII
24
  iSerial                 3 00B00000011B
25
  bNumConfigurations      1
26
  Configuration Descriptor:
27
    bLength                 9
28
    bDescriptorType         2
29
    wTotalLength           32
30
    bNumInterfaces          1
31
    bConfigurationValue     1
32
    iConfiguration          0 
33
    bmAttributes         0xc0
34
      Self Powered
35
    MaxPower              100mA
36
    Interface Descriptor:
37
      bLength                 9
38
      bDescriptorType         4
39
      bInterfaceNumber        0
40
      bAlternateSetting       0
41
      bNumEndpoints           2
42
      bInterfaceClass       255 Vendor Specific Class
43
      bInterfaceSubClass      0 
44
      bInterfaceProtocol      0 
45
      iInterface              0 
46
      Endpoint Descriptor:
47
        bLength                 7
48
        bDescriptorType         5
49
        bEndpointAddress     0x82  EP 2 IN
50
        bmAttributes            2
51
          Transfer Type            Bulk
52
          Synch Type               None
53
          Usage Type               Data
54
        wMaxPacketSize     0x0040  1x 64 bytes
55
        bInterval              10
56
      Endpoint Descriptor:
57
        bLength                 7
58
        bDescriptorType         5
59
        bEndpointAddress     0x02  EP 2 OUT
60
        bmAttributes            2
61
          Transfer Type            Bulk
62
          Synch Type               None
63
          Usage Type               Data
64
        wMaxPacketSize     0x0040  1x 64 bytes
65
        bInterval              10
66
Device Status:     0x0001
67
  Self Powered

Auch ganz ohne root-Rechte lassen sich die Strings auslesen
(iManufacturer, iProduct, iSerial).  Rechte für den normalen
Nutzer sind per udev-Regeln vergeben, die auch  nach dem OS-Upgrade
ordnungsgemäß von systemd weiter erkannt worden sind.

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.