PCI Gen 1デバイスは、カーネルバージョン4.10.9以降の最新のマザーボードでは機能しません。

PCI Gen 1デバイスは、カーネルバージョン4.10.9以降の最新のマザーボードでは機能しません。

残念ながら、4.10.9より高いカーネルバージョンを使用すると、LSI MegaRAID SAS 8708EM2 Raidコントローラは新しいサーバーで認識されなくなります。したがって、バージョン4.10.9ではマイディスクが表示されましたが、4.11にアップデートした後はカードを検出できlspciませんlsblk。だから最初はBIOSの設定で問題を解決できると思いましたが、残念ながら何も見つからず、既存のカーネルはうまく機能していたので、ソフトウェアの修正が必要になりそうです。私はこの問題が特にカードではなく、PCI Gen 1と最新のマザーボードとの互換性に関連していると確信しています。これは、カードが古いカーネルの最新ドライバとまだうまく動作するためです。

以下は、新しいシステムに関するいくつかのシステム情報ですinxi -Fxz

System:    Kernel: 4.14.295 x86_64 bits: 64 compiler: gcc v: 10.2.1 Console: tty 0 Distro: Debian GNU/Linux 11 (bullseye)
Machine:   Type: Desktop Mobo: Micro-Star model: X470 GAMING PLUS MAX (MS-7B79) v: 3.0 serial: <filter>
           UEFI: American Megatrends LLC. v: H.D2 date: 09/26/2021
CPU:       Info: 6-Core model: AMD Ryzen 5 5600X bits: 64 type: MT MCP arch: Zen 3 rev: 0 L2 cache: 3 MiB
           flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm bogomips: 88797
           Speed: 3600 MHz min/max: 2200/3700 MHz boost: enabled Core speeds (MHz): 1: 3600 2: 2878 3: 2869 4: 3593 5: 3594
           6: 2879 7: 2880 8: 3594 9: 3598 10: 2874 11: 3593 12: 2873
Graphics:  Device-1: NVIDIA GK208B [GeForce GT 730] vendor: ZOTAC driver: nouveau v: kernel bus ID: 27:00.0
           Display: server: No display server data found. Headless machine? tty: 270x69
           Message: Advanced graphics data unavailable in console for root.
Audio:     Device-1: NVIDIA GK208 HDMI/DP Audio vendor: ZOTAC driver: snd_hda_intel v: kernel bus ID: 27:00.1
           Device-2: Advanced Micro Devices [AMD] Starship/Matisse HD Audio vendor: Micro-Star MSI driver: snd_hda_intel
           v: kernel bus ID: 2a:00.4
           Sound Server: ALSA v: k4.14.295
Network:   Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet vendor: Micro-Star MSI driver: r8169 v: 2.3LK-NAPI
           port: d000 bus ID: 22:00.0
           IF: enp34s0 state: up speed: 1000 Mbps duplex: full mac: <filter>
           Device-2: Intel 82572EI Gigabit Ethernet driver: e1000e v: 3.2.6-k port: c000 bus ID: 25:00.0
           IF: enp37s0 state: down mac: <filter>
Drives:    Local Storage: total: 232.89 GiB used: 39.07 GiB (16.8%)
           ID-1: /dev/sda vendor: Crucial model: CT250MX500SSD4 size: 232.89 GiB temp: 33 C
Partition: ID-1: / size: 226.74 GiB used: 39.07 GiB (17.2%) fs: ext4 dev: /dev/sda2
           ID-2: /boot/efi size: 511 MiB used: 3.4 MiB (0.7%) fs: vfat dev: /dev/sda1
Swap:      ID-1: swap-1 type: partition size: 977 MiB used: 0 KiB (0.0%) dev: /dev/sda3
Sensors:   Message: No sensors data was found. Is sensors configured?
Info:      Processes: 174 Uptime: 10m Memory: 31.4 GiB used: 624.8 MiB (1.9%) Init: systemd runlevel: 5 Compilers: gcc: 10.2.1
           Packages: 519 Shell: Bash v: 5.1.4 inxi: 3.3.01

dmesg最新のカーネルがインストールされている既存のマザーボード(動作): https://www.pastery.net/uftfdg/

dmesg新しいボードで古いボードと同じLinuxイメージを使用します(動作しません)。 https://www.pastery.net/dwumbf/

最初に目立つのはリーディングラインの違いでした。これは正しいアプローチになりますか?

dmesgカーネル4.9.330(動作中):

[    1.099063] pci 0000:00:03.2: scanning [bus 28-28] behind bridge, pass 0
[    1.099099] pci_bus 0000:28: scanning bus
[    1.099112] pci 0000:28:00.0: [1000:0060] type 00 class 0x010400
[    1.099136] pci 0000:28:00.0: reg 0x10: [mem 0xfc940000-0xfc97ffff 64bit]
[    1.099147] pci 0000:28:00.0: reg 0x18: [io  0xe000-0xe0ff]
[    1.099164] pci 0000:28:00.0: reg 0x1c: [mem 0xfc900000-0xfc93ffff 64bit]
[    1.099185] pci 0000:28:00.0: reg 0x30: [mem 0xfc980000-0xfc99ffff pref]
[    1.099251] pci 0000:28:00.0: supports D1
[    1.111045] pci_bus 0000:28: fixups for bus
[    1.111045] pci 0000:00:03.2: PCI bridge to [bus 28]
[    1.111049] pci 0000:00:03.2:   bridge window [io  0xe000-0xefff]
[    1.111051] pci 0000:00:03.2:   bridge window [mem 0xfc900000-0xfc9fffff]
[    1.111055] pci_bus 0000:28: bus scan returning with max=28
[    1.111058] pci 0000:00:07.1: scanning [bus 29-29] behind bridge, pass 0

lspci -vカーネル4.9.330から:

28:00.0 RAID bus controller: Broadcom / LSI MegaRAID SAS 1078 (rev 04)
    Subsystem: Broadcom / LSI MegaRAID SAS 1078
    Flags: bus master, fast devsel, latency 0, IRQ 234, IOMMU group 16
    Memory at fc940000 (64-bit, non-prefetchable) [size=256K]
    I/O ports at e000 [size=256]
    Memory at fc900000 (64-bit, non-prefetchable) [size=256K]
    Expansion ROM at fc980000 [disabled] [size=128K]
    Capabilities: [b0] Express Endpoint, MSI 00
    Capabilities: [c4] MSI: Enable- Count=1/4 Maskable- 64bit+
    Capabilities: [d4] MSI-X: Enable+ Count=4 Masked-
    Capabilities: [e0] Power Management version 2
    Capabilities: [ec] Vital Product Data
    Capabilities: [100] Power Budgeting <?>
    Kernel driver in use: megaraid_sas
    Kernel modules: megaraid_sas

dmesgカーネル 4.14.295 (動作しない):

[    0.312039] pci 0000:00:03.2: scanning [bus 28-28] behind bridge, pass 0
[    0.512001] pci_bus 0000:28: scanning bus
[    0.712001] pci_bus 0000:28: fixups for bus
[    0.712001] pci 0000:00:03.2: PCI bridge to [bus 28]
[    0.712005] pci 0000:00:03.2:   bridge window [io  0xe000-0xefff]
[    0.712007] pci 0000:00:03.2:   bridge window [mem 0xfc900000-0xfc9fffff]
[    0.712011] pci_bus 0000:28: bus scan returning with max=28
[    0.712013] pci 0000:00:07.1: scanning [bus 29-29] behind bridge, pass 0

コメント(lspci -s 28:00.0およびlspci -n -s 28:0.0)はカーネル4.14.295で何も返しません。

残念ながら、私はカーネルコンパイルの世界に慣れていません(私はこのチュートリアルを使用しました)https://askubuntu.com/a/513243)より良いデバッグのためにどのような修正をすべきか正確にはわかりません。私はカーネルパッチを個別に適用し、カードが認識されなくなるまでカーネルにパッチを適用すると問題が制限される可能性があると思いましたが、残念ながらこのアプローチはすぐに愚かであることがわかりました。

変更ログでも変更を見つけました。https://mirrors.edge.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.10.9そしてhttps://mirrors.edge.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.11.1しかし、残念ながら、そこには何も見つかりませんでした。

問題をデバッグまたは解決するのに役立つ可能性があるすべてのアイデアに心から感謝します。

ベストアンサー1

おすすめ記事