2012-03-02 38 views
7

के साथ संवाद करने के लिए मानक फ़ाइलों के रूप में लिनक्स/डीवी/यूएसबी एक्सेस करना मैं लिनक्स में एक यूएसबी डिवाइस के साथ संवाद करने के तरीकों का शोध कर रहा हूं और लिनक्स कर्नेल ड्राइवर नहीं लिखना पसंद करूंगा। मैं समझता हूं कि libusb मौजूद है और एक उपयोगकर्ता-भूमि लाइब्रेरी है जो काम करेगी, लेकिन हमारे एम्बेडेड डिवाइस usbfs का समर्थन नहीं करते हैं (और वास्तव में समर्थन जोड़ने के लिए कर्नेल बदलने के लिए दर्द होगा)।यूएसबी डिवाइस

तो मेरा प्रश्न मूल रूप से यह है: क्या यह यूएसबी डिवाइस के साथ सीधे/लिखने/यूएसबी डिवाइस से संबंधित udev फ़ाइल को पढ़ने और लिखने के लिए एक यूएसबी डिवाइस के साथ संवाद करने के लिए संभव है/सलाह दी जाती है जिससे कस्टम लिनक्स की आवश्यकता को छोड़ दिया जा सके चालक और usbfs?

मुझे उम्मीद है कि यूएसबी डिवाइस प्रोटोकॉल का उपयोग करके प्रोटोकॉल पैकेट को सीधे लिखने/लिखने के लिए फ़ाइल-प्रकार पढ़ने/लिखने के आदेशों के माध्यम से/dev/USB या udev डिवाइस फ़ाइल खोलने के बाद संवाद करना संभव है।

विचार और सुझाव कृपया।

का अनुसरण करें:

के बाद से USB डिवाइस मैं बात करने के लिए आवश्यक करने के लिए है एक यूएसबी HID वर्ग डिवाइस, मैं libudev का उपयोग करने में सक्षम था और मानक लिनक्स यूएसबी पढ़ने/करने के लिए सीधे लिख कर रॉ ड्राइवर HID/dev/hidraw0 (या उचित/dev/hidraw डिवाइस)। एक साधारण यूएसबी छिपा डिवाइस के लिए एक कस्टम ड्राइवर लिखना आवश्यक नहीं था।

उत्तर

4

जिम, मुझे नहीं लगता कि आप ड्राइवर लिखने की आवश्यकता से बच सकते हैं और /dev में यूएसबी फ़ाइल को पढ़ने का प्रबंधन कर सकते हैं। क्योंकि यूएसबी डिवाइस फ़ाइल पर read() करते समय क्या होता है, इसके बारे में कौन परिभाषित करता है? और जब आप sysioctl() का आह्वान करते हैं तो कौन सी कार्रवाई शुरू की जानी चाहिए? आपका चालक! दूसरे शब्दों में, डिवाइस फ़ाइलें अंतर्निहित ड्राइवरों द्वारा समर्थित होने तक स्वयं तक कुछ भी अक्षम नहीं हैं। वास्तव में, आप डिवाइस फ़ाइलों को अंतर्निहित ड्राइवर का एक अमूर्त होने का इलाज कर सकते हैं! तो, कोई ड्राइवर, उपकरण फ़ाइल :(

का कोई उपयोग नहीं मेरा सुझाव है आप कैसे internals-

  1. http://www.linux-usb.org/USB-guide/c15.html

  2. एक ड्राइवर लिख सकते हैं और यह भी समझने की यूएसबी के बारे में निम्न लेख के माध्यम से जाना http://www.linuxjournal.com/article/4786 (थोड़ा पुराना)

+0

धन्यवाद पवन। यही कारण है कि मैं क्या सोचा जवाब होगा है। यह बहुत मुश्किल बस आगे बढ़ने और उपयोग ली नहीं होना चाहिए busb। – Chimera

+0

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

+0

ठीक पावन, मैं आपको अद्यतन रखूंगा! :-) – Chimera