- Posts: 6
- Joined: Sat Apr 09, 2022 11:30 am
- Real Name: Richard Cooke
My Ubuntu 20.04LTS system worked fine for over a year using your capture card with OBS and OBS-NDI plugin.
Suddenly, ~3 weeks ago, the video feed stopped. When I run the "Blackmagic Desktop Video Setup" program it says "no card detected"!
I thought the PCI card was toast. But when I did a "lspci" it was listed.
I upgraded the OS to Ubuntu 22.04LTS, no change. (that took a few hours!)
Thinking the old drivers might not be compatible with 22.04, I updated the drivers to 12.4.1, no change.
For a sanity check, I booted from Ubuntu 22.04LTS on a USB stick. Installed the 12.4.1 drivers and it WORKED!
So, thinking something inside the OS was confused, I wiped the disk and did a fresh install of Ubuntu 22.04LTS.
After doing updates, I installed the 12.4.1 package. And got the SAME "No card" error I started with!!!!
Argh!
I erased my disk and installed Ubuntu 20.04LTS. Package 12.4.1 works fine. But, now I cant find a combination of OBS-Studio and OBS-NDI plugin that work!
I will have to go back to Ubuntu 22. But I need help on how/why the driver is not seeing the card?
Thanks in advance.
Richard.
UPDATE:
I UPGRADED my 20.04 install to 22.04 LTS and the 12.4.1 driver stayed working! I installed OBS 29 (latest) and NDI plugin (had to roll back a few versions to get one that worked and did not cause a crash in OBS).
Everything worked fine for a few days. Now, 5 days later I test the system to make sure its ready for Sunday Service. And NO VIDEO! Argh!
I can see the card is still present:
FIX:
As mentioned with adapting for the newest 6.x Kernel, it is now necessary to EDIT one of the SOURCE files with Ubuntu 22.04's 5.19.x kernel.
Background in this post: Linux Kernel 6.1 & Desktop Video 12.4.1
Steps to fix and install:
Now if only I could understand why it WAS working for almost a week before it STOPPED and I had to make this edit to fix it?
Suddenly, ~3 weeks ago, the video feed stopped. When I run the "Blackmagic Desktop Video Setup" program it says "no card detected"!
I thought the PCI card was toast. But when I did a "lspci" it was listed.
I upgraded the OS to Ubuntu 22.04LTS, no change. (that took a few hours!)
Thinking the old drivers might not be compatible with 22.04, I updated the drivers to 12.4.1, no change.
For a sanity check, I booted from Ubuntu 22.04LTS on a USB stick. Installed the 12.4.1 drivers and it WORKED!
So, thinking something inside the OS was confused, I wiped the disk and did a fresh install of Ubuntu 22.04LTS.
After doing updates, I installed the 12.4.1 package. And got the SAME "No card" error I started with!!!!
Argh!
I erased my disk and installed Ubuntu 20.04LTS. Package 12.4.1 works fine. But, now I cant find a combination of OBS-Studio and OBS-NDI plugin that work!
I will have to go back to Ubuntu 22. But I need help on how/why the driver is not seeing the card?
Thanks in advance.
Richard.
UPDATE:
I UPGRADED my 20.04 install to 22.04 LTS and the 12.4.1 driver stayed working! I installed OBS 29 (latest) and NDI plugin (had to roll back a few versions to get one that worked and did not cause a crash in OBS).
Everything worked fine for a few days. Now, 5 days later I test the system to make sure its ready for Sunday Service. And NO VIDEO! Argh!
I can see the card is still present:
- Code: Select all
root@cameraControl:/etc# lspci
00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Host Bridge/DRAM Registers (rev 07)
00:02.0 VGA compatible controller: Intel Corporation HD Graphics 530 (rev 06)
00:14.0 USB controller: Intel Corporation 200 Series/Z370 Chipset Family USB 3.0 xHCI Controller
00:14.2 Signal processing controller: Intel Corporation 200 Series PCH Thermal Subsystem
00:16.0 Communication controller: Intel Corporation 200 Series PCH CSME HECI #1
00:17.0 SATA controller: Intel Corporation 200 Series PCH SATA controller [AHCI mode]
00:1c.0 PCI bridge: Intel Corporation 200 Series PCH PCI Express Root Port #5 (rev f0)
00:1c.6 PCI bridge: Intel Corporation 200 Series PCH PCI Express Root Port #7 (rev f0)
00:1c.7 PCI bridge: Intel Corporation 200 Series PCH PCI Express Root Port #8 (rev f0)
00:1f.0 ISA bridge: Intel Corporation 200 Series PCH LPC Controller (B250)
00:1f.2 Memory controller: Intel Corporation 200 Series/Z370 Chipset Family Power Management Controller
00:1f.3 Audio device: Intel Corporation 200 Series PCH HD Audio
00:1f.4 SMBus: Intel Corporation 200 Series/Z370 Chipset Family SMBus Controller
01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 0c)
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 15)
03:00.0 Multimedia video controller: Blackmagic Design DeckLink Mini Recorder
FIX:
As mentioned with adapting for the newest 6.x Kernel, it is now necessary to EDIT one of the SOURCE files with Ubuntu 22.04's 5.19.x kernel.
Background in this post: Linux Kernel 6.1 & Desktop Video 12.4.1
Steps to fix and install:
- Download and install 12.4.1 Linux driver
- Open terminal
- Change to folder /var/lib/dkms/blackmagic-io/12.4.1a15/source
- edit bmio_audio.c:
- Code: Select all
sudo nano /var/lib/dkms/blackmagic-io/12.4.1a15/source/bmio_audio.c
- Jump to start of edit point: Ctrl-/, then enter 433
- This should land you on the definition of function snd_pcm_lib_preallocate_pages_for_all
- If not, STOP something has changed! These instruction will not work without adaptation.
- Remove the old function definition (5 lines): CTRL-K deletes ONE line at a time
- Insert these lines:
- Code: Select all
#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 19, 0))
snd_pcm_lib_preallocate_pages_for_all(pcm,
SNDRV_DMA_TYPE_CONTINUOUS,
snd_dma_continuous_data(GFP_KERNEL,)
bmio_audio_hardware.buffer_size,
bmio_audio_hardware.buffer_size);
#else
snd_pcm_lib_preallocate_pages_for_all(pcm,
SNDRV_DMA_TYPE_CONTINUOUS,
NULL,
bmio_audio_hardware.buffer_size,
bmio_audio_hardware.buffer_size);
#endif
- Copy the new lines above, then in Nano paste them with SHIFT-CTRL-V
- Exit with CTRL-X, press "Y" to save, then ENTER to confirm file name.
- Compile:
- Code: Select all
sudo dkms build -m blackmagic-io -v 12.4.1a15 -k $(uname -r)
- Install:
- Code: Select all
sudo dkms install -m blackmagic-io -v 12.4.1a15 -k $(uname -r)
- Verify its working by either opening Media Express or Blackmagic Desktop Video Setup.
- Alternatively, use LSPCI command to see if Kernel drivers are assigned:
- Code: Select all
lspci -k
03:00.0 Multimedia video controller: Blackmagic Design DeckLink Mini Recorder
Subsystem: Blackmagic Design DeckLink Mini Recorder
Kernel driver in use: blackmagic-io
Kernel modules: blackmagic_io
- The ReadMe with the Driver says to use this command:
- Code: Select all
dkms status -m blackmagic-io -k `uname -r`
- But for me it displays "installed" instead of the expected "loaded":
- Code: Select all
dkms status -m blackmagic-io -k `uname -r`
blackmagic-io/12.4.1a15, 5.19.0-43-generic, x86_64: installed
Now if only I could understand why it WAS working for almost a week before it STOPPED and I had to make this edit to fix it?