LINUX.ORG.RU

KVM passthrough digital microphone array

 , ,


0

1

Имею машинку ASUS ExpertBook B7 Flip (B7402FE). И в принципе полностью устраивает, но вот столкнулся с проблемкой при виртуализации (машинка поддерживает виртуализацию, в том числе проброс устройств). У машинки чудный intel SST (Intel Smart Sound Technology), вот его и хотелось подебажить под linux. Который почему-то патчем asc не разбивается/не выделяется в отдельную группу (одна проблема), ну и да ладно пробрасывается вся группа. Другая проблема при установке драйвера (intel sst) в виртуалке (windows) должны появляться устройства - digital microphone array, но не появляются (только динамики). Может кто знает в чем может быть причина….. Группа:

IOMMU Group 15:
	0000:00:1f.0 ISA bridge [0601]: Intel Corporation Tiger Lake-LP LPC Controller [8086:a082] (rev 30)
	0000:00:1f.3 Multimedia audio controller [0401]: Intel Corporation Tiger Lake-LP Smart Sound Technology Audio Controller [8086:a0c8] (rev 30)
	0000:00:1f.4 SMBus [0c05]: Intel Corporation Tiger Lake-LP SMBus Controller [8086:a0a3] (rev 30)
	0000:00:1f.5 Serial bus controller [0c80]: Intel Corporation Tiger Lake-LP SPI Controller [8086:a0a4] (rev 30)
	0000:00:1f.6 Ethernet controller [0200]: Intel Corporation Ethernet Connection (13) I219-V [8086:15fc] (rev 30)

Такое ощущение, что просто что-то не включается …. может дело в acpi которых не хватает…

INTELAUDIO\CTLR_DEV_A0C8&LINKTYPE_02&DEVTYPE_00&VEN_8086&DEV_AE20&SUBSYS_10431B02&REV_10EC\5&1E63F667&0&0000
    Name:     Hardware ID's:
        INTELAUDIO\CTLR_DEV_A0C8&LINKTYPE_02&DEVTYPE_00&VEN_8086&DEV_AE20&SUBSYS_10431B02&REV_10EC
        INTELAUDIO\CTLR_DEV_A0C8&LINKTYPE_02&DEVTYPE_00&VEN_8086&DEV_AE20&SUBSYS_10431B02
    Compatible ID's:
        INTELAUDIO\CTLR_DEV_A0C8&LINKTYPE_02&DEVTYPE_00&VEN_8086&DEV_AE20&REV_10EC
        INTELAUDIO\CTLR_DEV_A0C8&LINKTYPE_02&DEVTYPE_00&VEN_8086&DEV_AE20
        INTELAUDIO\CTLR_DEV_A0C8&LINKTYPE_02&DEVTYPE_00
INTELAUDIO\DSP_CTLR_DEV_A0C8&VEN_8086&DEV_0222&SUBSYS_1B021043&REV_0030\4&F773E4A&0&0800
    Name: Intel® Smart Sound Technology     Hardware ID's:
        INTELAUDIO\DSP_CTLR_DEV_A0C8&VEN_8086&DEV_0222&SUBSYS_1B021043&REV_0030
        INTELAUDIO\DSP_CTLR_DEV_A0C8&VEN_8086&DEV_0222&SUBSYS_1B021043
    Compatible ID's:
        INTELAUDIO\DSP_CTLR_DEV_A0C8&VEN_8086&DEV_0222&REV_0030
        INTELAUDIO\DSP_CTLR_DEV_A0C8&VEN_8086&DEV_0222
        INTELAUDIO\DSP_CTLR_DEV_A0C8&VEN_8086
        INTELAUDIO\DSP_CTLR_DEV_A0C8

SWD\DRIVERENUM\INTELLIGOAPOSVC&6&2DDC7837&0
    Name: intelliGo Audio Service Component
    Hardware ID's:
        SWC\VEN_IGO&AUDIOSERVICE
    Compatible ID's:
        SWC\Generic
        SWD\GenericRaw
        SWD\Generic

SWD\MMDEVAPI\{0.0.1.00000000}.{5D1500A1-59E2-43AE-9BF7-790B8BC1C806}
    Name:     Hardware ID's:
        MMDEVAPI\AudioEndpoints
    Compatible ID's:
        GenericAudioEndpoint
        SWD\GenericRaw
        SWD\Generic
SWD\MMDEVAPI\{0.0.0.00000000}.{FC9DE6A3-F302-41DC-9C71-CC0B3EC1A185}
    Name:     Hardware ID's:
        MMDEVAPI\AudioEndpoints
    Compatible ID's:
        GenericAudioEndpoint
        SWD\GenericRaw
        SWD\Generic

SWD\DRIVERENUM\INTELLIGOAPO&6&2DDC7837&0
    Name: intelliGo Audio Processing Object
    Hardware ID's:
        SWC\VEN_IGO&CID_APO
    Compatible ID's:
        SWC\Generic
        SWD\GenericRaw
        SWD\Generic

SWD\DRIVERENUM\DTSAPO&6&2DDC7837&0
    Name: DTS Audio Effects Component
    Hardware ID's:
        SWC\VEN_DTSI&AID_DTSI2
    Compatible ID's:
        SWC\Generic
        SWD\GenericRaw
        SWD\Generic


Последнее исправление: Bsplesk (всего исправлений: 1)

Проброс элементов из нулевого слота имеет имеет ряд ограничений, ты не можешь его перегружать (нулевой слот), поэтому оборудование, которому это нужно может работать некорректно. Это касается видях, usb контроллеров, звуковух и т.п.

Поэтому возможно ты свою проблему при текущей функциональности ПО не решишь.

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

Так ничего и не перегружаю. У меня вся группа отцеплена и висит на vfio драйвере. Все устройства из группы работают нормально, кроме аудио. Точнее цифровых микрофонов. При установке драйвера по всей видимости он что-то не видет и поэтому не создаёт цифровое виртуальное устройство - микрофоны.

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

Возможно, потому что не перегружаешь, у тебя микрофон и не виден. Ряд устройств при пробросе требуют переинициализацию, что делается через включение-выключение. Я когда-то много времени потратил пытаясь пробросить USB контроллер воткнутый в нулевой слот, не получилось, а когда переткнул в другой слот все сразу завелось, аналогичные сюрпризы были и с видяхой. Но тогда что-то было в выхлопе qemu и в логах.

Но это так, вариант, может проблема совсем в другом. Смотри логи, консоль qemu – там много опций, поработай с деревом устройств в консоли qemu.

soomrack ★★★★
()

хотя устройства для программирования выглядят как PCI, по факту внутри южного моста другая шина IOSF, поэтому всякие обращения по IOSF sideband ты никуда не пробрасываешь, они могут как требоваться, так и не требоваться, может биос всё наконфигурил, а может и нет.

Сами микрофоны могут как управляться только со звуковой карте, там кстати по-моему xtensa есть конфигурируемая, так могут и требовать чего-то от других устройств, например от GPIO.

всё это делает проброс устройств южного моста в разные виртуалки трики. Ты например LPC bridge пробросил, а он в виртуальной машине не 1f.0, а 1.02.0 девайс теперь, а драйвер пытается от туда какой регистр прочитать, чтобы версию южного моста узнать.

можешь посмотреть, что linux driver делает.

dimon555 ★★★★★
()