2012-12-22 23 views
8

私はFTDIチップをベースにしたUSBデバイスを持っています。時々、その運転手が立ち往生することがあります。WindowsでUSBデバイスの再接続を行う方法

Linuxでは、デバイスが自動的に切断され、デフォルトのカーネルで再接続され、デバイス名が変更されただけですが、udevルールで修正することができます。

ウィンドウが詰まっているとき、その時点でread()またはwrite()を実行するアプリケーションのスレッドが完全にハングします。それはTerminateThread、またはKillProcessによって殺されることはありません。

アプリを強制終了する唯一の方法は、USBデバイスを物理的に切断することです。

プログラムでデバイスの再接続を行う方法は、ドライバのデッドロックを取り除き、ポートを再度開いて作業を続けることができますか?

必要な場合は、管理者権限のアプリケーションに含めることができます。

+0

「devcon.exe再起動*のFTDI *」 「devcon.exe無効* FTDI *」 – datacompboy

+0

ハング状態に悪いニュースは、FTDIベースのデバイスは、市場で最も信頼性の高いものであることである一方、 が失敗しています! - PL2303(および/またはそのチップセットのベンダーのドライバ)に基づくデバイスは、ひどく壊れています。 – marko

+0

[ftdichip.com](http://ftdichip.com)から新しいドライバをお試しになりましたか? –

答えて

5

あなたの考えを一歩前進させることをお勧めします。 USBデバイスを直接再起動しようとしていますが、ハブを試してみませんか?

私は同様の問題を抱えていた、とやって:

devcon remove *ROOT_HUB* && devcon rescan 

再接続されたUSBデバイスをハブに、それがハングしたとき。

注::デバイスマネージャからすべてのUSBデバイスが削除され、再追加されます。あなたはexpectまたは類似してdevcon findall *ROOT_HUB*を実行し、必要に応じてROOT_HUB20またはROOT_HUB30のいずれかを削除することができます。

+1

デバイス自体のように、ハブをシャットダウンするのに失敗するようです:/ – datacompboy

+0

あなたの問題のようなサウンドはデバイスではなく、USBハブである可能性があります。試してみることができる別のコンピュータまたはUSBハブがありますか? –

+0

それはmbのオンボードのUSBハブです、私は外部のパッシブでアクティブなUSBハブ、おかげで提案にチェックします!それは本当の解決策だと思われる – datacompboy

関連する問題