"বিড়াল ttyUSB0" কেন আউটপুট উত্পাদন করে না?


13

আমি একটি ইউএসবি পোর্টের সাথে একটি ইনফ্রারেড রিসিভার সংযুক্ত করেছি ... (ডিমেজির শেষ লাইনটি ডিভাইস ফাইলকে বলে)

$ dmesg
[10496.596063] usb 7-2: new full-speed USB device number 2 using uhci_hcd
[10496.751112] usb 7-2: New USB device found, idVendor=0df7, idProduct=0620
[10496.751117] usb 7-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[10496.751120] usb 7-2: Product: USB-Serial Controller
[10496.751124] usb 7-2: Manufacturer: Prolific Technology Inc.
[10496.787441] usbcore: registered new interface driver usbserial
[10496.787467] usbcore: registered new interface driver usbserial_generic
[10496.787483] usbserial: USB Serial support registered for generic
[10496.795104] usbcore: registered new interface driver pl2303
[10496.795129] usbserial: USB Serial support registered for pl2303
[10496.795160] pl2303 7-2:1.0: pl2303 converter detected
[10496.807238] usb 7-2: pl2303 converter now attached to ttyUSB0

তারপরে আমি চেষ্টা করে গেলাম ...

$ sudo cat /dev/ttyUSB0

তবে কোনও আউটপুট নয়, কেবল স্তব্ধ হয়ে যায়। যদিও আমি আমার রিমোট কন্ট্রোলের যে কোনও বোতাম টিপবই, ইনফ্রারেড রিসিভার ডিভাইসের এলইডি ফ্ল্যাশ করে, যাতে এটি কাজ করে না বলে মনে হয়।

কেন হতে পারে?


মন্তব্য:

  • আমি ইউএসবি পোর্ট থেকে ডিভাইসটি সরিয়ে যখন "ক্যাট: ttyUSB0: এই জাতীয় কোনও ডিভাইস নেই", এবং dmesg 3 লাইন মুদ্রণ করে উপরের কমান্ডটি ছেড়ে দেয়:

     [13707.264086] usb 7-2: USB disconnect, device number 2 
     [13707.264894] pl2303 ttyUSB0: pl2303 converter now disconnected from ttyUSB0
     [13707.264915] pl2303 7-2:1.0: device disconnected)
    
  • কীবোর্ডের জন্য ডিভাইস ফাইলগুলির সাথে এটি কাজ করে, যেমন:

     $ sudo cat /dev/input/by-id/usb-USB_USB_Keykoard-event-kbd 
    

    কনসোলটিতে আমি কোনও কী কী-বোর্ড টিপলে অনেক অদ্ভুত অক্ষর তৈরি করে produces

  • অন্যান্য ইউএসবি পোর্টেও একই ঘটনা ঘটে

2
stty raw -echo < /dev/ttyUSB0; cat -vte /dev/ttyUSB0পরিবর্তে চেষ্টা করুন।
স্টাফেন চেজেলাস

@ স্টিফেন চেজেলাস: একইভাবে কিছুই ঘটে না
মার্চ'১৩ 'এ এনলগনফ্যান


আপনি যদি কোনও আউটপুট না পেয়ে থাকেন তবে আমি এটির ড্রাইভার সমস্যা বা হার্ডওয়্যারটি সঠিকভাবে সনাক্ত / সনাক্ত করা হচ্ছে না বলে সন্দেহ করব। এই খুব সহায়ক প্রমাণ হতে পারে help.ubuntu.com/community/Lirc_USB-UIRT
SLM

দয়া করে নোট করুন যে ইউএসবি-থেকে-সিরিয়াল-সেতুগুলির সাথে ইনফ্রারেড ট্রান্সসিভারগুলি ব্যবহার করা সাধারণত কাজ করবে না।
গ্রুমিক্সদা

উত্তর:


3

আমি মনে করি সিরিয়াল ডিভাইসগুলির জন্য আপনাকে কিছু করার আগে বাউড রেট নির্ধারণ করতে হবে। আমি নিশ্চিত না যে কীভাবে কমান্ড লাইন catথেকে কাজ করবেন যাতে আপনি এটি করতে পারেন তবে আপনি এটি টার্মিনাল এমুলেটর ব্যবহার করতে পারেন যা এটির যত্ন নেয়।

চেষ্টা করুন minicomবা screen(যেমন screen /dev/ttyUSB0 115200- আপনার আইআর রিসিভারের বাড রেট দিয়ে 115200 প্রতিস্থাপন করুন))


1

ইউএসবি সংযোগ শুরু করার প্রয়োজন সম্পর্কে উত্তরটি উপেক্ষা করুন - আপনি যখন ডিভাইসটি প্লাগ করেন তখন এটি ইতিমধ্যে শুরু করা হয়েছিল।

আপনি যদি এটি কাজ করে কিনা তা খতিয়ে দেখতে চান তবে ব্যবহার করুন dd if=/dev/ttyUSB0। যদি আপনি প্রকৃতপক্ষে এই অক্ষরগুলি পড়তে চান তবে আপনার সিরিয়াল টার্মিনালটি দরকার। ব্যবহারের minicom(CLI, প্রয়োজন ম্যানুয়াল), picocom(আপনার নিজের উপর এটা চিন্তা পারে), cutecom(সুন্দর গ্রাফিক্যাল ইন্টারফেস, সহজ) অথবা screen(CLI, কিন্তু সত্যিই সহজ)। আপনার বাউড্রেটটি জানতে হবে .. 90% এটি হয় 115200 বা 9600, পাশাপাশি 57600, 38400 বা 19200 হতে পারে।

যাইহোক, আপনি কোন ধরণের রিসিভার ব্যবহার করছেন? আপনি আমাদের একটি পণ্য পৃষ্ঠা বা বিবরণ একটি লিঙ্ক দিতে পারেন?


1

এটি হয়ত সাহায্য করবে না, তবে এখানে আমি অতীতে একই ধরণের সমস্যা ছিল। আমি যখন সরাসরি আমার মাউসের জন্য ডিভাইস ফাইলটি বিড়াল করি (উদাহরণস্বরূপ, ব্যবহার করে cat /dev/input/by-id/usb-<mymouse>) আপনি আপনার কীবোর্ডের (যেমন, জিব্বারিশ) সাথে যা পান তার অনুরূপ আউটপুট আমি পাই। তবে কিছু মাউস গতি যেমন বাম ক্লিকের মতো কোনও মুদ্রণযোগ্য অক্ষর তৈরি করে না তাই টার্মিনাল কিছুই দেখায় না nothing

অবশ্যই, মাউস এখনও কিছু করছে, আমরা কেবল এটি cat'ডিভাইস ফাইলটি আইএনএন করে দেখতে পারি না । ভাগ্যক্রমে কার্নেলের কাছে ইউএসবমন নামে একটি ঝরঝরে বৈশিষ্ট্য রয়েছে যা ইউএসবি ডিভাইসের কাঁচা বাইনারি আউটপুটটি শোনার জন্য সহায়ক। এটি ব্যবহার করে আমরা বাম-ক্লিকটি (বলি) সম্পাদন করলে ঠিক কী ঘটছে তা আমরা দেখতে পাই, যখন একই কাজটি /devপ্রায়শই কিছুই প্রদর্শন করে না।

আবার এটি সাহায্য নাও করতে পারে তবে ইউএসবিমন কীভাবে ব্যবহার করবেন তা এখানে:

  1. আপনার কার্নেলটি ইউএসবোন সক্ষম করেছে তা নিশ্চিত করুন। এর আউটপুট:
    zcat /proc/config.gz | grep USB_MON
    হয় =mবা =yএটিতে থাকা উচিত ।

  2. যদি এটি হয় =mতবে মডিউলটি লোড করুনsudo modprobe usbmon

  3. সমস্ত ইউএসবি সকেট সঠিক জায়গায় প্রদর্শিত হচ্ছে তা নিশ্চিত করতে, চালান:
    ls /sys/kernel/debug/usb/usbmon
    আপনার এমন কিছু দেখা উচিত:
    0s 0u 1s 1t 1u 2s 2t 2u 3s 3t 3u 4s 4t 4u

বিভিন্ন নম্বর বিভিন্ন ইউএসবি পোর্টগুলিতে উল্লেখ করে এবং সামনে 0 টি থাকা সমস্ত ইউএসবি পোর্টের একত্রিত আউটপুট দেয়। সুতরাং উদাহরণস্বরূপ, চলমান cat /sys/kernel/debug/usb/usbmon/0uডিভাইসটি ঠিক কী করছে তা দেখায়, এমনকি catফাইলগুলিতে /devআইএনও কিছুই দেখায় নি এমন ক্ষেত্রেও।

এটি আপনার সমস্যার সমাধান করে কিনা বা না, এটি ভবিষ্যতে সহায়ক হতে পারে, যেহেতু এটি ইউএসবি ডিভাইসগুলিতে ইভিড্রপোড করার চেয়ে প্রায়শই সহায়ক /dev

শুভকামনা :)


1

আমার জন্য এটি বাউড্রেট খুব কম ছিল। আমি একবার সিস্টেমের (ডিভাইস এবং পোর্ট) 150 এর পরিবর্তে 300 ব্যবহারের জন্য পুনরায় কনফিগার করার পরে আউটপুট উপস্থিত হয়েছিল।


-1

আমি মনে করি মনে হচ্ছে যে ইউএসবি হ'ল একটি প্রোটোকল যা কম্পিউটারে যোগাযোগ শুরু করার প্রয়োজন। এটি নিজে থেকে কথা বলার অনুমতি নেই। সুতরাং ড্রাইভার আসলে কাঁচা ডিভাইসে কথা বলে এবং তারপরে আউটপুটটি ক্যাপচার করে। তবে, এটি কেবল একটি কুঁচকির, আমি আমার সাসপেনশনটি নিশ্চিত করার জন্য আরও একটি উত্তরের জন্য অপেক্ষা করব।


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