2012-12-22 17 views
8

के तहत यूएसबी डिवाइस पुन: कनेक्शन जारी करने के लिए कैसे मेरे पास एक यूएसबी डिवाइस है जो एफटीडीआई चिप पर आधारित है। कभी-कभी, उसका चालक फंस जाता है।विंडोज

लिनक्स के तहत, कोई समस्या नहीं है - डिवाइस स्वचालित रूप से डिस्कनेक्ट हो जाता है, और डिफ़ॉल्ट कर्नेल द्वारा पुनः कनेक्ट किया जाता है, और केवल समस्या डिवाइस नाम बदल जाती है - जिसे udev नियमों द्वारा तय किया जा सकता है।

खिड़कियों के नीचे, जब यह अटक गया, उस पल में read() या write() करता है तो एप्लिकेशन का धागा पूरी तरह से लटकता है। इसे मार नहीं सकता है और न ही TerminateThread, न ही KillProcess द्वारा।

ऐप को मारने का एकमात्र तरीका - यूएसबी डिवाइस को शारीरिक रूप से डिस्कनेक्ट कर रहा है।

प्रोग्रामेटिक डिवाइस रीकनेक्शन जारी करने का कोई भी तरीका, जो चालक के डेडलॉक को हटा देगा और बंदरगाह को फिर से खोलने और बाद में काम करना जारी रखेगा?

प्रशासनिक अधिकार आवेदन यदि आवश्यक हो, तो हो सकता है।

+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 

फिर से संलग्न जब यह त्रिशंकु था।

नोट: यह डिवाइस प्रबंधक से सभी यूएसबी डिवाइस हटा देगा और उन्हें फिर से जोड़ देगा। आप उम्मीद कर सकते हैं या devcon findall *ROOT_HUB* करने के लिए समान रूप से उपयोग कर सकते हैं और आवश्यकतानुसार ROOT_HUB20 या ROOT_HUB30 हटा सकते हैं।

+1

ऐसा लगता है कि मेरे लिए डिवाइस को बंद करने के लिए हब बंद करने में असफल रहा है ...:/ – datacompboy

+0

आपकी समस्या की तरह लगता है डिवाइस के साथ नहीं हो सकता है, लेकिन आपका यूएसबी हब। क्या आपके पास एक और कंप्यूटर या यूएसबी हब है जिस पर आप इसे आजमा सकते हैं? –

+0

यह यूएसबी केंद्र पर एमबी है, मैं बाहरी निष्क्रिय और सक्रिय यूएसबी हब के साथ जांच करूँगा, सुझाव के लिए धन्यवाद! यह वास्तविक समाधान – datacompboy