سؤال

قبل بضعة أشهر، اضطررت إلى كتابة أداة صغيرة لبرمجة EEPROM لبطاقة RTL8139. انها أساسا RTL8139-DIG. أداة تجريدت لقراءة / كتابة EEPROM.

يجب أن تكون هذه الأداة تمتد لتتمكن من برنامج EEPROM لبطاقات RTL8101 الآن. لم تكن هذه مشكلة، حيث تشبه الواجهة إلى EEPROM واحدة من RTL8139. في الواقع، الفرق الوحيد هو محتويات ملف EEPROM.

ما أريد تنفيذه هو الكشف التلقائي الذي يتحقق، إذا كانت البطاقة في عنوان المنفذ المحدد هو RTL8139 أو RTL8101 واختيار Disting EEPROM-DUMP. لا يمكنني تحديد اختلاف هذه الرقائق عن طريق قراءة EEPROM لأن البطاقات المراد برمجة هي "عذراء" ومحتويات EEPROM هي أساسا 0xffff.

لقد لاحظت أن Linux دائما تحميل برنامج التشغيل المناسب لهذه البطاقات، بغض النظر عن محتويات EEPROM. لذلك أعتقد أن لدي فقط قراءة معرف رقاقة البطاقة.

كيف يمكنني فعل ذلك؟

هل كانت مفيدة؟

المحلول

أعتقد أنك قد تجد lspci أو lspci -vv سوف يساعدك. (قد تحتاج إلى أن تكون الجذر.)

وهذا هو، إذا تم تعيين معرف PCI في البطاقة، وعدم تحديده من EEPROM، يجب أن تكون قادرا على استخدام lspci للحصول على معرف PCI للبطاقة وتحديد البطاقة التي تعمل معها.

ال -n سيمنحك الخيار أرقام RAW، والتي ربما ستكون أكثر فائدة إذا كنت تقوم برسالة هذا.

بدلا من ذلك، يمكنك قراءة من / SYS / الأجهزة / PCI * / * / الجهاز والبائع للعثور على هذه القيم.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top