Skip to content

Commit 4f5fb4f

Browse files
committed
feat: add DVBSky S952 firmware driver extension
feat: enhance dvb-m88ds3103 extension with IR support configuration This system extension provides the dvb-demod-m88ds3103.fw firmware for DVB-S/S2 PCIe cards like DVBSky S952
1 parent 5c5403b commit 4f5fb4f

File tree

8 files changed

+81
-1
lines changed

8 files changed

+81
-1
lines changed

.kres.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ spec:
1515
- ctr
1616
- drbd
1717
- dvb-cx23885
18+
- dvb-m88ds3103
1819
- ecr-credential-provider
1920
- fuse3
2021
- gasket-driver

MAINTAINERS.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ If the field is marked as `Needs Maintainer`, it means that the package is curre
2222
| crun | Henrik Gerdes | [hegerdes](https://github.com/hegerdes) |
2323
| drbd | Needs Maintainer | NA |
2424
| dvb-cx23885 | Skyler Mäntysaari | [samip5](https://github.com/samip5) |
25+
| dvb-m88ds3103 | Yehia Amer | [yehia2amer](https://github.com/yehia2amer) |
2526
| ecr-credential-provider | Florian Ströger | [Preisschild](https://github.com/Preisschild) |
2627
| fuse3 | Sidero Labs | NA |
2728
| gasket-driver | Sidero Labs | NA |

Makefile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT.
22
#
3-
# Generated on 2025-06-08T13:34:39Z by kres 5f6eb2a.
3+
# Generated on 2025-06-15T15:55:58Z by kres 5128bc1.
44

55
# common variables
66

@@ -70,6 +70,7 @@ TARGETS += crun
7070
TARGETS += ctr
7171
TARGETS += drbd
7272
TARGETS += dvb-cx23885
73+
TARGETS += dvb-m88ds3103
7374
TARGETS += ecr-credential-provider
7475
TARGETS += fuse3
7576
TARGETS += gasket-driver

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@ cosign verify --certificate-identity-regexp '@siderolabs\.com$' --certificate-oi
9292
| Name | Image | Description | Version Format |
9393
| ------------------------------- | ----------------------------------------------------------------------------------------------------- | ------------------------------------------------------------ | --------------- |
9494
| [dvb-cx23885](dvb/dvb-cx23885/) | [ghcr.io/siderolabs/dvb-cx23885](https://github.com/siderolabs/extensions/pkgs/container/dvb-cx23885) | DVB kernel modules + firmware for Hauppage WinTV-quadHD PCIe | `talos version` |
95+
| [dvb-m88ds3103](dvb/dvb-m88ds3103/) | [ghcr.io/siderolabs/dvb-m88ds3103](https://github.com/siderolabs/extensions/pkgs/container/dvb-m88ds3103) | DVB firmware for DVBSky S952 PCIe | `upstream version` |
9596

9697
### Miscellaneous
9798

dvb/dvb-m88ds3103/README.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# DVB m88ds3103 Firmware Extension
2+
3+
This system extension provides the `dvb-demod-m88ds3103.fw` firmware file, primarily for DVB-S/S2 PCIe cards like the DVBSky S952.
4+
5+
## Prerequisites
6+
7+
* This extension only provides the firmware. It is intended to be used alongside an existing DVB driver extension (e.g., `dvb-cx23885` or a similar extension) that supplies the necessary kernel modules and drivers for your DVB hardware.
8+
Ensure that a compatible DVB driver extension is installed and configured on your Talos system for this firmware to be utilized.
9+
10+
## Usage
11+
12+
Once installed, this extension performs the following:
13+
14+
1. Makes the `dvb-demod-m88ds3103.fw` firmware available in the standard firmware path (`/usr/lib/firmware/`) for DVB drivers to load.
15+
2. Configures the `cx23885` driver for IR support by creating `/etc/modprobe.d/cx23885.conf` with the option `enable_885_ir=1`. This is beneficial if you are using the `dvb-cx23885` extension and your hardware supports IR.
16+
17+
## Firmware Source
18+
19+
The `dvb-demod-m88ds3103.fw` firmware is sourced from the [OpenELEC dvb-firmware project](https://github.com/OpenELEC/dvb-firmware/blob/master/firmware/dvb-demod-m88ds3103.fw).
20+
21+
For more general information on the DVBSky S952 card, you can check this guide: https://www.linuxtv.org/wiki/index.php/DVBSky_S952

dvb/dvb-m88ds3103/manifest.yaml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
version: v1alpha1
2+
metadata:
3+
name: dvb-m88ds3103
4+
version: "$VERSION"
5+
author: Yehia Amer
6+
description: |
7+
This system extension provides the dvb-demod-m88ds3103.fw firmware for DVB-S/S2 PCIe cards like DVBSky S952.
8+
It is intended to be used as a dependency on existing DVB driver extension dvb-cx23885 that provides the necessary kernel modules.
9+
compatibility:
10+
talos:
11+
version: ">= v1.9.0"

dvb/dvb-m88ds3103/pkg.yaml

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
name: dvb-m88ds3103
2+
variant: scratch
3+
shell: /bin/bash
4+
dependencies:
5+
- stage: base
6+
- stage: dvb-cx23885
7+
# - image: alpine:3.18 # Using alpine as a base image
8+
# to: / # Ensure it copies to the root
9+
# The pkgs version for a particular release of Talos as defined in
10+
# https://github.com/siderolabs/talos/blob/<talos version>/pkg/machinery/gendata/data/pkgs
11+
- image: "{{ .BUILD_ARG_PKGS_PREFIX }}/kernel:{{ .BUILD_ARG_PKGS }}"
12+
steps:
13+
- sources:
14+
- url: https://github.com/OpenELEC/dvb-firmware/raw/master/firmware/dvb-demod-m88ds3103.fw
15+
destination: dvb-demod-m88ds3103.fw
16+
sha256: 4767ab80ceba4a66315cbec2a07ae1f7ebbd19c5758fd098b932e02c9108eff9
17+
sha512: 6db7c7e18a630cc0ac665f7baededb08b8ab475ef0d93590b01c4c165aef9165f9d8e0014d65b5f39a2f71e859d8865074e6143045b31ee5814f88239df4595d
18+
prepare:
19+
- |
20+
sed -i 's#$VERSION#{{ .VERSION }}#' /pkg/manifest.yaml
21+
22+
mkdir -p /rootfs
23+
# {{ if eq .ARCH "x86_64" }} This in fact is YAML comment, but Go templating instruction is evaluated by bldr
24+
install:
25+
- |
26+
mkdir -p /rootfs/usr/lib/firmware
27+
cp dvb-demod-m88ds3103.fw /rootfs/usr/lib/firmware/dvb-demod-m88ds3103.fw
28+
29+
# Create modprobe.d directory and cx23885.conf for IR support
30+
mkdir -p /rootfs/etc/modprobe.d
31+
echo "options cx23885 enable_885_ir=1" > /rootfs/etc/modprobe.d/cx23885.conf
32+
test:
33+
- |
34+
mkdir -p /extensions-validator-rootfs
35+
cp -r /rootfs/ /extensions-validator-rootfs/rootfs
36+
cp /pkg/manifest.yaml /extensions-validator-rootfs/manifest.yaml
37+
/extensions-validator validate --rootfs=/extensions-validator-rootfs --pkg-name="${PKG_NAME}"
38+
# {{ end }} This in fact is YAML comment, but Go templating instruction is evaluated by bldr
39+
finalize:
40+
- from: /rootfs
41+
to: /rootfs
42+
- from: /pkg/manifest.yaml
43+
to: /

dvb/dvb-m88ds3103/vars.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
VERSION: "{{ .BUILD_ARG_TAG }}"

0 commit comments

Comments
 (0)