LINUX.ORG.RU

HDMI отвалилось


0

1

На 2.6.38 работало, точно помню. Запускал командой `mplayer -ao alsa:device=iec958`, но сейчас звука почему-то нет. Mplayer не ругается, всё в выхлопе чисто. Зато если запустить два, то второй будет ругаться, что канал-де занят. Обновил alsa-lib и alsa-utils до 1.0.24 версии, как теперь в ядре, но всё бестолку. Меня смущает, что HDMI вывода не наличествует в `aplay -l`, но ЕМНИП его и раньше не было.

# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Intel [HDA Intel], device 0: AD198x Analog [AD198x Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: Intel [HDA Intel], device 1: AD198x Digital [AD198x Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
# aplay -L
null
    Discard all samples (playback) or generate zero samples (capture)
default:CARD=Intel
    HDA Intel, AD198x Analog
    Default Audio Device
…
iec958:CARD=Intel,DEV=0
    HDA Intel, AD198x Digital
    IEC958 (S/PDIF) Digital Audio Output
# lsmod | grep snd
snd_hda_codec_hdmi     21168  0 
snd_hda_codec_analog    75578  1 
snd_hda_intel          20699  0 
snd_hda_codec          50237  3 snd_hda_codec_hdmi,snd_hda_codec_analog,snd_hda_intel
# grep -i hdmi /usr/src/linux/.config
CONFIG_SND_HDA_CODEC_HDMI=y

А также alsa-info, там одна странность в конце. А ещё мне смутно помнится, что я как-то говорил модулю ядра при загрузке включать HDMI, но в связи с тем, что я балбес старые опции ядра были потеряны и восстанавливались по памяти и из гугла.

На арчвики упоминается, что в ядре 3.1 неполная поддержка HDMI. Это может как-то кореллировать с сабжем?

Deleted

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

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

Меня просто смущает, что патчи на 3.1 ведро и про hda-intel в гугле что-то никто не заикается с ядрами 3.0 и выше.

Deleted
()

А вот моя команда: -ao alsa:device=hw=1.3 - устройство ATi Radeon, нетбук и внешняя видеокарта, открытый и закрытый драйверы. Команду взял из SMPlayer, поменяв звуковую карту в настройках и включив файл. Только он вдруг выдал ошибку (я также настраивал VAAPI) и показал журнал со всеми параметрами, из которого я скопировал этот.

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

Поставил патчи, скомпилил модули, выгрузил старые, подгрузил новые, рестартанул альсу — звука нет.

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

Да просто в VLC и SMPlayer тебе пишут номер устройства вывода, у меня это 1.3, у тебя моет быть хоть что.

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

вроде с двумя каналами работает

cat /etc/asound.conf

pcm.!hdmi-remap {
type asym
playback.pcm {
type plug
slave.pcm "remap-surround71"
}
}

pcm.!remap-surround71 {
  type route
  slave.pcm "hw:0,3"
  ttable {
    0.0= 1
    1.1= 1
    2.4= 1
    3.5= 1
    4.2= 1
    5.3= 1
    6.6= 1
    7.7= 1
  }
}
и

cat /usr/share/alsa/cards/HDA-Intel.conf

#
# Configuration for the Intel HD audio (ICH6/ICH7)
#

<confdir:pcm/front.conf>

HDA-Intel.pcm.front.0 {
	@args [ CARD ]
	@args.CARD {
		type string
	}
	type softvol
	slave.pcm  "remap-surround71"
		
	control {
		name "PCM Playback Volume"
		card $CARD
	}
}	

# default with dmix+softvol & dsnoop
HDA-Intel.pcm.default {
	@args [ CARD ]
	@args.CARD {
		type string
	}

       type asym
        playback.pcm {
                type plug
                slave.pcm {
                        type softvol
                        slave.pcm "remap-surround71"
                        control {
                                name "PCM Playback Volume"
                                card $CARD
                        }
                }
        }

	capture.pcm {
		type plug
		slave.pcm {
			type softvol
			slave.pcm {
				@func concat
				strings [ "dsnoop:" $CARD ]
			}
			control {
				name "Digital Capture Volume"
				card $CARD
			}
			min_dB -30.0
			max_dB 30.0
			resolution 121
		}
		# to avoid possible phase inversions with digital mics
		route_policy copy
	}
	hint.device 0
}

<confdir:pcm/surround40.conf>
<confdir:pcm/surround41.conf>
<confdir:pcm/surround50.conf>
<confdir:pcm/surround51.conf>
<confdir:pcm/surround71.conf>

HDA-Intel.pcm.surround40.0 cards.HDA-Intel.pcm.front.0
HDA-Intel.pcm.surround51.0 cards.HDA-Intel.pcm.front.0
HDA-Intel.pcm.surround71.0 cards.HDA-Intel.pcm.front.0

<confdir:pcm/iec958.conf>

HDA-Intel.pcm.iec958.0 {
	@args [ CARD AES0 AES1 AES2 AES3 ]
	@args.CARD {
		type string
	}
	@args.AES0 {
		type integer
	}
	@args.AES1 {
		type integer
	}
	@args.AES2 {
		type integer
	}
	@args.AES3 {
		type integer
	}
	type asym
	playback.pcm {
		type hooks
		slave.pcm {
			type hw
			card $CARD
			device 1
		}
		hooks.0 {
			type ctl_elems
			hook_args [
			{
				name "IEC958 Playback Default"
				lock true
				preserve true
				value [ $AES0 $AES1 $AES2 $AES3 ]
			}
			{
				name "IEC958 Playback Switch"
				lock true
				preserve true
				value true
			}
			]
		}
	}
	capture.pcm {
		type hooks
		slave.pcm {
			type hw
			card $CARD
			device 1
		}
		hooks.0 {
			type ctl_elems
			hook_args [
			{
				name "IEC958 Capture Switch"
				lock true
				preserve true
				value true
			}
			]
		}
	}
	hint.device 1
}

<confdir:pcm/hdmi.conf>

HDA-Intel.pcm.hdmi.0 {
	@args [ CARD AES0 AES1 AES2 AES3 ]
	@args.CARD {
		type string
	}
	@args.AES0 {
		type integer
	}
	@args.AES1 {
		type integer
	}
	@args.AES2 {
		type integer
	}
	@args.AES3 {
		type integer
	}
	type hooks
	slave.pcm {
		type plug
		slave.pcm "remap-surround71"
	}
	hooks.0 {
		type ctl_elems
		hook_args [
		{
			name "IEC958 Playback Default"
			lock true
			preserve true
			value [ $AES0 $AES1 $AES2 $AES3 ]
		}
		{
			name "IEC958 Playback Switch"
			lock true
			preserve true
			value true
		}
		]
	}
	hint.device 3
}

<confdir:pcm/modem.conf>

HDA-Intel.pcm.modem.0 {
	@args [ CARD ]
	@args.CARD {
		type string
	}
	type hw
	card $CARD
	device 6
	hint.show off
}

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

Gentoo. Ничего не пишут, его отродясь не было. /usr/share/alsa/cards/HDA-Intel.conf

pcm.!hdmi-remap {
type asym
playback.pcm {
type plug
slave.pcm "remap-surround71"
}
}
— Это можно расписать попродоробней? Не уловил.

pcm.!remap-surround71 {
  type route
  slave.pcm "hw:0,3"
  ttable {
    0.0= 1
    1.1= 1
    2.4= 1
    3.5= 1
    4.2= 1
    5.3= 1
    6.6= 1
    7.7= 1
  }
}

А тут как я понимаю, ты перенаправляешь канал 7.1 в hdmi, так? Только почему всё приравнивается к единице?

BTW, если у тебя HDA-intel `aplay -l` показывает HDMI или нет? Хотя вообще у меня Analog Devices 198x какая-то.

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