Intel High Definition Audio/ru: Difference between revisions

From KolibriOS wiki
Jump to navigation Jump to search
m (Category)
(Controllers and codecs lists (not full))
Line 7: Line 7:


==Список контроллеров HDA==
==Список контроллеров HDA==
{| class="wikitable" border="1"
! Производитель
! Код производителя (Vendor ID)
! Контроллер
! Код устройства (Device ID)
|-
|rowspan="13" | Intel
|rowspan="13" | 0x8086
| 82801F
| 0x2668
|-
| 63XXESB
| 0x269a
|-
| 82801G
| 0x27d8
|-
| 82801H
| 0x284b
|-
| 82801_UNK1
| 0x2911
|-
| 82801I
| 0x293e
|-
| 82801_UNK2
| 0x293f
|-
| 82801JI
| 0x3a3e
|-
| 82801JD
| 0x3a6e
|-
| PCH
| 0x3b56
|-
| PCH_UNK1
| 0x3b57
|-
| SCH
| 0x811b
|-
| CPT
| 0x1c20
|-
|rowspan="22" | Nvidia
|rowspan="22" | 0x10de
| MCP51
| 0x026c
|-
| MCP55
| 0x0371
|-
| MCP61_1
| 0x03e4
|-
| MCP61_2
| 0x03f0
|-
| MCP65_1
| 0x044a
|-
| MCP65_2
| 0x044b
|-
| MCP67_1
| 0x055c
|-
| MCP67_2
| 0x055d
|-
| MCP78_1
| 0x0774
|-
| MCP78_2
| 0x0775
|-
| MCP78_3
| 0x0776
|-
| MCP78_4
| 0x0777
|-
| MCP73_1
| 0x07fc
|-
| MCP73_2
| 0x07fd
|-
| MCP79_1
| 0x0ac0
|-
| MCP79_2
| 0x0ac1
|-
| MCP79_3
| 0x0ac2
|-
| MCP79_4
| 0x0ac3
|-
| MCP89_1
| 0x0d94
|-
| MCP89_2
| 0x0d95
|-
| MCP89_3
| 0x0d96
|-
| MCP89_4
| 0x0d97
|-
|rowspan="2" | ATI
|rowspan="2" | 0x1002
| SB450
| 0x437b
|-
| SB600
| 0x4383
|-
| VIA
| 0x1106
| VT82XX
| 0x3288
|-
| SiS
| 0x1039
| 966
| 0x7502
|-
| ULI
| 0x10B9
| M5461
| 0x5461
|-
| Teradici
| 0x6549
| TERA_UNK1
| 0x1200
|-
| RDC Semiconductor
| 0x17f3
| R3010
| 0x3010
|-
|}
<!--
/* OEM/subvendors */
/* Intel */
#define INTEL_D101GGC_SUBVENDOR HDA_MODEL_CONSTRUCT(INTEL, 0xd600)
/* HP/Compaq */
#define HP_VENDORID 0x103c
#define HP_V3000_SUBVENDOR HDA_MODEL_CONSTRUCT(HP, 0x30b5)
#define HP_NX7400_SUBVENDOR HDA_MODEL_CONSTRUCT(HP, 0x30a2)
#define HP_NX6310_SUBVENDOR HDA_MODEL_CONSTRUCT(HP, 0x30aa)
#define HP_NX6325_SUBVENDOR HDA_MODEL_CONSTRUCT(HP, 0x30b0)
#define HP_XW4300_SUBVENDOR HDA_MODEL_CONSTRUCT(HP, 0x3013)
#define HP_3010_SUBVENDOR HDA_MODEL_CONSTRUCT(HP, 0x3010)
#define HP_DV5000_SUBVENDOR HDA_MODEL_CONSTRUCT(HP, 0x30a5)
#define HP_DC7700S_SUBVENDOR HDA_MODEL_CONSTRUCT(HP, 0x2801)
#define HP_DC7700_SUBVENDOR HDA_MODEL_CONSTRUCT(HP, 0x2802)
#define HP_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(HP, 0xffff)
/* What is wrong with XN 2563 anyway? (Got the picture ?) */
#define HP_NX6325_SUBVENDORX 0x103c30b0
/* Dell */
#define DELL_VENDORID 0x1028
#define DELL_D820_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x01cc)
#define DELL_D830_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x01fe)
#define DELL_V1500_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x0228)
#define DELL_I1300_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x01c9)
#define DELL_XPSM1210_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x01d7)
#define DELL_OPLX745_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x01da)
#define DELL_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0xffff)
/* Clevo */
#define CLEVO_VENDORID 0x1558
#define CLEVO_D900T_SUBVENDOR HDA_MODEL_CONSTRUCT(CLEVO, 0x0900)
#define CLEVO_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(CLEVO, 0xffff)
/* Acer */
#define ACER_VENDORID 0x1025
#define ACER_A5050_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0x010f)
#define ACER_A4520_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0x0127)
#define ACER_A4710_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0x012f)
#define ACER_3681WXM_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0x0110)
#define ACER_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0xffff)
/* Asus */
#define ASUS_VENDORID 0x1043
#define ASUS_M5200_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x1993)
#define ASUS_U5F_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x1263)
#define ASUS_A8X_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x1153)
#define ASUS_P1AH2_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x81cb)
#define ASUS_A7M_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x1323)
#define ASUS_A7T_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x13c2)
#define ASUS_W6F_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x1263)
#define ASUS_W2J_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x1971)
#define ASUS_F3JC_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x1338)
#define ASUS_M2V_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x81e7)
#define ASUS_M2N_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x8234)
#define ASUS_M2NPVMX_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x81cb)
#define ASUS_P5BWD_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x81ec)
#define ASUS_A8NVMCSM_SUBVENDOR HDA_MODEL_CONSTRUCT(NVIDIA, 0xcb84)
#define ASUS_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0xffff)
/* IBM / Lenovo */
#define IBM_VENDORID 0x1014
#define IBM_M52_SUBVENDOR HDA_MODEL_CONSTRUCT(IBM, 0x02f6)
#define IBM_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(IBM, 0xffff)
/* Lenovo */
#define LENOVO_VENDORID 0x17aa
#define LENOVO_3KN100_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x2066)
#define LENOVO_TCA55_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x1015)
#define LENOVO_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0xffff)
/* Samsung */
#define SAMSUNG_VENDORID 0x144d
#define SAMSUNG_Q1_SUBVENDOR HDA_MODEL_CONSTRUCT(SAMSUNG, 0xc027)
#define SAMSUNG_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(SAMSUNG, 0xffff)
/* Medion ? */
#define MEDION_VENDORID 0x161f
#define MEDION_MD95257_SUBVENDOR HDA_MODEL_CONSTRUCT(MEDION, 0x203d)
#define MEDION_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(MEDION, 0xffff)
/* Apple Computer Inc. */
#define APPLE_VENDORID 0x106b
#define APPLE_MB3_SUBVENDOR HDA_MODEL_CONSTRUCT(APPLE, 0x00a1)
/*
* Apple Intel MacXXXX seems using Sigmatel codec/vendor id
* instead of their own, which is beyond my comprehension
* (see HDA_CODEC_STAC9221 below).
*/
#define APPLE_INTEL_MAC 0x76808384
/* LG Electronics */
#define LG_VENDORID 0x1854
#define LG_LW20_SUBVENDOR HDA_MODEL_CONSTRUCT(LG, 0x0018)
#define LG_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(LG, 0xffff)
/* Fujitsu Siemens */
#define FS_VENDORID 0x1734
#define FS_PA1510_SUBVENDOR HDA_MODEL_CONSTRUCT(FS, 0x10b8)
#define FS_SI1848_SUBVENDOR HDA_MODEL_CONSTRUCT(FS, 0x10cd)
#define FS_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(FS, 0xffff)
/* Fujitsu Limited */
#define FL_VENDORID 0x10cf
#define FL_S7020D_SUBVENDOR HDA_MODEL_CONSTRUCT(FL, 0x1326)
#define FL_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(FL, 0xffff)
/* Toshiba */
#define TOSHIBA_VENDORID 0x1179
#define TOSHIBA_U200_SUBVENDOR HDA_MODEL_CONSTRUCT(TOSHIBA, 0x0001)
#define TOSHIBA_A135_SUBVENDOR HDA_MODEL_CONSTRUCT(TOSHIBA, 0xff01)
#define TOSHIBA_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(TOSHIBA, 0xffff)
/* Micro-Star International (MSI) */
#define MSI_VENDORID 0x1462
#define MSI_MS1034_SUBVENDOR HDA_MODEL_CONSTRUCT(MSI, 0x0349)
#define MSI_MS034A_SUBVENDOR HDA_MODEL_CONSTRUCT(MSI, 0x034a)
#define MSI_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(MSI, 0xffff)
/* Giga-Byte Technology */
#define GB_VENDORID 0x1458
#define GB_G33S2H_SUBVENDOR HDA_MODEL_CONSTRUCT(GB, 0xa022)
#define GP_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(GB, 0xffff)
/* Uniwill ? */
#define UNIWILL_VENDORID 0x1584
#define UNIWILL_9075_SUBVENDOR HDA_MODEL_CONSTRUCT(UNIWILL, 0x9075)
#define UNIWILL_9080_SUBVENDOR HDA_MODEL_CONSTRUCT(UNIWILL, 0x9080)
-->


==Список кодеков HDA==
==Список кодеков HDA==
{| class="wikitable" border="1"
! Производитель
! Код производителя (Vendor ID)
! Кодек
! Код устройства (Device ID)
|-
|rowspan="15" | Realtek
|rowspan="15" | 0x10ec
| ALC260
| 0x0260
|-
| ALC262
| 0x0262
|-
| ALC268
| 0x0268
|-
| ALC660
| 0x0660
|-
| ALC662
| 0x0662
|-
| ALC663
| 0x0663
|-
| ALC861
| 0x0861
|-
| ALC861VD
| 0x0862
|-
| ALC880
| 0x0880
|-
| ALC882
| 0x0882
|-
| ALC883
| 0x0883
|-
| ALC885
| 0x0885
|-
| ALC887
| 0x0887
|-
| ALC888
| 0x0888
|-
| ALC889
| 0x0889
|-
|rowspan="6" | Analog Devices
|rowspan="6" | 0x11d4
| AD1981HD
| 0x1981
|-
| AD1983
| 0x1983
|-
| AD1984
| 0x1984
|-
| AD1986A
| 0x1986
|-
| AD1988
| 0x1988
|-
| AD1988B
| 0x198b
|-
| CMedia
| 0x434d
| CMI9880
| 0x4980
|-
|rowspan="8" | Sigmatel
|rowspan="8" | 0x8384
| STAC9221
| 0x7680
|-
| STAC9221_A2
| 0x7682
|-
| STAC9221D
| 0x7683
|-
| STAC9220
| 0x7690
|-
| STAC922XD
| 0x7681
|-
| STAC9227
| 0x7618
|-
| STAC9271D
| 0x7627
|-
| STAC9205
| 0x76a0
|-
|rowspan="3" | Conexant
|rowspan="3" | 0x14f1
| CXVENICE
| 0x5045
|-
| CXWAIKIKI
| 0x5047
|-
| CX20561
| 0x5051
|-
|rowspan="15" | VIA
|rowspan="15" | 0x1106
| VT17085_0
| 0x0397
|-
| VT1708_8
| 0x1708
|-
| VT1708_9
| 0x1709
|-
| VT1708_A
| 0x170a
|-
| VT1708_B
| 0x170b
|-
| VT1709_0
| 0xe710
|-
| VT1709_1
| 0xe711
|-
| VT1709_2
| 0xe712
|-
| VT1709_3
| 0xe713
|-
| VT1709_4
| 0xe714
|-
| VT1709_5
| 0xe715
|-
| VT1709_6
| 0xe716
|-
| VT1709_7
| 0xe717
|-
| VT1708B_1
| 0xe721
|-
|}


==Поддержка HDA в KolibriOS==
==Поддержка HDA в KolibriOS==
В настоящее время ведётся работа над стандартным аудиодрайвером HDA для KolibriOS. Драйвер пока работает не на всех аудиокартах. Так как драйвер всё ещё разрабатывается, то данный раздел будет время от времени обновляться. Желающие помочь с тестированием драйвера могут обращаться [http://board.kolibrios.org|на форум].
В настоящее время ведётся работа над стандартным аудиодрайвером HDA для KolibriOS. Драйвер пока работает не на всех аудиокартах. Так как драйвер всё ещё разрабатывается, то данный раздел будет время от времени обновляться. Желающие помочь с тестированием драйвера могут обращаться [http://board.kolibrios.org на форум].


В данной таблице приводится список тестовых конфигураций HDA кодеков и контроллеров и работоспособность драйвера для каждой конкретной конфигурации.
В данной таблице приводится список тестовых конфигураций HDA кодеков и контроллеров и работоспособность драйвера для каждой конкретной конфигурации.
Line 121: Line 568:
Планируется:<br>
Планируется:<br>
1. Устранить все имеющиеся баги.<br>
1. Устранить все имеющиеся баги.<br>
2. Доработать вызовы SET_CHANNEL_VOLUME и SET_CHANNEL_VOLUME.<br>
2. Доработать вызовы GET_CHANNEL_VOLUME и SET_CHANNEL_VOLUME.<br>
3. Добавить обработку нового вызова DEV_GET_POS.<br>
 


==Ссылки==
==Ссылки==
1. [http://download.intel.com/standards/hdaudio/pdf/HDAudio_03.pdf|Спецификация HDA]<br>
1. [http://download.intel.com/standards/hdaudio/pdf/HDAudio_03.pdf Спецификация HDA]<br>
2. [http://www.intel.com/design/chipsets/hdaudio.htm|Страница HDA на сайте компании Intel]<br>
2. [http://www.intel.com/design/chipsets/hdaudio.htm Страница HDA на сайте компании Intel]<br>


[[Category:Аппаратное обеспечение]]
[[Category:Аппаратное обеспечение]]

Revision as of 23:33, 23 November 2010

Описание

Intel High Definition Audio (HD Audio, Azalia) - стандарт для аудиоконтроллеров и кодеков разработанный корпорацией Intel в 2004 году в качестве замены стандарта AC97. HDA имеет ряд преимуществ, что позволяет ему обеспечивать более высокое качество звука. Стандарт HDA стандартизует функции аудио контроллеров, что позволило устранить проблему стандарта AC97 связанную с тем, что для разных аудиоконтроллеров требовались разные аудиодрайвера. HDA позволяет использовать единый унифицированный драйвер для всех аудиокарт отвечающих стандарту.

Кроме этого стандарт позволяет автоматически определять подключение устройства к аудиоразъёму, а также определять тип подключённого устройства за счёт принципиально разного импенданса аудиоустройств (колонок, наушников и т.п.).

Детализация стандарта

Список контроллеров HDA

Производитель Код производителя (Vendor ID) Контроллер Код устройства (Device ID)
Intel 0x8086 82801F 0x2668
63XXESB 0x269a
82801G 0x27d8
82801H 0x284b
82801_UNK1 0x2911
82801I 0x293e
82801_UNK2 0x293f
82801JI 0x3a3e
82801JD 0x3a6e
PCH 0x3b56
PCH_UNK1 0x3b57
SCH 0x811b
CPT 0x1c20
Nvidia 0x10de MCP51 0x026c
MCP55 0x0371
MCP61_1 0x03e4
MCP61_2 0x03f0
MCP65_1 0x044a
MCP65_2 0x044b
MCP67_1 0x055c
MCP67_2 0x055d
MCP78_1 0x0774
MCP78_2 0x0775
MCP78_3 0x0776
MCP78_4 0x0777
MCP73_1 0x07fc
MCP73_2 0x07fd
MCP79_1 0x0ac0
MCP79_2 0x0ac1
MCP79_3 0x0ac2
MCP79_4 0x0ac3
MCP89_1 0x0d94
MCP89_2 0x0d95
MCP89_3 0x0d96
MCP89_4 0x0d97
ATI 0x1002 SB450 0x437b
SB600 0x4383
VIA 0x1106 VT82XX 0x3288
SiS 0x1039 966 0x7502
ULI 0x10B9 M5461 0x5461
Teradici 0x6549 TERA_UNK1 0x1200
RDC Semiconductor 0x17f3 R3010 0x3010

Список кодеков HDA

Производитель Код производителя (Vendor ID) Кодек Код устройства (Device ID)
Realtek 0x10ec ALC260 0x0260
ALC262 0x0262
ALC268 0x0268
ALC660 0x0660
ALC662 0x0662
ALC663 0x0663
ALC861 0x0861
ALC861VD 0x0862
ALC880 0x0880
ALC882 0x0882
ALC883 0x0883
ALC885 0x0885
ALC887 0x0887
ALC888 0x0888
ALC889 0x0889
Analog Devices 0x11d4 AD1981HD 0x1981
AD1983 0x1983
AD1984 0x1984
AD1986A 0x1986
AD1988 0x1988
AD1988B 0x198b
CMedia 0x434d CMI9880 0x4980
Sigmatel 0x8384 STAC9221 0x7680
STAC9221_A2 0x7682
STAC9221D 0x7683
STAC9220 0x7690
STAC922XD 0x7681
STAC9227 0x7618
STAC9271D 0x7627
STAC9205 0x76a0
Conexant 0x14f1 CXVENICE 0x5045
CXWAIKIKI 0x5047
CX20561 0x5051
VIA 0x1106 VT17085_0 0x0397
VT1708_8 0x1708
VT1708_9 0x1709
VT1708_A 0x170a
VT1708_B 0x170b
VT1709_0 0xe710
VT1709_1 0xe711
VT1709_2 0xe712
VT1709_3 0xe713
VT1709_4 0xe714
VT1709_5 0xe715
VT1709_6 0xe716
VT1709_7 0xe717
VT1708B_1 0xe721

Поддержка HDA в KolibriOS

В настоящее время ведётся работа над стандартным аудиодрайвером HDA для KolibriOS. Драйвер пока работает не на всех аудиокартах. Так как драйвер всё ещё разрабатывается, то данный раздел будет время от времени обновляться. Желающие помочь с тестированием драйвера могут обращаться на форум.

В данной таблице приводится список тестовых конфигураций HDA кодеков и контроллеров и работоспособность драйвера для каждой конкретной конфигурации.

Тестовые конфигурации

Контроллер Кодек Поддержка в KolibriOS Примечания
ATI SB600 Realtek ALC663 + Работает ASUS M51Tr
ATI SB600 Realtek ALC887 + Работает M4A78-VM
ATI SB600 Realtek ALC887 + Работает GA-MA78LMT-S2
ATI SB600 Realtek ALC888 + Работает
ATI SB600 VIA VT1708B_1 + Работает
NVidia MCP55 ? + Работает
NVidia MCP78_1 VIA VT1708B_1 + Работает (spec)
NVidia MCP78_1 NVidia MCP78 -6 Только цифровые аудио выходы
Intel 82801F Realtek ALC662 -5 Беззвучное проигрывание eeePC
Intel 82801G Analog Devices AD1986A -7 Звук нормально выводится в один канал, во второй выводится шум
Intel 82801G SigmaTel STAC9221_A2 -5 Беззвучное проигрывание
Intel 82801H Realtek ALC268 -8 Звук нормальный, но система через некоторое время виснет
Intel 82801H Realtek ALC889 -3 Выводится шум в оба канала
Intel 82801H Conexant CX20561 -5 Беззвучное проигрывание
Intel 82801I Realtek ALC883 + Работает
Intel 82801I Silicon Image SI1392 -6 Только цифровые аудио выходы
Intel 82801I Analog Devices AD198B -5 Беззвучное проигрывание ASUS P5K-E
Intel 82801I VIA VT17085_0 -5 Беззвучное проигрывание
Intel PCH Realtek ALC269 -2 Нет ответа от кодека Dell Intel i5

Планируется:
1. Устранить все имеющиеся баги.
2. Доработать вызовы GET_CHANNEL_VOLUME и SET_CHANNEL_VOLUME.


Ссылки

1. Спецификация HDA
2. Страница HDA на сайте компании Intel