কেন ইউএসবি পোর্ট গণনা পরিবর্তন হয়?


10

আমি জ্ঞোকি এবং গামু সহ একটি হুয়াওয়ে জিএমএস / ইউএমটিএস ইউএসবি মডেম ব্যবহার করছি। মডেমটি পাইয়ের নীচের বন্দরে ছিল। সঙ্গে dmesg | grep ttyএটা এ প্রদর্শিত হবে /dev/ttyUSB0এবং /dev/ttyUSB1। (এই ক্ষেত্রে 1 স্টিকের 2 টি ইউএসবি ডিভাইস স্বাভাবিক normal

আমি সেই অনুযায়ী জ্ঞোকি এবং গামু কনফিগার করেছি, তবে ttyUSB0- এ আমি কেবল বার্তা পাঠাতে পারি। প্রেরণ এবং গ্রহণ উভয়ই কেবল ttyUSB1 এর মাধ্যমে কাজ করবে।

তারপরে আমি লাঠিটি উপরের ইউএসবি সকেটে স্থানান্তরিত করলাম (কারণ অন্যথায় আমার ওয়াইফাই-স্টিক এটির পাশে ফিট না করে)। সবকিছু ঠিকঠাক কাজ করে চলেছে। বেশ কয়েকটি রিবুট পরে, ঠান্ডা এবং উষ্ণ।

আমার তখন ফাইল সিস্টেমটি প্রসারিত করা দরকার (হ্যাঁ, আমি জানি আমার এটি আগে করা উচিত ছিল)। এর পরে, মডেমটি ttyUSB0 এবং ttyUSB * 2 * এ ছিল। পরবর্তীগুলিতে প্রেরণ / গ্রহণ কাজ করে। এটি জানতে আমার কিছুটা সময় লেগেছিল।

আপডেট: 2 দিন পরে, ttyUSB2 অদৃশ্য হয়ে গেছে। ওয়ার্কিং মডেম এখন ttyUSB0 এ প্রকাশিত হয়েছিল (এটি ছিল ttyUSB1)।

কোন ধারণা কেন এমন হল? প্রাসঙ্গিক ডিবিয়ান বা লিনাক্স ডক্সের কোনও লিঙ্ক, সম্ভবত? আমি অনেক বাধ্য হই ..


নাম /sys/class/tty/হিসাবে গাইড হিসাবে ব্যবহার করার চেষ্টা করুন ।
লেকেনস্টেইন

কেবলমাত্র ttyUSB এর / sys / শ্রেণী / tty টি ttyUSB0 এবং ttyUSB1। এখন। আগামীকাল কী হবে কে জানে।
রল্ফব্লাই

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

উত্তর:


16

গাম্মু ডকুমেন্টেশনটি একটি কাজের ভিত্তিতে পরামর্শ দেয় (তবে কোনও বিবরণে যায় না),

সম্পাদনা করুন: আটেলের একটি অ্যাপ্লিকেশন নোট রয়েছে যা গণনা প্রক্রিয়াটি সুন্দরভাবে বর্ণনা করে।

গণনা পরিবর্তন হয় কারণ এটি হোস্ট, হাব এবং ডিভাইসের মধ্যে কথোপকথনে ঘটে এবং এর প্রত্যেকের থেকে প্রতিক্রিয়া সময় ভিন্ন হতে পারে, এমনকি যদি সেটআপটি একটি পুনরায় বুট থেকে পরেরটিতে একই রকম হয়।

আপডেট: সমাধানটি লাইনে সহজেই পাওয়া যায় না এবং সমস্ত জায়গাতে টুকরো টুকরো হয়ে থাকে। তাই আমি এগুলিকে এক সাথে একটি নথিতে রেখেছি । এটি এটিকেই ফোটায়।
1. ttyUSB এ কী আছে তা সন্ধান করুন:

dmesg | grep ttyUSB  

২. ডিভাইসের সমস্ত বৈশিষ্ট্য তালিকাভুক্ত করুন এবং একটি অনন্য শনাক্তকারী সেট বাছাই করুন, যেমন আইডভেেন্ডার + আইডিপ্রডাক্ট (এবং যদি প্রয়োজন হয় তবে সিরিয়াল নাম্বার যদি একই আইডভেেন্ডার এবং আইডি প্রোডাক্ট সহ একাধিক ডিভাইস থাকে)।

udevadm info --name=/dev/ttyUSB1 --attribute-walk

৩. /etc/udev/rules.d/99-usb-serial.rulesএই লাইনের মতো কিছু দিয়ে একটি ফাইল তৈরি করুন :

SUBSYSTEM=="tty", ATTRS{idVendor}=="1234", ATTRS{idProduct}=="5678", SYMLINK+="your_device_name" 

(ধরে নিই যে সেখানে আপনার কোনও ক্রমিক নম্বর প্রয়োজন নেই, এবং অবশ্যই আইডিভেন্ডর এবং আইডি প্রোডাক্টের নম্বরগুলি যা আপনি ২ য় ধাপে পেয়েছেন
4.. নতুন নিয়মটি লোড করুন:

sudo udevadm trigger

৫. যা ঘটেছে তা যাচাই করুন:

ls -l /dev/your_device_name  

সিমলিংকটি কী ttyUSB নাম্বারে গেছে তা প্রদর্শিত হবে। যদি তা হয় /dev/ttyUSB1তবে তা কে এবং এটি কোন গ্রুপের মালিক তা যাচাই করুন:

ls -l /dev/ttyUSB1   

তারপরে এটির মজা করার জন্য:

udevadm test -a -p  $(udevadm info -q path -n /dev/your_device_name)

8

আপনি নিজের প্রশ্নের আংশিক উত্তর দিয়েছেন, তবে এটি করার আরও একটি উপায় রয়েছে, বিশেষত সিরিয়াল ডিভাইসের জন্য: /dev/serial/*পথগুলি। আমার রাস্পবেরি পাইতে একটি প্রোলিফিক ইউএসবি → আরএস 232 ইন্টারফেস রয়েছে যা প্রায় অবিচ্ছিন্নভাবে প্রদর্শিত হয় /dev/ttyUSB0। তবে এটি সিস্টেমে প্রদর্শিত হয়:

  • /dev/serial/by-path/platform-bcm2708_usb-usb-0:1.3:1.0-port0
  • /dev/serial/by-id/usb-067b_2303-if00-port0

by-idলিঙ্কটি ব্যবহার করা একই থাকবে, যতক্ষণ না আমি অন্য PL2303 ভিত্তিক রূপান্তরকারী যুক্ত করি।


.. এবং যখন কেউ সত্যিই একটি নতুন PL2303 ভিত্তিক রূপান্তরকারী যুক্ত করে। (তাদের মধ্যে 2) তাহলে কী দান করা যেতে পারে?
ওম্বমার্ক ক্রোনেন

তুমি আটকে আছ আমি এড়াতে ব্র্যান্ডগুলিকে মেশানো এবং মেলানো পছন্দ করি।
স্ক্রুস

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