Mur Mur: 自從離開系統廠之後,加上現在待在設備商,工作專案比要少且節奏比較慢
,使用到各種Linux指令的頻率比較低,總覺得工作技能變弱了
,偶爾寫寫筆記紀錄一下
一般來說,機台/主板的SPEC,會去定義PCIE Slot支援的Gen Speed與Width
通常比較完善的SPEC還會去定義各個PCIE Card Slot的順序
在Linux底下,輸入指令lspci查詢PCIE插槽實體slot的編號順序
查詢目前系統底下有哪些PCIE控制器(NVMe SSD / Network Card / VGA / GPU / SATA / RAID...etc)
# lspci | grep controller:
查詢系統PCIE插槽順序編號
假設有一張卡,在bus {5a:00.0,5a:00.1},插在SPEC定義的第一個位置 (PS: Linux系統為0 base)
# lspci -s 5a:00 -v | grep "Physical Slot" -B 3
0000:16:00.0 Ethernet controller: xxxxxxxxxxxxxxxx
Subsystem: yyyyyyyyyy
Physical Slot: 0
# lspci -s 5a:00.0 -v | grep "Physical Slot" -B 5
0000:5a:00.0 Ethernet controller: xxxxxxxxxxxxxxxx
Subsystem: yyyyyyyyyy
Physical Slot: 0
# lspci -s 5a:00.1 -v | head -n 5
0000:5a:00.0 Ethernet controller: xxxxxxxxxxxxxxxx
Subsystem: yyyyyyyyyy
Physical Slot: 0
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr+ Stepping- SERR+ FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
查詢Gen Speed
# lspci -s 4a:00 -vvv | grep -i "width"
LnkCap: Port #0, Speed 16GT/s, Width x16, ASPM not supported
LnkSta: Speed 16GT/s (ok), Width x8 (downgraded)
LnkCap: Port #0, Speed 16GT/s, Width x16, ASPM not supported
LnkSta: Speed 16GT/s (ok), Width x8 (downgraded)
從downgraded以及LnkCap/LnkSta的Width去判斷,這個slot實際(或BIOS分配的設定)僅支援x8,但此卡支援x16
# lspci -s 16:00 -vvv | grep -i "width"
LnkCap: Port #0, Speed 16GT/s, Width x16, ASPM not supported
LnkSta: Speed 16GT/s (ok), Width x16 (ok)
LnkCap: Port #0, Speed 16GT/s, Width x16, ASPM not supported
LnkSta: Speed 16GT/s (ok), Width x16 (ok)