alsamixer / pulseaudio выбрать внутренний микрофон вместо микрофонного разъема

По моему опыту, лучший способ ускорить резервное копирование на основе rsync+hardlink - это уменьшить количество файлов.

Большое количество маленьких файлов замедляет работу rsync сильно.

Если вы можете организовать свои данные таким образом, чтобы ваши каталоги, в основном состоящие из небольших файлов и предназначенные только для чтения, были tarred up, вы должны увидеть значительное ускорение в вашем сценарии резервного копирования. (С помощью таких инструментов, как archivemount, вы сможете получить доступ к этим архивам без их извлечения).

Распараллеливание сценария резервного копирования, вероятно, не поможет или даже замедлит его (предсказуемый доступ к диску более оптимален).

4
10.03.2017, 14:44
1 ответ

Частичный ответ: Я объясню некоторую предысторию, вам все равно нужно выяснить, что идет не так.

Кодеки Intel HDA описываются как граф узлов, обозначенных шестнадцатеричными значениями. Вы можете использовать кодек для создания графа в виде файла postscript (хотя большие графы обычно нечитаемы), но вот грубое текстовое представление:

N = Node  P = Pin  M = Mixer  I = Audio In  O = Audio Out  S = Selector


I07 <- S24 <- P12* P13
I08 <- S23 <- P18* P19 P1a P1b P1d  M0b
I09 <- S22 <- P18  P19 P1a P1b P1d  M0b  P12* P13   # capture stream = 1

O02 stream=1      # Speaker Playback Volume
O03 stream=1      # Headphone Playback Volume

O06               # Digital

M0b <- P18 P19 P1a P1b P1d
M0c <- O02 M0b    # (Speaker)
M0d <- O03 M0b    # (Headphone)

P12               # Fixd Mic     Int  / Internal Mic Boost Volume
P13               # N/A  Lin Out Ext  / Amp In   # = Line In?

P14 <- M0c        # Fixd Speaker Int      / Speaker Playback
P15 <- M0c  M0d*  # Jack HP Out  Ext Left / Headphone Playback
P16 <- M0c  M0d*  # N/A  Speaker Ext Rear / Headphone Playback

P18 <- M0c* M0d   # N/A  Speaker Ext Rear / Amp I/O
P19               # N/A  Speaker Ext Rear / Dock Mic Boost Volume
P1a               # Jack Mic     Ext Left / Mic Boost Volume
P1b <- M0c* M0d   # N/A  Speaker Ext Rear / Amp I/O

P1d               # N/A  Modem   Ext
P1e <- N06        # N/A  Speaker Ext Rear / Digital

Я добавил к узлам их функции. Не все контакты на чипе кодека к чему-то подключены, поэтому просто игнорируйте их.

Просто посмотрите на запись, только узел 09 используется для захвата звука. Узел 12 - это аналого-цифровой преобразователь внутреннего микрофона, а узел 1a - это аналого-цифровой преобразователь с разъемом внешнего микрофона. В вашем дампе узел селектора 22 выбирает узел 12 для захвата, поэтому я предполагаю, что дамп был сделан без подключения наушников.

Теперь нам нужно выяснить, что меняется, когда вы подключаете гарнитуру. Сохраните кодек # 0 и вывод amixer -c0 contents в двух временных файлах, подключите гарнитуру и снова сохраните оба в двух разных временных файлах. файлы. Сравните файлы с diff -u8 и т. Д., Определите узлы и элементы управления, которые изменяются, и обновите свой вопрос.

Я предполагаю, что узел селектора 22 переключится на 1a , и, возможно, произойдут некоторые изменения звука и / или громкости. Однако я не вижу элемента управления ALSA на узле 22 , поэтому я не знаю, как на него повлиять через микшер .

Также ищите Auto-Mute Mode или что-нибудь подобное в amixer -c0 controls . Если вы что-то найдете, отключите это (попробуйте все комбинации, если их несколько) и повторите все снова. Таким образом, мы можем узнать, что пытается сделать автоматический код ALSA по умолчанию при подключении наушников, и выяснить, не влияет ли что-то еще на оборудование.

Редактировать : Если я правильно прочитал исходный код ALSA, это не драйвер ALSA, переключающий узел 0x22. Следующее предположение состоит в том, что это может быть какая-то функция Режим управления системой (SMM) в вашем ноутбуке, но это дикая догадка. (Вы можете попытаться отключить SMM при загрузке, чтобы проверить, так ли это, из любопытства, но тогда, вероятно, другие функции вашего ноутбука также перестанут работать).

В любом случае, на мой взгляд, на этом узле должен быть микшер ALSA, чтобы пользователь мог изменить настройку. Пожалуйста, обновите ядро ​​до последней доступной версии и посмотрите, не изменится ли что-нибудь. Если нет, сообщите об ошибке разработчикам ALSA, возможно, они смогут добавить «причуду» (особый случай) к драйверу для вашего ноутбука. Включите дамп кодека и как можно точнее определите свой ноутбук. lspci -nm или аналогичный также может помочь, если им нужен идентификатор подсистемы звукового устройства.

А пока вы можете использовать hda-verb для прямого переключения узла 0x22. В Debian это часть пакета alsa-utils . Как root,

hda-verb /dev/snd/hwC0D0 0x22 GET_CONNECT_SEL 0

должен показать вам выбранный индекс соединения (начиная с 0) узла 0x22. Это должно быть либо 2 , либо 6 . Если это работает, с помощью

hda-verb /dev/snd/hwC0D0 0x22 SET_CONNECT_SEL 2

вы можете переключить узел на индекс 2 (или на 6 с 6 в качестве последнего аргумента). Проверьте с помощью содержимого codec # 0 , что он работал должным образом. Это должно позволить вам использовать внутренний микрофон после подключения наушников.

2
27.01.2020, 21:02

Теги

Похожие вопросы