एक संचालित हब के माध्यम से एक ही उबंटू पर कई यूएसबी 3.0 डिवाइस


7

मैंने अपने ubuntu 12.04 मशीन में कई USB 3.0 सक्षम डिवाइस कनेक्ट करने का प्रयास किया। लेकिन यह पता चला कि एक समय में 9 से अधिक उपकरणों को जुड़ा हुआ नहीं देखा जा सकता है। मैंने कर्नेल लॉग पर निगरानी रखने की कोशिश की /var/log/kern.log, जहां मुझे पता चला कि 10 वीं डिवाइस को जोड़ने पर, नीचे की त्रुटि थी:

इस उपकरण को पर्याप्त मुक्त संसाधन नहीं मिल सकते हैं जो इसका उपयोग कर सकते हैं। (कोड 12)

मेरा USB होस्ट नियंत्रक है:

इंटेल कॉर्पोरेशन 8 सीरीज़ / C220 सीरीज़ चिपसेट फैमिली USB xHCI (रिव्यू 05)

कुछ मंचों ने USB 3.0 समर्थन को अक्षम करने का सुझाव दिया है ताकि उपकरणों को USB 2.0 मोड में काम करने के लिए मजबूर किया जाए, और यह समस्या को हल करना चाहिए। और यह सच था। BIOS से xHCI समर्थन को अक्षम करने ने मेरे लिए चाल चली।

मुझे लगा कि यह पुराने Ubuntu 12.04 सेटअप पर एक बग होना चाहिए (या usb ड्राइवर हो सकता है)। इसलिए, मैंने अपने सिस्टम को Ubuntu 16 में अपग्रेड किया। लेकिन यहां भी वही समस्या मौजूद है। क्या होगा अगर मैं USB 3.0 के साथ अपने उपकरणों का उपयोग करना चाहता हूं? क्या होगा अगर BIOS से xHCI समर्थन को अक्षम करने का विकल्प कुछ मदरबोर्ड पर मौजूद नहीं है?

जवाबों:


4

एक नियंत्रक में आंतरिक बफ़र्स होते हैं जो इसे इनपुट और आउटपुट करने के उद्देश्य से जुड़े उपकरणों के लिए आवंटित करता है। इन बफ़र्स को संसाधन या समापन बिंदु भी कहा जाता है।

अधिक डेटा समाहित करने के लिए तेज़ उपकरणों को अधिक बफ़र्स आवंटित करने की आवश्यकता होती है। यह संख्या प्रति उपकरण अलग-अलग हो सकती है, लेकिन अधिकतम 32 एंडपॉइंट्स हैं जिसमें 16 इन और 16 आउट-डिवाइस प्रति हैं।

ऐसी खबरें हैं कि इंटेल 8 सीरीज यूएसबी 3.0 एक्सएचसीआई होस्ट कंट्रोलर केवल 96 एंडपॉइंट्स का समर्थन करता है, और व्यावहारिक सीमाएं पहले ही हिट हो सकती हैं।

आपकी पोस्ट की जानकारी से, मुझे लगता है कि प्रत्येक USB3 डिस्क 10 समापन बिंदु aka का उपयोग करता है। संसाधनों, शायद 5 में और 5 बाहर। इसलिए 9 डिस्क्स ने 90 एंडपॉइंट्स का उपयोग किया जो ठीक था, लेकिन 10 डिस्क्स को 100 एंडपॉइंट्स की आवश्यकता होती है जो 96 की सीमा से अधिक है, इसलिए नियंत्रक ने ऑपरेटिंग सिस्टम में एक त्रुटि कोड भेजा है।

जब आपने धीमे USB2 से कनेक्शन घटाया, तो नियंत्रक ने प्रत्येक डिवाइस के लिए बहुत कम बफ़र्स आवंटित किए, इसलिए आप अधिक डिस्क कनेक्ट कर सकते हैं।

समाधान एक USB2 हब जोड़ने और उस डिस्क पर डालने के लिए हो सकता है जिसे उच्च अंतरण दर की आवश्यकता नहीं है।

आगे की पढाई :


मैंने USB2.0 हब को जोड़ने का सोचा जो USB2.0 प्रोटोकॉल से USB3.0 उपकरणों को जोड़ देगा। लेकिन फिर भी उन उपकरणों को केवल ker.log में xhci का उपयोग करते हुए देखा गया था। क्या इसका मतलब यह है कि हब usb3.0 का भी समर्थन कर रहा था?
अंशुमान चटर्जी

यदि आप usb3 पर usb2 को पिग्गी-समर्थित करते हैं, तो usb2 हब पर उपकरण usb2 के रूप में काम करते हैं, भले ही डिवाइस स्वयं usb3 कर सकें। यह प्रश्न उठाता है, जिसका मेरे पास कोई जवाब नहीं है, क्या usb3 फर्मवेयर डिवाइस-गुण (usb3) या कनेक्शन की गति (usb2) द्वारा आवश्यक बफ़र्स की संख्या को निर्धारित करने में त्रुटि करता है। यह जानने के लिए कि आप किसका उपयोग कर सकते हैं lsusbइस लेख और इस पोस्ट को देखें ।
harrymc

0

पिछला उत्तर लगभग सही है। अगर USB3 के साथ 96 समापन बिंदु हैं जो आपको 32 से कम उपकरणों तक सीमित करता है तो एक सीमा है। USB2 हब का उपयोग करने से यह ठीक नहीं होता है क्योंकि आप अभी भी USB2 मोड में USB3 चिप का उपयोग कर रहे हैं, और समापन बिंदु सीमा समान रूप से, दुख की बात है।

मैंने इस समस्या से भी निपटा और मुझे वास्तविक समस्या और समाधान खोजने में थोड़ा समय लगा। यह एक लंबा पृष्ठ है, इसलिए आप इसे वहां पढ़ सकते हैं http://marc.merlins.org/perso/linux/post_2018-12-20_Getting-Around-USB3-xhci-32-Device.Limit- मैक्स- की संख्या डिवाइस-यह-xHCI-host-support-is-32 .html है

असल में, यह इन चीजों के लिए फोड़ा जाता है
1) USB3 के साथ एक 96 समापन बिंदु सीमा है (जो केवल 32 डिवाइसों में अनुवाद करता है
2) आप हब के कारण आगे के समापन बिंदु खो देते हैं, USB2 केबल में USB2 केबल का उपयोग करने से आपको कुछ स्लॉट वापस मिल जाते हैं।
3) अधिक आम तौर पर आपको यूएसबी 3 को अक्षम करना चाहिए यदि आप इसके बिना कर सकते हैं (यूएसबी 3 कर्नेल चालक को हटा दें, या यदि आप कर सकते हैं, तो यूएसबी 3 को अक्षम करें)। USB2 मोड में USB3 चिप का उपयोग करने से मदद नहीं मिलती है, आपको USB3 को अक्षम करना होगा ताकि आपका मदरबोर्ड एक USB2 कंट्रोलर में पोर्ट को फिर से राउट करे, जिसमें एंडपॉइंट लिमिट 4 नहीं है) यदि आप USB3 को अक्षम नहीं कर सकते हैं, तो USB2 को PCIe कार्ड से प्राप्त करें। और वह सही मायने में आपको 120 डिवाइस या तो देगा।

इसके अतिरिक्त संसाधन: https://www.spinics.net/lists/linux-usb/msg175224.html
https://forums.intel.com/s/question/0D50P00004905stSAA/hardware-limitation-on-usb-endpoints-xhci? भाषा = hi

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