LINUX.ORG.RU

Установка несвободного firmware на Debian и обнаружение проблем

 , , ,


0

1

Возможно я задаю глупый вопрос, т.к. не очень хорошо разбираюсь в linux. До этого не сталкивался с тем, чтобы после установки linux не грузился (Debian тоже ранее ставил, на ноутбук причем). Проблема такая: имеется новый мини-пк на intel celeron 5105 купленный на известном китайском сайте. На него был благополучно установлен Debian 11 c официального образа debian-11.6.0-amd64-netinst.iso, который благополучно не загрузился.

Загрузка останавливалась при выдаче вот этого: snd_hda_intel 0000:00:1f.3: Cannot probe codecs, giving up. Погуглив я понял, что дело в несвободном по, только вот возник вопрос, а как узнать какие пакеты из этого несвободного по мне нужны?

Я вручную запустил иксы и они успешно запустились, только в пониженном разрешении. Погуглив еще, я поставил пакет intel-microcode, а также пакет isenkram-cli, и затем выполнил команду isenkram-autoinstall-firmware, как посоветовали в руководстве по установке. Она что-то там поставила и…ничего. Проблема не решилась, и тогда узнав, что в новой версии Debian возможно будет нужный мне firmware я обновился до Debian 12.

Обновление прошло успешно и вроде как все работает. Звуковая карта работает, но звука нет, т.к. доступен только фиктивный вывод, разрешение нормальное, система грузится. Вопрос, как узнать все ли у меня стоит из несвободного по, что мне нужно? И вообще успешно ли завершился апдейт? Графическое окружение если что LxQT.



Последнее исправление: Krauzer (всего исправлений: 1)

Ответ на: комментарий от krasnh

Я вот читал официальное руководство и там как раз советовали так ставить, если хочешь по интернету. Да и я не хотел лишнего качать.

Krauzer
() автор топика
Последнее исправление: Krauzer (всего исправлений: 1)
Ответ на: комментарий от Krauzer

обновился до Debian 12
звука нет, т.к. доступен только фиктивный вывод

Там pipewire теперь что ли? :) Если да, то еще один ‘проблемный’ дистр, вопросы с которого заполонят ЛОР, подобно федоре. )

Команда wpctl status что-то показывает? Или все же там pulseaudio?

krasnh ★★★★
()
Ответ на: комментарий от krasnh

фиктивный вывод

Чтобы не тянуть резину, сразу скину комменты с двух тем, где было Dummy Output и изменилось при добавлении dsp_driver=1.
Ссылка1
Ссылка2

Может здесь не тот случай, кто знает.

krasnh ★★★★
()
Ответ на: комментарий от krasnh

Да, видимо pipewire. wpctl status показывает, что такой команды нет. И честно, я не знаю что это такое. Впрочем звук меня не сильно беспокоит, спасибо за помощь я позже как-нибудь разберусь с этим. Мне сейчас больше интересно выяснить комплексно все ли аппаратное оборудование работает или нет. Везде ли стоит firmware. Есть ли какой-то инструмент удобный в debian для этого?

Krauzer
() автор топика
Ответ на: комментарий от Krauzer

1. ставить с диска firmware-*.iso. хотя он и там не все прошивки автоматом ставит

2. ставить все, до каких дотянется, firmware в non-free

3. взять firmware-livecd и запустить с него, посмотреть всё ли работает. можно, принципе, даже не с него и установиться, правда там много лишних лангпаков. а ещё у меня был ноут с гибридом amd/nvidia, так он в livecd запускался, а в установленной с этого же livecd системы - нет.

http://cdimage.debian.org/cdimage/unofficial/non-free/images-including-firmware/

alt-tab-let ★★
()
Ответ на: комментарий от alt-tab-let

Т.е. простого решения нет? И самый лучший способ это переустановиться из образа с максимально полным комплектом несвободных прошивок? Правильно я понимаю?

Krauzer
() автор топика
Ответ на: комментарий от krasnh

Чудеса, да и только. Стоит все-таки Pulseaudio и звук заработал сам по себе. Я ничего не делал. Похоже lxqt сам смог настроить звук, но не с первого раза. Несколько перезагрузок спустя.

Krauzer
() автор топика
Ответ на: комментарий от Krauzer

Вводишь команду:

apt install less
dmesg | less

И ищешь сообщения от драйверов о том, что при инициализации драйвера была попытка загрузки firmware и файл прошивки не был найден.

kostik87 ★★★★★
()
Ответ на: комментарий от kostik87

Я выполнил команду, бегло просмотрел весь вывод, ничего такого не нашел, но надо сказать, что мне мало понятны эти сообщения ядра и я не знаю как должна была выглядеть неудачная загрузка firmware. Также еще я выполнил команду sudo dmesg | grep firmware:

[    1.919142] i915 0000:00:02.0: firmware: direct-loading firmware i915/icl_dmc_ver1_09.bin
[    1.919598] i915 0000:00:02.0: [drm] Finished loading DMC firmware i915/icl_dmc_ver1_09.bin (v1.9)

И sudo dmesg --level=err,warn:

[    0.112460] ENERGY_PERF_BIAS: Set to 'normal', was 'performance'
[    0.815868] hpet_acpi_add: no address or irqs in _CRS
[    1.178997] acpi PNP0C14:01: duplicate WMI GUID 05901221-D566-11D1-B2F0-00A0C9062910 (first instance was on PNP0C14:00)

Как я понял ошибок нет. И критичны ли эти предупреждения? Что они вообще значат? Надо ли что-то делать?

Krauzer
() автор топика
Ответ на: комментарий от Krauzer

Еще я установил lm-sensors и в конце sensors-detect я не понял что мне сообщила программа. Вот вывод:

Just press ENTER to continue: 

Driver `coretemp':
  * Chip `Intel digital thermal sensor' (confidence: 9)

Driver `to-be-written':
  * ISA bus, address 0xa30
    Chip `ITE IT8613E Super IO Sensors' (confidence: 9)

Note: there is no driver for ITE IT8613E Super IO Sensors yet.
Check https://hwmon.wiki.kernel.org/device_support_status for updates.

To load everything that is needed, add this to /etc/modules:
#----cut here----
# Chip drivers
coretemp
#----cut here----
If you have some drivers built into your kernel, the list above will
contain too many modules. Skip the appropriate ones!

Do you want to add these lines automatically to /etc/modules? (yes/NO)

Т.е. она говорит, что один драйвер в процессе написания, а один типа есть и предлагает добавить его в /etc/modules, но при этом у меня температуры показываются у процессора успешно. И последнее предложение меня совсем запутало.

If you have some drivers built into your kernel, the list above will
contain too many modules. Skip the appropriate ones!

Т.е. она не знает, что стоит в ядре, а что нет? И при этом предлагает мне вручную разрешить этот вопрос. И не добавлять модуль, если у меня есть драйвер. Короче сложилась небольшая каша в голове, разъясните пожалуйста.

Krauzer
() автор топика

Блин, я тут единственный Debian-щик, что ли? Что за ***** тут все понаписали?!

Короче, суть в том, что в Debian в официальные образы по умолчанию в принципе не включены несвободные прошивки. И потому обновление до 12 ничего и не решило — как может обновиться то, чего нет?

И к слову, я не советую использовать 12 версию до выхода. Или Sid, или Stable — в Testing обновления безопасности могут сильно опаздывать по сравнению с обоими, это версия для отладки.

Короче, чтобы поставить нормально Debian 11 с нуля со всеми прошивками, нужно использовать вот этот образ: https://cdimage.debian.org/cdimage/unofficial/non-free/cd-including-firmware/11.6.0+nonfree/amd64/iso-cd/firmware-11.6.0-amd64-netinst.iso — при этом задействовать Экспертный режим установки, чтобы включить contrib non-free версии репозиториев во время установки (рекомендую также включить бекпорты), после чего не забыть руками поставить микрокод на CPU — если Intel, то intel-microcode, если AMD, то amd64-microcode.

Что же касается доустановки драйверов в уже имеющуюся ОС, то нужно выполнить dmesg | grep -i 'failed to load', там посмотреть, каких именно файлов модулей не хватает, после чего поставить apt-file и в нём искать, в каких пакетах они содержаться, при этом не забыв подключить contrib non-free секции репозиториев.

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от Krauzer

Рекомендую или обновиться до Sid, или поставить заново Debian 11 нормально, выше написал, как.

Если хочешь поработать с тем, что есть, то пришли вывод dmesg | grep -i 'failed to load', подскажу, какие пакеты нужны.

Или поставь тупо LMDE: https://linuxmint.com/download_lmde.php — там всё уже настроено за тебя.

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от Vsevolod-linuxoid

Я же тут писал, что я сделал кроме того, что обновился. Я попробовал поставить прошивки сам и естественно я включил в источники contrib и non-free. Насчет версий debian я конечно не спец, но в официальных доках везде нарисованы схемки, как пакет проходит долгий путь от unstable до stable и при таком подходе testing не может получить этот апдейт позже stable.

Krauzer
() автор топика
Ответ на: комментарий от Vsevolod-linuxoid

Так в том то и дело, что когда я обновился все заработало. Я лишь хочу узнать как мне узнать точно ли все работает. Ведь то, что система загрузилась и визуально все хорошо, еще не значит, что каждая прошивка и драйвер установлены и работают. uname -a говорит это:

Linux Router-PC 6.0.0-6-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.0.12-1 (2022-12-09) x86_64 GNU/Linux
Krauzer
() автор топика
Последнее исправление: Krauzer (всего исправлений: 1)
Ответ на: комментарий от Krauzer

А… ну, сейчас у тебя стоят все драйвера, что ядро определило и в принципе может с ними работать. Так что всё норм.

Можешь ещё микрокод на CPU поставить. И пока не заморозка, на Testing жить можно… а вот как будет заморозка, то могут быть задержки в фиксах уязвимостей.

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от Vsevolod-linuxoid

Ну это не рабочая станция. Это будет домашний сервер. Я бы хотел пересидеть на testing до релиза. Это будет критично? Его же обещают в середине этого года выпустить.

Krauzer
() автор топика
Ответ на: комментарий от Vsevolod-linuxoid

Хорошо, я учту на будущее, что лучше сделать так, но сейчас я уже не хочу переставлять рабочую систему. Arch не знаю, не работал. И везде пишут, что это не для нубов. А я пока что по развитию ближе к нубам. Спасибо за помощь и информацию насчет testing.

Krauzer
() автор топика
Ответ на: комментарий от Vsevolod-linuxoid

Ну с ним у меня по крайней мере есть хоть какой-то опыт. Не могли бы вы напоследок разъяснить ситуацию с lm_sensors. Я расписал ее в этом комментарии: Установка несвободного firmware на Debian и обнаружение проблем (комментарий)

Krauzer
() автор топика
Ответ на: комментарий от Vsevolod-linuxoid

Ты не совсем прав. Если у ТС стоял пакет firmware-linux или firmware-linux-nonfree, то он по зависимостям притянет остальные пакеты с прошивками.

ТС об этом не написал или я не увидел. А обновление дистрибутива потянет за собой более новые версии этих пакетов с обновлённым набором прошивок.

Если у ТС нет сообщений о проблемах с загрузкой файлов из директории /lib/firmware в логе сообщений ядра, то с большой долей вероятности у него уже стоят эти пакеты.

Хотя это не 100% гарантия.

А здесь: Установка несвободного firmware на Debian и обнаружение проблем (комментарий) он написал, что таких ошибок у него нет. Но вообще, конечно нужно бы было фильтровать по dmesg | grep -i 'failed to load'

Или просто ‘load’.

тут ты прав.

kostik87 ★★★★★
()