मुझे भी यही समस्या थी। मेरे मामले में, SMART उबंटू 12.04 का उपयोग करते हुए वर्षों से डिवाइस पर ठीक से काम कर रहा था , और फिर Ubuntu 14.04 के तहत यह वही हुआ जो आप प्रश्न में बताते हैं।
यह समस्या एक नए कर्नेल मॉड्यूल से संबंधित है जिसे लिनक्स कर्नेल 3.15 uas
(USB संलग्न SCSI ) में पेश किया गया था ( रिलीज की घोषणा देखें )।
यह मॉड्यूल अब USB मास स्टोरेज डिवाइसेस को प्रबंधित करने के लिए जिम्मेदार है। एक ऐसा धागा है जहां लोग शिकायत करते हैं कि uas
कर्नेल में 3.15 उनके USB उपकरणों को विफल कर रहा है। एक अन्य व्यक्ति का कहना है कि यह स्मार्ट समस्याओं का कारण हो सकता है।
सौभाग्य से, उन समस्याओं को कर्नेल 3.19 (जो मैं उपयोग कर रहा हूं) पर चला गया लगता है, क्योंकि मेरे डिवाइस का सही पता लगाया जा रहा है। केवल स्मार्ट समस्या बनी हुई है।
इसे ठीक करने के लिए, आपको uas
दिए गए डिवाइस के लिए मॉड्यूल के उपयोग को अक्षम करना होगा ।
uas
रिबूट किए बिना अक्षम करें
सबसे पहले, सभी USB उपकरणों को अनप्लग करें जो इसका उपयोग कर सकते हैं। फिर, uas
और usb-storage
मॉड्यूल निकालें :
sudo modprobe -r uas
sudo modprobe -r usb-storage
फिर, usb-storage
एक पैरामीटर के साथ मॉड्यूल लोड करें जो इसे uas
किसी दिए गए डिवाइस के लिए उपयोग नहीं करने के लिए कहता है:
sudo modprobe usb-storage quirks=VendorId:ProductId:u
VendorId
और ProductId
आपके डिवाइस विक्रेता और उत्पाद आईडी द्वारा प्रतिस्थापित किया जाना चाहिए, जिसे lsusb
कमांड के साथ प्राप्त किया जा सकता है (वे बाद में वर्ण हैं ID
)।
उदाहरण के लिए, मेरे पास निम्नलिखित डिवाइस है:
Bus 002 Device 011: ID 0bc2:3320 Seagate RSS LLC SRD00F2 [Expansion Desktop Drive]
तो मेरी विक्रेता आईडी है 0bc2
, और मेरी उत्पाद आईडी है 3320
। मेरी आज्ञा है:
sudo modprobe usb-storage quirks=0bc2:3320:u
अंतिम डिवाइस के लिए उपेक्षा करने के लिए u
कहता है ( स्रोत देखें )।usb-storage
uas
इस बिंदु पर, आप USB डिवाइस सम्मिलित कर सकते हैं, और यह उपयोग करने के लिए नहीं पता होगा uas
, जिससे SMART ठीक से काम कर सके। dmesg
USB उपकरण सम्मिलित करते समय आपको इस तरह की लाइनें दिखाई देंगी :
usb 2-2: UAS is blacklisted for this device, using usb-storage instead
usb-storage 2-2:1.0: USB Mass Storage device detected
usb-storage 2-2:1.0: Quirks match for vid 0bc2 pid 3320: 800000
scsi host12: usb-storage 2-2:1.0
परिवर्तन को स्थायी बनाएं
पिछले quirk केवल तब तक चलेगा जब तक आप सिस्टम को रिबूट नहीं करते। इसे लगातार बनाए रखने के लिए, आपको यहाँ वर्णित चरणों का पालन करने की आवश्यकता है , जिन्हें मैं नीचे कॉपी करता हूँ:
सबसे पहले, निम्नलिखित सामग्री के साथ निर्देशिका ignore_uas.conf
में नाम की एक फ़ाइल बनाएँ /etc/modprobe.d/
:
options usb-storage quirks=VendorId:ProductId:u
पहले की तरह, आपके डिवाइस विक्रेता और उत्पाद आईडी से स्थानापन्न VendorId
और ।ProductId
lsusb
अगला, अपने जन्मजात रामदिस्क को पुन: उत्पन्न करें:
mkinitcpio -p linux
या, नए उबंटू संस्करणों पर:
sudo update-initramfs -u
अंत में, अपने कंप्यूटर को रिबूट करें।
संपादित करें: समस्या के बारे में अधिक पृष्ठभूमि, और इसे अक्षम किए बिना uas (जो USB संग्रहण से बेहतर थ्रूपुट है) के आसपास इसे प्राप्त करने का एक और तरीका यहां पाया जा सकता है: https://www.smartmontools.org/ticket/971#comment:12
ऐसा लगता है कि SAT ATA PASS-THROUGH
उर्स मोड में चलने पर कर्नेल कुछ उपकरणों पर ब्लैक लिस्ट कर रहा है, क्योंकि उन्होंने फर्मवेयर को तोड़ दिया है।
इसलिए, उत्तर में बताए गए पिछले तरीके का उपयोग करके, ब्लैकलिस्टिंग को आपके स्वयं के जोखिम पर अक्षम किया जा सकता है, लेकिन अंतिम u
को क्वर्क से हटाकर , अर्थात:
quirks=VendorId:ProductId:
कृपया ध्यान दें, हालांकि, मैंने इस दृष्टिकोण का परीक्षण नहीं किया है।