अन्य उपकरणों के लिए एक आभासी USB डिवाइस के रूप में एक कंप्यूटर अधिनियम बनाएं


18

कुछ एप्लिकेशन वर्चुअल USB या CD रोम ड्राइव का अनुकरण करते हैं जैसे कि USB ड्राइव कंप्यूटर से जुड़ी होती है।

क्या कोई कॉन्फ़िगरेशन या एप्लिकेशन है जो एक वर्चुअल यूएसबी ड्राइव प्रदान करता है, खुद ऑपरेटिंग सिस्टम के लिए नहीं, बल्कि अन्य उपकरणों के लिए जो यूएसबी पोर्ट के माध्यम से यूएसबी ड्राइव को स्वीकार करते हैं।

इसलिए मेरे पास *.vdiकंप्यूटर में एक वर्चुअल हार्ड डिस्क (उदाहरण के लिए एक फ़ाइल) होगी, जो यूएसबी सॉकेट के माध्यम से, यूएसबी ड्राइव के रूप में कुछ अन्य उपकरणों (जैसे सेल फोन या लैपटॉप) के माध्यम से जुड़ा होता है।

जवाबों:


12

आपको कंप्यूटर के साथ एक USB डिवाइस / परिधीय नियंत्रक को जोड़ने की आवश्यकता होगी, जैसा कि वे USB होस्ट नियंत्रक के विरोध में करते हैं जिसके साथ वे आते हैं।

कुछ इस तरह: https://www.maximintegrated.com/en/products/interface/controllers-expanders/MAX3420E.html

दुर्भाग्य से, आपको इसे अपने मदरबोर्ड पर वायर करने का एक तरीका खोजना होगा। तकनीकी रूप से, यह किया जा सकता है। व्यावहारिक रूप से, आपको इसे शामिल करने के लिए मदरबोर्ड को फिर से डिज़ाइन करना होगा। आप भाग्यशाली हो सकते हैं कि एक एसपीआई या I2C बस को खोजने के लिए आपके मदरबोर्ड पर कहीं न कहीं आप इसे जोड़ने की अनुमति दें, लेकिन वे आम तौर पर सीधे वायर्ड होते हैं जो कि वे उपयोग किए जा रहे हैं जब तक कि आप एक देव बोर्ड या एकल का उपयोग नहीं कर रहे हैं- GPIO और अन्य रास्पबेरी पाई जैसे अन्य पोर्ट के साथ बोर्ड कंप्यूटर।

अन्य विकल्प USB ऑन-द-गो नियंत्रक होगा। एम्बेडेड और पोर्टेबल उपकरणों के लिए डिज़ाइन किए गए मदरबोर्ड में एक यूएसबी ओटीजी (ऑन-द-गो) कॉनोलर होता है, जो या तो होस्ट या डिवाइस नियंत्रक के रूप में कार्य कर सकता है। उदाहरण के लिए, उपर्युक्त रास्पबेरी पाई में एक ऑन-गो नियंत्रक है, लेकिन पाई जीरो को छोड़कर सभी मॉडलों पर जो एक होस्ट पोर्ट या ऑनबोर्ड यूएसबी हब के लिए फिर से शुरू हो जाता है जो यूएसबी डिवाइस की कार्यक्षमता का उपयोग करने से इनकार करता है। बीगलबोन ब्लैक में ओटीजी पोर्ट है।

हालांकि यह सब नहीं है - एक बार जब आप हार्डवेयर प्राप्त कर लेते हैं, तो आपको सॉफ्टवेयर की भी आवश्यकता होगी। लिनक्स में कुछ उपयोगी कर्नेल USB गैजेट ड्राइवर ("USB गैजेट" USB परिधीय / उपकरण के लिए एक और शब्द है) जैसे g_serial और g_ethernet जो आपको अपने डिवाइस को दूसरे कंप्यूटर में प्लग करने की अनुमति देता है और एक धारावाहिक या ईथरनेट-ओवर-यूएसबी डिवाइस के रूप में दिखाई देता है (डिवाइस को मास स्टोरेज के रूप में उजागर करने के लिए अन्य हैं, जो आपको ब्लॉक डिवाइस के रूप में एक फ़ाइल का उपयोग करने और कंप्यूटर को एक मास स्टोरेज गैजेट के रूप में उजागर करने की अनुमति देते हैं)। बीगलबोन ब्लैक डिफ़ॉल्ट रूप से सक्षम होने के साथ आता है, इसलिए आप इसे अपने पीसी में यूएसबी पर प्लग कर सकते हैं और इसे एक नेटवर्क डिवाइस के रूप में देख सकते हैं - और मेरा मानना ​​है कि यह कंपोजिट ड्राइवर का उपयोग करके एक मास स्टोरेज डिवाइस के रूप में प्रकट होता है (जो अनुमति देता है) यह एक कनेक्शन पर कई USB डिवाइस प्रकारों के रूप में प्रकट होता है। पाई जीरो इनका उपयोग कर सकते हैं , लेकिन डिफ़ॉल्ट रूप से नहीं। विंडोज या अन्य OSes के लिए, आपको शायद उस डिवाइस ड्राइवर को स्वयं लिखना होगा।

तो, सैद्धांतिक रूप से, आप इसे कर सकते हैं। आप अपने डेस्कटॉप पीसी को फाड़ सकते हैं, कोशिश कर सकते हैं और मदरबोर्ड पर एक अप्रयुक्त संगत बस कहीं पा सकते हैं (एक नियंत्रक आईसी पर सबसे अधिक अप्रयुक्त कुछ पिन), या एक आंतरिक I2C या एसपीआई बस का विस्तार करने का एक तरीका है, या कुछ जिसे आप फाड़ सकते हैं। उस पर USB OTG या डिवाइस कंट्रोलर चिप को बदलें, और मिलाप करें। फिर आप लिनक्स स्थापित कर सकते हैं और गैजेट ड्राइवर का उपयोग कर सकते हैं, या दूसरे ओएस के लिए अपना खुद का लिख ​​सकते हैं। व्यावहारिक रूप से, जब तक आप एक शीर्ष-पायदान इलेक्ट्रॉनिक्स इंजीनियर नहीं हैं, आप ऐसा करने में सक्षम नहीं होंगे। कम से कम, जब तक कि कोई व्यक्ति उस मायावी एडाप्टर के साथ डिवाइस या ओटीजी पोर्ट के साथ बाहर नहीं निकलता है, जो एक यूएसबी पोर्ट में प्लग करता है (सैद्धांतिक रूप से, जो एक माइक्रोकंट्रोलर के साथ किया जा सकता है जैसे कि एक Arduino USB डिवाइस आईसीएस की एक जोड़ी के लिए वायर्ड), और इसे चलाने के लिए ड्राइवरों को लिखते हैं।


2
महान व्याख्या, क्या आप कृपया जवाब अपडेट कर सकते हैं यदि आप (आपके ज्ञान के साथ) कुछ नया देखें अपनी सजा "जब तक कोई विशेष एडाप्टर के साथ बाहर नहीं आता है ..."। 2018 में यूएसबी-सी के साथ लैपटॉप हैं, क्या वे एक समाधान हो सकते हैं?
असैन कुजोविक

8

USB असमान है: एक पक्ष एक मेजबान है, दूसरा पक्ष परिधीय उपकरण है। आप परिधीय उपकरण को एक मेजबान या इसके विपरीत कार्य नहीं कर सकते। USB पोर्ट के लिए संभव है कि वह किसी भी तरफ कार्य कर सके; इसे USB ऑन-द-गो कहा जाता है और कुछ मोबाइल फोन और टैबलेट पर मौजूद होता है। पोर्ट भौतिक रूप से डिवाइस-टाइप पोर्ट होते हैं, न कि होस्ट-टाइप पोर्ट। मैंने कभी भी एक पीसी को डिवाइस पोर्ट के साथ नहीं देखा है। यह नियंत्रक पर इलेक्ट्रॉनिक्स की आवश्यकता है, यह एक केबल बनाने के लिए पर्याप्त नहीं है जो दोनों सिरों पर फिट बैठता है।

तो नहीं, आप USB डिवाइस में पीसी नहीं बना पाएंगे।

यदि आप कंप्यूटर को USB संग्रहण डिवाइस के रूप में उपयोग करना चाहते हैं, तो आप पीसी का उपयोग करने के बजाय USB कनेक्शन के साथ मोबाइल फोन या टैबलेट का उपयोग कर सकते हैं।


क्या आप थोड़ा और विस्तृत कर सकते हैं कि कैसे मोबाइल फोन का उपयोग करने से मुझे अपने पीसी को USB स्टोरेज डिवाइस / होस्ट में बदलने में मदद मिल सकती है, जिसे मैं किसी अन्य कम्पूटर, टीवी या डिवाइस पर प्लग कर सकता हूं? मुझे लगता है, मैं इस बिंदु को याद कर रहा हूं, हालांकि मुझे लगता है कि मुझे USB OTG के बारे में उचित जानकारी है।
trejder

@trejder जैसा कि मैंने लिखा है, मैंने कभी भी एक पीसी को डिवाइस पोर्ट ("पीसी" x86 टैबलेट को छोड़कर) नहीं देखा है।
गिल्स एसओ- बुराई को रोकना '

हां, लेकिन मैं आपके अंतिम वाक्य पर विश्वास कर रहा हूं: " यदि आप USB स्टोरेज डिवाइस में कंप्यूटर बनाना चाहते हैं, तो आप USB कनेक्शन के साथ मोबाइल फोन या टैबलेट का उपयोग कर सकते हैं "। शायद मुझे कुछ याद आ रहा है, लेकिन मैं इसे "आप USB स्टोरेज डिवाइस में कंप्यूटर चालू करने के लिए मोबाइल फोन या टैबलेट का उपयोग कर सकते हैं" के रूप में समझते हैं। यदि हां, तो सवाल यह है: कैसे?
ट्रेडर

1
@trejder आह, "कंप्यूटर" उस वाक्य में "पीसी" नहीं है, यह "कंप्यूटर" है। एक पीसी से एक फोन / टैबलेट एक अलग तरह का कंप्यूटर है। क्या यह आपको परेशान कर रहा है?
गिल्स एसओ- बुराई को रोकना '

1
@trejder नहीं। आमतौर पर आपका सबसे अच्छा शर्त एक नेटवर्क कनेक्शन को स्थापित करना है। आप फायरवायर पोर्ट के साथ किसी भी दो पीसी के बीच नेटवर्क कनेक्शन के रूप में फायरवायर का उपयोग कर सकते हैं, लेकिन कई पीसी में एक नहीं है। अधिकांश पीसी में एक ईथरनेट पोर्ट होता है, आप दो पीसी को एक ईथरनेट केबल के साथ जोड़ सकते हैं (बहुत पुराने पीसी में एक क्रॉसओवर केबल की आवश्यकता होती है लेकिन आधुनिक लोग एक साधारण केबल ले सकते हैं)। पीसी को मोबाइल डिवाइस के लिए स्टोरेज डिवाइस के रूप में परोसने के लिए, आपको आमतौर पर पीसी को किसी तरह वाईफाई पर लाना होगा।
गिल्स एसओ- बुराई को रोकना '

2

आप विशेष "यूएसबी-यूएसबी ब्रिजित केबलों" में से एक का उपयोग करने पर विचार कर सकते हैं, जिसे कभी-कभी "यूएसबी नेटवर्किंग केबल" कहा जाता है। इन लेखों में उल्लिखित एक जैसा:

वे आपको दो पीसी के बीच फ़ाइलों को स्थानांतरित करने की अनुमति देते हैं। मैं इस तरह के केबलों का उपयोग दस साल पहले (विंडोज़ एक्सपी के समय में) कर चुका हूं और उस समय में बाजार में उपलब्ध ऐसे सभी केबलों के लिए एक विशेष ड्राइवर और सॉफ्टवेयर की आवश्यकता होती है। वे आपको केवल विशेष फ़ाइल कमांडर के माध्यम से फाइल ट्रांसफर करने देते हैं, जो कि एक इंस्टॉलेशन डिस्क पर केबल ड्राइवरों के साथ रखा गया है और इसलिए एक पीसी को दूसरे को शुद्ध यूएसबी बाहरी डिवाइस के रूप में कार्य करने की अनुमति नहीं देता है।

मुझे यकीन नहीं है, अगर तब से कुछ भी बदल गया है और अगर नए समाधान आपको केवल विशेष सॉफ़्टवेयर का उपयोग करके फ़ाइलों को स्थानांतरित करने की अनुमति देते हैं और - यदि आप एक पीसी को दूसरे पीसी के लिए बाहरी डिवाइस के रूप में कार्य करने के लिए मजबूर कर सकते हैं।


2

जैसा कि मैट थॉमसन द्वारा जवाब में समझाया गया है , एक पीसी कंप्यूटर के भौतिक USB पोर्ट को USB गुलाम डिवाइस के रूप में बनाना संभव नहीं है, क्योंकि USB गुलाम नियंत्रक गायब है।

इसका मतलब है कि अगर हमारे पास एक एडाप्टर बोर्ड है जो दास-मोड यूएसबी (जैसे रास्पबेरी पाई जीरो) प्रदान कर सकता है, तो हमें इसे एक अलग चैनल जैसे वायर्ड ईथरनेट द्वारा अपने मेजबान पीसी से कनेक्ट करना होगा। मेरे पास दो अलग-अलग प्रस्ताव हैं कि आप उस ईथरनेट कनेक्शन पर कौन से प्रोटोकॉल चला सकते हैं:

(1) IP नेटवर्क पर USB पोर्ट को एक्सपोज करें।

अपने पीसी के लिए वर्चुअल USB डिवाइस के रूप में रास्पबेरी पाई जीरो के यूएसबी स्लेव-मोड पोर्ट को बेनकाब करने के लिए सॉफ़्टवेयर का उपयोग करें। यूएसबी / आईपी परियोजना एक ड्राइवर है कि IP नेटवर्क पर यूएसबी परिवहन कर सकते हैं के माध्यम से, इस प्रदान करता है। यहाँ जो अपने पीसी यहाँ होगा - यूएसबी / IP का उपयोग एक कंप्यूटर के लिए एक नकली USB डिवाइस प्रदान करने के लिए का एक उदाहरण है।

इस प्रस्तावित समाधान में मुझे जो नहीं पता है वह यह है कि यदि USB / IP सॉफ्टवेयर पहले से ही IP नेटवर्क पर USB गुलाम पोर्ट या सामान्य रूप से केवल USB होस्ट पोर्ट को उजागर करने में सक्षम है।

लेकिन अगर वह काम करता है, तब भी आपको अपने पीसी पर डिवाइस ड्राइवरों को इस तरह से सेट या अनुकूल करना होगा कि वे (1) USB कनेक्शन के रूप में आने वाले USB / IP कनेक्शन को स्वीकार करें, (2) इसके बजाय USB दास-मोड प्रदान करें USB होस्ट-मोड, (3) असाइन किए गए स्थान (आपके) से डेटा की सेवा करके एक USB मास स्टोरेज डिवाइस का अनुकरण करता है .vdi फ़ाइल) ।

कुल मिलाकर, यह करने का एक जटिल तरीका है।

(2) IP नेटवर्क पर फ़ाइल को एक्सपोज़ करें।

रास्पबेरी पाई ज़ीरो के लिए ईथरनेट कनेक्शन का उपयोग कैसे करें, यह बहुत सरल तरीका है: रास्पबेरी पाई ज़ीरो पर, नेटवर्क फ़ाइल सिस्टम के माध्यम से अपने पीसी पर संग्रहीत डेटा को माउंट करें। ये फाइलें तब तार्किक रूप से पाई जीरो की फाइल सिस्टम के हिस्से के रूप में दिखाई देती हैं, और आप रास्पबेरी पाई को कनेक्टेड डिवाइसों के लिए USB मास स्टोरेज डिवाइस की तरह दिखने के लिए लिनक्स USB गैजेट ड्राइवर के साथ उनकी सेवा कर सकते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.