LINUX.ORG.RU

Поиск/сбор драйвера звука для «старого» Linux на «новом» железе.


0

1

Поставил Ubuntu 10.04 (lucid 2.6.35-28-generic x86_64) на сравнительно новое железо (GenuineIntel, Intel(R) Core(TM) i3-2100 CPU @ 3.10GHz). Проблемы были сразу: не видит CD-ROM (тот самый, с которого ставилась система), не встали проприентарные дрова и плохо работает композит, но на всё это можно плевать, даже на звук, но только не тогда, когда этот самый звук становится нужен.

Звука не было изначально. Gnome-volume-control говорила что нет устройств, пустовало поле «входа», а на «выходе» единственный пункт - имитация выхода «стерео». Но вот понадобилось перенаправить звук и был подгружен snd-dummy, который работал, но не совсем так как надо. Было нужно пересобрать snd-dummy подправив ему исходник (согласно этой статье) вот так:

Alsa dummy.c modification: Change line:
static int pcm_substreams[SNDRV_CARDS] = {[0 ... (SNDRV_CARDS - 1)] = 8}; 
 to: 
static int pcm_substreams[SNDRV_CARDS] = {[0 ... (SNDRV_CARDS - 1)] = 128};
Сбор и установка прошли без ошибок, НО... ALSA работать отказалась.

sudo modprobe snd-dummy
FATAL: Error inserting snd (/lib/modules/2.6.35-28-generic/kernel/sound/acore/snd.ko): Unknown symbol in module, or unknown parameter (see dmesg)
WARNING: Error running install command for snd
WARNING: Error inserting snd_pcm (/lib/modules/2.6.35-28-generic/kernel/sound/acore/snd-pcm.ko): Unknown symbol in module, or unknown parameter (see dmesg)
FATAL: Error inserting snd_dummy (/lib/modules/2.6.35-28-generic/kernel/sound/drivers/snd-dummy.ko): Unknown symbol in module, or unknown parameter (see dmesg)


sudo dmesg | tail -n12
[20701.053067] snd: Unknown symbol unregister_sound_special (err 0)
[20701.053481] snd: Unknown symbol register_sound_special_device (err 0)
[20701.055188] snd_timer: Unknown symbol snd_info_register (err 0)
[20701.055292] snd_timer: Unknown symbol snd_info_create_module_entry (err 0)
[20701.055421] snd_timer: Unknown symbol snd_info_free_entry (err 0)
[20701.055648] snd_timer: Unknown symbol __snd_printk (err 0)
[20701.055751] snd_timer: Unknown symbol snd_iprintf (err 0)
[20701.055895] snd_timer: Unknown symbol snd_ecards_limit (err 0)
[20701.056038] snd_timer: Unknown symbol snd_oss_info_register (err 0)
[20701.056206] snd_timer: Unknown symbol snd_unregister_device (err 0)
[20701.056456] snd_timer: Unknown symbol snd_device_new (err 0)
[20701.056782] snd_timer: Unknown symbol snd_register_device_for_dev (err 0)

Пробовал программно искать звуковые карты - их нет. Помогите, пожалуйста, разобраться с глюками этого ПО.

System information report, generated by Sysinfo: 13.08.2012 15:33:35
http://sourceforge.net/projects/gsysinfo

SYSTEM INFORMATION
	Running Ubuntu Linux, the Ubuntu 10.04 (lucid) release.
	GNOME: 2.30.2 (Ubuntu 2010-06-25)
	Kernel version: 2.6.35-28-generic (#50~lucid1-Ubuntu SMP Fri Mar 18 20:31:01 UTC 2011)
	GCC: 4.4.3 (x86_64-linux-gnu)
	Xorg: unknown (25 February 2012  06:57:33AM) (25 February 2012  06:57:33AM)
	Hostname: rx
	Uptime: 0 days 5 h 26 min

CPU INFORMATION
	GenuineIntel, Intel(R) Core(TM) i3-2100 CPU @ 3.10GHz
	Number of CPUs: 4
	CPU clock currently at 1600.000 MHz with 3072 KB cache
	Numbering: family(6) model(42) stepping(7)
	Bogomips: 6184.51
	Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 popcnt xsave avx lahf_lm arat pln pts dts tpr_shadow vnmi flexpriority ept vpid

MEMORY INFORMATION
	Total memory: 7899 MB
	Total swap: 5122 MB

STORAGE INFORMATION
	SCSI device -  scsi0
		Vendor:  ATA      
		Model:  Hitachi HDS72105 
	SCSI device -  scsi4
		Vendor:  Multi    
		Model:  Flash Reader     

HARDWARE INFORMATION
MOTHERBOARD
	Host bridge
		Intel Corporation Device 0100 (rev 09)
		Subsystem: ASUSTeK Computer Inc. Device 844d
	PCI bridge(s)
		Intel Corporation Sandy Bridge PCI Express Root Port (rev 09)
		Intel Corporation Cougar Point PCI Express Root Port 1 (rev b5)
		Intel Corporation Cougar Point PCI Express Root Port 3 (rev b5)
		Intel Corporation 82801 PCI Bridge (rev b5) (prog-if 01)
		Device 1b21:1080 (rev 01) (prog-if 01)
		Intel Corporation Sandy Bridge PCI Express Root Port (rev 09)
		Intel Corporation Cougar Point PCI Express Root Port 1 (rev b5)
		Intel Corporation Cougar Point PCI Express Root Port 3 (rev b5)
		Intel Corporation 82801 PCI Bridge (rev b5) (prog-if 01)
		Device 1b21:1080 (rev 01) (prog-if 01)
	USB controller(s)
		Intel Corporation Cougar Point USB Enhanced Host Controller #2 (rev 05) (prog-if 20)
		Intel Corporation Cougar Point USB Enhanced Host Controller #1 (rev 05) (prog-if 20)
		Intel Corporation Cougar Point USB Enhanced Host Controller #2 (rev 05) (prog-if 20)
		Intel Corporation Cougar Point USB Enhanced Host Controller #1 (rev 05) (prog-if 20)
	ISA bridge
		Intel Corporation Device 1c5c (rev 05)
		Subsystem: ASUSTeK Computer Inc. Device 844d
	IDE interface
		Intel Corporation Cougar Point 2 port SATA IDE Controller (rev 05) (prog-if 85 [Master SecO PriO])
		Subsystem: ASUSTeK Computer Inc. Device 844d

GRAPHIC CARD
	VGA controller
		Intel Corporation Sandy Bridge Integrated Graphics Controller (rev 09)
		Subsystem: ASUSTeK Computer Inc. Device 844d

SOUND CARD

NETWORK
	Ethernet controller
		Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06)
		Subsystem: ASUSTeK Computer Inc. Device 8432
DMI
BIOS
Date	03/08/2012
Vendor	American Megatrends Inc. (www.ami.com)
Version	3605
Board
Name	P8H61-M LE/USB3
Vendor	ASUSTeK COMPUTER INC. (SEAGATE, www.seagate.com)

★★

«старого» Linux на «новом» железе

Это тебе не венда, не надо так делать.

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

Как собирали? Как устанавливали?

1 и 2. Версия 1.0.25 собираться отказалась, за то версия 1.0.24 собралась. Делал так: wget в директорию /usr/src, распаковка консольно tar`ом, правка исходного кода (nano or Gedit), cd в каталог с сорцом, «sudo ./configure && sudo make && sudo make install». Есстесственно, сначала делал всё без конвеера, проверяя, не закончится-ли подготовка или компиляция ошибками. Несколько раз пересобирал с «чисткой» (удалял каталог с собраными исходниками и пробовал сделать всё заново). Убедившись что сбор был без ошибок - поставил обычным «make install».

После установки начались вышеописанные проблемы. Попробовал собрать ALSA 1.0.24 без исправлений, попробовал 1.0.23 с и без исправления, попробовал «вернуть» - поставить из репозитория - всё равно одно и то же.

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

Вот о «depmod -a» я забыл. Капец... Но в любом случае эта команда не дала никакого вывода. Сбор пакета делал в последний раз ООоооочень давно (кажется для этого сипользуется chekcinstall), а вот «apt-get source»`ом я не пользовался - предпочитаю качать тарболы... (Если это не правильно - разъясните по какой из причин.)

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

apt-get source

Получил версию 1.0.22.1, которая не собирается вываливаясь на подготовке исходников с такой ошибкой:

The file /lib/modules/2.6.35-28-generic/build/include/linux/autoconf.h does not exist.
Please install the package with full kernel sources for your distribution or use --with-kernel=dir option to specify another directory with kernel sources (default is /lib/modules/2.6.35-28-generic/build).
И это при условии, что все пакеты ядра я давно поставил. Однако autoconf`a там действительно нету... :-(

zzdnx ★★ ()
Ответ на: apt-get source от zzdnx

chekcinstall

dpkg: не удалось обработать параметр /usr/src/alsa-driver-1.0.24/alsa-driver_1.0.24-1_amd64.deb (--install):
 попытка перезаписать «/usr/include/sound/asound.h», который уже имеется в пакете linux-libc-dev 0:2.6.32-42.95
dpkg-deb: подпроцесс вставка завершён по сигналу (Обрыв канала)
zzdnx ★★ ()
Ответ на: apt-get source от zzdnx

apt-get build-dep имяпакета ставили?
Как собираете, dpkg-buildpackage?

а вот «apt-get source»`ом я не пользовался - предпочитаю качать тарболы... (Если это не правильно - разъясните по какой из причин.)

Полученные из официального архива дистрибутива исходники гарантированно собираются. Кроме того, в них уже есть все необходимые для сборки пакета скрипты. Про тарболлы обычно нельзя сказать ни того, ни другого.

Кстати, в хороших source package можно просто запустить uupdate, и система сама скачает последний тарболл и вывалит установочные скрипты в него.

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

«apt-get build-dep alsa-driver» ничего не даёт. dpkg-buildpackage отказывается стряпать пакет из собранного тарбола (с офсайта ALSA версии 1.0.24-1). Исходные коды от выполнения «apt-get source» даже не конфигурируются, жалуясь на кернель-хедер-файлы и в особенности на пакет linux-libc-dev. Пакет из ALSA версии 1.0.24-1 нормально собирается при помощи репозиторного chekcinstall, но не устанавливается. Заставил принудительно перезаписывать - перезаписались файлы двух пакетов: «linux-libc-dev 0:2.6.32-42.95» и «linux-headers-2.6.35-28-generic».

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

dpkg-buildpackage отказывается стряпать пакет из собранного тарбола (с офсайта ALSA версии 1.0.24-1).

Логично: в нём нет директории debian/ со скриптами и настройками для сборки пакета.

Исходные коды от выполнения «apt-get source» даже не конфигурируются, жалуясь на кернель-хедер-файлы и в особенности на пакет linux-libc-dev.

А с dpkg-buildpackage?

Заставил принудительно перезаписывать - перезаписались файлы двух пакетов: «linux-libc-dev 0:2.6.32-42.95» и «linux-headers-2.6.35-28-generic».

И что, заработало?

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

По поводу «заработало» сказать ничего не могу... Ещё не перезагружался. Модуль всё так же не подгружается после сборки. Сейчас попробую собрать apt-get source при помощи dpkg-buildpackage. Будет забавно, если оно соберётся...

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

apt-get source при помощи dpkg-buildpackage

Собрался. Поставил пакет «souce», модуль НЕ загружается... Ошибки всё те же. Поставил более старое ядрышко (чтобы если чего загрузиться смог). Почапал в ребут...

zzdnx ★★ ()
Ответ на: apt-get source при помощи dpkg-buildpackage от zzdnx

Софтфон: «Не могу открыть ALSA драйвер для воспроизведения PCM: Нет такого файла или каталога»

sudo modprobe snd-dummy
FATAL: Error inserting snd (/lib/modules/2.6.35-28-generic/kernel/sound/acore/snd.ko): Unknown symbol in module, or unknown parameter (see dmesg)
WARNING: Error running install command for snd
WARNING: Error inserting snd_pcm (/lib/modules/2.6.35-28-generic/kernel/sound/acore/snd-pcm.ko): Unknown symbol in module, or unknown parameter (see dmesg)
FATAL: Error inserting snd_dummy (/lib/modules/2.6.35-28-generic/kernel/sound/drivers/snd-dummy.ko): Unknown symbol in module, or unknown parameter (see dmesg)

$ sudo dmesg | tail -n12
[   70.505024] snd: Unknown symbol unregister_sound_special (err 0)
[   70.505237] snd: Unknown symbol register_sound_special_device (err 0)
[   70.506148] snd_timer: Unknown symbol snd_info_register (err 0)
[   70.506201] snd_timer: Unknown symbol snd_info_create_module_entry (err 0)
[   70.506268] snd_timer: Unknown symbol snd_info_free_entry (err 0)
[   70.506385] snd_timer: Unknown symbol __snd_printk (err 0)
[   70.506438] snd_timer: Unknown symbol snd_iprintf (err 0)
[   70.506512] snd_timer: Unknown symbol snd_ecards_limit (err 0)
[   70.506576] snd_timer: Unknown symbol snd_oss_info_register (err 0)
[   70.506629] snd_timer: Unknown symbol snd_unregister_device (err 0)
[   70.506701] snd_timer: Unknown symbol snd_device_new (err 0)
[   70.506827] snd_timer: Unknown symbol snd_register_device_for_dev (err 0)
sudo alsaconf при этом заводит настройку 1.0.24-2 (видимо из-за того что я собирал утилиты из исходников именно этой ALSA)

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

Пичалька

После всех мытарств поставли сбор из сорца apt-get source && dpkg-buildpackage. После перезагрузкиничего не изменилось, потом пришли обновления ALSA-base и чего-то ещё из официального источника обновлений. Поставил, перезагрузил - ничего не поменялось...

zzdnx ★★ ()

> Поставил Ubuntu 10.04 (lucid 2.6.35-28-generic x86_64) на сравнительно новое железо (GenuineIntel, Intel(R) Core(TM) i3-2100 CPU @ 3.10GHz). Проблемы были сразу: не видит CD-ROM (тот самый, с которого ставилась система), не встали проприентарные дрова и плохо работает композит, но на всё это можно плевать, даже на звук, но только не тогда, когда этот самый звук становится нужен.

Обожаю Ubuntu глючный глюкодром. Если у тебя включен репозиторий с обновлениями (а не только основной, либо вообще только установочный CD), проприетарный драйвер установится из них - это баг версии 10.04.

snd-dummy - насколько я знаю, это эмулируемое устройство. А тебе нужно установить новое ядро Linux: Серверный дистрибутив LTS с относительно свежим софтом (комментарий), либо ищи в репозитории дистрибутива backports «kernel» или «linux» версии старше 2.6: 3.0 или старше.

ZenitharChampion ★★★★★ ()
Последнее исправление: ZenitharChampion (всего исправлений: 3)
Realtek® ALC 887 8-Channel High Definition Audio CODEC *1
*1: Use a chassis with HD audio module in the front panel to support an 8-channel audio output.

Может на в BIOS отключена?

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

...версии старше 2.6: 3.0 или старше.

Commit Log for Wed Aug 15 13:27:19 2012
Эти пакеты установлены:
linux-headers-3.0.0-24 (3.0.0-24.40~lucid1)
linux-headers-3.0.0-24-generic (3.0.0-24.40~lucid1)
linux-headers-generic-lts-backport-oneiric (3.0.0.24.12)
linux-image-3.0.0-24-generic (3.0.0-24.40~lucid1)
linux-image-generic-lts-backport-oneiric (3.0.0.24.12)

Итог: ALSA встала, поднялась и почти забегала (alsaconf вылетает с ошибкой как и раньше):

Настройщик ALSA версия 1.0.24.2
...
alsaconf попытается это сделать, но результат не гарантируется на все 100%.
OK
Найдена не поддерживаемая PnP или PCI карта.
Желаете проверить ISA звуковые карты/чипы?
<Да>
Поиск ISA звуковых карточек может сделать вашу систему нестабильной.
<Да>
<Ok>
ERROR: modinfo: could not find module snd-opl3sa2
ERROR: modinfo: could not find module snd-cs4236
ERROR: modinfo: could not find module snd-cs4232
ERROR: modinfo: could not find module snd-cs4231
ERROR: modinfo: could not find module snd-es18xx
ERROR: modinfo: could not find module snd-es1688
ERROR: modinfo: could not find module snd-sb16
ERROR: modinfo: could not find module snd-sb8
Однако, SND-Dummy поднялся и светится в устройствах. Это уже от части решает проблему. Попробую собрать пропатченный драйвер из сорцов apt-get source && dpkg-buildpackage. Звук из динамиков мне не очень нужен, а вот «заглушка» очень необходима...

zzdnx ★★ ()
Ответ на: ...версии старше 2.6: 3.0 или старше. от zzdnx

Понял всё (вероятно, ты скопировал скрипты для компиляции DEB-пакета в каталог с ALSA с сайта Realtek), кроме «почти забегала» (что именно изменилось после обновления ядра?) и что такое заглушка:

> Звук из динамиков мне не очень нужен, а вот «заглушка» очень необходима...

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

что именно изменилось после обновления ядра?

ALSA начала подала признаки жизни - у неё засветился Dummy в устройствах. С сайта реалтека я ничего не забирал, так как мне нужна именно «заглушка».

что такое заглушка?

Зглушка - это и есть смысл слова «dummy» в данном контексте, так как драйвер snd-dummy является фиктивной звуковой картой.

Сборка исправленного драйвера.

Всё прошло идеально и быстро. Пропатченные исходняе коды собрались и установились. Заглушка в наличии. Теперь осталось дождаться пока мне мне выпишут новый IP-телефон для тестов (а то свой я уже отдал, а забрать не могу).

В общем, отпишусь о решении проблемы как только смогу. Благодарю за оказанную помощь.

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

ALSA с сайта Realtek

За ссылку большое спасибо! Постараюсь поколдовать как следует... Я сам бы вряд-ли смог найти это. Исправление исходника для моей задачи - правка всего 1-й строки в dummy.c, так что впереди будут ещё эксперементы. Больное спасибо!

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