যুক্তিযুক্তভাবে সংযোগ বিচ্ছিন্ন ইউএসবি ডিভাইসটি কীভাবে পুনরায় সংযুক্ত করবেন?


55

কোনও ইউএসবি স্টোরেজ ডিভাইসের পক্ষে যুক্তিযুক্তভাবে সংযোগ বিচ্ছিন্ন হওয়া সম্ভব: ডিভাইসটি এখনও প্লাগ ইন করা আছে, তবে অপারেটিং সিস্টেম থেকে অদৃশ্য রয়েছে (যেমন এটি এর অধীনে তালিকাভুক্ত নয় /proc/bus/usb)। সম্ভবত এটি অন্যান্য ধরণের ইউএসবি বা অন্যান্য অপসারণযোগ্য ডিভাইসগুলির ক্ষেত্রেও ঘটতে পারে। এটি উদাহরণস্বরূপ ঘটতে পারে:

  • নটিলাস একটি ইউএসবি স্টোরেজ ডিভাইস আনমাউন্ট করার পরে ;
  • ভার্চুয়ালবক্স একটি ইউএসবি স্টোরেজ ডিভাইস দাবি করার পরে (অতিথির সাথে সংযুক্ত থাকা অবস্থায় ডিভাইসটি লিনাক্স হোস্ট থেকে অদৃশ্য হয়ে যায় এবং অতিথির কাছ থেকে বিচ্ছিন্ন হয়ে গেলে স্বয়ংক্রিয়ভাবে পুনরায় প্রদর্শিত হয় না)।

ড্রাইভার বা হার্ডওয়্যারে কী চলছে এবং সর্বাগ্রে গুরুত্বপূর্ণ (কীভাবে) ডিভাইসটি যৌক্তিকভাবে পুনরায় সংযুক্ত করা যায় (শারীরিকভাবে এটি প্লাগ ইন না করে এবং পিছনে প্রবেশ না করে)?

মনে রাখবেন যে এই প্রশ্নটি মাউন্টিং সম্পর্কে নয়। "যুক্তিসঙ্গতভাবে সংযোগ বিচ্ছিন্ন" অবস্থায়, কার্নেল বিশ্বাস করে যে ইউএসবি বাসে কিছুই নেই (এবং অবশ্যই এর অধীনে কোনও প্রবেশ নেই /dev)।


উত্তর:


21

ডিভাইসটি প্লাগ করা আছে এমন ইউএসবি বাসের শাখায় কখনও কখনও পাওয়ার চক্র করা সম্ভব হয়:

# echo suspend > /sys/bus/usb/devices/1-1/power/level
# echo auto > /sys/bus/usb/devices/1-1/power/level

1-1আপনার কনফিগারেশন স্থায়ী হবে। আপনার ডিভাইসটি ইউএসবি ট্রি lsusb -tথেকে বের করার আগে চালনার মাধ্যমে প্লাগ করা হয়েছে তা আপনি দেখতে পাচ্ছেন can

আপনি উদাহরণস্বরূপ , এই থ্রেডটি লিনাক্স-ইউএসবি মেলিং-তালিকায় বিশদ তথ্য পেতে পারেন ।


6
"সাসপেন্ড" 2.6.36 এর পরে কার্নেলগুলিতে কাজ করে না।
অ্যালেক্সিসডেম

ধরে নিচ্ছি dmesgসঠিক ডিভাইস আইডি ("ইউএসবি 9-4: ইউএসবি সংযোগ বিচ্ছিন্ন [...]"), এটি সর্বশেষ আরক লিনাক্সে কাজ করে না। এরপরে আর কোনও পথ নেই /sys/bus/usb/devices/9-4
l0b0

1
1. dmesg: সতর্কতা! শক্তি / স্তর অবমূল্যায়ন করা হয়; পরিবর্তে শক্তি / নিয়ন্ত্রণ ব্যবহার করুন 2. superuser.com
প্রশ্নগুলি

এছাড়াও suspendসাম্প্রতিক কার্নেল সংস্করণগুলিতে আর সমর্থিত নয় ....
জার্ট ভ্যান ডান বার্গ

6

ডিভাইসটি বা এটির সাথে সংযুক্ত হাবটি পুনরায় সেট করুন এবং ডিভাইসটি আবার প্রদর্শিত হবে। এটি করার জন্য এখানে একটি ছোট প্রোগ্রাম রয়েছে:

http://marc.info/?l=linux-usb-users&m=116827193506484

এটি চেষ্টা করেছি এমন বেশিরভাগ ইউএসবি ড্রাইভের জন্য কাজ করে, তবে আমার কিংস্টন ডিটি 101 101 II 4GB এর মতো ব্যতিক্রম রয়েছে, যা পুনরায় সেট করার পরে জিজ্ঞাসা এবং পুনরায় ক্যাপাসিটি কমান্ড ব্যর্থ হয় এবং পাওয়ার-সাইকেল চালানো অবধি অব্যবহৃত থাকে।

বন্দর থেকে পাওয়ার পেলে ডিভাইসটিকে আনপ্লাগিং ছাড়াই আপনি বিদ্যুৎচক্র করতে পারেন এবং আপনার ইউএসবি হাব প্রতি বন্দর শক্তি নিয়ন্ত্রণ সমর্থন করে। শক্তি নিয়ন্ত্রণের জন্য এখানে একটি ছোট প্রোগ্রাম রয়েছে:

http://marc.info/?l=linux-usb-devel&m=113724451205634

দুর্ভাগ্যক্রমে, প্রায় কোনও ইউএসবি হাব এই বৈশিষ্ট্যটি সমর্থন করে না এবং এটি সমর্থন করে এমন একটি সন্ধান করা খুব কঠিন। উত্পাদনকারীরা এটির বিজ্ঞাপন দেয় না। অনেকগুলি হাব এটি সম্পর্কে মিথ্যাচারও করে, উদাহরণস্বরূপ আপনি যদি "lsusb -v" করেন তবে আপনি "ডাব্লুএইচবিচেকেরেটিস্টিক" এর বিজ্ঞাপনে "পার-পোর্ট পাওয়ার স্যুইচিং" দেখতে পাবেন, কিন্তু বাস্তবে এটি কার্যকর হয় না। চিপসেট এটিকে সমর্থন করতে পারে তবে নির্মাতার পক্ষে চিপসেটের পরিবর্তে পোর্ট পাওয়ার পিনগুলি সরাসরি বিদ্যুৎ সরবরাহের সাথে সংযোগ স্থাপন করা সহজ / সস্তা ছিল।


5

আমি আমার জেন্টু সিস্টেমে দুর্দান্ত কাজ করার জন্য এই উত্তরটি পেয়েছি । দয়া করে মনে রাখবেন আপনার ডিভাইসটি যদি এটি আপনার সিস্টেমের একটি গুরুত্বপূর্ণ অংশ (যেমন মাউস বা কীবোর্ড) থাকে তবে পুনরায় সক্ষম করতে।

sudo sh -c 'AUTHFILE="/sys/bus/usb/devices/5-2/authorized" ; echo 0 > "$AUTHFILE" ; sleep 1 ; echo 1 > "$AUTHFILE"'

আপনি কী অক্ষম / পুনরায় সক্ষম করছেন তা দেখতে:

cat /sys/bus/usb/devices/5-2/product

এটি আমার আধুনিক ফেডোরা 25 সিস্টেমে কৌশলটি করেছে বলে মনে হয়েছিল। অন্যান্য কয়েকটি পদ্ধতি এখন আর সম্ভব নয়।
xenithorb

5
udevadm info -a -n /dev/sdb

এখন কার্নেলের জন্য পরীক্ষা করুন। উদাহরণস্বরূপ, যদি এটি ফ্রন্ট ইউআইপির পোর্ট 2 এর সাথে সংযুক্ত থাকে তবে এটি 1-1.2 হবে এবং যদি এটি ফ্রন্ট ইউআইপির পোর্ট 1 এর সাথে সংযুক্ত থাকে তবে এটি 1-1.1 হবে।

পোর্ট 2 এর জন্য: ইউএসবি সংযোগ বিচ্ছিন্ন করতে:

echo '1-1.2' | tee /sys/bus/usb/drivers/usb/unbind

ইউএসবি সংযোগ করতে:

echo '1-1.2' | tee /sys/bus/usb/drivers/usb/bind

3

আমি উপরের পরামর্শগুলির বেশিরভাগ চেষ্টা করেছি, তবে সেগুলি আমার পক্ষে কার্যকর হয়নি। কমান্ড লাইন থেকে কীভাবে একটি ইউএসবি ডিভাইসটি পুনরায় সেট করতে হবে তা আমি খুঁজে পেয়েছি: https://askubuntu.com/a/290519

echo $i >/sys/bus/pci/drivers/ehci_hcd/bind

$iআপনি যেখান থেকে উপযুক্ত ডিভাইস আইডি ব্যবহার করতে পারেন /sys/bus/pci/drivers/ehci_hcd


লিঙ্কের চেয়ে পোস্ট করুন; কিছু বিশদ অন্তর্ভুক্ত করুন যাতে উত্তরগুলির জন্য লোককে ক্লিক করতে না হয়।
জেসনওয়ারিয়ান

1

নিম্নলিখিতটি ইউএসবি ডিভাইসটি সংযোগ বিচ্ছিন্ন করবে।

sudo eject /dev/sde

নিম্নলিখিতটি ইউএসবি ডিভাইসটি পুনরায় সংযোগ করবে।

sudo eject -t /dev/sde

উপরেরগুলি আমার লিনাক্স মিন্টে কাজ করে।
তথ্যসূত্র: http://www.upubuntu.com/2011/09/how-to-remount-usb-stick-without.html


-5

আমি অনিশ্চিত যে আমি আপনার প্রশ্নটি সঠিকভাবে বুঝতে পেরেছি, তবে আমার সিস্টেমে যদি কোনও ইউএসবি ডিভাইস প্লাগ ইন করা থাকে তবে মাউন্ট না করা হয় তবে আমি এটি 'দেখতে পাব'

d> fdisk -l

এটি আমাকে জানায় যে এটি কোন ডিভাইসের সাথে যুক্ত (যেমন / ডিভ / এসডিডি 1 বা কোনও কিছু), তারপরে আমি ম্যানুয়ালি এটিকে মাউন্ট করব।


5
আবার: না, প্রশ্নটি কোনও ফাইল সিস্টেমের অ্যাক্সেসযোগ্য হয়ে উঠার বিষয়ে নয় (অর্থাত্ আনমাউন্টযুক্ত) নয়, এটি এমন একটি ডিভাইস যা অ্যাক্সেসযোগ্য হয়ে যায় (কার্নেল কোনও ডিভাইস দেখতে পায় না, অবশ্যই এর অধীনে কোনও প্রবেশ নেই /dev)।
গিলস 'খারাপ হয়ে যাওয়া বন্ধ করুন'
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.