সফ্টওয়্যার ব্যবহার করে কোনও ইউএসবি ডিভাইস চালিত করার কোনও উপায় আছে কি?


11

লিনাক্স মেশিনের কোনও সফটওয়্যার ব্যবহার করে কোনও (নির্দিষ্ট) ইউএসবি ডিভাইস সম্পূর্ণভাবে বন্ধ করে দেওয়ার উপায় আছে কি?

আমি এটিকে বিদ্যুৎ বন্ধ করতে (যাতে LED বন্ধ থাকে) একটি (একক) ইউএসবি স্টিকটি ব্যবহার করতে চাই।

আপনি এটি অর্জন করার জন্য কোনও পদ্ধতি জানেন? যেমন / সিএস / বাস / ইউএসবি ব্যবহার করছেন নাকি?


হ্যাঁ. কেবল ডিভাইসটি আনমাউন্ট করুন।
iglvzx

1
না, এটি কোনও উপকার করে না লাঠিটিতে কোনও ব্যবহারযোগ্য পার্টিশন (যা মাউন্ট করা যেতে পারে) না থাকার সম্ভাবনাও রয়েছে।
ড্যানিয়েল জোর

ফ্ল্যাশ ড্রাইভের জন্য, ডিস্কটি সরিয়ে ফেলার এক উপায় হ'ল echo 1 > /sys/block/sd<letter[s]>/device/delete... (ইজেক্টটি সম্ভবত এটি করছে ...) এটির ফলে ডিভাইসটি (নরম) "চালিত" হয়ে যায় ... (এটি যদি ডিস্কের জন্য কাজ করে, এটি ডিস্কবিহীন ডিভাইসের জন্য কাজ করবে না ..)
গার্ট ভ্যান ডান বার্গ

উত্তর:


10

যদি আপনার মেশিনটি পুরানো কার্নেল চালায় তবে আপনি echo suspend > /sys/bus/usb/devices/X-X/power/levelডিভাইস সাসপেনশনকে জোর করে জারি করতে পারেন ।

তবে, ২.6.৩২ থেকে এটি আর সম্ভব নয়:

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

power/control

    This file contains one of two words: "on" or "auto".
    You can write those words to the file to change the
    device's setting.

    "on" means that the device should be resumed and
    autosuspend is not allowed.  (Of course, system
    suspends are still allowed.)

    "auto" is the normal state in which the kernel is
    allowed to autosuspend and autoresume the device.

    (In kernels up to 2.6.32, you could also specify
    "suspend", meaning that the device should remain
    suspended and autoresume was not allowed.  This
    setting is no longer supported.

( http://www.kernel.org/doc/Docamentation/usb/power-management.txt থেকে )

আমি অনুমান করি যে আপনি সবচেয়ে ভাল কাজটি করতে পারেন তা হ'ল ড্রাইভার থেকে ডিভাইস আনবাইন্ড করা, সুতরাং এতে কোনও ক্রিয়াকলাপ হবে না এবং তারপরে ডিভাইসটিকে যত তাড়াতাড়ি সম্ভব স্বয়ংক্রিয়ভাবে কনফিগার করা হবে ( echo auto > /sys/bus/usb/devices/X-X/power/control && echo 0 > /sys/bus/usb/devices/X-X/power/autosuspend_delay_ms)।

যাইহোক, আমি যতক্ষণ না ইউএসবি স্পেসগুলি বুঝতে পারি, আপনি ডিভাইসটি স্থগিত করলেও পোর্টে কিছু শক্তি থাকবে, সুতরাং এটি 'বোবা' স্কিম দ্বারা চালিত হলে নেতৃত্বে অক্ষম করা অসম্ভব হতে পারে (যেমন সরাসরি + 5 ভি এবং জিএনডি-র সাথে সংযুক্ত রয়েছে) পিনের)।


আমি এটি একটি গ্রহণযোগ্য উত্তর হিসাবে চিহ্নিত করছি কারণ আমি ডিভাইসটিকে তার ড্রাইভার থেকে আনবাইন্ড করতে এবং অটোসপেন্ড কনফিগার করতে সক্ষম হয়েছি, যা ডিভাইসটি বন্ধ হয়ে যাওয়ার দিকে পরিচালিত করে। দুর্ভাগ্যক্রমে, লক্ষ্যযুক্ত ইউএসবি স্টিকগুলি (বা: তাদের এলইডি) সরাসরি + 5 ভি এবং জিএনডি-র সাথে সংযুক্ত থাকে এবং তাই এটি চালিত হতে পারে না।
ড্যানিয়েল জোর 21'13

3

ইজেক্ট কমান্ড ব্যবহার করে কাজ করা উচিত।

চালান eject /dev/<devicename>এবং এটি ডাউন ডাউন করা উচিত।


দুর্ভাগ্যক্রমে, এটি আমার পরীক্ষার কাঠির জন্য এখানে কাজ করে না :(
ড্যানিয়েল জোর

2
আপনার ইউএসবি স্টিকটি যদি কোনও সিডি, ফ্লপি, টেপ বা এসসিএসআই ড্রাইভ না হয় তবে অবাক হওয়ার কিছু নেই। ejectশুধুমাত্র এই সঙ্গে কাজ করে।
দিমিত্রি গ্রিগরিয়েভ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.