HDA - debug logs

Drivers for sound cards
  • Azalia выставь в Enabled
  • Asper wrote:Azalia выставь в Enabled
    ничего, сейчас логи приложу
    Spoiler:Image
    Spoiler:Image
  • Так, а что lspci -nn говорит?

    Надо будет сделать в драйвере принудительную установку HDA режима для таких МП как у тебя. А то я уже думал, что если такие конфигурации и есть то это большая редкость.
    Last edited by Asper on Thu Mar 13, 2014 12:27 pm, edited 1 time in total.
  • 00:1b.0 Audio device [0403]: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller [8086:1c20] (rev 04)

    Code: Select all

    00:00.0 Host bridge [0600]: Intel Corporation 2nd Generation Core Processor Family DRAM Controller [8086:0104] (rev 09)
    00:01.0 PCI bridge [0604]: Intel Corporation Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port [8086:0101] (rev 09)
    00:02.0 VGA compatible controller [0300]: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller [8086:0106] (rev 09)
    00:16.0 Communication controller [0780]: Intel Corporation 6 Series/C200 Series Chipset Family MEI Controller #1 [8086:1c3a] (rev 04)
    00:1a.0 USB controller [0c03]: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 [8086:1c2d] (rev 04)
    00:1b.0 Audio device [0403]: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller [8086:1c20] (rev 04)
    00:1c.0 PCI bridge [0604]: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1 [8086:1c10] (rev b4)
    00:1c.1 PCI bridge [0604]: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 2 [8086:1c12] (rev b4)
    00:1c.3 PCI bridge [0604]: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 4 [8086:1c16] (rev b4)
    00:1d.0 USB controller [0c03]: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 [8086:1c26] (rev 04)
    00:1f.0 ISA bridge [0601]: Intel Corporation HM65 Express Chipset Family LPC Controller [8086:1c49] (rev 04)
    00:1f.2 IDE interface [0101]: Intel Corporation 6 Series/C200 Series Chipset Family 4 port SATA IDE Controller [8086:1c01] (rev 04)
    00:1f.3 SMBus [0c05]: Intel Corporation 6 Series/C200 Series Chipset Family SMBus Controller [8086:1c22] (rev 04)
    00:1f.5 IDE interface [0101]: Intel Corporation 6 Series/C200 Series Chipset Family 2 port SATA IDE Controller [8086:1c09] (rev 04)
    01:00.0 VGA compatible controller [0300]: NVIDIA Corporation Device [10de:0ded] (rev a1)
    07:00.0 Network controller [0280]: Realtek Semiconductor Co., Ltd. RTL8188CE 802.11b/g/n WiFi Adapter [10ec:8176] (rev 01)
    08:00.0 Ethernet controller [0200]: Atheros Communications Inc. AR8151 v2.0 Gigabit Ethernet [1969:1083] (rev c0)
    

    Code: Select all

    00:1b.0 Audio device: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller (rev 04)
    00: 86 80 20 1c 06 04 10 00 04 00 03 04 10 00 00 00
    10: 04 00 a0 e3 00 00 00 00 00 00 00 00 00 00 00 00
    20: 00 00 00 00 00 00 00 00 00 00 00 00 2d 15 80 08
    30: 00 00 00 00 50 00 00 00 00 00 00 00 0b 01 00 00
    
    Надо будет сделать в драйвере принудительную установку HDA режима для таких МП как у тебя. А то я уже думал, что если такие конфигурации и есть то это большая редкость.
    Премного благодарен!!!
    Last edited by Akyltist on Thu Mar 13, 2014 12:30 pm, edited 1 time in total.
  • Вобщем ответил в предыдущем сообщении. У тебя на плате есть возможность программного переключения режимов HDA/AC'97. BIOS почему-то настраивает по умолчанию режим AC'97.
  • Имеется следующая проблема с совместным использованием одного прерывания контроллером IDE и драйвера HDA. После использования вывода звука, через некоторое время начинают сыпаться непогашенные прерывания. Я не знаю как написан обработчик прерывания для HDA, но похоже он каким то образом забывает, что сам сгенерировал прерывание или это аппартная проблема уже. Поскольку на том же прерывании висит контроллер IDE, то его обработчик начинает бесконечно вызываться и бесконечно же отвергает вызов, поскольку он не инициировал прерывание. Это приводит к полному параличу системы.

    Почему я считаю, что проблема не в коде IDE? Я сделал так - создал большой рамдиск на 600 МБ и скопировал на него видеофайл и звуковой файл. Для контроля генерации прерывания я вставил в начало обработчика IDE прерывания вывод на доску отладки. До начала вывода звука все работает штатно. Теперь внимание, следим за руками, я запускаю воспроизведение с большого рамдиска - начинают сыпаться прерывания. Поскольку это не IDE прерывания, то он их отвергает и они соответственно обрабатываются драйвером HDA. Через сколько то запросов происходит какой то глюк и драйвер HDA оставляет свой запрос прерывания не погашенным. В результате общее прерывание продолжает генерироваться, но никто его уже снять не хочет. В случае с воспроизведением с рамдиска перестает работать доступ к жесткому диску, хотя повторный запуск проигрывания с рамдиска отрабатывает нормально, но черное дело уже сделано - доступ к жесткому диску заблокирован.

    Раньше я всего этого безобразия не замечал, поскольку у меня на том же канале висел ATAPI привод и все работало в PIO режиме. Теперь же выкрутил ATAPI привод и начал усиленно тестировать DMA. На других 5 моих конфигурациях компьютеров ни один HDA кодек не висит на том же прерывании, что и контролер IDE.

    PCIDEV
    Downloaded 393 times
    Как видно из лога устройства 01018f и 040300 делят между собой прерывание 0xA или 10 (в десятичной системе).

    Если никто не захочет помочь, то подскажите хотя бы какую сторону копать?

    Если проблема общая, то такая бессмысленная генерации прерываний очень вредная деятельность, замедляющая работу системы.
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • По описанию может быть связано с той проблемой viewtopic.php?f=3&t=2511&start=45#p56645
    вначале разделы открываются, некоторые файлы тоже, но потом вдруг все прекращается. Сейчас это произошло после того, как я промотал видео пару раз. Ну там еще картинка\звук рассинхронизировались при этом, но это мелочь))) Если б раздел вообще не открывался, я бы не удивился, а там вначале открывается, а потом вдруг пропадает, значит, что-то не так))
  • Wildwest wrote:По описанию может быть связано с той проблемой viewtopic.php?f=3&t=2511&start=45#p56645
    вначале разделы открываются, некоторые файлы тоже, но потом вдруг все прекращается. Сейчас это произошло после того, как я промотал видео пару раз. Ну там еще картинка\звук рассинхронизировались при этом, но это мелочь))) Если б раздел вообще не открывался, я бы не удивился, а там вначале открывается, а потом вдруг пропадает, значит, что-то не так))
    Да, при перемотке проблема проявляется быстрее.
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • Ну тогда надо ждать Asper'a, Serge, Мышку. Как вариант - это может быть проблема конкретной звуковой платы или биоса.
  • Mario_r4
    У меня была похожая история на старой материнке. 8259 плохо работает с расшаренными прерываниями. Попробуй загрузиться в режиме APIC.
    Кстати, в обработчиках ошибка. Надо обнулять весь eax. И маскирование прерываний лишнее.

    Code: Select all

    ;--------------------------------------
    .exit:
            mov     al, 0
            ret
    
  • Serge wrote:Попробуй загрузиться в режиме APIC.
    То что в случае APIC проблема не проявляется не спасет на конфигурациях без APIC.
    Serge wrote:И маскирование прерываний лишнее.
    Оно не лишнее, по крайней мере потому, что этот обработчик может использоваться более чем одним контроллером IDE. Во всяком случае у меня была проблема с ASUS K72F
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • Serge wrote: Кстати, в обработчиках ошибка. Надо обнулять весь eax.

    Code: Select all

    ;--------------------------------------
    .exit:
            mov     al, 0
            ret
    
    Не помогло. Впрочем:
    CleverMouse wrote:В принципе ещё нужно возвращать из обработчика ненулевое значение в eax, если прерывание обработано, и нулевое, если прерывание чужое, но прямо сейчас от нарушения этого правила ничего не сломается - irq_serv.main в любом случае проходит по всей цепочке.
    Если верить логу SVN для irq.inc, то в этом плане ничего не менялось.
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • Serge wrote:Попробуй загрузиться в режиме APIC.
    Одно я не могу понять уже достаточно давно, если APIC это такая панацея, то почему он все еще не в транке то дефолту? Вернее я понимаю, что ядро его задействует, но вот переопределение прерываний не вызывается по дефолту.
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • Mario_r4 wrote:То что в случае APIC проблема не проявляется не спасет на конфигурациях без APIC.
    Если этот проблема железа, ты её так просто не решишь. Для проверки запусти Линукс с опцией noapic.
    Mario_r4 wrote: Вернее я понимаю, что ядро его задействует, но вот переопределение прерываний не вызывается по дефолту.
    Потому что мало-мало нужна поддержка ACPI.
    Если верить логу SVN для irq.inc, то в этом плане ничего не менялось.
    А когда поменяется, то кто об этом вспомнит ?
    Оно не лишнее, по крайней мере потому, что этот обработчик может использоваться более чем одним контроллером IDE
    Все обработчики выполняются с уже маскированными прерываниями. Для отладки полезно проверить флаг IF на входе и выходе из обработчика и сигнализировать если прерывания разрешены.
  • Who is online

    Users browsing this forum: No registered users and 5 guests