Ich habe ein Gumstix Overo Fire COM, das ich mit einem grundlegenden Linux-Kernel und Massenspeichertreibern geladen habe. Das Gerät wird dann an einen Host-Rechner angeschlossen, für den es als gewöhnliches USB-Speichergerät erscheint. Es ist dann so eingerichtet, dass es sein g_file_storage
Modul alle 5 Sekunden wiederholt ein- und aussteckt, um das wiederholte manuelle Einstecken des Geräts in den Host zu emulieren. Das mag zwar seltsam klingen, ist aber absolut notwendig, da ich große Mengen an USB-Nachrichten vom Treiber sammeln möchte.
Dieses wiederholte „Einstecken“ und „Entfernen“ des Geräts funktioniert auf Mac- und Linux-Hosts einwandfrei, aber auf den meisten Windows-Rechnern bekomme ich nach etwa 10 Einsteck- und Entnahmevorgängen einen BSoD. Zunächst dachte ich, dass das Problem vielleicht an der „Entfernungsrichtlinie“ des Geräts lag, wie beschriebenHier. Einige Experimente zeigten jedoch, dass diese Einstellung keine Wirkung hatte; der BSoD trat weiterhin auf, auch wenn die Entfernungsrichtlinie für eine schnelle Entfernung optimiert war.
Außerdem bekomme ich auf manchen Windows-Rechnern, auf denen ich Administratorrechte habe und die alle Werkseinstellungen aufweisen, weder einen BSoD noch irgendwelche Fehler. Das Problem tritt hauptsächlich auf öffentlichen Rechnern auf, die auf höhere Sicherheit und eingeschränkte Benutzereinstellungen eingestellt sind. Daher glaube ich, dass das Problem durch eine Sicherheitseinstellung verursacht wird, aber ich bin nicht vertraut genug, um zu wissen, was genau.
Welche Art von Einstellung könnte dieses Problem verursachen?
BEARBEITEN: Hier sind die „Technischen Informationen“ zum BSoD:
*** STOP: 0x0000007E (0xFFFFFFFFC0000005, 0xFFFFF88001612652, 0xFFFFF88002FB9308, 0xFFFFF88002FB8B60)
*** FarSpace.sys - Address FFFFF88001612652 base at FFFFF88001600000, DateStamp 50046f1f
Soweit ich das beurteilen kann, Farspace.sys
ist das Teil desTiefkühltruheSoftware.
Antwort1
Ein 7E-Stoppfehler ist „SYSTEM_THREAD_AUSNAHME_NICHT_BEHANDELT":
Diese Fehlerprüfung zeigt an, dass ein Systemthread eine Ausnahme generiert hat, die der Fehlerhandler nicht abgefangen hat.
Ich bin ziemlich sicher, dass FarSpace.sys Teil der Software von Faronics ist, und sie machenTiefkühltruhe. Da Sie sagen, dass es sich um öffentliche Maschinen handelt, gehe ich davon aus, dass jemand sie mit Deep Freeze gesperrt hat und dass sie deshalb mit Ihren abnormalen USB-Ein-/Aussteckvorgängen nicht reibungslos funktionieren.
Wenn das der Fall ist, würde ich zuerst testen, ob sie sich im "aufgetauten" Zustand anders verhalten, und wenn ja, würde ich dannUnterstützung von Faronicsvon einigen Hinweisen dazu, wie Sie das tun können, was Sie möchten, während der PC „eingefroren“ ist.
Darüber hinaus sollten Sie den von Ihnen verwendeten Code vierfach überprüfen, um sicherzustellen, dass die Threads nach der Verwendung ordnungsgemäß bereinigt werden.