ما هو PCI؟
PCI (Peripheral Component Interconnect) هو معيار للحافلات يستخدم لتوصيل الأجهزة الطرفية بجهاز الكمبيوتر. تم تطويره في الأصل من قبل إنتل في أوائل التسعينيات، وأصبح معيارًا واسع الانتشار لتوصيل بطاقات التوسعة، مثل بطاقات الرسومات، وبطاقات الصوت، وبطاقات الشبكة، وغيرها. يستخدم PCI مجموعة من الخطوط الكهربائية لنقل البيانات والعناوين والتحكم بين الأجهزة.
تعتبر PCI Express (PCIe) التطور الأحدث لـ PCI، وتوفر سرعات نقل بيانات أعلى بكثير مع الحفاظ على التوافق مع بعض جوانب المعيار الأصلي.
وظائف الأمر lspci
يقوم الأمر lspci بمسح ناقلات PCI في النظام والبحث عن الأجهزة المتصلة بها. ثم يعرض معلومات مفصلة حول كل جهاز، بما في ذلك:
- معرّف المورد (Vendor ID): يحدد الشركة المصنعة للجهاز.
- معرّف الجهاز (Device ID): يحدد نوع الجهاز المحدد.
- فئة الجهاز (Device Class): تحدد نوع الجهاز (مثل بطاقة رسومات، محول شبكة، إلخ).
- الإصدار (Revision): يحدد إصدار الجهاز.
- معلومات الإعداد (Configuration information): تتضمن معلومات مثل عناوين الذاكرة، ومقاطعات IRQ، وإعدادات الطاقة.
- اسم الجهاز (Device Name): يوفر وصفًا نصيًا للجهاز.
استخدام الأمر lspci الأساسي
لاستخدام الأمر lspci، ما عليك سوى كتابة “lspci” في سطر الأوامر والضغط على Enter. سيعرض هذا الأمر قائمة بجميع أجهزة PCI المثبتة في النظام، مع معلومات أساسية لكل جهاز.
مثال على الإخراج الأساسي:
00:00.0 Host bridge: Intel Corporation 82G33/G31/P35/P31 Express DRAM Controller (rev 10) 00:02.0 VGA compatible controller: Intel Corporation 82G33/G31 Express Integrated Graphics Controller (rev 10) 00:1d.0 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #1 00:1d.1 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #2 00:1d.2 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #3 00:1d.7 USB controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #1 00:1e.0 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 1 00:1f.0 ISA bridge: Intel Corporation ICH9 (LPC Interface Controller) 00:1f.2 IDE interface: Intel Corporation 82801I (ICH9 Family) IDE Controller 00:1f.3 SMBus: Intel Corporation 82801I (ICH9 Family) SMBus Controller 01:00.0 VGA compatible controller: NVIDIA Corporation G98 [GeForce 9400 GT] (rev a1) 02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 02)
يوفر هذا الإخراج نظرة عامة سريعة على الأجهزة المثبتة، بما في ذلك بطاقات الرسومات (VGA)، وأجهزة التحكم في USB، وبطاقات الشبكة (Ethernet).
خيارات الأمر lspci المتقدمة
يوفر الأمر lspci العديد من الخيارات التي تسمح لك بتخصيص الإخراج وتصفية المعلومات. إليك بعض الخيارات الأكثر استخدامًا:
- -v (verbose): يوفر معلومات أكثر تفصيلاً حول كل جهاز، بما في ذلك معلومات حول البرامج الثابتة والقدرات.
- -vv (very verbose): يوفر أقصى قدر من المعلومات، بما في ذلك تفاصيل حول التسجيلات الداخلية للجهاز.
- -s [bus:device.function]: يحدد جهازًا واحدًا لعرض معلوماته. يمكنك استخدام هذا الخيار لعرض معلومات حول جهاز معين عن طريق تحديد عنوانه على ناقل PCI.
- -n: يعرض معرفات المورد والجهاز كأرقام سداسية عشرية بدلاً من الأسماء. هذا مفيد عند البحث عن الأجهزة في قواعد بيانات الأجهزة.
- -k: يعرض البرامج التشغيلية (drivers) المستخدمة للأجهزة.
- -x: يعرض معلومات إضافية في شكل سداسي عشري (hexadecimal) من سجلات التكوين الخاصة بالجهاز.
- -t: يعرض بنية شجرة PCI، والتي توضح العلاقة بين الأجهزة المختلفة.
- -m: يعرض الإخراج بتنسيق يمكن تحليله بواسطة البرامج الأخرى.
أمثلة على استخدام الخيارات:
- lspci -v : لعرض معلومات مفصلة عن جميع الأجهزة.
- lspci -s 01:00.0 -v : لعرض معلومات مفصلة عن الجهاز الموجود في الفتحة 01:00.0.
- lspci -n : لعرض معرفات المورد والجهاز كأرقام سداسية عشرية.
- lspci -k: لعرض البرامج التشغيلية المستخدمة للأجهزة.
استخدامات الأمر lspci
يستخدم الأمر lspci في مجموعة متنوعة من السيناريوهات، بما في ذلك:
- تشخيص الأجهزة: يمكن استخدامه لتحديد الأجهزة التي قد تواجه مشكلات، مثل عدم التعرف عليها بشكل صحيح أو عدم عملها.
- تثبيت البرامج التشغيلية: يمكن استخدامه لتحديد البرامج التشغيلية المطلوبة للأجهزة المختلفة.
- استكشاف الأخطاء وإصلاحها: يمكن استخدامه لتحديد سبب المشكلات المتعلقة بالأجهزة، مثل تعارضات المقاطعة أو مشاكل الطاقة.
- تحديد الأجهزة: يمكن استخدامه لتحديد نوع الأجهزة المثبتة في النظام، مثل بطاقات الرسومات وبطاقات الصوت وبطاقات الشبكة.
- تكوين النظام: يمكن استخدامه للحصول على معلومات حول تكوين الأجهزة في النظام، مثل عناوين الذاكرة ومقاطعات IRQ.
- أتمتة المهام: يمكن استخدامه في البرامج النصية والأدوات الآلية لأتمتة مهام إدارة الأجهزة.
أمثلة على سيناريوهات الاستخدام
دعنا نستعرض بعض الأمثلة العملية لاستخدام الأمر lspci:
- تحديد بطاقة الرسومات: إذا كنت ترغب في معرفة نوع بطاقة الرسومات المثبتة في جهازك، يمكنك ببساطة تشغيل الأمر lspci. سيعرض الإخراج اسم بطاقة الرسومات (مثل “NVIDIA GeForce GTX 1080”)، بالإضافة إلى معلومات أخرى مثل معرّف المورد ومعرّف الجهاز.
- التحقق من حالة بطاقة الشبكة: إذا كنت تواجه مشكلات في الشبكة، يمكنك استخدام lspci للتحقق من أن بطاقة الشبكة معترف بها بشكل صحيح. سيعرض الإخراج اسم بطاقة الشبكة، بالإضافة إلى معلومات حول البرامج التشغيلية المستخدمة.
- استكشاف أخطاء الصوت: إذا كنت تواجه مشكلات في الصوت، يمكنك استخدام lspci لتحديد بطاقة الصوت، والتحقق من البرامج التشغيلية الخاصة بها، والبحث عن أي أخطاء في التكوين.
- البحث عن تعارضات الأجهزة: يمكن استخدام lspci -v لعرض معلومات تفصيلية حول الأجهزة، بما في ذلك معلومات حول المقاطعات (IRQ). يمكن أن يساعدك هذا في تحديد تعارضات الأجهزة التي قد تسبب مشكلات في النظام.
- تحديد الأجهزة غير المعروفة: إذا كنت ترى جهازًا غير معروف في إخراج lspci، يمكنك استخدام معرف المورد ومعرف الجهاز للبحث عن الجهاز على الإنترنت وتحديد وظيفته.
أدوات مساعدة أخرى
بالإضافة إلى lspci، هناك أدوات أخرى يمكن استخدامها للحصول على معلومات حول الأجهزة في نظام لينكس:
- lsusb: يعرض معلومات حول أجهزة USB المتصلة بالنظام.
- lshw: أداة أكثر شمولاً تعرض معلومات تفصيلية حول الأجهزة، بما في ذلك الأجهزة غير PCI.
- dmidecode: يعرض معلومات حول الأجهزة من قاعدة بيانات DMI (Desktop Management Interface).
أخطاء شائعة ومشاكل
على الرغم من أن lspci أداة قوية، إلا أن هناك بعض المشاكل والأخطاء الشائعة التي قد تواجهها:
- عدم وجود الأجهزة: في بعض الحالات، قد لا يعرض lspci جميع الأجهزة المتصلة بنظامك. يمكن أن يكون هذا بسبب مشكلات في البرنامج التشغيلي، أو مشاكل في الأجهزة، أو مشكلات في إعدادات BIOS.
- معلومات غير دقيقة: في بعض الحالات، قد يعرض lspci معلومات غير دقيقة حول الأجهزة. يمكن أن يكون هذا بسبب مشكلات في البرامج التشغيلية أو مشكلات في البرامج الثابتة للأجهزة.
- صعوبة التفسير: يمكن أن يكون إخراج lspci طويلاً ومعقدًا، وقد يكون من الصعب على المستخدمين الجدد فهمه.
- الحاجة إلى امتيازات الجذر: في معظم الحالات، يتطلب تشغيل lspci امتيازات الجذر (باستخدام sudo أو su).
نصائح لتحسين تجربة lspci
لتحسين تجربة استخدام lspci، إليك بعض النصائح:
- استخدم الخيارات الإضافية: استخدم الخيارات الإضافية (مثل -v، -vv، -s، -n) لتخصيص الإخراج والحصول على المعلومات التي تحتاجها.
- استخدم أدوات المساعدة: استخدم أدوات المساعدة الأخرى (مثل lsusb، lshw، dmidecode) للحصول على معلومات إضافية حول الأجهزة.
- ابحث عبر الإنترنت: إذا كنت تواجه مشكلة في فهم إخراج lspci، فابحث عن المعلومات عبر الإنترنت. هناك العديد من الموارد المتاحة التي تشرح كيفية استخدام lspci وتفسير إخراجه.
- تحقق من البرامج التشغيلية: تأكد من أن البرامج التشغيلية للأجهزة محدثة.
- استخدم sudo أو su: استخدم sudo أو su لتشغيل lspci بامتيازات الجذر إذا لزم الأمر.
خاتمة
يعد الأمر lspci أداة أساسية في بيئة لينكس لإدارة الأجهزة واستكشاف الأخطاء وإصلاحها. يوفر معلومات مفصلة حول أجهزة PCI المثبتة، مما يجعله أداة قيمة لتشخيص المشكلات، وتحديد الأجهزة، وتكوين النظام. من خلال فهم الخيارات المتاحة وكيفية تفسير الإخراج، يمكن للمستخدمين الاستفادة الكاملة من هذه الأداة القوية. سواء كنت مسؤول نظام متمرسًا أو مستخدمًا عاديًا، يمكن أن يساعدك lspci في فهم أجهزة جهاز الكمبيوتر الخاص بك بشكل أفضل.