Без пакета linux-firmware система не грузится

vs220
Может повысить логирование udev?
В принципе должно показывать и на дефолтном уровне. Почему то считал, что journal должен всегда показывать загрузку модулем firmware ....
Плохо то, что у меня не загружается ни один firmware, а потому и ничего нельзя проверить ...
Ошибки не исчезают с опытом - они просто умнеют
vs220
А на каком уровне загрузка останавливалась?
Не знаю как это правильно называется,но как только шрифт сменился курсор пару раз мигнул и всё(у меня в vconsole.conf ter-u18b).
vasek
но почему не грузится без linux-firmware - хрен знает и как узнать какие нужны firmware, сразу и не скажешь.
У меня подозрения на видео драйвер.Дело в том что на этом буке на другом винте стоит сборка арчеводов ICEArch и на ней после удаления
система стартанула но не видела внешний монитор и разрешение было не то и ни как не менялось и я не мудрствуя лукаво пакет установил.
Slav164
У меня подозрения на видео драйвер
а прописано ли видеодрайвер в mkinitcpio.conf в графе MODULES="" ?
Ошибки не исчезают с опытом - они просто умнеют
Нет.
Посмотрел в сборке установлен xf86-video-ati ,у себя я ни чего такого не ставил.
Slav164
Нет
Спросил для уточнения - в принципе если бы там были firmware, то они попали бы, думаю, в вывод lsinitcpio /boot/initramfs-linux.img | grep firmware

Просто хочется понять, где же прописываются эти загруженные модулем firmware ...
Ошибки не исчезают с опытом - они просто умнеют
Вообщем почитал много всякого и вот что я понял (решил выложить - пусть все будет в одном месте)

Процедура загрузки firmware:
- драйвер запрашивает нужный firmware
- ядро отправляет в udev событие, запрашивающее прошивку (сообщает что ему нужен такой то firmware)
- программа udev находит требуемый firmware и помещает его данные в специальный файл, созданный ядром
- ядро считывает данные firmware из этого специального файла и передает данные драйверу
- драйвер выполняет необходимые действия для загрузки firmware в устройство

И, как пишут, загрузка firmware должна быть обязательно отражена в логах, типа такого
в случае успеха
module_name 0000:03:00.0: firmware: requesting firmware.name
module_name 0000:03:00.0: loaded firmware version XXXX
в случае ошибок/проблем
module_name 0000:03:00.0: firmware: requesting firmware.name
module_name: module_name_request_firmware: Failed to load firmware "firmware.name": -2

В загруженной системе можно продебажить загрузку конкретного модуля/firmware, запустив команду
udevadm monitor --property
и после, загрузив модуль, должны увидеть следующие строки
SUBSYSTEM=firmware
FIRMWARE=firmware.name
по которым можно узнать загрузку нужного firmware

PS - в принципе, думаю, можно и написать юнит и отследить загрузку firmware для своего железа, НО, имхо, это имеет смысл только в случае непоняток

EDIT 1 - остался не совсем понятным один момент, который не описал, - не совсем понял в какой момент запрашивается для загрузки firmware, а так как у меня firmware не загружаются, то не смог и проанализировать. Возможно из-за этого нюанса и не работала часть команд, приведенных выше ...
Прямое описание в DOC так и не нашел, но, имхо, модуль это сам по себе не делает, в его составе куча firmware, которая не нужна всем устройствам, то есть можно предположить, что firmware запрашивается на основании результатов общения с устройством ... но вот в какой конкретно момент, точно не знаю.
Ошибки не исчезают с опытом - они просто умнеют
vasek
можно просто закинуть в нужную директорию всего один файл - /usr/lib/firmware/rtl_nic/rtl8411-1.fw
Возвращаюсь к теме: пакет linux-firmware удалил, rtl8411-1.fw - закинул. Два дня, вроде, работало.
Сегодня хотел включить блюпуп - пишет "блюпуп" не обнаружен. Полез в логи, нашёл, что ему ещё нужен /usr/lib/firmware/ar3k/AthrBT_0x01020200.dfu.
Выковырял, закинул - заработало. Вопрос, почему два дня работало без него? И не вылезет ли, что-то ещё без linux-firmware?
udevadm monitor --property
monitor will print the received events for:
UDEV - the event which udev sends out after rule processing
KERNEL - the kernel uevent

KERNEL[1352.718600] change   /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.1/1-1.1:1.0/bluetooth/hci0/rfkill0 (rfkill)
ACTION=change
DEVPATH=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.1/1-1.1:1.0/bluetooth/hci0/rfkill0
SUBSYSTEM=rfkill
RFKILL_NAME=hci0
RFKILL_TYPE=bluetooth
RFKILL_STATE=1
SEQNUM=3229

UDEV  [1352.726327] change   /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.1/1-1.1:1.0/bluetooth/hci0/rfkill0 (rfkill)
ACTION=change
DEVPATH=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.1/1-1.1:1.0/bluetooth/hci0/rfkill0
SUBSYSTEM=rfkill
RFKILL_NAME=hci0
RFKILL_TYPE=bluetooth
RFKILL_STATE=1
SEQNUM=3229
USEC_INITIALIZED=10659075
SYSTEMD_RFKILL=1
ID_PATH=pci-0000:00:1a.0-usb-0:1.1:1.0
ID_PATH_TAG=pci-0000_00_1a_0-usb-0_1_1_1_0
Давайте жить дружно! :-)
Ещё настораживает, когда пересобираешь initramfs, сыпятся ворнинги, но всё вроде, работает:
==> WARNING: Possibly missing firmware for module: i915
==> WARNING: Possibly missing firmware for module: qla1280
==> WARNING: Possibly missing firmware for module: bfa
==> WARNING: Possibly missing firmware for module: cxgb4
==> WARNING: Possibly missing firmware for module: cxgb3
==> WARNING: Possibly missing firmware for module: qed
==> WARNING: Possibly missing firmware for module: isci
==> WARNING: Possibly missing firmware for module: qla2xxx
==> WARNING: Possibly missing firmware for module: wd719x
==> WARNING: Possibly missing firmware for module: advansys
==> WARNING: Possibly missing firmware for module: aic94xx
==> WARNING: Possibly missing firmware for module: csiostor
==> WARNING: Possibly missing firmware for module: ums_eneub6250
==> WARNING: Possibly missing firmware for module: smsmdtv
Давайте жить дружно! :-)
igorog
когда пересобираешь initramfs, сыпятся ворнинги, но всё вроде, работает:
Эти варнинги похоже образуются при сборке fallback, уточни - если от него, то можешь его сборку и отключить (многие отключают, кому не нужно).
igorog
Вопрос, почему два дня работало без него? И не вылезет ли, что-то ещё без linux-firmware?
Возможно это вызвало обновление модуля (что то добавилось, какая то функция, которая требует данного firmware) или что другое.
Объем firmware не такой уж и большой, так что можешь поставить пакет, чтобы больше ничего смущало.

В части вывода udevadm monitor --property - информация о firmware в этом выводе появляется только при его загрузке.
Ошибки не исчезают с опытом - они просто умнеют
vasek
Эти варнинги похоже образуются при сборке fallback
Да, совершенно верно.
Ещё раз, спасибо, Вам за разъяснения!

Сейчас вылезло вот ещё:
июн 20 12:09:04 kernel: Bluetooth: Configuration file not found ar3k/ramps_0x01020200_40.dfu
июн 20 12:09:04 kernel: Bluetooth: Loading sysconfig file failed
Надоело играться. Вернул пакет linux-firmware на место (пить/есть не просит). )) Хотя можно было, конечно "подпихнуть" всё недостающее, и обойтись без целого пакета.
Давайте жить дружно! :-)
 
Зарегистрироваться или войдите чтобы оставить сообщение.