2012-10-02 47 views
5

मैं किसी उपकरण मैं कीपरिवर्तित Linux में एक ड्राइवर

मैं के लिए libusb उपयोग कर रहा हूँ (मामले की ही तरह Here, लेकिन एक अलग डिवाइस वर्णित) खिड़कियों चालक है कि करने के लिए एक linux ड्राइवर लिखने के लिए कोशिश कर रहा हूँ लिनक्स पक्ष पर संचार, और स्रोत यूएसबी मेरे यूएसबी स्निफर (विंडोज़ मशीन पर) के रूप में। अब मुझे लगता है कि मैंने नियंत्रण और थोक को ठीक से दोहराया है, लेकिन मैं वास्तव में विंडोज़ के खिलाफ लिनक्स लॉग का परीक्षण नहीं कर सकता। मैं एक वीएम पर उबंटू 12.04 चला रहा हूँ।

तो मेरी प्रश्न हैं:

  1. वहाँ एक बहु लकड़हारा है? यह लॉग तुलना प्रक्रिया को वास्तव में सरल बना सकता है।
  2. जब मैं वीएम में यूएसबी डिवाइस संलग्न करता हूं - मुझे विंडोज़ में वीएम ड्राइवर मिलता है। इस डिवाइस को स्नीफ करने से मुझे बिल्कुल सही लगता है कि डिवाइस क्या देखता है, है ना? मेरा मतलब है - क्या यह वह जगह है जहां मैं स्नीफ करना चाहता हूं?

संपादित करें: मैं खिड़कियों पर अपने आवेदन संकलित किया है - और अपने आवेदन ठीक से काम (libusb पार मंच है डेवलपर्स जो इस तरह के एक अच्छा काम किया है libusb लिए बहुत बहुत धन्यवाद)।

लिनक्स पर अपना आवेदन चलाते समय वीएम ड्राइवर को स्नीफ करते समय, मुझे USB_TRANSFER और BULK_OR_INTERRUPT के बजाय यूएसबी को VENDOR_DEVICE के रूप में अनुरोध दिखाई देता है। अगर मैं सही ढंग से समझता हूं तो यह समस्या है, क्योंकि यह डिवाइस "देखता है" है।

तो मुझे लगता है कि अब मेरी समस्या यह है कि लिनक्स विक्रेता के रूप में मेरे अनुरोध क्यों भेजता है।

किसी अन्य संपादन का: समस्या हल:

  1. वीएम ड्राइवर को सुनना मुझे गलत अनुरोध (मैं वी एम चालक यातायात के लिए सुन रहा था, नहीं, के रूप में मैं चाहता था, अपनी USB लिनक्स चालक की यातायात दिया
  2. libusb पूरी तरह से बहु है। यह मेरे खिड़कियों के तहत संकलित करने के लिए मेरे कोड प्राप्त करने के लिए कुछ मिनट लग गए, और वहां से यह बहुत डिबग करने के लिए आसान था और लॉग

उत्तर

5

आप Wireshark उपयोग कर सकते हैं यूएसबी ट्रैफ़िक को कैप्चर करने की तुलना करें। यह पृष्ठ बताता है कि लिनक्स और वाई के लिए इसे कैसे किया जाए ndows: CaptureSetup/USB