Звук

Материал из Toshiba AC100 wiki
Перейти к: навигация, поиск

Звук заработал с ревизии 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 (на английском).

  1. Запустите что-нибудь на проигрывание
  2. Запустите в терминале alsamixer
  3. Общие элементы
    • уберите mute (кнопка m) у "Line" (или "Master" в последних версиях ядра)
  4. Колонки
    • уберите mute у "Speaker Mix DAC2SPK", "Int Spk", "Speaker"
    • элементу "SpeakerOut Mux" поставьте значение "[Speaker Mix]" или "[HPOut Mix]"
  5. Наушники
    • уберите mute у "Headphone", "HP Mix DACL2HP" и "HP Mix DACR2HP"
    • элементу "HP Left Mux" поставьте значение "[HPL Mix]"
    • элементу "HP Right Mux" поставьте значение "[HPR Mix]"
  6. Выходим из alsamixer нажав Esc
  7. Теперь колонки и наушники должны работать. Если заработали, то в консоли набираем 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 

Если колонки не заработали

  1. проверьте, что ядро поддерживает звук
  2. проверьте список известных проблем (см. ниже)
  3. делайте дамп настроек командой 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

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: ну ладно удачи


Доработка

Особенности допиливания звука и описание проделанной работы на отдельной странице.