माउंट करने के लिए USB डिवाइस नहीं ढूँढ सकता


4

मैं कैसे पता लगा सकता हूं कि कौन सा / देव / डिवाइस Red Hat 3 टैरो पर मेरे USB हार्ड ड्राइव को माउंट करने के लिए? मैं एक बहुत Googling किया गया है और लॉग फ़ाइलों की जाँच की और अभी भी कोई सुराग नहीं। मैं अपने आखिरी मौके की कोशिश कर रहा हूँ आप विशेषज्ञों के साथ,

# /sbin/fdisk -l

USB ड्राइव के बारे में कुछ नहीं देता है।

# lsusb -vv
Bus 004 Device 005: ID 059f:0951 LaCie, Ltd 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x059f LaCie, Ltd
  idProduct          0x0951 
  bcdDevice            0.00
  iManufacturer          10 LaCie
  iProduct               11 LaCie Hard Drive USB
  iSerial                 5 9F908FFFFFFF
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           32
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          4
    bmAttributes         0xc0
      Self Powered
    MaxPower                2mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         8 Mass Storage
      bInterfaceSubClass      6 SCSI
      bInterfaceProtocol     80 Bulk (Zip)
      iInterface              6 MSC Bulk-Only Transfer
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               none
        wMaxPacketSize        512
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               none
        wMaxPacketSize        512
        bInterval               0
  Language IDs: (length=4)
     0409 English(US)

और यहाँ कुछ और है जो दिलचस्प हो सकता है

# /var/log/message
May 23 18:17:13 mypc kernel: USB.c: USB disconnect on device 00:1d.7-5 address 4
May 23 18:18:00 mypc kernel: hub.c: new USB device 00:1d.7-5, assigned address 5
May 23 18:18:00 mypc kernel: USB.c: USB device 5 (vend/prod 0x59f/0x951) is not claimed by any active driver.

जवाबों:


4

आपके जवाबों के लिए आप सभी का धन्यवाद

USB- संग्रहण मॉड्यूल कर्नेल में लोड नहीं किया गया था

modprobe usb-storage

1

उस जानकारी को खोजने के लिए dmesg जगह है।

उदाहरण के लिए यहाँ एक 'dmesg | से आउटपुट है मेरे बॉक्स में USB पेनड्राइव में प्लग करने के बाद टेल '

verrall@granite:~$ dmesg | tail
[4296470.550538] sd 46: 0: 0: 0: [sdg] राइट प्रोटेक्ट ऑफ है
:
[4296470.550538] sd 46: 0: 0: 0: [sdg] ड्राइव के माध्यम से मान लें:
[4296470.555971] sd 46: 0: 0: 0: [sdg] 16058440 512-बाइट हार्डवेयर सेक्टर (8222 MB)
[4296470.555971] sd 46: 0: 0: 0: [sdg] राइट प्रोटेक्ट ऑफ है
:
[४२ ९ ६४ :०.५५५ ९ ]१] एसडी ४६: ०: ०: ०: [sdg] ड्राइव के माध्यम से मान लें:
[4296470.555971] sdg: sdg1
[4296470.764472] sd 46: 0: 0: 0: [sdg] संलग्न SCSI हटाने योग्य डिस्क
[4296470.764509] sd 46: 0: 0: 0: संलग्न scsi जेनेरिक sg7 प्रकार 0

यहाँ से मैं देख सकता हूँ कि मेरा डिवाइस / dev / sdg है और उस पर एक पार्टीशन है / dev / sdg1। तो इसे माउंट करने के लिए / mnt मैं करूँगा,

# sudo mount /dev/sdg1 /mnt


0

यदि आप उस विभाजन के लेबल को जानते हैं जिसे आप माउंट करना चाहते हैं (कहते हैं, "LaCie" नामक वॉल्यूम), तो आप कर सकते हैं

sudo findfs LABEL="LaCie"

यह उस विभाजन के अनुरूप उपकरण का नाम प्रिंट करेगा।


0

मैं आमतौर पर क्या करता हूं, चलाया जाता है dmesg|tail, USB डिवाइस में अनप्लगिंग और प्लगिंग के बाद।

शायद एक बेहतर तरीका है, लेकिन यह मेरे लिए काफी अच्छा काम करता है। :-)


0

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

मुझे एक उत्तर मिला जो 2.6.32-5-amd64 कर्नेल के साथ डेबियन वितरण के लिए काम करता है। ऐसा लगता है कि इसमें शामिल फाइलें बहुत वितरण पर निर्भर नहीं हैं, लेकिन मैंने इसे सत्यापित नहीं किया है।

यह रहस्य याद कर रहा है कि जहां तक ​​लिनक्स कर्नेल का संबंध है, USB ड्राइव भी SCSI ड्राइव हैं। कमांड 'ls -l / sys / Bus / scsi / devices' निर्देशिका की सामग्रियों को प्रतीकात्मक लिंक का एक सेट दिखाएगा। आप पाएंगे कि सभी USB ड्राइव स्ट्रिंग 'usb' वाले पथ से लिंक होंगे, जबकि गैर-यूएसबी ड्राइव में प्रतीकात्मक लिंक पथ में स्ट्रिंग नहीं होगा।

/ Sys / Bus / scsi / devices में निर्देशिका के तीन सेट हैं?:?:?:? निर्देशिका, मेजबान? निर्देशिका और लक्ष्य ?: ?: निर्देशिका। आप पाएंगे कि उपयुक्त / sys / बस / scsi / डिवाइसेस / ?:?:?:? /? ब्लॉक डायरेक्टरी में एक निर्देशिका है जिसका नाम डिवाइस फ़ाइल के नाम पर है।

यहां एक पर्ल टुकड़ा है जो दिखाता है कि डिवाइस फ़ाइलों की सूची कैसे प्राप्त की जाए, प्रत्येक USB ड्राइव के लिए:

opendir(DIR,"/sys/bus/scsi/devices") or die "Cannot enumerate SCSI devices\n";

while(my $file=readdir(DIR)) {
    next if($file eq '.');
    next if($file eq '..');
    next if(!(-l "/sys/bus/scsi/devices/$file"));
    next if(!($file=~/\d*:\d*:\d*:\d*/));
    if(readlink("/sys/bus/scsi/devices/$file")=~/usb/) {
        opendir(INNER_DIR,"/sys/bus/scsi/devices/$file/block") or die "Cannnot open $file/block\n";
        while(my $inner_file=readdir(INNER_DIR)) {
            next if($inner_file eq '.');
            next if($inner_file eq '..');
            push @dev_files, "/dev/$inner_file";
        }
        closedir INNER_DIR;
    }
}
closedir DIR;
die "No USB devices found\n" unless(scalar @dev_files);

for my $line (@dev_files) {
    print "$line\n";
}
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.