LINUX.ORG.RU

Нет звука после компиляции ядра

 , , ,


1

1

Здравствуйте. Мне попал в руки старенький нетбук Asus Eee Pc 1000 с первым атомом на борту, который не умеет даже в 64 бит, 1 гигом оперативки и древним SSD на 40 гигабайт. Решил отчасти из спортивного интереса, отчасти из некоторых соображений вдохнуть в него жизнь, снёс установленную там XP и установил Lubuntu 18.04. Последнюю с поддержкой 32 бит. Решил также скомпилировать для него ядро по трём соображениям - во первых убрать по максимуму всё лишнее и оставить лишь то, что нужно для его работы. Во вторых оптимизировать под железо. В третьих - раз древний ssd, то и файловую систему хотелось использовать щадящую, то есть f2fs, для чего её поддержку пришлось включить в состав самого ядра, а не модуля. В результате всех мытарств получилось вполне шустрое компактное ядро. Загрузка происходит быстро, работа тоже настолько, насколько это вообще возможно для такого железа. Даже в интернете вполне сносно можно работать, разве что кроме просмотра видео в хорошем разрешении. Не ожидал, но оказывается Vivaldi до сих пор предоставляет 32 битные deb пакеты. Всё хорошо за исключением одного косяка - не работает аудио. Звуковых карт не обнаруживается вовсе ни одной. cat /proc/asound/cards выдаёт:

--- no soundcards ---

Но при этом lspci -v:

00:1b.0 Audio device: Intel Corporation NM10/ICH7 Family High Definition Audio Controller (rev 02)
	Subsystem: ASUSTeK Computer Inc. NM10/ICH7 Family High Definition Audio Controller
	Flags: fast devsel, IRQ 16
	Memory at f7eb8000 (64-bit, non-prefetchable) [size=16K]
	Capabilities: [50] Power Management version 2
	Capabilities: [60] MSI: Enable- Count=1/1 Maskable- 64bit+
	Capabilities: [70] Express Root Complex Integrated Endpoint, MSI 00
	Capabilities: [100] Virtual Channel
	Capabilities: [130] Root Complex Link
	Kernel driver in use: snd_hda_intel

то есть модуль подгружается, ядро оборудование видит.

В dmesg вроде никаких ошибок нету. Подозреваю, что какие то опции в ядре не включил, но какие ? Буду очень благодарен за подсказку. PS При загрузке с Live образа Lubuntu звук есть.

да там у тебя небось ещё по классике, поддержки многоядерности нет, или кто знает чего ещё, зато «быстро»))). ставь нормально собранное готовое ядро, не тормози железку

anonymous
()

Решил также скомпилировать для него ядро по трём соображениям - во первых убрать по максимуму всё лишнее и оставить лишь то, что нужно для его работы. Во вторых оптимизировать под железо. В третьих - раз древний ssd, то и файловую систему хотелось использовать щадящую, то есть f2fs, для чего её поддержку пришлось включить в состав самого ядра, а не модуля.

Это всё на самом деле тебе не нужно. Во-первых, дистрибутивных ядрах всё «лишнее» вынесено в модули, а неиспользуемые модули никак не влияют на работу системы. Во-вторых, открой для себя initramfs, систему можно загрузить с любой ФС без дрочева с включением драйверов ФС в бинарник ядра. Кстати, монолитные ядра загружаются дольше, чем модульные. Ну и в-третьих, интересно узнать, чего же ты там такого «наоптимизировал под железо».

Короче, не можешь срать — не мучай жопу не умеешь — ставь дистрибутивное ядро и не выделывайся.

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

Всё это я знаю. Всё, что возможно и так в модули вынес. Грузиться стало быстрее наверное раза в полтора по сравнению с дистрибутивным ядром. Насчёт работы - не замерял, но возможно тоже ускорилось немного. Что наоптимизировал - ничего особенного. «-march=native -mtune=native -mfpmath=sse -pipe -O2». Всё как обычно.)

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

Многоядерность в ядре включена. Специально на это внимание обращал. Хотя много она и не даёт, у процессора одно ядро плюс гипертрейдинг.

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

ух! как же пряятно видеть, что кто-то собирает ядро) а то все сплетни, да ссоры в толксах.

anonymous
()
Ответ на: комментарий от xmikex

Вот вывод:

Module                  Size  Used by
fuse                   94208  3
bnep                   20480  2
lzo_rle                16384  4
zram                   20480  2
zsmalloc               24576  1 zram
coretemp               16384  0
joydev                 20480  0
serio_raw              16384  0
btusb                  40960  0
btrtl                  16384  1 btusb
btbcm                  16384  1 btusb
btintel                16384  1 btusb
bluetooth             323584  26 btrtl,btintel,bnep,btbcm,btusb
ecdh_generic           16384  1 bluetooth
ecc                    40960  1 ecdh_generic
lpc_ich                24576  0
mfd_core               16384  1 lpc_ich
rt2800pci              16384  0
eeprom_93cx6           16384  1 rt2800pci
rt2x00pci              16384  1 rt2800pci
rt2800mmio             16384  1 rt2800pci
rt2x00mmio             16384  2 rt2800mmio,rt2800pci
rt2800lib             106496  2 rt2800mmio,rt2800pci
rt2x00lib              45056  5 rt2800lib,rt2x00pci,rt2800mmio,rt2x00mmio,rt2800pci
mac_hid                16384  0
sch_fq_codel           20480  6
parport_pc             24576  0
ppdev                  20480  0
lp                     20480  0
parport                24576  3 lp,parport_pc,ppdev
pata_acpi              16384  0
atl1e                  32768  0

Кстати говоря snd_hda_intel отсутствует и по modprobe не грузится

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

Sorry, давайте я спою

Ma n'atu sole
cchiù bello, oje né',
'o sole mio,
sta 'nfronte a te...
'O sole,
'o sole mio,
sta 'nfronte a te...
sta 'nfronte a te!
anonymous
()

Нет звука после компиляции ядра

А он вам нужен?
У меня на компьютере звук с начала года отключен.
Надоела слышать всякую МУТЬ …

И все ok!
anonymous
()
Ответ на: комментарий от anonymous

Не, компиляция ядра должна завершаться звуком фанфар.

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

Да, при загрузке с Live образа всё ок

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

Это слишком радикально.) Звук нужен. И потом у меня бомбит от того, что дело не доделано. Слишком долго я ковырялся с этим ядром, чтобы мириться)

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

Вероятно codec-и в ядре все поотключал в т.ч. и нужный. Пробуй сравнить lsmod | cut -f 1 -d ' ' | sort > lsmod_$(uname -r) ядер где звук работает и своего. Это если они там модулями вообще включаются.

superuser ★★★★★
()
Последнее исправление: superuser (всего исправлений: 2)
Ответ на: комментарий от Keltir

Спасибо, ссылка помогла. Совсем забыл, что действительно можно было у генту подсмотреть.)

Весь прикол был в том, что один из параметров у меня был отмечен как модуль, а в хелпе по нему сказано, что для автозапуска включить непосредственно в ядро, как и в генту показано. Что я и сделал.

Попутно кстати выяснил, что веб камера тоже не работает, и её заодно починил, подсмотрев у генту.

Так что больше косяков вроде нет.

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

Прикольные тут анонимусы обитают. Интересно, админам не противно на такое смотреть у себя ? )

eol3000
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.