Decklink PCIe 8K and PCIe Bus

Ask software engineering and SDK questions for developers working on Mac OS X, Windows or Linux.
  • Author
  • Message
Offline

manderson

  • Posts: 1
  • Joined: Thu Sep 05, 2019 9:12 pm
  • Real Name: Mark Anderson

Decklink PCIe 8K and PCIe Bus

PostThu Sep 05, 2019 9:44 pm

Hello,

I have (2) Blackmagic PCIe 8K Decklinks on a Linux Ubuntu headless computer.

How do I know which Blackmagic is on which bus? or how do I translate the values to know.

lscpi | grep 'Blackmagic'

3d:00.0 Multimedia video controller: Blackmagic Design DeckLink 8K Pro
3e:00.0 Multimedia video controller: Blackmagic Design DeckLink 8K Pro


I thought the 3d and 3e was telling me something, but each time I remove and reinstall the card it gives me a new combination in no particular order.

When I do a dmesg, my return is as follows:

dmesg | grep -i 'Blackmagic'
[ 6.574999] BlackmagicIO: Driver version 11.1a11 loading
[ 6.575483] BlackmagicIO: Enabled device "DeckLink 8K Pro (1)" x8/5 Gbps (87454bd0,583d00) FW Date: 01-09 15:29
[ 6.582657] BlackmagicIO: DeckLink 8K Pro (1) as blackmagic!io0 [0000:3d:00.0]
[ 6.582660] BlackmagicIO: Initialised serial driver for blackmagic!io0
[ 6.583113] BlackmagicIO: Enabled device "DeckLink 8K Pro (3)" x8/5 Gbps (87454bd2,583d01) FW Date: 01-09 15:29
[ 6.588253] BlackmagicIO: DeckLink 8K Pro (3) as blackmagic!io1 [0000:3d:00.0]
[ 6.588255] BlackmagicIO: Initialised serial driver for blackmagic!io1
[ 6.588821] BlackmagicIO: Enabled device "DeckLink 8K Pro (2)" x8/5 Gbps (87454bd1,583d02) FW Date: 01-09 15:29
[ 6.593964] BlackmagicIO: DeckLink 8K Pro (2) as blackmagic!io2 [0000:3d:00.0]
[ 6.593966] BlackmagicIO: Initialised serial driver for blackmagic!io2
[ 6.594432] BlackmagicIO: Enabled device "DeckLink 8K Pro (4)" x8/5 Gbps (87454bd3,583d03) FW Date: 01-09 15:29
[ 6.599589] BlackmagicIO: DeckLink 8K Pro (4) as blackmagic!io3 [0000:3d:00.0]
[ 6.599591] BlackmagicIO: Initialised serial driver for blackmagic!io3
[ 6.600302] BlackmagicIO: Enabled device "DeckLink 8K Pro (1)" x8/5 Gbps (2547cbd0,583e00) FW Date: 01-09 15:29
[ 6.607589] BlackmagicIO: DeckLink 8K Pro (1) as blackmagic!io4 [0000:3e:00.0]
[ 6.607591] BlackmagicIO: Initialised serial driver for blackmagic!io4
[ 6.607833] BlackmagicIO: Enabled device "DeckLink 8K Pro (3)" x8/5 Gbps (2547cbd2,583e01) FW Date: 01-09 15:29
[ 6.613313] BlackmagicIO: DeckLink 8K Pro (3) as blackmagic!io5 [0000:3e:00.0]
[ 6.613314] BlackmagicIO: Initialised serial driver for blackmagic!io5
[ 6.613578] BlackmagicIO: Enabled device "DeckLink 8K Pro (2)" x8/5 Gbps (2547cbd1,583e02) FW Date: 01-09 15:29
[ 6.618685] BlackmagicIO: DeckLink 8K Pro (2) as blackmagic!io6 [0000:3e:00.0]
[ 6.618687] BlackmagicIO: Initialised serial driver for blackmagic!io6
[ 6.619041] BlackmagicIO: Enabled device "DeckLink 8K Pro (4)" x8/5 Gbps (2547cbd3,583e03) FW Date: 01-09 15:29
[ 6.624160] BlackmagicIO: DeckLink 8K Pro (4) as blackmagic!io7 [0000:3e:00.0]
[ 6.624161] BlackmagicIO: Initialised serial driver for blackmagic!io7


I am sure the answer is in this output, but I don't know where or how (I believe hex value) is telling me its location on my PCIe bus.

I searched the forums for this questions and I could not find a answer--so I apologies ahead of time if it is already out there somewhere.

Thanks for reading!
Offline

Cameron Nichols

Blackmagic Design

  • Posts: 216
  • Joined: Mon Sep 04, 2017 4:05 am

Re: Decklink PCIe 8K and PCIe Bus

PostSun Sep 08, 2019 11:34 pm

Hi Mark,

The label "DeckLink 8K Pro (1)", etc is the default name given to a DeckLink 8K Pro device when the device label is not set. Normally you can set a different label with the Desktop Video setup application, but let me elaborate this setting so you can modify on a headless machine.

The device label is configured with configuration ID bmdDeckLinkConfigDeviceInformationLabel[1]. This label will paired to the card's unique persistent ID, so it is retained between reboots and allows you to differentiate between the 2 cards. The following steps should be performed to set the device label:
  • Query the IDeckLinkConfiguration interface from your IDeckLink object by calling IDeckLink::QueryInterface with IID_IDeckLinkConfiguration.
  • Set the new device label by calling IDeckLinkConfiguration::SetString[2] with configuration ID bmdDeckLinkConfigDeviceInformationLabel
  • Write the configuration to system preferences to ensure the setting is persistent across reboots by calling IDeckLinkConfiguration::WriteConfigurationToPreferences[3]
In the DeckLink SDK, there is a sample DeviceConfigure that demonstrates the IDeckLinkConfiguration interface. You can use the (pre-built) sample to write the device label without modification to the code, although you may need to temporarily remove one DeckLink 8K Pro to differentiate between the cards.

Regards
Cameron

References (DeckLink SDK Manual):
[1] 2.7.18 DeckLink Configuration ID
[2] 2.5.15.8 IDeckLinkConfiguration::SetString method
[3] 2.5.15.9 IDeckLinkConfiguration::WriteConfigurationToPreferences method

Return to Software Developers

Who is online

Users browsing this forum: No registered users and 2 guests