私は、基本的な Linux カーネルと大容量ストレージ ドライバーをロードした Gumstix Overo Fire COM を持っています。デバイスはホスト マシンに接続され、ホスト マシンからは一般的な USB ストレージ デバイスとして表示されます。次に、デバイスをg_file_storage
手動でホストに繰り返し挿入する動作をエミュレートするために、モジュールを 5 秒ごとに繰り返し挿入および取り外すように設定されています。これは奇妙に聞こえるかもしれませんが、ドライバーから大量の USB メッセージを収集したいので、これは絶対に必要です。
このデバイスの繰り返しの「挿入」と「取り外し」は、Mac や Linux ホストでは問題なく動作しますが、ほとんどの Windows マシンでは、10 回ほどの挿入と取り外しの後に BSoD が発生します。最初は、デバイスの「取り外しポリシー」が問題の原因であると考えました。ここただし、いくつかの実験では、この設定は効果がないことがわかりました。削除ポリシーが迅速な削除に最適化されている場合でも、BSoD は引き続き表示されました。
また、管理者権限を持ち、工場出荷時/デフォルト設定になっている一部の Windows マシンでは、BSoD もエラーも発生しません。この問題は、セキュリティを強化し、ユーザー設定を制限したパブリック マシンで主に発生します。したがって、問題の原因は何らかのセキュリティ設定にあると考えていますが、正確にはわかりません。
どのような設定がこの問題の原因となっているのでしょうか?
編集: BSoD に関する「技術情報」は次のとおりです。
*** STOP: 0x0000007E (0xFFFFFFFFC0000005, 0xFFFFF88001612652, 0xFFFFF88002FB9308, 0xFFFFF88002FB8B60)
*** FarSpace.sys - Address FFFFF88001612652 base at FFFFF88001600000, DateStamp 50046f1f
私の知る限りでは、Farspace.sys
はディープフリーズソフトウェア。
答え1
7E停止エラーは「SYSTEM_THREAD_EXCEPTION_NOT_HANDLED「:」
このバグ チェックは、システム スレッドがエラー ハンドラーがキャッチしなかった例外を生成したことを示します。
FarSpace.sysはFaronicsのソフトウェアの一部であり、ディープフリーズ公共のマシンだと言うので、誰かが Deep Freeze でロックダウンしていて、そのせいで異常な USB の挿入/取り外しがうまくできない状態になっているのだと思います。
もしそうなら、まずは「解凍」中に何か違う挙動があるかテストして、もし違う挙動があれば、FaronicsのサポートPC が「フリーズ」している間に、必要な操作を実行するためのガイダンスです。
また、使用しているコードを 4 回チェックして、使用が終了したらスレッドが適切にクリーンアップされていることを確認することをお勧めします。