यह इलेक्ट्रिकल स्तर पर किया जाता है, सॉफ्टवेयर द्वारा नहीं। आपके द्वारा ऊपर सूचीबद्ध दो रजिस्टर, LNK_CAP और LNK_STA हैं, जिन्हें आपने 'यहाँ लिंक जो कि सक्षम है' और 'यहाँ वर्तमान स्थिति' के रूप में नोट किया है। SLT_CAP और SLT_STA भी है, जो देखने लायक हो सकता है क्योंकि यह मशीन में दिए गए 'स्लॉट' के लिए विशिष्ट है।
PCIe कल्पना एक LTSSM - लिंक प्रशिक्षण और स्थिति राज्य मशीन को परिभाषित करता है । PHY / डिवाइस स्तर पर, यह वह है जो दोनों उपकरणों के समर्थन की अधिकतम गति निर्धारित करता है, अधिकतम लिंक चौड़ाई दोनों उपकरणों का समर्थन करता है, और यह वह जगह भी है जहां ध्रुवीयता उत्क्रमण / लेन रिवर्सल को संभाला जाता है (हमारे लिए लेआउट को आसान बनाने के लिए, कल्पना P / एन स्वैप किया जाना है, आदि)।
डिवाइस एक दूसरे को प्रतीकों के ज्ञात, आदेशित सेट भेजते हैं और हार्डवेयर 2.5GT / s से अपने तरीके से काम करता है। गति परिवर्तन आदेश हैं जो एक दूसरे को भेजे जा सकते हैं, और यहां वह जगह है जहां चैनल समीकरण सेटिंग्स भी परिभाषित हैं।
यदि आप गलत गति से लिंक कर रहे हैं, तो यह संभव हो सकता है कि PCIe रूट पोर्ट गलत तरीके से कॉन्फ़िगर किया गया है, या यह कि कम लिंक चौड़ाई के लिए एक संकेत अखंडता समस्या है। मेरे अनुभव में, यदि आप 8 जीटी / एस के बजाय 5 जीटी / एस से लिंक कर रहे थे, तो यह एसआई समस्या से अधिक है - एक्स 8 8 जीटी / एस के बजाय x4 8 जीटी / एस पर लिंक करना कॉन्फ़िगरेशन मुद्दे की तरह लगता है, या शायद एक ऐसे स्लॉट में कार्ड जोड़ना जो x8 चौड़ाई का समर्थन नहीं करता है।
मूल जटिल क्षमताएं रजिस्टर (ऑफसेट 04h) अधिकतम समर्थित चौड़ाई को प्रकट करेंगी, जो आपके निदान के साथ मदद कर सकती हैं। IIRC, -x कॉन्फिग स्पेस के पहले 4K को डंप करेगा, -xx या -xxx PCIe एक्सटेंडेड कॉन्फिग स्पेस को डंप करेगा। यदि आप अपना पूरा कॉन्फ़िगरेशन स्पेस यहां / पास्टबिन में डंप कर देते हैं, तो मैं आपके लिए संभवत: इसके जरिए खुदाई कर सकता हूं, लेकिन लिनक्स डिकोडिंग का एक अच्छा काम करता है।