Open sergiud opened 3 years ago
Have you tried forcing the pcie slot to gen1 mode in bios?
and jeez, wow, I don't think I've ever seen a board so affected after noticing your dmesg log just now.
Thanks for looking into the issue. While this is already some time ago, as tried to find a workaround, I believe the BIOS does not provide an option to force the mode.
In the meantime, I've updated to Debian Bullseye currently running
Linux pony 5.14.0-0.bpo.2-amd64 #1 SMP Debian 5.14.9-2~bpo11+1 (2021-10-10) x86_64 GNU/Linux
and still see the issue.
Have install the latest bios to 7B84vAE ? I really wish MSI had post the bios manual option in pdf
Not yet. I just saw that the version was released only last week. Does it provide this option now?
Hi, I have the same problem. It seems to happen with a particular DVB-T Mux for some reason..
[ 430.219418] si2168 8-0066: downloading firmware from file 'dvb-demod-si2168-b40-01.fw'
[ 430.226132] audit: type=1130 audit(1643551436.900:416): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=systemd-networkd-wait-online comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[ 430.832245] si2168 8-0066: firmware version: B 4.0.11
[ 430.839182] si2157 9-0062: found a 'Silicon Labs Si2157-A30'
[ 430.861453] si2157 9-0062: firmware version: 3.0.5
[ 430.864500] cx23885 0000:46:00.0: DVB: adapter 3 frontend 0 frequency 0 out of range (48000000..870000000)
[ 430.872786] si2168 8-0064: downloading firmware from file 'dvb-demod-si2168-b40-01.fw'
[ 430.879760] si2157 9-0062: found a 'Silicon Labs Si2157-A30'
[ 430.902011] si2157 9-0062: firmware version: 3.0.5
[ 431.483195] si2168 8-0064: firmware version: B 4.0.11
[ 431.490140] si2157 9-0060: found a 'Silicon Labs Si2157-A30'
[ 431.512226] si2157 9-0060: firmware version: 3.0.5
[ 431.515323] cx23885 0000:46:00.0: DVB: adapter 2 frontend 0 frequency 0 out of range (48000000..870000000)
[ 431.521259] si2168 3-0066: downloading firmware from file 'dvb-demod-si2168-b40-01.fw'
[ 431.526755] si2157 9-0060: found a 'Silicon Labs Si2157-A30'
[ 431.549119] si2157 9-0060: firmware version: 3.0.5
[ 432.131927] si2168 3-0066: firmware version: B 4.0.11
[ 432.138854] si2157 4-0062: found a 'Silicon Labs Si2157-A30'
[ 432.160909] si2157 4-0062: firmware version: 3.0.5
[ 432.163940] cx23885 0000:45:00.0: DVB: adapter 1 frontend 0 frequency 0 out of range (48000000..870000000)
[ 432.172200] si2168 3-0064: downloading firmware from file 'dvb-demod-si2168-b40-01.fw'
[ 432.179257] si2157 4-0062: found a 'Silicon Labs Si2157-A30'
[ 432.201460] si2157 4-0062: firmware version: 3.0.5
[ 432.782428] si2168 3-0064: firmware version: B 4.0.11
[ 432.789379] si2157 4-0060: found a 'Silicon Labs Si2157-A30'
[ 432.811913] si2157 4-0060: firmware version: 3.0.5
[ 432.814970] cx23885 0000:45:00.0: DVB: adapter 0 frontend 0 frequency 0 out of range (48000000..870000000)
[ 432.826249] si2157 4-0060: found a 'Silicon Labs Si2157-A30'
[ 432.848677] si2157 4-0060: firmware version: 3.0.5
[ 433.003962] audit: type=1334 audit(1643551439.680:417): prog-id=35 op=LOAD
[ 435.093240] new mount options do not match the existing superblock, will be ignored
[ 450.618067] cx23885: cx23885[0]: mpeg risc op code error
[ 450.618071] cx23885: cx23885[0]: TS2 C - dma channel status dump
[ 450.618074] cx23885: cx23885[0]: cmds: init risc lo : 0x76b14000
[ 450.618077] cx23885: cx23885[0]: cmds: init risc hi : 0x00000000
[ 450.618079] cx23885: cx23885[0]: cmds: cdt base : 0x000108d0
[ 450.618082] cx23885: cx23885[0]: cmds: cdt size : 0x0000000a
[ 450.618084] cx23885: cx23885[0]: cmds: iq base : 0x00010670
[ 450.618086] cx23885: cx23885[0]: cmds: iq size : 0x00000010
[ 450.618089] cx23885: cx23885[0]: cmds: risc pc lo : 0x76b14018
[ 450.618091] cx23885: cx23885[0]: cmds: risc pc hi : 0x00000000
[ 450.618093] cx23885: cx23885[0]: cmds: iq wr ptr : 0x000041a2
[ 450.618095] cx23885: cx23885[0]: cmds: iq rd ptr : 0x0000419c
[ 450.618098] cx23885: cx23885[0]: cmds: cdt current : 0x000108e8
[ 450.618100] cx23885: cx23885[0]: cmds: pci target lo : 0x76db5d60
[ 450.618102] cx23885: cx23885[0]: cmds: pci target hi : 0x00000000
[ 450.618104] cx23885: cx23885[0]: cmds: line / byte : 0x000a0000
[ 450.618107] cx23885: cx23885[0]: risc0:
[ 450.618108] 0x1c0002f0 [ write sol eol count=752 ]
[ 450.618113] cx23885: cx23885[0]: risc1:
[ 450.618113] 0x76db5a70 [ jump eol irq2 23 22 20 19 cnt1 cnt0 14 12 count=2672 ]
[ 450.618120] cx23885: cx23885[0]: risc2:
[ 450.618121] 0x00000000 [ INVALID count=0 ]
[ 450.618124] cx23885: cx23885[0]: risc3:
[ 450.618124] 0x1c0002f0 [ write sol eol count=752 ]
[ 450.618128] cx23885: cx23885[0]: (0x00010670) iq 0:
[ 450.618129] 0x1c0002f0 [ write sol eol count=752 ]
[ 450.618132] cx23885: cx23885[0]: iq 1: 0x76db6050 [ arg #1 ]
[ 450.618135] cx23885: cx23885[0]: iq 2: 0x00000000 [ arg #2 ]
[ 450.618137] cx23885: cx23885[0]: (0x0001067c) iq 3:
[ 450.618138] 0x1c0002f0 [ write sol eol count=752 ]
[ 450.618141] cx23885: cx23885[0]: iq 4: 0x76db6340 [ arg #1 ]
[ 450.618143] cx23885: cx23885[0]: iq 5: 0x00000000 [ arg #2 ]
[ 450.618146] cx23885: cx23885[0]: (0x00010688) iq 6:
[ 450.618146] 0x1c0002f0 [ write sol eol count=752 ]
[ 450.618150] cx23885: cx23885[0]: iq 7: 0x76db5490 [ arg #1 ]
[ 450.618152] cx23885: cx23885[0]: iq 8: 0x00000000 [ arg #2 ]
[ 450.618154] cx23885: cx23885[0]: (0x00010694) iq 9:
[ 450.618155] 0x1c0002f0 [ write sol eol count=752 ]
[ 450.618159] cx23885: cx23885[0]: iq a: 0x76db5780 [ arg #1 ]
[ 450.618161] cx23885: cx23885[0]: iq b: 0x00000000 [ arg #2 ]
[ 450.618163] cx23885: cx23885[0]: (0x000106a0) iq c:
[ 450.618164] 0x1c0002f0 [ write sol eol count=752 ]
[ 450.618167] cx23885: cx23885[0]: iq d: 0x76db5a70 [ arg #1 ]
[ 450.618170] cx23885: cx23885[0]: iq e: 0x00000000 [ arg #2 ]
[ 450.618172] cx23885: cx23885[0]: (0x000106ac) iq f:
[ 450.618172] 0x1c0002f0 [ write sol eol count=752 ]
[ 450.618176] cx23885: cx23885[0]: iq 10: 0x896882ed [ arg #1 ]
[ 450.618178] cx23885: cx23885[0]: iq 11: 0x92de6cd9 [ arg #2 ]
[ 450.618179] cx23885: cx23885[0]: fifo: 0x00006000 -> 0x7000
[ 450.618180] cx23885: cx23885[0]: ctrl: 0x00010670 -> 0x106d0
[ 450.618182] cx23885: cx23885[0]: ptr1_reg: 0x00006670
[ 450.618184] cx23885: cx23885[0]: ptr2_reg: 0x000108f8
[ 450.618186] cx23885: cx23885[0]: cnt1_reg: 0x00000009
[ 450.618189] cx23885: cx23885[0]: cnt2_reg: 0x00000005
[ 450.623250] cx23885: cx23885[1]: mpeg risc op code error
[ 450.623254] cx23885: cx23885[1]: TS2 C - dma channel status dump
[ 450.623257] cx23885: cx23885[1]: cmds: init risc lo : 0x76b53000
[ 450.623272] cx23885: cx23885[1]: cmds: init risc hi : 0x00000000
[ 450.623274] cx23885: cx23885[1]: cmds: cdt base : 0x000108d0
[ 450.623277] cx23885: cx23885[1]: cmds: cdt size : 0x0000000a
[ 450.623279] cx23885: cx23885[1]: cmds: iq base : 0x00010670
[ 450.623281] cx23885: cx23885[1]: cmds: iq size : 0x00000010
[ 450.623284] cx23885: cx23885[1]: cmds: risc pc lo : 0x76b5300c
[ 450.623286] cx23885: cx23885[1]: cmds: risc pc hi : 0x00000000
[ 450.623289] cx23885: cx23885[1]: cmds: iq wr ptr : 0x0000419d
[ 450.623291] cx23885: cx23885[1]: cmds: iq rd ptr : 0x0000419c
[ 450.623293] cx23885: cx23885[1]: cmds: cdt current : 0x000108e8
[ 450.623296] cx23885: cx23885[1]: cmds: pci target lo : 0x76b55a70
[ 450.623298] cx23885: cx23885[1]: cmds: pci target hi : 0x00000000
[ 450.623301] cx23885: cx23885[1]: cmds: line / byte : 0x00090000
[ 450.623303] cx23885: cx23885[1]: risc0:
[ 450.623304] 0x1c0002f0 [ write sol eol count=752 ]
[ 450.623309] cx23885: cx23885[1]: risc1:
[ 450.623309] 0x76b55780 [ jump eol irq2 23 21 20 18 cnt0 14 12 count=1920 ]
[ 450.623317] cx23885: cx23885[1]: risc2:
[ 450.623317] 0x00000000 [ INVALID count=0 ]
[ 450.623320] cx23885: cx23885[1]: risc3:
[ 450.623321] 0x1c0002f0 [ write sol eol count=752 ]
[ 450.623325] cx23885: cx23885[1]: (0x00010670) iq 0:
[ 450.623326] 0x70000000 [ jump count=0 ]
[ 450.623329] cx23885: cx23885[1]: iq 1: 0x76b54eb0 [ arg #1 ]
[ 450.623332] cx23885: cx23885[1]: iq 2: 0x00000000 [ arg #2 ]
[ 450.623334] cx23885: cx23885[1]: (0x0001067c) iq 3:
[ 450.623335] 0x1c0002f0 [ write sol eol count=752 ]
[ 450.623339] cx23885: cx23885[1]: iq 4: 0x76b551a0 [ arg #1 ]
[ 450.623341] cx23885: cx23885[1]: iq 5: 0x00000000 [ arg #2 ]
[ 450.623344] cx23885: cx23885[1]: (0x00010688) iq 6:
[ 450.623345] 0x1c0002f0 [ write sol eol count=752 ]
[ 450.623349] cx23885: cx23885[1]: iq 7: 0x76b55490 [ arg #1 ]
[ 450.623351] cx23885: cx23885[1]: iq 8: 0x00000000 [ arg #2 ]
[ 450.623353] cx23885: cx23885[1]: (0x00010694) iq 9:
[ 450.623354] 0x1c0002f0 [ write sol eol count=752 ]
[ 450.623358] cx23885: cx23885[1]: iq a: 0x76b55780 [ arg #1 ]
[ 450.623360] cx23885: cx23885[1]: iq b: 0x00000000 [ arg #2 ]
[ 450.623363] cx23885: cx23885[1]: (0x000106a0) iq c:
[ 450.623363] 0x1c0002f0 [ write sol eol count=752 ]
[ 450.623367] cx23885: cx23885[1]: iq d: 0x76b55a70 [ arg #1 ]
[ 450.623370] cx23885: cx23885[1]: iq e: 0x00000000 [ arg #2 ]
[ 450.623372] cx23885: cx23885[1]: (0x000106ac) iq f:
[ 450.623373] 0x00000000 [ INVALID count=0 ]
[ 450.623374] cx23885: cx23885[1]: fifo: 0x00006000 -> 0x7000
[ 450.623375] cx23885: cx23885[1]: ctrl: 0x00010670 -> 0x106d0
[ 450.623378] cx23885: cx23885[1]: ptr1_reg: 0x00006670
[ 450.623380] cx23885: cx23885[1]: ptr2_reg: 0x000108f8
[ 450.623382] cx23885: cx23885[1]: cnt1_reg: 0x00000009
[ 450.623385] cx23885: cx23885[1]: cnt2_reg: 0x00000005
I am on Arch Linux: Linux nas 5.10.74-1-lts #1 SMP Sun, 17 Oct 2021 12:15:59 +0000 x86_64 GNU/Linux
The hardware is a Dell R720xd server with 2x Intel Xeon E5-2650 v2 CPUs.
There is no option in the BIOS to force the port to gen1 but I have done so with a Linux script. I am also using the dma_reset_workaround=2 driver option but the problem persists.
Meanwhile, I've updated to the latest BIOS. There's an option for forcing the chipset gen but not for a particular PCIe slot. The option was presumably present prior to the update but I've avoided it since it would have affected the performance of the whole system.
After some of the BIOS updates, I could observe another dmesg
entry close to dma in progress
logs appearing once or twice after the boot:
[108860.487289] cx23885 0000:28:00.0: dma in progress detected 0x00000001 0x00000001, clearing
[109175.071109] perf: interrupt took too long (2502 > 2500), lowering kernel.perf_event_max_sample_rate to 79750
Could this be an important cue?
@sotiris-bos Can you help @sergiud by providing the script you're using to force the pcie slot to gen1 mode?
@sotiris-bos Can you help @sergiud by providing the script you're using to force the pcie slot to gen1 mode?
Yep, sorry for the late reply, here is the link to the script: https://www.alexforencich.com/wiki/en/pcie/set-speed
Usage example: ./pcie_set_speed.sh 45:00.0 1
45:00.0 = device
1 = pcie link speed
Edit: Sorry this is speed. I will update with the correct script
Edit: Well, it seems I was wrong. I can only find a script to set the port to pcie gen 2: https://www.alexforencich.com/wiki/en/pcie/force-gen2
My BIOS seems like it is setting the port to gen 1 automatically.
I'm using a QuadHD in a Debian Buster system running on an AMD Ryzen 3200G and MSI B450M PRO-M2 MAX mainboard.
I use tvheadend to manage the DVB card.
Unfortunately, the card stops randomly receiving data while recording and the only way to stop the stall is to change the channel. However, this is not a viable solution since the recording remains incomplete.
I run the cx23885 module with the
dma_reset_workaround=2
parameter because it is otherwise not possible to scan the channels. When a stall occurs I can see in the dmesg output that anmpeg risc op code error
is triggered:I already updated the mainboard BIOS to the latest version, tried running the kernel with
iommu=soft
,pci=noats
, both parameters combined, enabling and disabling virtualization (SVM) to no avail.Any suggestions?