Как запустить драйвер при загрузке linux?

Прошу помощи, кто хорошо знаком с логикой загрузки драйверов

Не получается получить рабочий драйвер https://aur.archlinux.org/packages/ddcci-driver-li... при запуске системы.

Что пробовал:
добавить в параметры ядра, с пересборкой initramfs
добавить в /etc/modules-load.d/modules.conf
создать systemd сервис с отложенной загрузкой такого вида:
[Unit]
After=multi-user.target

[Service]
Type=idle
ExecStart=/usr/bin/modprobe ddcci
ExecStop=/usr/bin/modprobe --remove ddcci
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target


во всех случаях, модуль видно
lsmod | grep ddcci
ddcci 40960 0

но сам драйвер не загружен:
hwinfo | grep ddcci

ddcci: module = ddcci
ddcci 40960 0 - Live 0x0000000000000000 (OE)

после загрузки вручную через все в порядке:
modprobe ddcci
hwinfo | grep ddcci

ddcci-backlight: /devices/pci0000:00/0000:00:02.0/drm/card0/card0-DP-1/i2c-6/6-0037/ddcci6
ddcci-backlight: module = ddcci_backlight
ddcci: /devices/pci0000:00/0000:00:02.0/drm/card0/card0-DP-1/i2c-6/6-0037
ddcci: module = ddcci
E: DRIVER=ddcci
E: MODALIAS=i2c:ddcci
P: /devices/pci0000:00/0000:00:02.0/drm/card0/card0-DP-1/i2c-6/6-0037/ddcci6
N: bus/ddcci/6/display
E: DEVPATH=/devices/pci0000:00/0000:00:02.0/drm/card0/card0-DP-1/i2c-6/6-0037/ddcci6
E: SUBSYSTEM=ddcci
E: DEVNAME=/dev/bus/ddcci/6/display
E: DEVTYPE=ddcci-device
E: DRIVER=ddcci-backlight
E: MODALIAS=ddcci:monitor-LCD-245E1--
P: /devices/pci0000:00/0000:00:02.0/drm/card0/card0-DP-1/i2c-6/6-0037/ddcci6/backlight/ddcci6
E: DEVPATH=/devices/pci0000:00/0000:00:02.0/drm/card0/card0-DP-1/i2c-6/6-0037/ddcci6/backlight/ddcci6
E: SYSTEMD_WANTS=systemd-backlight@backlight:ddcci6.service
/devices/pci0000:00/0000:00:02.0/drm/card0/card0-DP-1/i2c-6/6-0037/ddcci6
name: /dev/bus/ddcci/6/display
/devices/pci0000:00/0000:00:02.0/drm/card0/card0-DP-1/i2c-6/6-0037/ddcci6/backlight/ddcci6
ddcci_backlight 20480 0 - Live 0x0000000000000000 (OE)
ddcci 40960 1 ddcci_backlight, Live 0x0000000000000000 (OE)


буду признателен за подсказку, мозг подсломан за несколько часов.
  • Вопрос задан
  • 175 просмотров
Пригласить эксперта
Ответы на вопрос 2
jcmvbkbc
@jcmvbkbc
http://dilbert.com/strip/1998-08-24
По-хорошему надо смотреть, что модуль пишет в логах.
Судя по
/devices/pci0000:00/0000:00:02.0/drm/card0/card0-DP-1/i2c-6/6-0037/ddcci6
ему нужно, чтобы уже был загружен драйвер PCI-карты из которой торчит его display port. Т.е. в юните нужен какой-нибудь соответствующий Requires.
Ответ написан
xotkot
@xotkot
хорошо есть и хорошо весьма
пробовали юнит что указан в последнем комментарий от 2020-06-20 под описанием пакета в АУР ?
/etc/systemd/system/ddcci-backlight.service:
# Placing "ddcci_backlight" into /etc/modules-load.d
# leads to hang on boot with external (HDMI) monitor
# connected to the laptop, so we need to add the module later.

# And ddcci_backlight can't detect monitor during sddm.service startup.

[Unit]
After=multi-user.target
Before=sddm.service

[Service]
Type=oneshot
ExecStart=/usr/bin/modprobe ddcci_backlight
ExecStop=/usr/bin/modprobe --remove ddcci_backlight
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы