ইউএসবি ডিভাইসের নকল সিরিয়াল নম্বর


9

আমার পিসিতে ইউএসবি এর মাধ্যমে একটি মোবাইল ফোন সংযুক্ত রয়েছে।

ডিভাইসটির তথ্য ব্যবহার করে দেখার সময়

sudo udevadm info --attribute-walk

পণ্য ও বিক্রেতা আইডি এর জরিমানা দেখা, কিন্তু নেই ATTR {সিরিয়াল} । আমি যে অ্যাপ্লিকেশনটি ব্যবহার করছি (অ্যান্ড্রয়েড অ্যাডবি) সঠিকভাবে কাজ করার জন্য একটি ক্রমিক নম্বর প্রতিবেদন করার জন্য ডিভাইসটির প্রয়োজন।

আমি কী কোনও উপায়ে ডিভাইসটির ক্রমিক নম্বর নকল করতে পারি, উদাহরণস্বরূপ উদেব নিয়ম ব্যবহার করে?

ব্যাখ্যা: প্রশ্ন কিভাবে নেই পেতে USB ডিভাইস ক্রমিক সংখ্যা, কিন্তু কিভাবে উপর সেট সিরিয়াল নম্বর।

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


এটি কি অ্যান্ড্রয়েড ফোন? যদি তা না হয় তবে অ্যাডবি কোনওভাবেই চলবে না।
কিথ

আমি অনুমান করছি যে অ্যাডিব আসলে উদেব থেকে এই তথ্যটি পায় না। সম্ভবত পরিবর্তে sysfs থেকে, বা সরাসরি ডিভাইস থেকে। প্যাচিং অ্যাডবি বিবেচনা করুন, সম্ভবত সবচেয়ে সহজ পদ্ধতির।
ডারোবার্ট

উত্তর:


1

প্রথমে নিশ্চিত হয়ে নিন যে ডিভাইসটি সিরিয়াল নম্বরটি রিপোর্ট করে না তা সত্যিই সমস্যা। adb devicesএর অধীন সংশ্লিষ্ট ডিভাইস অ্যাক্সেস করার অনুমতি না থাকলে সিরিয়াল নম্বরটিকে সমস্ত প্রশ্ন চিহ্ন হিসাবে তালিকাবদ্ধ করবে /dev/bus/usb/। এছাড়াও মনে রাখবেন যে অ্যাডবি একটি সার্ভার শুরু করে, এটি পুনরায় তদন্ত করার জন্য আপনাকে এটি মারতে হতে পারে।

এটি ডিভাইসটিতে সত্যই সমস্যা বলে ধরে নিচ্ছি, আমি দ্রুত অ্যাডাবির উত্স কোডটি যাচাই করেছি। এটি ডিভাইস থেকে সরাসরি সিরিয়াল নম্বর পড়তে উপস্থিত register_deviceহয় core/adb/usb_linux.ccore/adb/usb_libusb.cএটি করার libusb_get_device_descriptorজন্য কলগুলি , যা (লাইবসব উত্স কোডটি পরীক্ষা করে) এটি সিএসএফএস থেকে সরাসরি ডিভাইস থেকে গ্র্যাভ করে। দুর্ভাগ্যক্রমে কোনও উদেব চালাকি সাহায্য করবে না is

আপনার পছন্দগুলি মনে হয়:

  • সিরিয়াল নম্বর ছাড়াই অ্যাডবি কীভাবে কাজ করবেন তা নির্ধারণ করুন। সম্ভবত প্যাচ adb(এটি ওপেন সোর্স)। স্ট্যাক ওভারফ্লোয়ের জন্য এটি আরও একটি প্রশ্ন, আমি মনে করি।
  • অ্যাডবির অনুরোধের প্রতিক্রিয়া জাল করতে কার্নেল ইউএসবিএস ড্রাইভারকে প্যাচ করুন। এটি আমার কাছে অ্যাডবি প্যাচিংয়ের চেয়ে অনেক বেশি শক্ত লাগে।
  • সিরিয়াল # সিফগুলিতে নকল করার জন্য কার্নেলটি প্যাচ করুন, ধরে নিই যে অ্যাডবিটি লিবাসব ব্যবহার করছে।
  • ভাঙা হার্ডওয়্যার ঠিক করুন।

ধন্যবাদ - এটি এটি ব্যাখ্যা করে। আমার ক্ষেত্রে ভাঙা হার্ডওয়্যার ফিক্সিং করা সহজ ছিল (আরও ভাল হার্ডওয়্যার কেনা)।
রালফ

1

আপনি যদি নির্দিষ্ট ডিভাইসের ডিভাইস নোডটি জানেন (উদাহরণস্বরূপ / dev / sdb), তবে আপনি নিম্নলিখিত আদেশটি দিয়ে এটি দেখতে পারেন: udevadm info -a -p $(udevadm info -q path -n /dev/sdb)

সাধারণত, আপনি যদি অ্যান্ড্রয়েড ডিভাইসের জন্য /etc/udev/rules.d/51-android.rules এ একটি কাস্টম নিয়ম তৈরি করার চেষ্টা করছেন, lsusbআপনার টার্মিনালে লেখার মতো কিছু প্রদর্শিত হবে Bus 002 Device 004: ID 062a:3270 Creative Labs । "আইডি" এর পরে চারটি অক্ষর - এই ক্ষেত্রে এটি সেই ফাইলের মধ্যে 062aনির্দিষ্টটি চিহ্নিত করতে ব্যবহৃত হবে areidVendor


যা উদেব বিধিগুলি লিখতে সহায়তা করে, তবে সিরিয়াল নম্বর পরিবর্তন করে এমন কোনও নিয়ম লেখার কোনও উপায় আছে কি?
রালফ

আপনার নির্দিষ্ট ফোনের জন্য জানেন না, তবে আমার অভিজ্ঞতায় একবার উদেব নিয়মগুলি সেট হয়ে গেলে (এবং আপনি adb start-serverমূল হিসাবে চালাবেন বা সুডো ব্যবহার করছেন), অ্যাডবি নিজেই সিরিয়াল নম্বরটি পড়তে সক্ষম হবে।
ড্রার ক্লারিস

0

সম্ভবত এটি সিরিয়াল নয় এফটিডিআই, সুতরাং আপনি এইভাবে চেষ্টা করতে পারেন:

1) সিরিয়াল পান

sudo udevadm info --attribute-walk -n /dev/ttyUSB0  | sed -n '/FTDI/,/serial/p'

2) বিধিটি তৈরি করুন এবং আপনার পাওয়া সিরিয়াল বা একটি নকল সিরিয়াল দিয়ে XXXXXXXX বিকল্প করুন

sudo echo 'SUBSYSTEM=="tty", ATTRS{serial}=="XXXXXXXX", GROUP="users", MODE="0660", SYMLINK+="myusbphone"' | sudo tee /etc/udev/rules.d/99-myusbphone.rules

3) বিধিগুলি পুনরায় লোড করুন

sudo udevadm control --reload-rules

ক্ষেত্রে এই নিবন্ধটির লেখকের সাথে যোগাযোগ করার চেষ্টা করুন ।


আমি মনে করি না ওপি সিরিয়াল প্রোটোকলের কথা বলছে তবে ইউএসবি ডিভাইসের ক্রমিক নম্বর। এটি বিক্রেতা এবং পণ্য আইডি সহ ডিভাইস বর্ণনাকারীর একটি সামান্য ব্যবহৃত ক্ষেত্র। এটি প্রতিটি ডিভাইসের জন্য অনন্য বলে মনে করা হচ্ছে তবে ইউএসবি অনুমানের ক্ষেত্রে এটি বাধ্যতামূলক নয়। কীভাবে এটি জাল করবেন তার কোনও উত্তর নেই, দুঃখিত। আমি সম্ভবত
কর্নেলটি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.