Forum: PC Hard- und Software USB-Device ist plötzlich nicht mehr bekannt


von Oliver K. (Gast)


Lesenswert?

Hallo,

habe hier ein USB-Device, dessen Treiber sich vor einem Jahr problemlos 
installieren ließ. Von dem USB-Device habe ich dann ein weiteres als 
Ersatzteil nachbestellt, kann aber nicht mehr sicher sagen, ob ich den 
Treiber für dieses 2. Device nochmals installiert habe. Ich meine nicht.

Gestern nun das USB-Device einige Mal benutzt, heute nach dem Sytemstart 
ist das USB-Device dem System nicht mehr bekannt. "Neue Hardware 
gefunden" muss ich lesen, ein Treiber will installiert werden. Mehrere 
Installationsversuche schlagen fehl, da auf dem System scheínbar kein 
Treiber vorhanden ist.

Also das Ersatz-Device angeschlossen, neue Hardware wurde gefunden, ein 
Treiber will installiert werden. Also einen neuen Installationsversuch 
gestartet und diesmal klappt die Installation und das Device 
funktioniert.

Dann das "alte" Device angeschlossen, wieder wird eine neue Hardware 
gefunden. Also wieder einen Installationsversuch gestartet, die 
Installation schlägt erneut fehl, kein Treiber gefunden.

Nun stehe ich vor einem Rätsel. Werden die beiden gleichen Devices als 
unterschiedliche Devices behandelt und benötigen jeweils 
unterschiedliche Treiber? Wobei es nur einen Treiber gibt und das ganze 
gestern abend noch funktioniert hat.

Im Gerätemanager finde ich unter Geräteinstanzerkennung schon mal 
unterschiedlichen Zahlensalat. Ebenso unter Hardwarekennung: Hier fällt 
allerdings in der 1. Zeile ein unterschiedlicher Zusatz auf: 
...&Rev_0000 bei dem Device, welches erkannt wird und ...&Rev_:001 bei 
dem Device, welches nicht erkannt wird.

Was ist wo angebrannt?

Oliver

von Bernd H. (geeky)


Lesenswert?

Sofern das Gerät keine Standard USB-Klasse nutzt, für die Windows 
bereits einen Treiber mitbringt muss der Inhalt der .inf-Datei eines 
Treibers die Hardware-ID matchen.
Ob die .inf dabei nur Product-ID und Vendor-ID matched oder auch z.B. 
eine Revision* berücksichtigt liegt im Ermessen des Treiberherstellers.
D.h. da muss ggf. mal ein Blick in die .inf des Treibers geworfen 
werden.

(*entspricht dem "bcdDevice" / "Device Release Number" Feld des 
Device-Descriptors des USB-Geräts)

Bei PCI-Devices gibt es u.a. auch noch eine Subsystem-ID.
Die kann z.B. verhindern, das man die offiziellen 
nvidia/AMD-Grafikkartentreiber installieren kann, wenn der 
Systemhersteller eine eigene Subsystem-ID verwendet hat.
Das macht der Systemhersteller teils unnötig und ärgert den Endkunden 
damit ggf, weil er dadurch ggf. die neuesten Treiber nie nutzen kann, 
falls der Systemhersteller sie nicht angepasst bereit stellt.
Teils aber auch absichtlich weil er die Grafikkarte über einen 
angepassten non-Standard-Treiber speziell konfiguriert und wo bei 
Verwendung des Standard-Treibers des GPU-Herstellers dann ggf Probleme 
auftreten könnten.
Diese Praxis nimmt zum Glück inzwischen eher ab...

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Warum machst so ein Geheimnis um das 'USB Device'? Schreib doch einfach, 
was es ist.

von Oliver K. (Gast)


Lesenswert?

Bernd H. schrieb:
> D.h. da muss ggf. mal ein Blick in die .inf des Treibers geworfen
> werden.

Können vor Lachen, denn den Treiber scheint die zum USB-Device gehörende 
Software mitzuringen und bei der Installation irgendwo zu verstecken. 
Erst danach funktioniert "Software automatisch installieren 
(empfohlen)". Anderenfalls kann man lesen: "Die Hardware wurde nicht 
installiert, weil die erforderliche Software nicht gefunden wurde".

Weiß der Teufel, wie das funktioniert.
Wer findet eigentlich was und wo?

von Bernd H. (geeky)


Lesenswert?

Windows selbst schaut in der Regel nach in:
1) C:\WINDOWS\inf
2) C:\WINDOWS\System32\DriverStore\FileRepository
3) Windows-Update

Setup-Programme entpacken heutzutage in der Regel die .inf und sonstige 
Treiberdateien in irgendeinen Temp-Ordner zusammen mit Microsofts 
"dpinst" ("Driver Package Installer"), welches dann vom Setup-Programm 
aufgerufen wird und den Treiber regulär installiert (wobei er in der 
Regel nach C:\Windows\inf bzw. C:\Windows\system32\drivers kopiert wird. 
Die relevante inf könnte also ggf. in C:\Windows\inf\ zu finden sein, 
meist eine der oem- .inf-Dateien)

Nach Start des Setup stehen die Chancen auch gut, das man die 
Treiberdateien irgendwo in einem der Temp-Ordner finden kann.

Ich würde allerdings erstmal beim Hersteller vorbei schauen oder den 
kontaktieren. Oder nach der Hardware-ID googlen, vllt. findet sich ein 
aktueller Treiber da direkt.

von Manfred (Gast)


Lesenswert?

Bernd H. schrieb:
> Windows selbst schaut in der Regel nach in:
> 1) C:\WINDOWS\inf
> 2) C:\WINDOWS\System32\DriverStore\FileRepository
> 3) Windows-Update

Wenn ich einen Treiber habe, schaut Windows in dem Verzeichnis nach, was 
ich manuell vorgebe. Das ist zwar alles bunter und versteckter geworden, 
aber hat sich von Windows 2000 bis WIndows 10 nicht geändert.

Oliver K. schrieb:
> Können vor Lachen

Du Pfeife kannst noch nicht einmal Deine hochgeheime USB-Device und 
deren VID:PID benennen, willst Du Hilfe oder trollen?

von Klaus P. (Gast)


Lesenswert?

Meine Frau hat auch ein Headset, das in der letzten Woche nicht mehr 
erkannt wurde ("unbekanntes Gerät"). Es ist ein Plantronics Gamecom 881, 
das vor einigen Wochen noch funktioniert hat - jetzt nicht mehr, an zwei 
PCs getestet.
Da es schon etwas älter ist, kann es sein, dass es schon entsorgt wurde 
- falls nicht, sehe ich heute Abend mal nach, welche VID/PID eingetragen 
wird.

von Klaus P. (Gast)


Lesenswert?

Klaus P. schrieb:
> Da es schon etwas älter ist, kann es sein, dass es schon entsorgt wurde
> - falls nicht, sehe ich heute Abend mal nach, welche VID/PID eingetragen
> wird.

Ist noch nicht entsorgt, liegt sogar noch hier...

Meldung im Gerätemanager: Unbekanntes USB-Gerät (Fehler beim Anfordern 
einer Gerätebeschreibung)

Unter Details:
Gerätebeschreibung: Unbekanntes USB-Gerät (Fehler beim Anfordern einer 
Gerätebeschreibung)
Hardware-IDs: USB\DEVICE_DESCRIPTOR_FAILURE
Geräteinstanzpfad: USB\VID_0000&PID_0002\6&347C8914&0&12

Es kann natürlich sein, dass der USB-Adapter wirklich plötzlich defekt 
ist. Und weil es wie gesagt schon älter ist, wird es wohl ersetzt.

von Guido K. (Firma: Code Mercenaries GmbH) (thebug)


Lesenswert?

Windows kommt mit USB nicht so gut klar. Darum testen wir beim 
Entwickeln von USB-Geräten auch lieber mit MacOS.

Hauptschwachpunkt ist die Registry. Da schreibt sich Windows im Laufe 
der Zeit immer mehr Unsinn über die Geräte rein. Irgendwann passieren 
dann solche Dinge.

Die Treiber sind eigentlich längst installiert. Wenn man dann das Gerät 
anschließt, macht sich Windows einen Eintrag in der Registry, dass für 
Gerät X am Port Y der Treiber Z verwendet wird. Steckt man das Gerät in 
einen anderen Port, passiert das noch mal. Hat man Geräte mit 
Seriennummern, dann wird für jedes Gerät an jedem Port so ein Eintrag 
erzeugt.

Das ist völlig überflüssig, weil die notwendige Information jederzeit 
aus dem USB-Gerät ausgelesen werden kann, aber so ist Windows nun mal.

Meistens wird man das Problem so los:
Gerät anschließen, im Gerätemanager das nicht funktionierende Gerät 
löschen. Zur Sicherheit einen Neustart machen und dann noch mal 
Anschließen und gucken, ob es tut.

Falls das nicht hilft, muss man meistens in die Registry gehen und dort 
direkt die EInträge löschen.

von Frank K. (fchk)


Lesenswert?

Klaus P. schrieb:

> Geräteinstanzpfad: USB\VID_0000&PID_0002\6&347C8914&0&12

Vendor ID 0 ist nicht zulässig. Da beschwert Windows sich zu Recht. 
Irdendwie sind da ein paar Bytes abhanden gekommen.

fchk

von Matthias L. (limbachnet)


Lesenswert?

Vielleicht mal mit "USBDeview" die Liste der am PC hinterlegten 
USB-Geräte etwas aufräumen und insbesondere das seltsame Gerät 
'rauskicken. Beim nächsten Anstöpseln müsste dann erneut nach den 
Treibern gesucht werden - wenn das Gerät selbst noch weiß, wer es ist...

von Bernd H. (geeky)


Lesenswert?

>DEVICE_DESCRIPTOR_FAILURE
könnte in der Tat ein Defekt sein. Der USB Device-Descriptor war wohl 
nicht sauber aus dem Gerät lesbar.
Checken könnte man da:
1) Mit anderem Rechner probieren
2) Anderen USB-Port probieren oder ggf. mit zwischen geschaltetem 
USB-Hub
3) Kabel auf Wackelkontakte prüfen
4) Quarz im Gerät checken
5) Beim USB-Device ankommende Spannung prüfen

von Oliver K. (Gast)


Lesenswert?

Matthias L. schrieb:
> Beim nächsten Anstöpseln müsste dann erneut nach den
> Treibern gesucht werden - wenn das Gerät selbst noch weiß, wer es ist...

Genau das war hier das Problem. Bis auf einen kleinen Unterschied: Das 
Gerät hat jetzt eine andere Vid/Pid, gibt sich also als ein anderes 
Device aus. Dem "neuen" Device kann Windows hier keinen Treiber 
zuordnen.

Also in der *.inf-Datei des mittlerweile gefundenen Treibers die neue 
Identität eingetragen, der Treiber wurde nun gefunden und erneut 
installiert. Das USB-Device funzt wieder. Keine Ahnung, wer das 
USB-Device umprogrammiert hat, und keine Ahnung, was der Kinderkram 
soll. Möglicherweise ist die Nutzungsdauer des Devices auf 1 Jahr bzw. 2 
Stunden begrenzt.

War mir bis jetzt auch nicht bekannt, dass man über das USB-Kabel die 
Vid/Pid eines USB-Device ändern kann. Oder den Ast absägen, auf dem man 
sitzt. Es gibt wohl nichts, was es nicht gibt.

von Christian R. (supachris)


Lesenswert?

Oliver K. schrieb:
> War mir bis jetzt auch nicht bekannt, dass man über das USB-Kabel die
> Vid/Pid eines USB-Device ändern kann.

Nur wenn das Kabel oder Buchse oder das Device defekt ist. Die VID 0000 
ist ziemlich sicher fehlerhaft ausgelesen.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Wir wissen ja immer noch nicht, was für ein geheimes Device vorliegt. 
Viele USB Devices lassen sich mit externem oder internem EEPROM auf 
herstellerspezifische VID/PID ändern.

von Oliver K. (Gast)


Lesenswert?

Christian R. schrieb:
> Oliver K. schrieb:
>> War mir bis jetzt auch nicht bekannt, dass man über das USB-Kabel die
>> Vid/Pid eines USB-Device ändern kann.
>
> Nur wenn das Kabel oder Buchse oder das Device defekt ist. Die VID 0000
> ist ziemlich sicher fehlerhaft ausgelesen.

Du verwechselst was, ICH habe keine 0000 ausgelesen.
Und an dem Device hier ist auch nichts defekt.

Matthias S. schrieb:
> Viele USB Devices lassen sich mit externem oder internem EEPROM auf
> herstellerspezifische VID/PID ändern.

Damit ist meine Frage eigentlich beantwortet. Bleibt die Frage, ob die 
Umprogrammierung der VID/PID durch einen Systemfehler erfolgte, oder 
gewollt war.

von Björn W. (bwieck)


Lesenswert?

Eventuell ist das geheime "Device" ja eine FTDI-Fälschung und der 
originale FTDI Treiber hat die VID/PID geändert. Da war doch mal was..

von Oliver K (Gast)


Lesenswert?

Björn W. schrieb:
> Eventuell ist das geheime "Device" ja eine FTDI-Fälschung

Nö, falsche Party.

Übrigens aufpassen, was einem der Gerätemanager so alles mitteilt. Der 
scheint nicht immer das USB-Device direkt auszulesen, sondern der schaut 
wohl auch mal nur in irgendeine Tabelle.

Denn: Stecke ich das USB-Device ein, wird mir die neue (unrichtige) 
Identität angezeigt. Läuft jedoch die zum USB-Device gehörende Software, 
so wird mir die ursprüngliche (richtige) Identität angezeigt. Das 
Ersatz-Device (gleiches Gerät) wird hingegen immer mit der gleichen 
Identität angezeigt.

Hängt wohl damit zusammen, dass ich den Treiber mit modifzierter 
*.Inf-Datei ein zweites Mal installieren musste. Oder auch nicht. Das 
ist ja das tolle an der Computerei, man weiß nicht wirklich, was abgeht.

von 900ss (900ss)


Lesenswert?

Oliver K schrieb:
> Stecke ich das USB-Device

Was ist es denn für ein Gerät? Nur falls mal einer das gleiche Problem 
mit einem Gerät hat.

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.