`Udevadm তথ্য -a -n / dev / sdb` এর আউটপুট বুঝতে`


11

আমি আমার ল্যাপটপে একটি বাহ্যিক এইচডিডি প্লাগ করি। আমি এর মাধ্যমে তথ্যগুলি জানার চেষ্টা করি

$ udevadm info -a -n /dev/sdb

Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

  looking at device '/devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1:1.0/host10/target10:0:0/10:0:0:0/block/sdb':
    KERNEL=="sdb"
    SUBSYSTEM=="block"
    DRIVER==""
    ATTR{range}=="16"
    ATTR{ext_range}=="256"
    ATTR{removable}=="0"
    ATTR{ro}=="0"
    ATTR{size}=="312581808"
    ATTR{alignment_offset}=="0"
    ATTR{discard_alignment}=="0"
    ATTR{capability}=="50"
    ATTR{stat}=="     322    11207    13259     2196        2        0       16        0        0     1524     2196"
    ATTR{inflight}=="       0        0"
    ATTR{events}==""
    ATTR{events_async}==""
    ATTR{events_poll_msecs}=="-1"

  looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1:1.0/host10/target10:0:0/10:0:0:0':
    KERNELS=="10:0:0:0"
    SUBSYSTEMS=="scsi"
    DRIVERS=="sd"
    ATTRS{device_blocked}=="0"
    ATTRS{type}=="0"
    ATTRS{scsi_level}=="0"
    ATTRS{vendor}=="USB 2.0 "
    ATTRS{model}=="Storage Device  "
    ATTRS{rev}=="0100"
    ATTRS{state}=="running"
    ATTRS{timeout}=="30"
    ATTRS{iocounterbits}=="32"
    ATTRS{iorequest_cnt}=="0x165"
    ATTRS{iodone_cnt}=="0x165"
    ATTRS{ioerr_cnt}=="0x2"
    ATTRS{evt_media_change}=="0"
    ATTRS{dh_state}=="detached"
    ATTRS{queue_depth}=="1"
    ATTRS{queue_type}=="none"
    ATTRS{max_sectors}=="240"

  looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1:1.0/host10/target10:0:0':
    KERNELS=="target10:0:0"
    SUBSYSTEMS=="scsi"
    DRIVERS==""

  looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1:1.0/host10':
    KERNELS=="host10"
    SUBSYSTEMS=="scsi"
    DRIVERS==""

  looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1:1.0':
    KERNELS=="2-1:1.0"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb-storage"
    ATTRS{bInterfaceNumber}=="00"
    ATTRS{bAlternateSetting}==" 0"
    ATTRS{bNumEndpoints}=="02"
    ATTRS{bInterfaceClass}=="08"
    ATTRS{bInterfaceSubClass}=="06"
    ATTRS{bInterfaceProtocol}=="50"
    ATTRS{supports_autosuspend}=="1"

  looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb2/2-1':
    KERNELS=="2-1"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{configuration}==""
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bmAttributes}=="c0"
    ATTRS{bMaxPower}=="  0mA"
    ATTRS{urbnum}=="1076"
    ATTRS{idVendor}=="0402"
    ATTRS{idProduct}=="5621"
    ATTRS{bcdDevice}=="0103"
    ATTRS{bDeviceClass}=="00"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceProtocol}=="00"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{speed}=="480"
    ATTRS{busnum}=="2"
    ATTRS{devnum}=="8"
    ATTRS{devpath}=="1"
    ATTRS{product}=="USB 2.0 Storage Device"
    ATTRS{serial}=="00042222200000064007"

  looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb2':
    KERNELS=="usb2"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{configuration}==""
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bmAttributes}=="e0"
    ATTRS{bMaxPower}=="  0mA"
    ATTRS{urbnum}=="382"
    ATTRS{idVendor}=="1d6b"
    ATTRS{idProduct}=="0002"
    ATTRS{bcdDevice}=="0302"
    ATTRS{bDeviceClass}=="09"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceProtocol}=="00"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{speed}=="480"
    ATTRS{busnum}=="2"
    ATTRS{devnum}=="1"
    ATTRS{devpath}=="0"
    ATTRS{version}==" 2.00"
    ATTRS{maxchild}=="6"
    ATTRS{quirks}=="0x0"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{authorized}=="1"
    ATTRS{manufacturer}=="Linux 3.2.0-27-generic-pae ehci_hcd"
    ATTRS{product}=="EHCI Host Controller"
    ATTRS{serial}=="0000:00:1d.7"
    ATTRS{authorized_default}=="1"

  looking at parent device '/devices/pci0000:00/0000:00:1d.7':
    KERNELS=="0000:00:1d.7"
    SUBSYSTEMS=="pci"
    DRIVERS=="ehci_hcd"
    ATTRS{vendor}=="0x8086"
    ATTRS{device}=="0x293a"
    ATTRS{subsystem_vendor}=="0x17aa"
    ATTRS{subsystem_device}=="0x20f1"
    ATTRS{class}=="0x0c0320"
    ATTRS{irq}=="19"
    ATTRS{local_cpus}=="ff"
    ATTRS{local_cpulist}=="0-7"
    ATTRS{dma_mask_bits}=="32"
    ATTRS{consistent_dma_mask_bits}=="32"
    ATTRS{broken_parity_status}=="0"
    ATTRS{msi_bus}==""
    ATTRS{companion}==""
    ATTRS{uframe_periodic_max}=="100"

  looking at parent device '/devices/pci0000:00':
    KERNELS=="pci0000:00"
    SUBSYSTEMS==""
    DRIVERS==""

আমি আশ্চর্য হই যে আউটপুট দ্বারা বোঝানো "প্যারেন্ট ডিভাইসের চেইন" কী? প্রতিটি looking at (parent) deviceঅর্থ অনুসরণ করার অর্থ আমি পুরোপুরি বুঝতে পারি না । উদাহরণ স্বরূপ,

প্রথমটি কি আমার বাহ্যিক এইচডিডি? বাকী কী আছে?

শেষ দু'জন বাদে অন্যদের কেন '...' এর মধ্যে "ইউএসবি" রয়েছে?

শেষ পিসিআই স্লটগুলির পাশে একটি?

pciএর নামে থাকা সত্ত্বেও শেষটি কোনটি খালি ?

বাহ্যিক এইচডিডি থেকে সিপিইউতে "ওয়াক আপ" এর অর্থ কি?

ধন্যবাদ!

উত্তর:


11

হাঁটাটি বিভিন্ন সফ্টওয়্যার উপাদান (ড্রাইভার) যা ডিভাইসটি পরিচালনা করে; এটি ডিভাইসে সংযোগে জড়িত এমন হার্ডওয়্যার ডিভাইস এবং বাসগুলির সাথে এবং বৃহত্তর সাথে সামঞ্জস্য করে। এটি বেশিরভাগ ডিভাইসের শারীরিক বিন্যাসের সাথে সম্পর্কিত নয়: তাদের বেশিরভাগই একই চিপের ভিতরেই হোক are

উপরে থেকে এই উদাহরণ গ্রহণ:

  • প্রথমে আমাদের একটি ব্লক ডিভাইস (একটি ডিস্কের মতো ডিভাইস) রয়েছে।
    এই, প্রকৃত ডিভাইস তাই তার কী কোন চূড়ান্ত আছে S( KERNEL, ATTR, ইত্যাদি)। আউটপুটে পূর্বপুরুষের কীগুলিতে একটি চূড়ান্ত S( KERNELS, ATTRSইত্যাদি) যুক্ত করা হয়েছে udevadm, যা আপনি উদেব নিয়মে লিখতে পারেন তার সাথে মেলে ।
  • প্রথম পিতামাতা একটি এসসিএসআই ডিস্ক, sd(এসসিএসআই ডিস্ক) ড্রাইভার দ্বারা পরিচালিত । এটি এসসিএসআই প্রোটোকলের সাথে সংযুক্ত এমন একটি ডিস্ক, যা কোনও শারীরিক এসসিএসআই সংযোগের প্রয়োজনে নয়; বেশিরভাগ আধুনিক স্টোরেজ লিঙ্কগুলি (এটিএ, এসসিএসআই, ইউএসবি, আইএসসিএসআই) বিভিন্ন শারীরিক যোগাযোগ প্রোটোকলের উপর এসসিএসআই প্রোটোকল ব্যবহার করে।
  • এসসিএসআই অ্যাড্রেসিং স্তরযুক্ত: এসসিএসআই ডিভাইস একটি টার্গেটের সাথে সংযুক্ত যা একটি হোস্টের সাথে সংযুক্ত ।
  • এসসিএসআই হোস্টটি একটি ইউএসবি স্টোরেজ নিয়ামক, যা usb-storageড্রাইভার দ্বারা পরিচালিত হয় ।
  • ইউএসবি স্টোরেজ নিয়ামকটি একটি ইউএসবি নিয়ামকের সাথে সংযুক্ত থাকে । ইউএসবি ডিভাইসগুলি একটি গাছের ফ্যাশনে সংযুক্ত থাকে (এসসিএসআই এর মতো, তবে এসসিএসআইয়ের একটি নির্দিষ্ট সংখ্যক শাখা পয়েন্ট রয়েছে, যেখানে ইউএসবি গাছের গভীরতা বাড়ানোর জন্য হাবগুলি চেইন করতে পারে)। ইউএসবি পদক্ষেপের বিশদটি ব্যাখ্যা করার জন্য আমি ইউএসবি সম্পর্কে যথেষ্ট জানি না।
  • অবশেষে আমরা ইউএসবি হোস্ট কন্ট্রোলার উতরান: ATTRS{product}=="EHCI Host Controller"EHCI অর্থ একটি ইউএসবি ২.০ নিয়ামক।
  • ইউএসবি নিয়ন্ত্রণকারী একটি পিসিআই বাসের মাধ্যমে সিপিইউর সাথে কথা বলে । 0000:00:1d.7ইউএসবি কন্ট্রোলার সংযুক্ত এমন বাসের ঠিকানা।
    পিসিআই এক্সটেনশন কার্ডগুলি এই স্তরে সংযুক্ত রয়েছে। ইউএসবি কন্ট্রোলারযুক্ত চিপ এত বড় কিছু দিয়ে সংযুক্ত নেই, এর সংযোগগুলি সিলিকনের ভিতরে গভীর deep
  • শেষ প্রবেশটি পিসিআই বাস নিজেই। এটিই সর্বশেষ এন্ট্রি কারণ এই বাসের শেষ পয়েন্টটি সিপিইউ।

2
@ টিম এনক্লোজারটি শারীরিকভাবে, বৈদ্যুতিকভাবে এবং প্রোটোকল স্ট্যাকের নীচের স্তরে আইডিই এবং ইউএসবি স্টোরেজের মধ্যে অনুবাদ করে। আইডিই এবং ইউএসবি স্টোরেজ উভয়ই এসসিএসআইটিকে ডেটা এক্সচেঞ্জ প্রোটোকল (বা খুব নিকটতম রূপগুলি) হিসাবে ব্যবহার করে। আপনার প্রথম প্রশ্নটি কিছুটা জটিল; সিস্টেমটি বিভিন্ন স্তরে বিভিন্ন জিনিস দেখায় (আপনি বলতে পারেন এটি ব্লক ডিভাইস স্তরের হার্ড ডিস্ক, এসসিএসআই স্তরে এইচডিডি এবং ইউএসবি স্তরে ঘেরটি দেখে)। ইউএসবি কেবলটি সফ্টওয়্যার থেকে অদৃশ্য।
গিলস 'অশুভ হওয়া বন্ধ করুন'

2
@ টিম এই স্তরগুলি সমস্ত ওএস ডিজাইনারদের দ্বারা তৈরি বিমূর্ততা। এই বিমূর্ততাগুলির বেশিরভাগটি হার্ডওয়ারের একটি অংশের কিছু দৃশ্যের সাথে সামঞ্জস্য করে (যা সমস্ত পৃথক উপাদান নাও হতে পারে এবং হার্ডওয়্যারের শারীরিকভাবে একক টুকরোতে একাধিক উপাদান থাকতে পারে), বিমূর্ততা এবং হার্ডওয়্যারের মধ্যে যোগাযোগ বন্ধ কিন্তু সর্বদা নিখুঁত না।
গিলস 'অশুভ হওয়া বন্ধ করুন'

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

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

1
@ টিম 1) আইডিই প্রতিস্থাপন ইউএসবি স্টোরেজ দ্বারা , ঘেরটি দুটির মধ্যে অনুবাদ করে। 2) এসসিএসআই কমান্ড বনাম এসসিএসআই
গিলস 'অশুভ হওয়া বন্ধ করুন'
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.