sound, SB, AC97 и другое

Drivers for sound cards
  • В 018 версии я по ошибке удалил код включающий EAPD, из-за этого звук не работал у Кирилла и ещё у некоторых товарищей. Нужно вернуть этот код и применить фикс CleverMouse за который ей огромное спасибо. После этого можете заливать. С беззвучным проигрыванием баг посложнее будет.
  • Я пробовала версию 018, так что у меня звука может не быть по тем же причинам.
    Сделаем мир лучше!
  • Возможно. Можешь попробовать например
    HDA tv_018a.7z (38.85 KiB)
    Downloaded 240 times
  • Полнейшая тишина.
    Spoiler:HDA test version 018 pci_dump + beeper
    detect hardware...
    Intel PCH
    PCI command 00000006
    PCI status 00000010
    lower mmio base FBC00004
    upper mmio base 00000000
    HDA snoop disabled, enabling ... OK
    codec_mask = 00000001
    create primary buffer ...done
    codec probed OK
    CAd = 0
    Setup FG nodes = start_nid:total_nodes = 1:1
    FG type = 1
    Setup FG nodes = start_nid:total_nodes = A:19
    IDT unknown codec id 00007605
    Pin Nid = D
    Pin Control = 00000040
    Pin Capabilities = 00010050
    Pin def_cfg = 90170110
    Pin Amp Out caps = 00000000
    AUD_OUT found 13
    UNMUTE OUT: NID=13
    Amp val = 7F:2
    CONNECT: NID=D
    IDX=0
    Pin Nid = B
    Pin Control = 000000C0
    Pin Capabilities = 0001001C
    Pin def_cfg = 0221101F
    Pin Amp Out caps = 00000000
    AUD_OUT found 13
    UNMUTE OUT: NID=13
    Amp val = 7F:2
    CONNECT: NID=B
    IDX=0
    val=13
    val=0
    hda_codec_setup_stream: NID=13
    stream=5
    channel=0
    format=11
    Normal mode !
    Сделаем мир лучше!
  • Ну тогда баг с беззвучным проигрыванием налицо. Кстати я там в этой версии помнится делал вывод звука через Beep widget у себя на ноутбуке HP EliteBook 8730w (на котором тоже беззвучное проигрывание) и он даже что-то там выводил через бипер.
    Закомментированный код в hda_generic.inc

    Code: Select all

    ;;Asper+: Beeper [ 
  • Сергей исправлял 017 так, что у меня звук есть. Но он как всегда скромняшка)
    Serge wrote:Если не путаю у меня версия 17D с небольшими правками
    Надо слепить правки Сержа, Мышки и версии 018 :) К сожалению, не знаю как Asper'a зовут)
    Из хаоса в космос
  • Ага сейчас читаю тему. Serge вроде фиксил обработку получения позиции в буфере, может быть добавит свой код. А вообще там проблема с глюками железа, прерывания срабатывают не тогда когда им положено (bogus interrupts etc), в ALSA с этим борются с помощью проверки счетчика в обработчике IRQ. Ну и там включена обработка асинхронных прерываний с помощью специальной очереди. Я асинхронные прерывания железу просто не разрешаю на этапе инициализации и они по идее не должны генерироваться. С этим же возможно связано отваливание жестких (вал ДМА запросов от HDA контроллера) и зависания системы в некоторых случаях. Но все это конечно только предположения, которые надо проверять.
    Все-таки что не говори, но по крайней мере в отношении HDA самое качественное железо делает AMD, чего я не могу сказать например об HP у которых железо не своё, но собирают они его как-то ...
  • Кстати патч из ALSA для своего кодека я пробовал. Не помогло против бага с беззвучным проигрыванием.
    Attachments
    Downloaded 215 times
  • > HDA tv_018+patch_analog.7z
    Вешает систему.

    > HDA tv_018a.7z
    Наилучшая версия из всех. Громкость нормальная. Fplay играет видео примерно 15 секунд, прежде чем зависнуть, в то время как 017 Сержа лишь 1 секунду.
    Attachments
    BOARDLOG.TXT (1.22 KiB)
    017+серж
    Downloaded 220 times
    BOARDLOG.TXT (1.31 KiB)
    018
    Downloaded 215 times
    Из хаоса в космос
  • Спасибо за тест. :)
    > HDA tv_018+patch_analog.7z
    Вешает систему.
    Эта версия не для всеобщего использования и её лучше не тестировать без надобности. Она под вполне конкретные кодеки от Analog Devices.
    > HDA tv_018a.7z
    Наилучшая версия из всех. Громкость нормальная. Fplay играет видео примерно 15 секунд, прежде чем зависнуть, в то время как 017 Сержа лишь 1 секунду.
    Версия Serge'а как я полагаю более правильная в части обработки positions. То, что эта версия работает на несколько секунд дольше всё равно не дело. Она должна работать как полагается.
  • Asper
    С возвращением !

    Я делал правки для Fplay. Мой H67 не записывает текущую позицию буфера в память. Почему, так и не понял и сделал чтение позиции из регистра.
    Attachments
    HDA-017-fplay.7z (30.13 KiB)
    Downloaded 221 times
    Last edited by Serge on Wed Jun 06, 2012 4:39 pm, edited 1 time in total.
  • Проблема решилась - я перевёл контроллер жёсткого диска с IDE mode в нативный ACHI и зависание исчезло. Жестяк стал работать быстрее и как часы. Аудио тоже.
    Из хаоса в космос
  • Serge

    Спасибо! :)
    Посмотрел код, заметил среди прочего, что добавил xor eax, eax в service_proc, про который я позабыл, спасибо за фикс. Есть вопросы.
    Перемаппил память под position buffer - это борьба с контроллером или необходимость?
    Serge wrote:Мой H67 не записывает текущую позицию буфера в память. Почему, так и не понял и сделал чтение позиции из регистра.
    Хм... может быть сделать чтение из регистров тогда по умолчанию?

    Code: Select all

    cmp   eax, 0x3FE0   ; bufsize
    Magic number? :)

    Leency

    Отлично, значит проблема не в HDA. Все-таки надо будет сделать нормальную работу с SATA.
  • Code: Select all

    Перемаппил память под position buffer - это борьба с контроллером или необходимость?
    Скорее всего первое, точно уже не помню. Пробовал разные способы заставить контроллер писать позицию в буфер но ничего не вышло. Так что пока лучше сделать чтение регистра.

    >>Magic number?
    Да. Попытка компенсировать опережающее прерывание. Со стороны Интел это просто безобразие - такой дизайн.
  • Who is online

    Users browsing this forum: No registered users and 13 guests