LINUX.ORG.RU

Отсутствие звука на iMac 18,3

 , , ,


0

1

В данный момент используется дистрибутив KDE Neon Unstable. Звук не работает абсолютно во всех дистрибутивах от Ubuntu до Gentoo. Звуковая карта Cirrus Audio CS4206 или CS4208, не выяснил какая именно. Вывод arecord -l

**** Список CAPTURE устройств ****
карта 0: PCH [HDA Intel PCH], устройство 0: Generic Analog [Generic Analog]
  Подустройства: 1/1
  Подустройство №0: subdevice #0
карта 0: PCH [HDA Intel PCH], устройство 2: Generic Alt Analog [Generic Alt Analog]
  Подустройства: 7/7
  Подустройство №0: subdevice #0
  Подустройство №1: subdevice #1
  Подустройство №2: subdevice #2
  Подустройство №3: subdevice #3
  Подустройство №4: subdevice #4
  Подустройство №5: subdevice #5
  Подустройство №6: subdevice #6

cat /proc/asound/cards

 0 [PCH            ]: HDA-Intel - HDA Intel PCH
                      HDA Intel PCH at 0x92720000 irq 58
 1 [HDMI           ]: HDA-Intel - HDA ATI HDMI
                      HDA ATI HDMI at 0x92660000 irq 59

Прошу помочь

P.S. iMac 18,3 - это iMac на 27 дюймов 2017 года выпуска

вот тебе заклинание для выяснения, какая именна у тебя звуковая карта
lspci -k | grep -iA2 audio

anonymous ()
Ответ на: комментарий от anonymous
00:1f.3 Audio device: Intel Corporation 100 Series/C230 Series Chipset Family HD Audio Controller (rev 31)
        Subsystem: Intel Corporation 100 Series/C230 Series Chipset Family HD Audio Controller
        Kernel driver in use: snd_hda_intel
        Kernel modules: snd_hda_intel
--
01:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere HDMI Audio [Radeon RX 470/480 / 570/580/590]
        Subsystem: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere HDMI Audio [Radeon RX 470/480 / 570/580/590]
        Kernel driver in use: snd_hda_intel
        Kernel modules: snd_hda_intel
ivabus ()
Ответ на: комментарий от ivabus

Здесь написано, что карта от Intel, но по настоящему она от Cirrus, ибо Apple в своём пакете драйверов для Windows давала именно драйвер для карты Cirrus и он работал

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

так-с, модуль загружен, значит, должно работать по идее
теперь погрепай немножко dmesg, может что-то полезное всплывёт
sudo dmesg | grep snd

anonymous ()
Ответ на: комментарий от anonymous
[    8.182916] snd_hda_intel 0000:01:00.1: enabling device (0000 -> 0002)
[    8.182958] snd_hda_intel 0000:01:00.1: Handle vga_switcheroo audio client
[    8.182959] snd_hda_intel 0000:01:00.1: Force to non-snoop mode
[    8.215217] snd_hda_intel 0000:01:00.1: bound 0000:01:00.0 (ops amdgpu_dm_audio_component_bind_ops [amdgpu])
[    8.246637] snd_hda_codec_generic hdaudioC0D0: autoconfig for Generic: line_outs=2 (0x24/0x25/0x0/0x0/0x0) type:speaker
[    8.246639] snd_hda_codec_generic hdaudioC0D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[    8.246640] snd_hda_codec_generic hdaudioC0D0:    hp_outs=1 (0x2c/0x0/0x0/0x0/0x0)
[    8.246640] snd_hda_codec_generic hdaudioC0D0:    mono: mono_out=0x0
[    8.246641] snd_hda_codec_generic hdaudioC0D0:    inputs:
[    8.246642] snd_hda_codec_generic hdaudioC0D0:      Internal Mic=0x45
[    8.246643] snd_hda_codec_generic hdaudioC0D0:      Mic=0x3c
ivabus ()
Ответ на: комментарий от ivabus

в общем, неполностью твоя звуковуха определяется (это видно по слову generic вместо конкретного вендора).
можно узнать pid:vid устройства и надеяться, что в гугле что-то всплывёт по ключевым словам твой_pid:твой_vid linux
здесь заклинание такое
lscpi -n | grep 00:1f.3

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

подожди, может быть тебе будет достаточно подгрузить модуль snd-hda-codec-cirrus без перекомпиляции ядра?

anonymous ()
Ответ на: комментарий от anonymous
$ sudo dmesg | tail
[   23.747582] kauditd_printk_skb: 13 callbacks suppressed
[   23.747583] audit: type=1400 audit(1604514162.323:25): apparmor="DENIED" operation="capable" profile="/usr/sbin/cups-browsed" pid=755 comm="cups-browsed" capability=23  capname="sys_nice"
[   28.080479] tg3 0000:04:00.0 enp4s0f0: Link is up at 1000 Mbps, full duplex
[   28.080480] tg3 0000:04:00.0 enp4s0f0: Flow control is on for TX and on for RX
[   28.080481] tg3 0000:04:00.0 enp4s0f0: EEE is enabled
[   28.080515] IPv6: ADDRCONF(NETDEV_CHANGE): enp4s0f0: link becomes ready
[   36.243777] Bluetooth: RFCOMM TTY layer initialized
[   36.243786] Bluetooth: RFCOMM socket layer initialized
[   36.243799] Bluetooth: RFCOMM ver 1.11
[   64.440757] systemd-journald[349]: File /var/log/journal/7d6281de84e840ea81a09aa4c39206c7/user-1000.journal corrupted or uncleanly shut down, renaming and replacing.

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

ладно, попробуй перезагрузиться и передать ядру параметр snd_hda_intel.model=imac27
потом опять смотри sudo dmesg | grep snd , появится ли вместо snd_hda_codec_generic что-нибудь получше

anonymous ()
Ответ на: комментарий от anonymous
[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-5.4.0-52-generic root=UUID=b4bee674-2170-4f49-8041-5128364b0f24 snd_hda_intel.model=imac27 ro quiet splash
[    0.128631] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-5.4.0-52-generic root=UUID=b4bee674-2170-4f49-8041-5128364b0f24 snd_hda_intel.model=imac27 ro quiet splash
[   18.677047] snd_hda_intel 0000:01:00.1: enabling device (0000 -> 0002)
[   18.677084] snd_hda_intel 0000:01:00.1: Handle vga_switcheroo audio client
[   18.677085] snd_hda_intel 0000:01:00.1: Force to non-snoop mode
[   18.758302] snd_hda_codec_generic hdaudioC0D0: autoconfig for Generic: line_outs=2 (0x24/0x25/0x0/0x0/0x0) type:speaker
[   18.758304] snd_hda_codec_generic hdaudioC0D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[   18.758305] snd_hda_codec_generic hdaudioC0D0:    hp_outs=1 (0x2c/0x0/0x0/0x0/0x0)
[   18.758306] snd_hda_codec_generic hdaudioC0D0:    mono: mono_out=0x0
[   18.758306] snd_hda_codec_generic hdaudioC0D0:    inputs:
[   18.758308] snd_hda_codec_generic hdaudioC0D0:      Internal Mic=0x45
[   18.758308] snd_hda_codec_generic hdaudioC0D0:      Mic=0x3c
[   19.366435] snd_hda_intel 0000:01:00.1: bound 0000:01:00.0 (ops amdgpu_dm_audio_component_bind_ops [amdgpu])
ivabus ()
Ответ на: комментарий от anonymous

Не пользоваться маком, если нужен Linux. Как будто друогого железа нет. Если же нужны и linux, и macos одновременно, то только виртуалка.

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

Ну так смени железо. Те, кто не хотят уходить с MacOS же не покупают Dell и Lenovo и не ставят туда macos (да, есть хакинтошники, но это у них скорее хобби без гарантированного успеха). А те, кто не хотят уходить с Android, не ставят его на айфон.

te111011010 ()

Если не заведется, то USB звук все равно лучшим считается. Просто купишь железку, которая 100% будет дружиться линуксом потому что она на USB. У меня на PCIEх1 USB чип и работает как часы. На имак денег хватило, значит и на хороший звук хватит.

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

написано, что карта от Intel, но по настоящему она от Cirrus

Ну дык собери ядро с поддержкой существующего ядра. Я не помню навскидку, есть ннекие отличия в микросхемах

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

Просто купишь железку

Но зачем? На сайрасах в маках вполне приличный звук.

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

с поддержкой существующего ядра

То есть DAC. В ядре 2.x точно помню, что Cirrus Logic поддерживались.

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

Давно в ядре есть

https://elixir.bootlin.com/linux/latest/source/sound/pci/hda/patch_cirrus.c

просто интеловский аудиоинтерфейс это какая-то срань, не могли по-человечески разделить управление и данные как у нормальных arm soc - данные по i2s, управление i2c/spi/gpio … и тд

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

миф о том, что apple каким-то боком дружелюбно к linux

А где ты видел, чтобы корпорации были дружественны к окружающему конкурентному миру? В числе прочего занимаюсь периферией (ремонт, обслуга), узнал много нового о корпорациях. Logitec, например. Да, они обещают возврат бажных девайсов, мышей, камер. Но в реальности – «а ты попробуй!»

Пусть ТС пилит яббл, должно получится. Выбросить проще простого.

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

Я не про это, я про формальную поддержку. Вот винду они поддерживают, несмотря на то, что она считается конкурентной ОС. А Linux — нет, даже препятствуют.

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

Так была обозначена задача. Cirrus однозначно получше. Правда я давненько не занимался звуком в линуксах.

Наложи патч и собери. Должно работать.

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

Там ссылка на kernel.org если что. И если не помогает смена ядра, то пофиг что там. Например для HDMI рекомендуется увеличить буфер до 2000 на штеуд_хда. А патчи это особый сок в линуксе, когда нельзя стартануть систему, включив не совсем полностью оттестированный патч. Для radeon давно есть патч чтобы поддерживалось разрешение выше 1920х1080 потому что есть ублюдошные биосы, запрещающие повышать разрешение - мол не разрабатывалось для дешевых карточек HDMI 1.4, сидите как бы на версии 10-летней давности. Arm говно кстати. Отсосали у мипсов идеи и стали на них сильно похожими. Так что лучше брать сразу мипс.

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

Наверняка хомякам из усляндии и европляндии меняют без заминок. А страны третьего мира должны доказать, что дефект был с завода. А то может грузчики почти так умело доставили. У них то гоблинам платят нормально чтобы они нормально доставляли.

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

Шинда из омереги! Офис то должен на маках крутиться без проблем. И сглаживание шриифтов они на двоих поделили патнтами и обосрали всем возможность использовать качественное сглаживание. Там дебилканутые патенты корявым образом все описывают спецом чтобы все, что отдаленно напоминает было запрещено.

anonymous ()

рановато ты пометил тему решённой - завести эту звуковуху пока что не удалось, я так понимаю

PS вот кстати аналогичный топик, и там тоже пока что глухо https://www.spinics.net/linux/fedora/alsa-user/msg14940.html

anonymous ()
5 июня 2022 г.
Ответ на: комментарий от ivabus

так а за полтора года ничего и не изменилось


1) передаёшь ядру snd_hda_intel.model=<mod_name> , смотришь sudo dmesg | grep snd, идёшь на перезагрузку
2) mod_name всё те же 9 штук - mbp53/mbp55/imac27/imac27_122/mba6/gpio0/mbp11/macmini/auto

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

стартовый пост перепиши заново, добавь туда выводы aplay, lspci, dmesg, pactl, uname, /proc и всё остально, что здесь в треде всплывало

d00fy ()
10 августа 2022 г.
Ответ на: комментарий от ivabus

Наверное решение подойдёт для любых устройств с CS8409

ivabus ()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.