पीसीआई-ई लिंक-चौड़ाई वार्ता कहाँ होती है?


8

मैं अपने सिस्टम में एक कमजोर पीसीआई-ई कार्ड का निदान करने की कोशिश कर रहा हूं, और मैंने महसूस किया है कि यह गलत लिंक-चौड़ाई पर बातचीत कर रहा है। विशेष रूप से, दौड़ने से lspci -vv, मैं देखता हूं:

LnkCap: Port #1, Speed 8GT/s, Width x8, ASPM L1, Exit Latency L0s <4us, L1 <4us
        ClockPM- Surprise- LLActRep- BwNot-

जबकि

LnkSta: Speed 8GT/s, Width x4, TrErr- Train- SlotClk- DLActive- BWMgmt- ABWMgmt-

मेरा प्रश्न है: क्या यह बातचीत हार्डवेयर स्तर पर या सॉफ्टवेयर स्तर पर होती है? एक और तरीका रखो, क्या कार्ड पीसीआई-ई स्लॉट के साथ सीधे बातचीत करता है, या ड्राइवरों में कहीं ऐसा होता है?

(यदि यह एक स्पष्ट जवाब हो जाता है, तो कृपया मुझे माफ कर दें ... एक सप्ताह के लिए यह निदान करने की कोशिश करने के बाद, मेरा मन थोड़ा सा तला हुआ है।)

जवाबों:


17

यह इलेक्ट्रिकल स्तर पर किया जाता है, सॉफ्टवेयर द्वारा नहीं। आपके द्वारा ऊपर सूचीबद्ध दो रजिस्टर, 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 एक्सटेंडेड कॉन्फिग स्पेस को डंप करेगा। यदि आप अपना पूरा कॉन्‍फ़िगरेशन स्‍पेस यहां / पास्टबिन में डंप कर देते हैं, तो मैं आपके लिए संभवत: इसके जरिए खुदाई कर सकता हूं, लेकिन लिनक्स डिकोडिंग का एक अच्छा काम करता है।


2
मुझे यकीन नहीं है कि इस उत्तर के बारे में और अधिक रोमांचक है - कि यह बहुत ही विस्तृत रूप से विस्तृत है (गंभीरता से, यह सुंदर है, और मुझे नई चीजें सीखना बहुत पसंद है), या इससे मुझे लगभग 5 मिनट में समस्या को हल करने में मदद मिली। मैंने अपने बोर्ड पर कॉन्फ़िगरेशन को संशोधित करने के लिए समाप्त कर दिया - यह एक देव बोर्ड है और ऐसा लगता है कि यह किसी बिंदु पर रीसेट हो गया।
टनसडग
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.