2013-02-27 206 views
6

पर विफल रहता है मैंने बिना किसी लाभ के घंटों की खोज की है। मैंने इसे हर जगह देखा है कि libusb_detach_kernel_driver मैक ओएस एक्स पर समर्थित नहीं है, लेकिन मैं इसके लिए पैच या विकल्प नहीं ढूंढ पा रहा हूं।libusb_claim_interface मैक ओएस एक्स माउंटेन शेर

libusb_claim_interface रिटर्न इस: libusb: 0.863377 error [darwin_claim_interface] USBInterfaceOpen: another process has device opened for exclusive access

मैं कैसे गिरी से USB उपकरण को अलग कर सकते हैं?

+0

हाय जॉर्ज! क्या आपने कभी इसके लिए समाधान पाया है? मेरे पास मैक ओएस एक्स, मैवरिक्स पर एक ही यूएसबीएनटरफेस ओपन त्रुटि है। कोई फर्क नहीं पड़ता कि मैं क्या कोशिश करता हूं, मैं अपने सीडीसी डिवाइस के इंटरफेस का दावा नहीं कर सकता। –

+0

दुर्भाग्य से मैंने नहीं किया है। अगर आप कुछ समझते हैं, तो कृपया हमें यहां बताएं! –

+0

मुझे मिला सबसे नज़दीकी समाधान कोई है जो मुझे अपनी खुद की .kext ड्राइवर फ़ाइल लिखने के लिए कह रहा है। साथ ही, आपको यहां मेरे स्टैक ओवरफ्लो प्रश्न पर कुछ मदद मिल सकती है: http://stackoverflow.com/questions/20253350/unable-to-claim-usb-interface-with-c-libusb-on-mac-os-x बेस्ट तरीका सीरियल संचार मार्ग का प्रयास करना है, जिसे मैं यहां आज़मा रहा हूं: http://www.microchip.com/forums/tm.aspx?high=&m=762247&mpage=1#762269 –

उत्तर

2

कई डिवाइसों में स्वचालित रूप से ओएसएक्स द्वारा पहचाने गए यूएसबी डिवाइस से जुड़ा एक ड्राइवर होता है और आप तब तक डिवाइस का दावा नहीं कर पाएंगे जब तक कि आप सिस्टम को कोड को चलाने से पहले मैन्युअल रूप से डिवाइस को अलग करने के लिए मजबूर नहीं करते हैं और दावा करते हैं डिवाइस। उदाहरण के लिए यह कुछ अद्वितीय यूएसबी डिवाइस के लिए AppleUSBCDC डिवाइस संलग्न यदि आप खामियों को दूर करने में आपको बस इतना करना होगा:

sudo kextunload -b com.apple.driver.AppleUSBCDC 

आपके आवेदन जो इंटरफ़ेस का दावा करने की कोशिश करता है चलाने से पहले।

+0

मेरे मामले में यह 'sudo kextunload -b com.apple.driver.AppleUSBFTDI' था जो समस्या को हल करता था। क्या यह जानने का कोई तरीका है कि वास्तव में कौन सा ड्राइवर डिवाइस धारण कर रहा है? –