lspci(8)

الاسم
lspci - سرد جميع أجهزة PCI

موجز
lspci [خيارات]

الوصف
lspci هي أداة لعرض معلومات حول ناقلات PCI في النظام والأجهزة المتصلة بها. بشكل مبدئي، يعرض قائمة مختصرة بالأجهزة. استخدم الخيارات الموصوفة أدناه لطلب إخراج أكثر تفصيلاً أو إخراج مخصص للتحليل بواسطة برامج أخرى. إذا كنت ستُبلغ عن أخطاء في برامج تشغيل أجهزة PCI أو في lspci نفسه، يُرجى تضمين إخراج "lspci -vvx" أو الأفضل "lspci -vvxxx" (مع ذلك، انظر أدناه للتحذيرات المحتملة). بعض أجزاء الإخراج، خاصة في الأوضاع شديدة التفصيل، قد تكون مفهومة فقط لمخترقي PCI ذوي الخبرة. للحصول على تعريفات دقيقة للحقول، يُرجى الرجوع إما إلى مواصفات PCI أو ملفات التضمين header.h و /usr/include/linux/pci.h. الوصول إلى بعض أجزاء مساحة تهيئة PCI مقيد بالجذر على العديد من أنظمة التشغيل، لذا فإن ميزات lspci المتاحة للمستخدمين العاديين محدودة. ومع ذلك، يبذل lspci قصارى جهده لعرض أكبر قدر متاح ووضع علامة على جميع المعلومات الأخرى بنص <وصول مرفوض>.

الخيارات

  أوضاع العرض الأساسية

-m  تفريغ بيانات جهاز PCI بشكل قابل للقراءة آلياً متوافق مع الإصدارات السابقة. انظر أدناه للتفاصيل.

-mm تفريغ بيانات جهاز PCI بشكل قابل للقراءة آلياً لسهولة التحليل بواسطة النصوص البرمجية. انظر أدناه للتفاصيل.

-t  عرض مخطط شجري يحتوي على جميع الناقلات والجسور والأجهزة والوصلات بينها.

  خيارات العرض

-v  كن مفصلاً واعرض معلومات تفصيلية عن جميع الأجهزة.

-vv كن مفصلاً جداً واعرض المزيد من التفاصيل. يتضمن هذا المستوى كل ما يُعتبر مفيداً.

-vvv
    كن أكثر تفصيلاً واعرض كل ما يمكننا تحليله، حتى لو لم يبدُ مثيرًا للاهتمام على الإطلاق (مثل مناطق الذاكرة غير المعرفة).

-k  يعرض هذا الخيار برامج تشغيل النواة التي تتعامل مع كل جهاز، بالإضافة إلى وحدات النواة القادرة على التعامل معه. يتم تفعيله افتراضيًا عند إدخال -v في وضع الإخراج العادي. (يعمل حاليًا فقط على أنظمة لينكس بنواة 2.6 أو أحدث).

-x  اعرض تفريغًا سداسيًا عشريًا للجزء القياسي من مساحة التهيئة (أول 64 بايت أو 128 بايت لجسور CardBus).

-xxx
    اعرض تفريغًا سداسيًا عشريًا لمساحة تهيئة PCI بالكامل. هذا الخيار متاح فقط للمستخدم الجذر لأن العديد من أجهزة PCI تتعطل عند محاولة قراءة بعض أجزاء مساحة التهيئة (هذا السلوك ربما لا ينتهك معيار PCI، لكنه على الأقل غبي جدًا). ومع ذلك، هذه الأجهزة نادرة، لذا لا داعي للقلق كثيرًا.

-xxxx
    اعرض تفريغًا سداسيًا عشريًا لمساحة تهيئة PCI الموسعة (4096 بايت) المتوفرة على ناقلات PCI-X 2.0 و PCI Express.

-b  عرض متمركز حول الناقل. اعرض جميع أرقام IRQ والعناوين كما تراها البطاقات على ناقل PCI بدلاً من رؤية النواة.

-D  اعرض دائمًا أرقام نطاق PCI. افتراضيًا، يقوم lspci بإخفائها على الأجهزة التي تحتوي على نطاق 0 فقط.

-P  حدد أجهزة PCI بواسطة المسار عبر كل جسر، بدلاً من رقم الناقل.

-PP حدد أجهزة PCI بواسطة المسار عبر كل جسر، مع عرض رقم الناقل بالإضافة إلى رقم الجهاز.

  خيارات للتحكم في حل المعرفات إلى أسماء

-n  اعرض رموز البائع والجهاز PCI كأرقام بدلاً من البحث عنها في قائمة معرفات PCI.

-nn اعرض رموز البائع والجهاز PCI كأرقام وأسماء معًا.

-q  استخدم DNS للاستعلام عن قاعدة بيانات معرفات PCI المركزية إذا لم يتم العثور على جهاز في ملف pci.ids المحلي. إذا نجح استعلام DNS، يتم تخزين النتيجة في خبيئة $XDG_CACHE_HOME/pci-ids ويتم التعرف عليها في التشغيلات اللاحقة حتى لو لم يُعطَ -q بعد الآن. يُرجى استخدام هذا المفتاح داخل النصوص الآلية بحذر فقط لتجنب إثقال خوادم قاعدة البيانات.

-qq مثل -q، لكن يتم إعادة تعيين الخبيئة المحلية.

-Q  استعلم عن قاعدة البيانات المركزية حتى للإدخالات المعترف بها محليًا. استخدم هذا إذا كنت تشك في أن الإدخال المعروض خاطئ.

  خيارات اختيار الأجهزة

-s [[[[<domain>]:]<bus>]:][<device>][.[<func>]]
    أظهر الأجهزة فقط في النطاق المحدد (إذا كان جهازك يحتوي على عدة جسور مضيفة، فقد تشترك في مساحة أرقام ناقل مشتركة أو يمكن لكل منها معالجة نطاق PCI خاص به؛ تُرقّم النطاقات من 0 إلى ffff)، والناقل (0 إلى ff)، والجهاز (0 إلى 1f)، والوظيفة (0 إلى 7). يمكن حذف كل مكون من عنوان الجهاز أو تعيينه إلى "*"، وكلاهما يعني "أي قيمة". جميع الأرقام بالنظام الست عشري. مثلاً، "0:" يعني جميع الأجهزة على الناقل 0، "0" يعني جميع وظائف الجهاز 0 على أي ناقل، "0.3" يختار الوظيفة الثالثة للجهاز 0 على جميع النواقل، و".4" يُظهر فقط الوظيفة الرابعة لكل جهاز.

-d [<vendor>]:[<device>][:<class>[:<prog-if>]]
    أظهر الأجهزة فقط ذات البائع والجهاز ومعرف الفئة وواجهة البرمجة المحددة. تُعطى المعرفات بالنظام الست عشري ويمكن حذفها أو إعطاؤها كـ"*"، وكلاهما يعني "أي قيمة". يمكن أن يحتوي معرف الفئة على أحرف "x" التي ترمز إلى "أي رقم".

عند دمج -s و-d، تُختار الأجهزة التي تطابق كلا المعيارين فقط. عند استخدام نفس الخيار عدة مرات، يلغي الخيار الموجود في أقصى اليمين الخيارات الأخرى ويُنتج تحذير.

  خيارات أخرى

-i <file>
    استخدم <file> كقائمة معرفات PCI بدلاً من /usr/share/hwdata/pci.ids.

-p <file>
    استخدم <file> كخريطة معرفات PCI التي تعالجها وحدات النواة. مبدئيًا، يستخدم lspci /lib/modules/kernel_version/modules.pcimap. ينطبق فقط على أنظمة لينكس ذات أدوات وحدات حديثة بما يكفي.

-M  استدع وضع تعيين الناقل الذي يُجري مسحًا شاملاً لجميع أجهزة PCI، بما في ذلك تلك الموجودة خلف جسور غير مهيأة بشكل صحيح، إلخ. يعطي هذا الخيار نتائج ذات معنى فقط مع وضع وصول مباشر للعتاد، والذي يتطلب عادة صلاحيات الجذر. مبدئيًا، يمسح مُعيّن الناقل النطاق. يمكنك استخدام الخيار -s لاختيار نطاق مختلف.

--version
    يُظهر إصدار lspci. يجب استخدام هذا الخيار بشكل مستقل.

  خيارات الوصول إلى PCI

تستخدم أدوات PCI مكتبة PCI للتواصل مع أجهزة PCI (انظر pcilib(7) للتفاصيل). يمكنك استخدام الخيارات التالية للتأثير على سلوكها:

-A <method>
    تدعم المكتبة مجموعة متنوعة من الطرق للوصول إلى عتاد PCI. مبدئيًا، تستخدم أول طريقة وصول متاحة، ولكن يمكنك استخدام هذا الخيار لتجاوز هذا القرار. انظر -A help للحصول على قائمة بالطرق المتاحة وأوصافها.

-O <param>=<value>
    يُتحكم في سلوك المكتبة بواسطة عدة معاملات مسماة. يسمح هذا الخيار بتعيين قيمة أي من المعاملات. استخدم -O help للحصول على قائمة بالمعاملات المعروفة وقيمها المبدئية.

-H1 استخدم وصولاً مباشرًا للعتاد عبر آلية تهيئة إنتل 1. (هذا اختصار لـ -A intel-conf1.)

-H2 استخدم الوصول المباشر للعتاد عبر آلية التهيئة 2 من إنتل. (هذا اختصار لـ -A intel-conf2.)

-F <ملف>
    بدلاً من الوصول إلى العتاد الحقيقي، اقرأ قائمة الأجهزة وقيم سجلات تهيئتها من الملف المعطى المنتج من تشغيل سابق لـ lspci -x. إذا كان الملف شرطة واحدة (-)، اقرأ المحتويات من stdin.

    هذا مفيد جداً لتحليل تقارير الأخطاء المقدمة من المستخدم، لأنه يمكنك عرض تهيئة العتاد بأي طريقة تريدها دون إزعاج المستخدم بطلبات لمزيد من التفريغات.

-G  زد مستوى التصحيح للمكتبة.

مخرجات قابلة للقراءة آلياً
إذا كنت تنوي معالجة مخرجات lspci آلياً، فاستخدم أحد تنسيقات المخرجات القابلة للقراءة آلياً (-m, -vm, -vmm) الموصوفة في هذا القسم. جميع التنسيقات الأخرى عرضة للتغيير بين إصدارات lspci.

جميع الأرقام تُطبع دائماً بالنظام الست عشري. إذا أردت معالجة المعرفات الرقمية بدلاً من الأسماء، فأضف المفتاح -n.

  التنسيق البسيط (-m)
في التنسيق البسيط، يُوصف كل جهاز في سطر واحد، مُنسق كمعاملات مناسبة للتمرير إلى سكريبت شل، أي قيم مفصولة بمسافات بيضاء، مقتبسة ومهربة إذا لزم الأمر. بعض الوسائط موضعية: الفتحة، الفئة، اسم البائع، اسم الجهاز، اسم بائع النظام الفرعي واسم النظام الفرعي (الآخران فارغان إذا لم يكن للجهاز نظام فرعي)؛ الوسائط المتبقية تشبه الخيارات:

-rالمراجعة
    رقم المراجعة.

-pواجهة_البرمجة
    واجهة البرمجة.

الترتيب النسبي للوسائط الموضعية والخيارات غير محدد. يمكن إضافة خيارات جديدة في الإصدارات المستقبلية، لكنها ستكون دائماً ذات وسيطة واحدة غير مفصولة عن الخيار بأي مسافات، لذا يمكن تجاهلها بسهولة إذا لم تُعرف.

  التنسيق المفصل (-vmm)
المخرجات المفصلة هي سلسلة من السجلات مفصولة بأسطر فارغة. يصف كل سجل جهازاً واحداً بسلسلة من الأسطر، كل سطر يحتوي على زوج `الوسم: القيمة`. يُفصل الوسم و القيمة بحرف تبويب واحد. لا السجلات ولا الأسطر داخل السجل في أي ترتيب معين. الوسوم حساسة لحالة الأحرف.

الوسوم التالية معرفة:

Slot
    اسم الفتحة التي يوجد بها الجهاز ([المجال:]الناقل:الجهاز.الوظيفة). هذه العلامة هي دائمًا الأولى في السجل.

Class
    اسم الفئة.

Vendor
    اسم البائع.

Device
    اسم الجهاز.

SVendor
    اسم بائع النظام الفرعي (اختياري).

SDevice
    اسم النظام الفرعي (اختياري).

PhySlot
    الفتحة المادية التي يوجد بها الجهاز (اختياري، لينكس فقط).

Rev رقم المراجعة (اختياري).

ProgIf
    واجهة البرمجة (اختياري).

Driver
    برنامج تشغيل النواة الذي يدير الجهاز حاليًا (اختياري، لينكس فقط).

Module
    وحدة النواة التي تبلغ عن قدرتها على معالجة الجهاز (اختياري، لينكس فقط). يمكن أن تظهر أسطر متعددة بهذه العلامة.

NUMANode
    عقدة NUMA التي يتصل بها هذا الجهاز (اختياري، لينكس فقط).

IOMMUGroup
    مجموعة IOMMU التي ينتمي إليها هذا الجهاز (اختياري، لينكس فقط).

يمكن إضافة علامات جديدة في الإصدارات المستقبلية، لذا يجب تجاهل أي علامات لا تتعرف عليها بصمت.

  صيغة مفصلة متوافقة مع الإصدارات السابقة (-vm)
في هذا الوضع، يحاول lspci أن يكون متوافقًا تمامًا مع إصداراته القديمة. إنه تقريبًا نفس الصيغة المفصلة العادية، ولكن تُستخدم علامة Device لكل من الفتحة واسم الجهاز، لذا تظهر مرتين في سجل واحد. يُرجى تجنب استخدام هذه الصيغة في أي كود جديد.

الملفات

/usr/share/hwdata/pci.ids
    قائمة بجميع معرفات PCI المعروفة (البائعون، الأجهزة، الفئات والفئات الفرعية). تُصان في https://pci-ids.ucw.cz/، استخدم أداة update-pciids لتنزيل أحدث إصدار.

/usr/share/hwdata/pci.ids.gz
    إذا تم تجميع lspci مع دعم الضغط، يتم تجربة هذا الملف قبل pci.ids.

$XDG_CACHE_HOME/pci-ids
    جميع المعرفات التي تم العثور عليها في وضع استعلام DNS مخزنة مؤقتًا في هذا الملف.

العلل
أحيانًا، لا يستطيع lspci فك تشفير سجلات التهيئة بالكامل. يحدث هذا عادةً عندما لا تتوفر وثائق كافية للمؤلفين. في مثل هذه الحالات، يطبع على الأقل علامة <?> للإشارة إلى أن هناك شيئًا يحتمل أن يُقال. إذا كنت تعرف التفاصيل، فالتصحيحات مرحب بها بالطبع. الوصول إلى مساحة التهيئة الموسعة مدعوم حاليًا فقط بواسطة الواجهة الخلفية linux_sysfs.

انظر أيضًا
setpci(8), pci.ids(5), update-pciids(8), pcilib(7)

المؤلف
أدوات PCI يُصانها مارتن ماريس <mj@ucw.cz>.

ترجمة
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 (https://www.gnu.org/licenses/gpl-3.0.html) أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.