Unknown codec for VIA VT2020

OSS specific Linux discussion (x86/amd64)

Moderators: hannu, dev, cesium

nuc
Moderator
Posts: 109
Joined: Fri Aug 03, 2012 10:20 am
Sound Card: PowerColor DEVIL HDX
OS: ArchLinux
Contact:

Unknown codec for VIA VT2020

Postby nuc » Tue Apr 15, 2014 11:56 am

Hi!
I would like to fix a long standing issue with OSS for me. From the very beginning I get the following error message at boot:

Code: Select all

oss_hdaudio: HDA codec 0x11060441 not known yet


I guess the "generic ersatz driver" doesn't work for my onboard sound card/codec.
Also the mixer is very cluttered, and appears to have lots of redundant options:
ossxmix-clutter.png

I don't experience any major issues though (or at least I don't notice).
My sound card is an onboard VIA VT2020, specific for ASUS motherboards:
VIA wrote:Q: What is the VIA VT2020, VT2021 or VT1828S audio solution? Where can I get a driver for it and why is there no information on VIA's site about it?
A: The VIA VT2020, VT2021 and VT1828S are VIA HD audio controllers that have, thus far, been sold exclusively to ASUS for their high-end motherboards.
Source: http://www.via.com.tw/en/support/tech_faq.jsp#audio


As you see the sound card is advertised as "high end". It supports high quality 24-bit/192 kHz ("Bluray Audio") sound output:
ASRock wrote:An outstanding technology developed on ASRock motherboard! It provides the excellent audio output of 24-bit/192 kHz with its respective Blu-ray DRM compatible driver/software.

see http://www.asrock.com/feature/Blu-ray/index.asp


Drivers are available on ASUS's website as they develop the drivers specifically for the way they have implemented the chip on their boards.
My motherboard is an ASRock P55 Deluxe3 (ASRock belongs to the ASUS company) -> spec sheet
All VT2020 motherboards: http://us.hardware.info/products/19/457 ... therboards

Now igorzwx has mentioned that none of the sound systems use custom drivers, but they are solely generic:
igorzwx wrote:The problem is that "oss_hdaudio" is not a real driver. It is a kind of "generic ersatz driver" http://manuals.opensound.com/usersguide ... audio.html
In general Azalia based systems (laptops/motherboards) would require a custom driver to work properly http://manuals.opensound.com/usersguide ... audio.html

Such custom drivers for HDA codecs/motherboards are not available for OSS4 and ALSA.

Source: viewtopic.php?t=5210#p19304


It appears though, that such are indeed available for ALSA:
VIA wrote:Q: Where can I get a driver for my VIA audio solution for Linux operating systems?
A: The ALSA Driver Version 1.0.25 supports the following VIA audio solutions: VT1702S / VT1705 / VT1708B/VT1708BCE/VT1708S/VT1716S/VT1718S/VT1802P/VT1812/VT1818S/ VT1828S/VT2002P/VT2020/VT2021.

It has been tested with the following Linux operating systems: Ubuntu 9.04, Ubuntu 8.10, Ubuntu 8.04, Fedora Core 8, SUSE Linux Enterprise Desktop 10, SUSE Linux Enterprise Desktop 11, Ubuntu 10.10, Ubuntu 11.04.

Source: http://www.via.com.tw/en/support/tech_faq.jsp#linux

The ALSA patch: http://mailman.alsa-project.org/piperma ... 22183.html


Some more system info:

Code: Select all

$ ossinfo -v3             
Version info: OSS 4.2 (b 2009/201404140935) (0x00040100) GPL                                                                                                 
Platform: Linux/x86_64 3.13.8-1-ARCH #1 SMP PREEMPT Tue Apr 1 12:19:51 CEST 2014 (Archer)                                                                   
                                                                                                                                                             
Number of audio devices:        9                                                                                                                           
Number of audio engines:        13                                                                                                                           
Number of MIDI devices:         0                                                                                                                           
Number of mixer devices:        2                                                                                                                           
                                                                                                                                                             
                                                                                                                                                             
Device objects                                                                                                                                               
 0: osscore0 OSS core services                                                                                                                               
 1: oss_hdaudio0 Intel HD Audio interrupts=1549417 (1549417)                                                                                                 
    HD Audio controller Intel HD Audio                                                                                                                       
    Vendor ID    0x80863b56                                                                                                                                 
    Subvendor ID 0x18492020                                                                                                                                 
     Codec  0: Unknown (0x11060441/0x18492020)                                                                                                               
 2: oss_usb0 USB audio core services                                                                                                                         
 3: usb046d0990-0 USB sound device                                                                                                                           
 4: usb046d0990-1 USB sound device                                                                                                                           
                                                                                                                                                             
MIDI devices (/dev/midi*)                                                                                                                                   
                                                                                                                                                             
Mixer devices                                                                                                                                               
 0: High Definition Audio 0x1106044 (Mixer 0 of device object 1)                                                                                             
    Device file /dev/oss/oss_hdaudio0/mix0, Legacy device /dev/mixer0                                                                                       
    Priority: 10                                                                                                                                             
    Caps:                                                                                                                                                   
    Device handle: PCI20201849-0000:00:1b.0-mx01                                                                                                             
    Device priority: 10                                                                                                                                     
                                                                                                                                                             
 1: USB sound device (Mixer 0 of device object 3)                                                                                                           
    Device file /dev/oss/usb046d0990-0/mix0, Legacy device /dev/mixer1                                                                                       
    Priority: 0                                                                                                                                             
    Caps:                                                                                                                                                   
    Device handle: USB-usb046d0990-0-mx01                                                                                                                   
    Device priority: 0                                                                                                                                       


Audio devices
HD Audio play pcm1                /dev/oss/oss_hdaudio0/pcm0  (device index 0)
    Legacy device /dev/dsp0
    Caps: DUPLEX TRIGGER MMAP
    Modes: IN/OUT
      Out engine  1: 0/HD Audio play pcm1
                     Busy (OUT) label 'VMIX'
      Engine      2: 8/HD Audio play pcm1 (vmix)
                     Busy (OUT) by PID 15412 / deadbeef-stream label 'deadbeef-stream'
      Engine      3: 9/HD Audio play pcm1 (vmix)
                     Available for use
      Engine      4: 10/HD Audio play pcm1 (vmix)
                     Available for use
      Engine      5: 11/HD Audio play pcm1 (vmix)
                     Available for use
    Input formats (0x00001010):
      AFMT_S16_LE       - 16 bit signed little endian
      AFMT_S32_LE       - 32 bit signed little endian
    Output formats (0x00001010):
      AFMT_S16_LE       - 16 bit signed little endian
      AFMT_S32_LE       - 32 bit signed little endian
    Device handle: PCI20201849-0000:00:1b.0-au01
    Related mixer dev: 0
    Sample rate source: 0
    Preferred channel configuration: Not indicated
    Supported number of channels (min - max): 2 - 8
    Native sample rates (min - max): 44100 - 192000 (44100,48000,88200,96000,192000)
    HW Type: Not indicated.
    Minimum latency: Not indicated

HD Audio play pcm2                /dev/oss/oss_hdaudio0/pcm1  (device index 1)
    Legacy device /dev/dsp1
    Caps: TRIGGER MMAP
    Modes: OUTPUT
      Out engine  1: 1/HD Audio play pcm2
                     Available for use
    Input formats (0x00001010):
      AFMT_S16_LE       - 16 bit signed little endian
      AFMT_S32_LE       - 32 bit signed little endian
    Output formats (0x00001010):
      AFMT_S16_LE       - 16 bit signed little endian
      AFMT_S32_LE       - 32 bit signed little endian
    Device handle: PCI20201849-0000:00:1b.0-au02
    Related mixer dev: 0
    Sample rate source: 0
    Preferred channel configuration: Not indicated
    Supported number of channels (min - max): 2 - 2
    Native sample rates (min - max): 44100 - 192000 (44100,48000,88200,96000,192000)
    HW Type: Not indicated.
    Minimum latency: Not indicated

HD Audio play pcm3                /dev/oss/oss_hdaudio0/pcm2  (device index 2)
    Legacy device /dev/dsp2
    Caps: TRIGGER MMAP
    Modes: OUTPUT
      Out engine  1: 2/HD Audio play pcm3
                     Available for use
    Input formats (0x00001010):
      AFMT_S16_LE       - 16 bit signed little endian
      AFMT_S32_LE       - 32 bit signed little endian
    Output formats (0x00001010):
      AFMT_S16_LE       - 16 bit signed little endian
      AFMT_S32_LE       - 32 bit signed little endian
    Device handle: PCI20201849-0000:00:1b.0-au03
    Related mixer dev: 0
    Sample rate source: 0
    Preferred channel configuration: Not indicated
    Supported number of channels (min - max): 2 - 2
    Native sample rates (min - max): 44100 - 192000 (44100,48000,88200,96000,192000)
    HW Type: Not indicated.
    Minimum latency: Not indicated

HD Audio play pcm4                /dev/oss/oss_hdaudio0/pcm3  (device index 3)
    Legacy device /dev/dsp3
    Caps: TRIGGER MMAP
    Modes: OUTPUT
      Out engine  1: 3/HD Audio play pcm4
                     Available for use
    Input formats (0x00001010):
      AFMT_S16_LE       - 16 bit signed little endian
      AFMT_S32_LE       - 32 bit signed little endian
    Output formats (0x00001010):
      AFMT_S16_LE       - 16 bit signed little endian
      AFMT_S32_LE       - 32 bit signed little endian
    Device handle: PCI20201849-0000:00:1b.0-au04
    Related mixer dev: 0
    Sample rate source: 0
    Preferred channel configuration: Not indicated
    Supported number of channels (min - max): 2 - 2
    Native sample rates (min - max): 44100 - 192000 (44100,48000,88200,96000,192000)
    HW Type: Not indicated.
    Minimum latency: Not indicated

HD Audio play pcm5                /dev/oss/oss_hdaudio0/pcm4  (device index 4)
    Legacy device /dev/dsp4
    Caps: TRIGGER MMAP
    Modes: OUTPUT
      Out engine  1: 4/HD Audio play pcm5
                     Available for use
    Input formats (0x00001010):
      AFMT_S16_LE       - 16 bit signed little endian
      AFMT_S32_LE       - 32 bit signed little endian
    Output formats (0x00001010):
      AFMT_S16_LE       - 16 bit signed little endian
      AFMT_S32_LE       - 32 bit signed little endian
    Device handle: PCI20201849-0000:00:1b.0-au05
    Related mixer dev: 0
    Sample rate source: 0
    Preferred channel configuration: Not indicated
    Supported number of channels (min - max): 2 - 2
    Native sample rates (min - max): 44100 - 192000 (44100,48000,88200,96000,192000)
    HW Type: Not indicated.
    Minimum latency: Not indicated

HD Audio play spdifout            /dev/oss/oss_hdaudio0/spdout0  (device index 5)
    Legacy device /dev/dsp5
    Caps: TRIGGER MMAP
    Modes: OUTPUT
      Out engine  1: 5/HD Audio play spdifout
                     Available for use
    Input formats (0x00001410):
      AFMT_S16_LE       - 16 bit signed little endian
      AFMT_AC3          - AC3 (Dolby Digital) encoded audio
      AFMT_S32_LE       - 32 bit signed little endian
    Output formats (0x00001410):
      AFMT_S16_LE       - 16 bit signed little endian
      AFMT_AC3          - AC3 (Dolby Digital) encoded audio
      AFMT_S32_LE       - 32 bit signed little endian
    Device handle: PCI20201849-0000:00:1b.0-au06
    Related mixer dev: 0
    Sample rate source: 0
    Preferred channel configuration: Not indicated
    Supported number of channels (min - max): 2 - 2
    Native sample rates (min - max): 44100 - 192000 (44100,48000,88200,96000,192000)
    HW Type: Not indicated.
    Minimum latency: Not indicated

HD Audio rec select1              /dev/oss/oss_hdaudio0/pcmin0  (device index 6)
    Legacy device /dev/dsp6
    Caps: DUPLEX TRIGGER MMAP
    Modes: IN/OUT
      In engine   1: 6/HD Audio rec select1
                     Busy (IN) label 'VMIX_IN'
      Engine      2: 8/HD Audio play pcm1 (vmix)
                     Busy (OUT) by PID 15412 / deadbeef-stream label 'deadbeef-stream'
      Engine      3: 9/HD Audio play pcm1 (vmix)
                     Available for use
      Engine      4: 10/HD Audio play pcm1 (vmix)
                     Available for use
      Engine      5: 11/HD Audio play pcm1 (vmix)
                     Available for use
    Input formats (0x00001010):
      AFMT_S16_LE       - 16 bit signed little endian
      AFMT_S32_LE       - 32 bit signed little endian
    Output formats (0x00001010):
      AFMT_S16_LE       - 16 bit signed little endian
      AFMT_S32_LE       - 32 bit signed little endian
    Device handle: PCI20201849-0000:00:1b.0-au07
    Related mixer dev: 0
    Sample rate source: 0
    Preferred channel configuration: Not indicated
    Supported number of channels (min - max): 2 - 2
    Native sample rates (min - max): 44100 - 192000 (44100,48000,96000,192000)
    HW Type: Not indicated.
    Minimum latency: Not indicated

HD Audio rec select2              /dev/oss/oss_hdaudio0/pcmin1  (device index 7)
    Legacy device /dev/dsp7
    Caps: TRIGGER MMAP
    Modes: INPUT 
      In engine   1: 7/HD Audio rec select2
                     Available for use
    Input formats (0x00001010):
      AFMT_S16_LE       - 16 bit signed little endian
      AFMT_S32_LE       - 32 bit signed little endian
    Output formats (0x00001010):
      AFMT_S16_LE       - 16 bit signed little endian
      AFMT_S32_LE       - 32 bit signed little endian
    Device handle: PCI20201849-0000:00:1b.0-au08
    Related mixer dev: 0
    Sample rate source: 0
    Preferred channel configuration: Not indicated
    Supported number of channels (min - max): 2 - 2
    Native sample rates (min - max): 44100 - 192000 (44100,48000,96000,192000)
    HW Type: Not indicated.
    Minimum latency: Not indicated

USB sound device rec              /dev/oss/usb046d0990-1/pcmin0  (device index 8)
    Legacy device /dev/dsp8
    Caps: TRIGGER MMAP
    Modes: INPUT 
      In engine   1: 12/USB sound device rec
                     Available for use
    Input formats (0x00000010):
      AFMT_S16_LE       - 16 bit signed little endian
    Output formats (0x00000010):
      AFMT_S16_LE       - 16 bit signed little endian
    Device handle: USB-usb046d0990-1-au01
    Related mixer dev: 1
    Sample rate source: 12
    Preferred channel configuration: MONO
    Supported number of channels (min - max): 1 - 1
    Native sample rates (min - max): 16000 - 16000 (16000)
    HW Type: Not indicated.
    Minimum latency: Not indicated


Nodes
  /dev/dsp -> /dev/oss/oss_hdaudio0/pcm0
  /dev/dsp_in -> /dev/oss/oss_hdaudio0/pcm0
  /dev/dsp_out -> /dev/oss/oss_hdaudio0/pcm0
  /dev/dsp_ac3 -> /dev/oss/oss_hdaudio0/spdout0
  /dev/dsp_mmap -> /dev/oss/oss_hdaudio0/pcm0
  /dev/dsp_multich -> /dev/oss/oss_hdaudio0/pcm0

Code: Select all

$ ossmix -a           
Selected mixer 0/High Definition Audio 0x11060441
Known controls are:
jack.green.mute ON|OFF (currently OFF)
jack.green.pcm1 [<leftvol>:<rightvol>] (currently 62.9:62.9 dB)
jack.green.pcm1-mute ON|OFF (currently OFF)
jack.green.mix6-mute ON|OFF (currently OFF)
jack.black.mute ON|OFF (currently OFF)
jack.black.pcm2 [<leftvol>:<rightvol>] (currently 62.9:62.9 dB)
jack.black.pcm2-mute ON|OFF (currently OFF)
jack.black.mix6-mute ON|OFF (currently OFF)
jack.orange.mute ON|OFF (currently OFF)
jack.orange.pcm3 [<leftvol>:<rightvol>] (currently 62.9:62.9 dB)
jack.gray.mute ON|OFF (currently OFF)
jack.gray.pcm4 [<leftvol>:<rightvol>] (currently 62.9:62.9 dB)
jack.gray.pcm4-mute ON|OFF (currently OFF)
jack.gray.mix6-mute ON|OFF (currently OFF)
jack.fp-green.mode <mix4|input> (currently mix4)
jack.fp-green.mute ON|OFF (currently OFF)
jack.fp-green.select3 <pcm1|pcm4|pcm5> (currently pcm1)
jack.fp-green.select3-mute ON|OFF (currently OFF)
jack.fp-green.mix6-mute ON|OFF (currently OFF)
jack.fp-pink.mode <mix5|input> (currently input)
jack.fp-pink.mute ON|OFF (currently OFF)
jack.fp-pink.select4 <pcm1|pcm4|pcm5> (currently pcm1)
jack.fp-pink.select4-mute ON|OFF (currently OFF)
jack.fp-pink.mix6-mute ON|OFF (currently OFF)
jack.blue.mode <pcm2|pcm5|input> (currently input)
jack.blue.mute ON|OFF (currently OFF)
jack.pink.mode <pcm3|pcm5|input> (currently pcm3)
jack.pink.mute ON|OFF (currently OFF)
record.select1.select1 <int-cd|mic|linein|mix5|mix6> (currently mic)
record.select1 [<leftvol>:<rightvol>] (currently 46.4:46.4 dB)
record.select2.select2 <int-cd|mic|linein|mix5|mix6> (currently mic)
record.select2 [<leftvol>:<rightvol>] (currently 46.4:46.4 dB)
misc.pcm5 [<leftvol>:<rightvol>] (currently 62.9:62.9 dB)
misc.int-cd [<leftvol>:<rightvol>] (currently 46.4:46.4 dB)
misc.mic [<leftvol>:<rightvol>] (currently 46.4:46.4 dB)
misc.linein [<leftvol>:<rightvol>] (currently 46.4:46.4 dB)
misc.mix5 [<leftvol>:<rightvol>] (currently 46.4:46.4 dB)
misc.mix4 [<leftvol>:<rightvol>] (currently 46.4:46.4 dB)
misc.mix6 <int-cd|mic|linein|mix5> (currently int-cd)
misc.beep <monovol> (currently 22.4 dB)
vmix0-enable ON|OFF (currently ON)
vmix0-rate <decimal value> (currently 48000) (Read-only)
vmix0-channels <Stereo|Multich> (currently Stereo)
vmix0-src <Fast|High|OFF> (currently High)
vmix0-outvol <monovol> (currently 15.0 dB)
vmix0-invol <monovol> (currently 25.0 dB)
vmix0.pcm8 [<leftvol>:<rightvol>] (currently 25.0:25.0 dB)
vmix0.pcm9 [<leftvol>:<rightvol>] (currently 25.0:25.0 dB)
vmix0.pcm10 [<leftvol>:<rightvol>] (currently 25.0:25.0 dB)
vmix0.pcm11 [<leftvol>:<rightvol>] (currently 25.0:25.0 dB)

Code: Select all

$ lspci -vnn
00:00.0 Host bridge [0600]: Intel Corporation Core Processor DMI [8086:d131] (rev 11)
        Subsystem: ASRock Incorporation Device [1849:d131]
        Flags: fast devsel
        Capabilities: <access denied>

00:03.0 PCI bridge [0604]: Intel Corporation Core Processor PCI Express Root Port 1 [8086:d138] (rev 11) (prog-if 00 [Normal decode])
        Flags: bus master, fast devsel, latency 0
        Bus: primary=00, secondary=0b, subordinate=0b, sec-latency=0
        I/O behind bridge: 0000e000-0000efff
        Memory behind bridge: fbf00000-fbffffff
        Prefetchable memory behind bridge: 00000000cf800000-00000000dfffffff
        Capabilities: <access denied>
        Kernel driver in use: pcieport
        Kernel modules: shpchp

00:08.0 System peripheral [0880]: Intel Corporation Core Processor System Management Registers [8086:d155] (rev 11)
        Flags: fast devsel
        Capabilities: <access denied>

00:08.1 System peripheral [0880]: Intel Corporation Core Processor Semaphore and Scratchpad Registers [8086:d156] (rev 11)
        Flags: fast devsel
        Capabilities: <access denied>

00:08.2 System peripheral [0880]: Intel Corporation Core Processor System Control and Status Registers [8086:d157] (rev 11)
        Flags: fast devsel
        Capabilities: <access denied>

00:08.3 System peripheral [0880]: Intel Corporation Core Processor Miscellaneous Registers [8086:d158] (rev 11)
        Flags: fast devsel

00:10.0 System peripheral [0880]: Intel Corporation Core Processor QPI Link [8086:d150] (rev 11)
        Flags: fast devsel

00:10.1 System peripheral [0880]: Intel Corporation Core Processor QPI Routing and Protocol Registers [8086:d151] (rev 11)
        Flags: fast devsel

00:1a.0 USB controller [0c03]: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller [8086:3b3c] (rev 06) (prog-if 20 [EHCI])
        Subsystem: ASRock Incorporation Device [1849:3b3c]
        Flags: bus master, medium devsel, latency 0, IRQ 16
        Memory at fb9fc000 (32-bit, non-prefetchable) [size=1K]
        Capabilities: <access denied>
        Kernel driver in use: ehci-pci
        Kernel modules: ehci_pci

00:1b.0 Audio device [0403]: Intel Corporation 5 Series/3400 Series Chipset High Definition Audio [8086:3b56] (rev 06)
        Subsystem: ASRock Incorporation Device [1849:2020]
        Flags: bus master, fast devsel, latency 0, IRQ 22
        Memory at fb9f8000 (64-bit, non-prefetchable) [size=16K]
        Capabilities: <access denied>
        Kernel driver in use: oss_hdaudio
        Kernel modules: snd_hda_intel

00:1c.0 PCI bridge [0604]: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 1 [8086:3b42] (rev 06) (prog-if 00 [Normal decode])
        Flags: bus master, fast devsel, latency 0
        Bus: primary=00, secondary=03, subordinate=08, sec-latency=0
        I/O behind bridge: 0000c000-0000dfff
        Memory behind bridge: fbc00000-fbefffff
        Prefetchable memory behind bridge: 00000000cf400000-00000000cf5fffff
        Capabilities: <access denied>
        Kernel driver in use: pcieport
        Kernel modules: shpchp

00:1c.4 PCI bridge [0604]: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 5 [8086:3b4a] (rev 06) (prog-if 00 [Normal decode])
        Flags: bus master, fast devsel, latency 0
        Bus: primary=00, secondary=09, subordinate=09, sec-latency=0
        I/O behind bridge: 00001000-00001fff
        Memory behind bridge: cc000000-cc3fffff
        Prefetchable memory behind bridge: 00000000cf600000-00000000cf6fffff
        Capabilities: <access denied>
        Kernel driver in use: pcieport
        Kernel modules: shpchp

00:1c.5 PCI bridge [0604]: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 6 [8086:3b4c] (rev 06) (prog-if 00 [Normal decode])
        Flags: bus master, fast devsel, latency 0
        Bus: primary=00, secondary=02, subordinate=02, sec-latency=0
        I/O behind bridge: 0000b000-0000bfff
        Memory behind bridge: fbb00000-fbbfffff
        Prefetchable memory behind bridge: 00000000cf300000-00000000cf3fffff
        Capabilities: <access denied>
        Kernel driver in use: pcieport
        Kernel modules: shpchp

00:1c.6 PCI bridge [0604]: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 7 [8086:3b4e] (rev 06) (prog-if 00 [Normal decode])
        Flags: bus master, fast devsel, latency 0
        Bus: primary=00, secondary=0a, subordinate=0a, sec-latency=0
        I/O behind bridge: 00002000-00002fff
        Memory behind bridge: cc400000-cc7fffff
        Prefetchable memory behind bridge: 00000000cf700000-00000000cf7fffff
        Capabilities: <access denied>
        Kernel driver in use: pcieport
        Kernel modules: shpchp

00:1c.7 PCI bridge [0604]: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 8 [8086:3b50] (rev 06) (prog-if 00 [Normal decode])
        Flags: bus master, fast devsel, latency 0
        Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
        I/O behind bridge: 0000a000-0000afff
        Memory behind bridge: fba00000-fbafffff
        Capabilities: <access denied>
        Kernel driver in use: pcieport
        Kernel modules: shpchp

00:1d.0 USB controller [0c03]: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller [8086:3b34] (rev 06) (prog-if 20 [EHCI])
        Subsystem: ASRock Incorporation Device [1849:3b34]
        Flags: bus master, medium devsel, latency 0, IRQ 23
        Memory at fb9f6000 (32-bit, non-prefetchable) [size=1K]
        Capabilities: <access denied>
        Kernel driver in use: ehci-pci
        Kernel modules: ehci_pci

00:1e.0 PCI bridge [0604]: Intel Corporation 82801 PCI Bridge [8086:244e] (rev a6) (prog-if 01 [Subtractive decode])
        Flags: bus master, fast devsel, latency 0
        Bus: primary=00, secondary=0c, subordinate=0c, sec-latency=32
        Capabilities: <access denied>

00:1f.0 ISA bridge [0601]: Intel Corporation 5 Series Chipset LPC Interface Controller [8086:3b02] (rev 06)
        Subsystem: ASRock Incorporation Device [1849:3b02]
        Flags: bus master, medium devsel, latency 0
        Capabilities: <access denied>
        Kernel driver in use: lpc_ich
        Kernel modules: lpc_ich

00:1f.2 SATA controller [0106]: Intel Corporation 5 Series/3400 Series Chipset 6 port SATA AHCI Controller [8086:3b22] (rev 06) (prog-if 01 [AHCI 1.0])
        Subsystem: ASRock Incorporation Device [1849:3b20]
        Flags: bus master, 66MHz, medium devsel, latency 0, IRQ 55
        I/O ports at 9880 [size=8]
        I/O ports at 9800 [size=4]
        I/O ports at 9480 [size=8]
        I/O ports at 9400 [size=4]
        I/O ports at 9080 [size=32]
        Memory at fb9f4000 (32-bit, non-prefetchable) [size=2K]
        Capabilities: <access denied>
        Kernel driver in use: ahci
        Kernel modules: ahci

00:1f.3 SMBus [0c05]: Intel Corporation 5 Series/3400 Series Chipset SMBus Controller [8086:3b30] (rev 06)
        Subsystem: ASRock Incorporation Device [1849:3b30]
        Flags: medium devsel, IRQ 18
        Memory at fb9ff800 (64-bit, non-prefetchable) [size=256]
        I/O ports at 0400 [size=32]
        Kernel driver in use: i801_smbus
        Kernel modules: i2c_i801

01:00.0 FireWire (IEEE 1394) [0c00]: VIA Technologies, Inc. VT6315 Series Firewire Controller [1106:3403] (prog-if 10 [OHCI])
        Subsystem: ASRock Incorporation Device [1849:3403]
        Flags: bus master, fast devsel, latency 0, IRQ 19
        Memory at fbaff800 (64-bit, non-prefetchable) [size=2K]
        I/O ports at a800 [size=256]
        Capabilities: <access denied>
        Kernel driver in use: firewire_ohci
        Kernel modules: firewire_ohci

02:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 03)
        Subsystem: ASRock Incorporation Motherboard (one of many) [1849:8168]
        Flags: bus master, fast devsel, latency 0, IRQ 57
        I/O ports at b800 [size=256]
        Memory at cf3ff000 (64-bit, prefetchable) [size=4K]
        Memory at cf3f8000 (64-bit, prefetchable) [size=16K]
        Expansion ROM at fbbe0000 [disabled] [size=128K]
        Capabilities: <access denied>
        Kernel driver in use: r8169
        Kernel modules: r8169

03:00.0 PCI bridge [0604]: PLX Technology, Inc. PEX 8608 8-lane, 8-Port PCI Express Gen 2 (5.0 GT/s) Switch [10b5:8608] (rev ba) (prog-if 00 [Normal decode])
        Flags: bus master, fast devsel, latency 0
        Memory at fbce0000 (32-bit, non-prefetchable) [size=128K]
        Bus: primary=03, secondary=04, subordinate=08, sec-latency=0
        I/O behind bridge: 0000c000-0000dfff
        Memory behind bridge: fbd00000-fbefffff
        Prefetchable memory behind bridge: 00000000cf400000-00000000cf5fffff
        Capabilities: <access denied>
        Kernel driver in use: pcieport
        Kernel modules: shpchp

04:01.0 PCI bridge [0604]: PLX Technology, Inc. PEX 8608 8-lane, 8-Port PCI Express Gen 2 (5.0 GT/s) Switch [10b5:8608] (rev ba) (prog-if 00 [Normal decode])
        Flags: bus master, fast devsel, latency 0
        Bus: primary=04, secondary=08, subordinate=08, sec-latency=0
        I/O behind bridge: 0000c000-0000dfff
        Memory behind bridge: fbe00000-fbefffff
        Capabilities: <access denied>
        Kernel driver in use: pcieport
        Kernel modules: shpchp

04:05.0 PCI bridge [0604]: PLX Technology, Inc. PEX 8608 8-lane, 8-Port PCI Express Gen 2 (5.0 GT/s) Switch [10b5:8608] (rev ba) (prog-if 00 [Normal decode])
        Flags: bus master, fast devsel, latency 0
        Bus: primary=04, secondary=05, subordinate=05, sec-latency=0
        Memory behind bridge: fbd00000-fbdfffff
        Capabilities: <access denied>
        Kernel driver in use: pcieport
        Kernel modules: shpchp

04:07.0 PCI bridge [0604]: PLX Technology, Inc. PEX 8608 8-lane, 8-Port PCI Express Gen 2 (5.0 GT/s) Switch [10b5:8608] (rev ba) (prog-if 00 [Normal decode])
        Flags: bus master, fast devsel, latency 0
        Bus: primary=04, secondary=06, subordinate=06, sec-latency=0
        Prefetchable memory behind bridge: 00000000cf400000-00000000cf4fffff
        Capabilities: <access denied>
        Kernel driver in use: pcieport
        Kernel modules: shpchp

04:09.0 PCI bridge [0604]: PLX Technology, Inc. PEX 8608 8-lane, 8-Port PCI Express Gen 2 (5.0 GT/s) Switch [10b5:8608] (rev ba) (prog-if 00 [Normal decode])
        Flags: bus master, fast devsel, latency 0
        Bus: primary=04, secondary=07, subordinate=07, sec-latency=0
        Prefetchable memory behind bridge: 00000000cf500000-00000000cf5fffff
        Capabilities: <access denied>
        Kernel driver in use: pcieport
        Kernel modules: shpchp

05:00.0 USB controller [0c03]: NEC Corporation uPD720200 USB 3.0 Host Controller [1033:0194] (rev 03) (prog-if 30 [XHCI])
        Subsystem: NEC Corporation uPD720200 USB 3.0 Host Controller [1033:0194]
        Flags: bus master, fast devsel, latency 0, IRQ 17
        Memory at fbdfe000 (64-bit, non-prefetchable) [size=8K]
        Capabilities: <access denied>
        Kernel driver in use: xhci_hcd
        Kernel modules: xhci_hcd

08:00.0 IDE interface [0101]: Marvell Technology Group Ltd. Device [1b4b:91a3] (rev 11) (prog-if 8f [Master SecP SecO PriP PriO])
        Subsystem: ASRock Incorporation Device [1849:91a3]
        Flags: bus master, fast devsel, latency 0, IRQ 56
        I/O ports at dc00 [size=8]
        I/O ports at d880 [size=4]
        I/O ports at d800 [size=8]
        I/O ports at d480 [size=4]
        I/O ports at d400 [size=16]
        Memory at fbeff800 (32-bit, non-prefetchable) [size=2K]
        [virtual] Expansion ROM at fbe00000 [disabled] [size=64K]
        Capabilities: <access denied>
        Kernel driver in use: ahci
        Kernel modules: ahci, pata_acpi, ata_generic

08:00.1 IDE interface [0101]: Marvell Technology Group Ltd. 88SE912x IDE Controller [1b4b:91a4] (rev 11) (prog-if 8f [Master SecP SecO PriP PriO])
        Subsystem: ASRock Incorporation Device [1849:91a4]
        Flags: bus master, fast devsel, latency 0, IRQ 18
        I/O ports at d080 [size=8]
        I/O ports at d000 [size=4]
        I/O ports at cc00 [size=8]
        I/O ports at c880 [size=4]
        I/O ports at c800 [size=16]
        Memory at fbeff400 (32-bit, non-prefetchable) [size=16]
        [virtual] Expansion ROM at fbe10000 [disabled] [size=64K]
        Capabilities: <access denied>
        Kernel driver in use: pata_marvell
        Kernel modules: pata_marvell, pata_acpi, ata_generic

0b:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Bonaire [1002:6658] (prog-if 00 [VGA controller])
        Subsystem: Micro-Star International Co., Ltd. Device [1462:2935]
        Flags: bus master, fast devsel, latency 0, IRQ 58
        Memory at d0000000 (64-bit, prefetchable) [size=256M]
        Memory at cf800000 (64-bit, prefetchable) [size=8M]
        I/O ports at e000 [size=256]
        Memory at fbfc0000 (32-bit, non-prefetchable) [size=256K]
        Expansion ROM at fbfa0000 [disabled] [size=128K]
        Capabilities: <access denied>
        Kernel driver in use: radeon
        Kernel modules: radeon

0b:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Device [1002:aac0]
        Subsystem: Micro-Star International Co., Ltd. Device [1462:aac0]
        Flags: bus master, fast devsel, latency 0, IRQ 5
        Memory at fbf9c000 (64-bit, non-prefetchable) [size=16K]
        Capabilities: <access denied>
        Kernel modules: snd_hda_intel

ff:00.0 Host bridge [0600]: Intel Corporation Core Processor QuickPath Architecture Generic Non-Core Registers [8086:2c51] (rev 04)
        Subsystem: ASRock Incorporation Device [1849:2c51]
        Flags: bus master, fast devsel, latency 0

ff:00.1 Host bridge [0600]: Intel Corporation Core Processor QuickPath Architecture System Address Decoder [8086:2c81] (rev 04)
        Subsystem: ASRock Incorporation Device [1849:2c51]
        Flags: bus master, fast devsel, latency 0

ff:02.0 Host bridge [0600]: Intel Corporation Core Processor QPI Link 0 [8086:2c90] (rev 04)
        Subsystem: ASRock Incorporation Device [1849:2c51]
        Flags: bus master, fast devsel, latency 0
        Kernel driver in use: i7core_edac
        Kernel modules: i7core_edac

ff:02.1 Host bridge [0600]: Intel Corporation Core Processor QPI Physical 0 [8086:2c91] (rev 04)
        Subsystem: ASRock Incorporation Device [1849:2c51]
        Flags: bus master, fast devsel, latency 0

ff:03.0 Host bridge [0600]: Intel Corporation Core Processor Integrated Memory Controller [8086:2c98] (rev 04)
        Subsystem: ASRock Incorporation Device [1849:2c51]
        Flags: bus master, fast devsel, latency 0

ff:03.1 Host bridge [0600]: Intel Corporation Core Processor Integrated Memory Controller Target Address Decoder [8086:2c99] (rev 04)
        Subsystem: ASRock Incorporation Device [1849:2c51]
        Flags: bus master, fast devsel, latency 0

ff:03.4 Host bridge [0600]: Intel Corporation Core Processor Integrated Memory Controller Test Registers [8086:2c9c] (rev 04)
        Subsystem: ASRock Incorporation Device [1849:2c51]
        Flags: bus master, fast devsel, latency 0

ff:04.0 Host bridge [0600]: Intel Corporation Core Processor Integrated Memory Controller Channel 0 Control Registers [8086:2ca0] (rev 04)
        Subsystem: ASRock Incorporation Device [1849:2c51]
        Flags: bus master, fast devsel, latency 0

ff:04.1 Host bridge [0600]: Intel Corporation Core Processor Integrated Memory Controller Channel 0 Address Registers [8086:2ca1] (rev 04)
        Subsystem: ASRock Incorporation Device [1849:2c51]
        Flags: bus master, fast devsel, latency 0

ff:04.2 Host bridge [0600]: Intel Corporation Core Processor Integrated Memory Controller Channel 0 Rank Registers [8086:2ca2] (rev 04)
        Subsystem: ASRock Incorporation Device [1849:2c51]
        Flags: bus master, fast devsel, latency 0

ff:04.3 Host bridge [0600]: Intel Corporation Core Processor Integrated Memory Controller Channel 0 Thermal Control Registers [8086:2ca3] (rev 04)
        Subsystem: ASRock Incorporation Device [1849:2c51]
        Flags: bus master, fast devsel, latency 0

ff:05.0 Host bridge [0600]: Intel Corporation Core Processor Integrated Memory Controller Channel 1 Control Registers [8086:2ca8] (rev 04)
        Subsystem: ASRock Incorporation Device [1849:2c51]
        Flags: bus master, fast devsel, latency 0

ff:05.1 Host bridge [0600]: Intel Corporation Core Processor Integrated Memory Controller Channel 1 Address Registers [8086:2ca9] (rev 04)
        Subsystem: ASRock Incorporation Device [1849:2c51]
        Flags: bus master, fast devsel, latency 0

ff:05.2 Host bridge [0600]: Intel Corporation Core Processor Integrated Memory Controller Channel 1 Rank Registers [8086:2caa] (rev 04)
        Subsystem: ASRock Incorporation Device [1849:2c51]
        Flags: bus master, fast devsel, latency 0

ff:05.3 Host bridge [0600]: Intel Corporation Core Processor Integrated Memory Controller Channel 1 Thermal Control Registers [8086:2cab] (rev 04)
        Subsystem: ASRock Incorporation Device [1849:2c51]
        Flags: bus master, fast devsel, latency 0


I have OSS v4.2 build 2009 installed on my system (latest; no added codec support appears to be in git). I don't know if anything more is needed - but if so, I'd gladly provide it.


I have also read that there is a "magic" generator that can help creating a custom driver:
Hannu wrote:The controller part doesn't require any work. All controllers work
exactly in the same way.

However codecs are different. To make things even worse motherboard
manufacturers have complete freedom to decide which I/O pin they connect
the jacks and other audio inputs and outputs. It is not enough to write
just one mixer driver for each codec. This needs to be done by hand for
every single motherboard (unless there are boards that have the pins
assigned in the same way).

The mixgen.c can be used to create a skeleton of a mixer driver. Then
the result can be fine tuned by using trial and error approach.

Source: http://permalink.gmane.org/gmane.comp.a ... devel/1155


Where can I obtain this "magic" mixgen.c? And then, how are the steps to create a usable driver?
Also, can such custom drivers be then in the end submitted upstream?

Lastly, would such a custom driver "clean up" the mixer? Because in its current form it's rather confusing than constructive...

Anyways, I'm a bit confused with the sheer complexity of it - you might have noticed :P


Thanks in advance :)

best regards
nuc
Last edited by nuc on Tue Apr 15, 2014 12:59 pm, edited 6 times in total.
Check out my effort on revamping the opensound website => github.com/Nuc1eoN/4Front-Tech-Website
Any feedback greatly appreciated =)

nuc
Moderator
Posts: 109
Joined: Fri Aug 03, 2012 10:20 am
Sound Card: PowerColor DEVIL HDX
OS: ArchLinux
Contact:

Re: Unknown codec for VIA VT2020

Postby nuc » Tue Apr 15, 2014 12:02 pm

@cesium: Do you have any magic patch for my sound card by chance?
Check out my effort on revamping the opensound website => github.com/Nuc1eoN/4Front-Tech-Website
Any feedback greatly appreciated =)

igorzwx
Known Member
Posts: 1258
Joined: Sun Jun 28, 2009 9:31 pm

Re: Unknown codec for VIA VT2020

Postby igorzwx » Tue Apr 15, 2014 12:57 pm

nuc wrote:Where can I obtain this "magic" mixgen.c? And then, how are the steps to create a usable driver?


You may try this:

1. Get the OSS source tree via git
2. Compile mixgen.c

Re: Microphone Input VIA vt1708s
Postby cesium » Tue Apr 12, 2011 2:57 pm

There's a complicated procedure which a program called 'mixgen' and making a custom mixer. The first part is easy, but not sure about the second one... We can try though:
A) Get the OSS source tree via mercurial (See here)
B) chdir to utils/ and compile mixgen.c with 'make' command.
C) Edit /usr/lib/oss/conf/oss_hdaudio.conf and add the line "hdaudio_snoopy=1".
D) run "sudo mixgen" and paste the output somewhere.
_http://www.opensound.com/forum/viewtopic.php?f=3&t=4330#p17174

nuc
Moderator
Posts: 109
Joined: Fri Aug 03, 2012 10:20 am
Sound Card: PowerColor DEVIL HDX
OS: ArchLinux
Contact:

Re: Unknown codec for VIA VT2020

Postby nuc » Tue Apr 15, 2014 2:02 pm

Thanks.

Code: Select all

$ sudo ./mixgen
#define COPYING Copyright (C) 4Front Technologies 2007. All rights reserved.                                                                                 
/* Codec index is 0 */                                                                                                                                       
/* Codec vendor 1106:0441 */                                                                                                                                 
/* HD codec revision 1.0 (1.0) (0x00100100) */                                                                                                               
/* Subsystem ID 18492020 */                                                                                                                                 
/* Default amplifier caps: in=00000000, out=00000000 */                                                                                                     
#include "oss_hdaudio_cfg.h"                                                                                                                                 
#include "hdaudio.h"                                                                                                                                         
#include "hdaudio_codec.h"                                                                                                                                   
#include "hdaudio_dedicated.h"                                                                                                                               
                                                                                                                                                             
int                                                                                                                                                         
hdaudio_subdevice18492020_mixer_init (int dev, hdaudio_mixer_t * mixer, int cad, int top_group)                                                             
{                                                                                                                                                           
  int ctl=0;                                                                                                                                                 
                                                                                                                                                             
  DDB(cmn_err(CE_CONT, "hdaudio_subdevice18492020_mixer_init got called.\n"));                                                                               
                                                                                                                                                             
  /* Handle PIN widgets */                                                                                                                                   
  {                                                                                                                                                         
        int n, group, pin_group;                                                                                                                             
                                                                                                                                                             
        n=0;                                                                                                                                                 
                                                                                                                                                             
        HDA_GROUP(pin_group, top_group, "jack");                                                                                                             
                                                                                                                                                             
        if (HDA_PIN_GROUP(0x24, group, pin_group, "green", n, "jack", 4))       /* Pin widget 0x24 */                                                       
           {                                                                                                                                                 
                /* Src 0x18=mix1 */
                if (HDA_PINSELECT(0x24, ctl, group, "mode", -1))
                        HDA_CHOICES(ctl, "mix1-out input");
                HDA_OUTMUTE(0x24, group, "inmute", UNMUTE);

                /* Widget 0x18 (mix1) */
                /* Src 0x8=pcm1 */
                /* Src 0x21=mix6 */
                {
                        int amp_group;

                        HDA_GROUP(amp_group, group, "mute");
                        HDA_INMUTE(0x18, 0, amp_group, "pcm1", UNMUTE); /* From widget 0x08 */
                        HDA_INMUTE(0x18, 1, amp_group, "mix6", UNMUTE); /* From widget 0x21 */
                }
           }

        if (HDA_PIN_GROUP(0x25, group, pin_group, "black", n, "jack", 4))       /* Pin widget 0x25 */
           {
                /* Src 0x19=mix2 */
                if (HDA_PINSELECT(0x25, ctl, group, "mode", -1))
                        HDA_CHOICES(ctl, "mix2-out input");
                HDA_OUTMUTE(0x25, group, "inmute", UNMUTE);

                /* Widget 0x19 (mix2) */
                /* Src 0x9=pcm2 */
                /* Src 0x21=mix6 */
                {
                        int amp_group;

                        HDA_GROUP(amp_group, group, "mute");
                        HDA_INMUTE(0x19, 0, amp_group, "pcm2", UNMUTE); /* From widget 0x09 */
                        HDA_INMUTE(0x19, 1, amp_group, "mix6", UNMUTE); /* From widget 0x21 */
                }
           }

        if (HDA_PIN_GROUP(0x26, group, pin_group, "orange", n, "jack", 4))      /* Pin widget 0x26 */
           {
                /* Src 0xa=pcm3 */
                if (HDA_PINSELECT(0x26, ctl, group, "mode", -1))
                        HDA_CHOICES(ctl, "pcm3-out input");
                HDA_OUTMUTE(0x26, group, "inmute", UNMUTE);
           }

        if (HDA_PIN_GROUP(0x27, group, pin_group, "gray", n, "jack", 4))        /* Pin widget 0x27 */
           {
                /* Src 0x1a=mix3 */
                if (HDA_PINSELECT(0x27, ctl, group, "mode", -1))
                        HDA_CHOICES(ctl, "mix3-out input");
                HDA_OUTMUTE(0x27, group, "inmute", UNMUTE);

                /* Widget 0x1a (mix3) */
                /* Src 0xb=pcm4 */
                /* Src 0x21=mix6 */
                {
                        int amp_group;

                        HDA_GROUP(amp_group, group, "mute");
                        HDA_INMUTE(0x1a, 0, amp_group, "pcm4", UNMUTE); /* From widget 0x0b */
                        HDA_INMUTE(0x1a, 1, amp_group, "mix6", UNMUTE); /* From widget 0x21 */
                }
           }

        if (HDA_PIN_GROUP(0x28, group, pin_group, "fp-green", n, "jack", 4))    /* Pin widget 0x28 */
           {
                /* Src 0x1b=mix4 */
                if (HDA_PINSELECT(0x28, ctl, group, "mode", -1))
                        HDA_CHOICES(ctl, "mix4-out input");
                HDA_OUTMUTE(0x28, group, "inmute", UNMUTE);

                /* Widget 0x1b (mix4) */
                /* Src 0x34=select3 */
                /* Src 0x21=mix6 */
                {
                        int amp_group;

                        HDA_GROUP(amp_group, group, "mute");
                        HDA_INMUTE(0x1b, 0, amp_group, "select3", UNMUTE);      /* From widget 0x34 */
                        HDA_INMUTE(0x1b, 1, amp_group, "mix6", UNMUTE); /* From widget 0x21 */
                }
           }

        if (HDA_PIN_GROUP(0x29, group, pin_group, "fp-pink", n, "jack", 4))     /* Pin widget 0x29 */
           {
                /* Src 0x1c=mix5 */
                if (HDA_PINSELECT(0x29, ctl, group, "mode", -1))
                        HDA_CHOICES(ctl, "mix5-out input");
                HDA_OUTMUTE(0x29, group, "inmute", UNMUTE);

                /* Widget 0x1c (mix5) */
                /* Src 0x35=select4 */
                /* Src 0x21=mix6 */
                {
                        int amp_group;

                        HDA_GROUP(amp_group, group, "mute");
                        HDA_INMUTE(0x1c, 0, amp_group, "select4", UNMUTE);      /* From widget 0x35 */
                        HDA_INMUTE(0x1c, 1, amp_group, "mix6", UNMUTE); /* From widget 0x21 */
                }
           }

        if (HDA_PIN_GROUP(0x2a, group, pin_group, "blue", n, "jack", 4))        /* Pin widget 0x2a */
           {
                /* Src 0x9=pcm2 */
                /* Src 0xc=pcm5 */
                if (HDA_PINSELECT(0x2a, ctl, group, "mode", -1))
                        HDA_CHOICES(ctl, "pcm2-out pcm5-out input");
                HDA_OUTMUTE(0x2a, group, "inmute", UNMUTE);
           }

        if (HDA_PIN_GROUP(0x2b, group, pin_group, "pink", n, "jack", 4))        /* Pin widget 0x2b */
           {
                /* Src 0xa=pcm3 */
                /* Src 0xc=pcm5 */
                if (HDA_PINSELECT(0x2b, ctl, group, "mode", -1))
                        HDA_CHOICES(ctl, "pcm3-out pcm5-out input");
                HDA_OUTMUTE(0x2b, group, "inmute", UNMUTE);
           }

        if (HDA_PIN_GROUP(0x2c, group, pin_group, "int-cd", n, "jack", 4))      /* Pin widget 0x2c */
           {
                if (HDA_PINSELECT(0x2c, ctl, group, "mode", -1))
                        HDA_CHOICES(ctl, "input");
           }
  }
  /* Handle ADC widgets */
  {
        int n, group, rec_group;

        n=0;

        HDA_GROUP(rec_group, top_group, "record");

        if (HDA_ADC_GROUP(0x10, group, rec_group, "select1", n, "record", 4))   /* ADC widget 0x10 */
           {
                /* Src 0x1e=select1 */
                HDA_INAMP(0x10, 0, group, "select1", 90);       /* From widget 0x1e */

                /* Widget 0x1e (select1) */
                /* Src 0x2c=int-cd */
                /* Src 0x2b=pink */
                /* Src 0x2a=blue */
                /* Src 0x29=fp-pink */
                /* Src 0x28=fp-green */
                /* Src 0x21=mix6 */
                if (HDA_SELECT(0x1e, "src", ctl, group, -1))
                   {
                        HDA_CHOICES(ctl, "int-cd mic linein mix5 mix4 mix6");
                   }
           }

        if (HDA_ADC_GROUP(0x11, group, rec_group, "select2", n, "record", 4))   /* ADC widget 0x11 */
           {
                /* Src 0x1f=select2 */
                HDA_INAMP(0x11, 0, group, "select2", 90);       /* From widget 0x1f */

                /* Widget 0x1f (select2) */
                /* Src 0x2c=int-cd */
                /* Src 0x2b=pink */
                /* Src 0x2a=blue */
                /* Src 0x29=fp-pink */
                /* Src 0x28=fp-green */
                /* Src 0x21=mix6 */
                if (HDA_SELECT(0x1f, "src", ctl, group, -1))
                   {
                        HDA_CHOICES(ctl, "int-cd mic linein mix5 mix4 mix6");
                   }
           }

        if (HDA_ADC_GROUP(0x13, group, rec_group, "spdifin", n, "record", 4))   /* ADC widget 0x13 */
           {
                /* Src 0x2f=spdifin */
           }
  }
  /* Handle misc widgets */
  {
        int n, group, misc_group;

        n=0;

        HDA_GROUP(misc_group, top_group, "misc");

        if (HDA_MISC_GROUP(0x08, group, misc_group, "pcm1", n, "misc", 8))      /* Misc widget 0x08 */
           {
                HDA_OUTAMP(0x08, group, "-", 90);
           }

        if (HDA_MISC_GROUP(0x09, group, misc_group, "pcm2", n, "misc", 8))      /* Misc widget 0x09 */
           {
                HDA_OUTAMP(0x09, group, "-", 90);
           }

        if (HDA_MISC_GROUP(0x0a, group, misc_group, "pcm3", n, "misc", 8))      /* Misc widget 0x0a */
           {
                HDA_OUTAMP(0x0a, group, "-", 90);
           }

        if (HDA_MISC_GROUP(0x0b, group, misc_group, "pcm4", n, "misc", 8))      /* Misc widget 0x0b */
           {
                HDA_OUTAMP(0x0b, group, "-", 90);
           }

        if (HDA_MISC_GROUP(0x0c, group, misc_group, "pcm5", n, "misc", 8))      /* Misc widget 0x0c */
           {
                HDA_OUTAMP(0x0c, group, "-", 90);
           }

        if (HDA_MISC_GROUP(0x21, group, misc_group, "mix6", n, "misc", 8))      /* Misc widget 0x21 */
           {
                /* Src 0x2c=int-cd */
                /* Src 0x2b=mic */
                /* Src 0x2a=linein */
                /* Src 0x29=mix5 */
                /* Src 0x28=mix4 */
                HDA_INAMP(0x21, 0, group, "int-cd", 90);        /* From widget 0x2c */
                HDA_INAMP(0x21, 1, group, "pink", 90);  /* From widget 0x2b */
                HDA_INAMP(0x21, 2, group, "blue", 90);  /* From widget 0x2a */
                HDA_INAMP(0x21, 3, group, "fp-pink", 90);       /* From widget 0x29 */
                HDA_INAMP(0x21, 4, group, "fp-green", 90);      /* From widget 0x28 */
           }

        if (HDA_MISC_GROUP(0x22, group, misc_group, "beep", n, "misc", 8))      /* Misc widget 0x22 */
           {
                HDA_OUTAMP(0x22, group, "-", 90);
           }
  }
  return 0;
}

It makes no difference however if I add the "hdaudio_snoopy=1" line or not. Same output. (Or do I need to restart oss?)
There is also a mixgen2.c. Is this a newer version? EDIT: Now this is interesting http://ubuntuforums.org/showthread.php?t=764640
Check out my effort on revamping the opensound website => github.com/Nuc1eoN/4Front-Tech-Website
Any feedback greatly appreciated =)


Return to “Linux”

Who is online

Users browsing this forum: No registered users and 4 guests