এই প্রশ্নটি দ্বিগুণ:
প্রথমত, আপনি কীভাবে একটি ইউএসবি ডিভাইস থেকে চালককে ম্যানুয়ালি বিচ্ছিন্ন করে এবং একটি আলাদা সংযুক্ত করেন? উদাহরণস্বরূপ, আমার একটি ডিভাইস রয়েছে যা সংযুক্ত হয়ে গেলে স্বয়ংক্রিয়ভাবে ইউএসবি-স্টোরেজ ড্রাইভারটি ব্যবহার করে।
ইউএসভিউ আউটপুট
Vendor Id: xxxx
Product Id: xxxx
...
Number of Interfaces: 2
Interface Number: 0
Name: usb-storage
Number of Endpoints: 2
...
Interface Number: 1
Name: (none)
Number of Endpoints: 2
...
আমি ইউএসবি-স্টোরেজ ড্রাইভারটি ব্যবহার করতে চাই না, তাই আমার অ্যাপ্লিকেশনটিতে আমি libusb
ইউএসবি-স্টোরেজ ড্রাইভারকে আলাদা করতে লাইব্রেরিটি ব্যবহার করি এবং তারপরে আমি ইন্টারফেসটি দাবি করি। আমি তখন আমার ইউএসবি ডিভাইসে এবং আমার হোস্ট লিনাক্স সিস্টেমে চলমান অ্যাপ্লিকেশনগুলিতে এবং এর মাধ্যমে ডেটা প্রেরণ করতে পারি।
আপনি কোনও অ্যাপ্লিকেশনের বাইরে চালককে কীভাবে আলাদা করতে পারেন?
দ্বিতীয়ত, আমি কীভাবে স্বয়ংক্রিয়ভাবে ড্রাইভারকে ডিভাইস প্লাগইনে সংযুক্ত করার জন্য বরাদ্দ করব? ডিভাইসের অনুমতিগুলি স্বয়ংক্রিয়ভাবে সেট করার জন্য আমার কাছে বর্তমানে একটি উদেব নিয়ম সেটআপ রয়েছে:
SUBSYSTEM=="usb", ATTR{idVendor}=="xxxx", MODE="0666"
ইউএসবি ডিভাইসে নির্দিষ্ট ইন্টারফেসগুলিতে ড্রাইভার নিয়োগের জন্য আমি কী ইউদেব বিধিগুলি ব্যবহার করতে পারি? উদাহরণস্বরূপ, আমি যদি ইউএসবি-স্টোরেজের পরিবর্তে ইউএসবিএন মডিউলটি ইন্টারফেস 0-এ স্বয়ংক্রিয়ভাবে ব্যবহার করা চাই, তবে তা কি উদেব সম্ভব?
usbnet
স্বয়ংক্রিয়ভাবে লোড হবে না, কারণ এটিতে হার্ডওয়্যার সম্পর্কিত কোনও তথ্য নেই, যা এটি ব্যবহার করতে পারে। সঠিক ড্রাইভার এবং ব্যবহার করার চেষ্টা করুন, উদাহরণস্বরূপ modinfo kalmia
,। ইন alias
লাইন হিসাবে আপনি বিক্রেতার আইডি হাতের এবং পণ্য আইডি YYYY দেখতে হবে usb:vxxxxpyyyy
। অথবা আপনি ফাইলটি /lib/modules/kernel_version/modules.usbmap সম্পাদনা করতে পারেন এবং আপনার এইচডাব্লু এর জন্য আপনি লাইনটি মুছতে পারেন, যেখানে আপনার জন্য এইচডাব্লিউ মডিউল ইউএসবি-সঞ্চয়স্থান রয়েছে বা সঠিক নেট ড্রাইভারের সাহায্যে ইউএসবিস্টোরেজ পরিবর্তন করতে পারেন। তবে depmod -a
এই পরিবর্তনটি চলে যাবে ...