Звук
Звук заработал с ревизии 87bd64d, колонки - cfe632c. В последних ривизиях 2.6.38 и 3.0.x звук должен работать нормально. В >=3.0.19 (после ревизии f08c8d2 в 3.0-exp) работает и микрофон.
Настройка
В ubuntu, начиная с версии 12.10 (если не ошибаюсь), есть конфигурационный файл для alsa ucm и настройки звука должны подхватываться автоматически. Если же вы что-то поменяли и звук перестал работать, должна помочь команда сброса настроек:
alsaucm -c tegraalc5632 reset
Для других дистрибутивов также можно использовать alsa ucm (если поддерживается дистрибутивом). Для этого нужно взять конфигурационный файл со страницы alsa ucm.
Замечание: для ядер 3.8 и новее нужно в конфиге (/usr/share/alsa/ucm/tegraalc5632/tegraalc5632.conf) поменять "hw:tegraalc5632" на "hw:PAZ00"
Подробная информация о настройке mixer'а и по использованию гарнитуры/наушников есть на вики ac100.grandou.net (на английском).
- Запустите что-нибудь на проигрывание
- Запустите в терминале alsamixer
- Общие элементы
- уберите mute (кнопка m) у "Line" (или "Master" в последних версиях ядра)
- Колонки
- уберите mute у "Speaker Mix DAC2SPK", "Int Spk", "Speaker"
- элементу "SpeakerOut Mux" поставьте значение "[Speaker Mix]" или "[HPOut Mix]"
- Наушники
- уберите mute у "Headphone", "HP Mix DACL2HP" и "HP Mix DACR2HP"
- элементу "HP Left Mux" поставьте значение "[HPL Mix]"
- элементу "HP Right Mux" поставьте значение "[HPR Mix]"
- Выходим из alsamixer нажав Esc
- Теперь колонки и наушники должны работать. Если заработали, то в консоли набираем sudo alsactl store, чтобы не потерять изменения после ребута.
Внешний микрофон
Cуществуют два TRRS стандарта:
The Nokia TRRS standard is what everything else uses, Tip = Left channel, first Ring = Right channel, second Ring = Mic/Control feed, Sleeve = Ground. The Apple TRRS standard uses, Tip = Left channel, first Ring = Right channel, second Ring = Ground, Sleeve = Mic/Control feed.
Для Toshiba AC100 подходит Apple TRRS.
Типичные проблемы
- aplay -l пишет,что не найдено ни одной звуковой карты
Не распакованы/не скопированы модули ядра. Если lsmod ничего не выдает, значит модулей нет.
- alsamixer не может открыть mixer
Не загружены модули или у пользователя нет прав на использование /dev/snd/controlC0
% ls -la /dev/snd/controlC0 crw-rw---- 1 root audio 116, 4 Mar 25 06:02 /dev/snd/controlC0 % # Allowed for read/write for root and group audio % # Add user 'username' to group 'audio' % sudo usermod -a -G audio username
Если колонки не заработали
- проверьте, что ядро поддерживает звук
- проверьте список известных проблем (см. ниже)
- делайте дамп настроек командой amixer, выкладывайте в сеть (можно на pastebin.com) и идите на канал #ac100-ru за советом.
Известные проблемы:
- исправлено в последних ревизиях. регулировка громкостью динамиков производится из секции Capture алсамиксера - регулятор Stereo DAC (на самом деле это регулировка входной громкости DAC, будет влиять на все микшеры).
- savalik: у нас в /usr/share/alsa/alsa.conf почему то есть вот такая строка - defaults.pcm.dmix.rate 48000 и некоторые программы(vlc, aplayer, moc, etc) пытаются играть именно в эти 48000 которых нам нельзя. Поменял на 44100 и вроде отлегло.
- v.vihrov (c 4pda): Для тех у кого такая же проблема VLC-player Ubuntu 11.10 + VLC при проигрывании любого фильма вместо звука идет ужасный и невыносимый шум а на заднем фоне слышно еле-еле звук фильма. Решил эту проблему так
sudo rm /usr/lib/vlc/plugins/audio_filter/liba52tofloat32_plugin.so
(можно попробовать просто этот плагин выключить)
Особенности сборки ядра
- в последних ревизиях нужно включать эвенты nvec'а (CONFIG_NVEC_EVENT=y), чтобы работали колонки.
Bluetooth audio
Взято с wiki на grandou.net
- Следуйте инструкции (анг.) до шага 9.
- Скачайте скрипт connect_headset.tar.
- Каждый раз, когда захотите подключить bluetooth наушники запустите вышеупомянутый скрипт.
- archlinux: Headset and Alsa Devices
USB audio
(Было бы супер-круто, если бы кто нибудь описал сборку модуля под рандомное устройство..и под какой нибудь usb-audio)
(0:38:14) leonro: надо проверить что в Kconfig как зависимость для usb_audio
(0:38:25) leonro: если его нет, то вам М не поможет
(0:38:41) leonro: например, для нашего кодека строчка выглядит как
(0:39:11) leonro: 26 select SND_SOC_ALC5623 if I2C
(0:39:36) leonro: так что если I2C не выставлен, то кодек не соберется
(0:39:41) leonro: так же и там
(0:40:54) leonro: ну ладно удачи
Доработка
Особенности допиливания звука и описание проделанной работы на отдельной странице.