ফেডোরা 14 অবধি আমি cdctl
আমার ল্যাপটপে সিডি / ডিভিডি ইজেক্ট বোতামটি সক্রিয় / অক্ষম করতে সফলভাবে ব্যবহার করছি (থিংকপ্যাড টি 410)। দুঃখের বিষয় এটি এখন কাজ বন্ধ করে দিয়েছে।
আমি এই 2 টি প্রশ্নে আলোচিত পদ্ধতিগুলি নিয়ে পরামর্শ করেছি:
- লিনাক্স ল্যাপটপে সিডি / ডিভিডি বোতামটি অক্ষম করুন (উবুন্টু)
- একটি থিঙ্কপ্যাড চলমান লিনাক্সে ডিভিডি ইজেক্ট বাটনটি অক্ষম করুন
যার কোনটিই আমার পক্ষে কাজ করেনি। সুতরাং আমি এটি cdctl
দেখতে ফিরে ফিরে দেখছি যে এটির সাথে কী ভেঙে গেছে তা আমরা ঠিক করতে পারি না, কারণ এটি এত দিন ধরে কাজ করেছে worked
ইস্যুটি ডিবাগ করা হচ্ছে
তাই cdctl
সুইচগুলি দিয়ে শুরু করে আমি লক্ষ্য করেছি যে বেশিরভাগ জিনিস ঠিক ঠিক কাজ করে।
উদাহরণ
এই জিনিস কাজ।
ড্রাইভ ইজেক্ট
$ cdctl -e
তালিকা ক্ষমতা
$ cdctl -k
Tray close : 1
Tray open : 1
Can disable eject : 1
Selectable spin speed : 1
Is a jukebox : 0
Is multisession capable: 1
Can read the MCN (UPC) : 1
Can report media change: 1
Can play audio discs : 1
Can do a hard reset : 1
Can report drive status: 1
সেই তালিকা অনুসারে cdctl
এমনকি মনে করে যে এটি নিষ্কাশন বোতামটি সক্ষম / অক্ষম করতে পারে।
Can disable eject : 1
সুতরাং আমি সমস্যাটি ডিবাগ করেই চালিয়ে যাচ্ছি।
ডিবাগিং সিডিটিটিএল
তাই আমি চিত্রে একটি করতে দেয় strace
উপর cdctl
দেখতে হলে কি হচ্ছে কিছু হালকা চালা পারবেন না।
$ strace cdctl -o1
...
brk(0) = 0x1371000
open("/dev/cdrom", O_RDONLY|O_NONBLOCK) = -1 ENOENT (No such file or directory)
open("/dev/cd", O_RDONLY|O_NONBLOCK) = -1 ENOENT (No such file or directory)
open("/dev/scd0", O_RDONLY|O_NONBLOCK) = -1 ENOENT (No such file or directory)
open("/dev/sr0", O_RDONLY|O_NONBLOCK) = 3
ioctl(3, CDROM_LOCKDOOR, 0x1) = 0
close(3) = 0
exit_group(0) = ?
+++ exited with 0 +++
কৌতূহলীভাবে মনে হচ্ছে এটি মনে হচ্ছে cdctl
এটি বোতামটি অক্ষম করছে।
$ strace cdctl -o1
ioctl(3, CDROM_LOCKDOOR, 0x1) = 0
$ strace cdctl -o0
ioctl(3, CDROM_LOCKDOOR, 0) = 0
দ্রষ্টব্য: আমি যদি এই অধিকারটি বুঝতে পারি তবে 0 এর ফিরে আসার অর্থ এটি সফল হয়েছিল।
একটি জিনিস যা এখানে আমার চোখে পড়েছিল সেটি হল সেই ডিভাইসের তালিকার cdctl
সাথে যোগাযোগের চেষ্টা করা। তাই আমি ভেবেছিলাম "যদি আমি এই ডিভাইসগুলি দিয়ে চেষ্টা করি eject
"?
আদেশ বহির্গমন
বছর কয়েক আগে আমি যে অন্যান্য কমান্ড ব্যবহার করেছিলাম তার মধ্যে একটি হ'ল eject
সিডি / ডিভিডি ডিভাইসের সাথে ইন্টারঅ্যাক্ট করার কমান্ড। আমি লক্ষ্য করেছি যে এই কমান্ডেরও এখন একই নামযুক্ত সুইচ রয়েছে:
$ eject --help
-i, --manualeject <on|off> toggle manual eject protection on/off
উদাহরণ
$ eject -i 1 /dev/sr0
eject: CD-Drive may NOT be ejected with device button
$ eject -i 0 /dev/sr0
eject: CD-Drive may be ejected with device button
তাই eject
খুব মনে হয় যে এটি বোতামটি অক্ষম করছে, তবুও তা হয় না। strace
এখানে ব্যবহার করে আমি একই সিস্টেম কলগুলি দেখতে পাচ্ছি:
$ strace eject -i 1 /dev/sr0 |& grep ioctl
ioctl(3, CDROM_LOCKDOOR, 0x1) = 0
$ strace eject -i 0 /dev/sr0 |& grep ioctl
ioctl(3, CDROM_LOCKDOOR, 0) = 0
সুতরাং এখন আমি ভাবছি যে ইউডিইভি বা অন্য কোনও কিছুর সম্ভাব্যতা অবরুদ্ধ বা ডিভাইসের মালিকানা নিচ্ছে?
থটস?