What is the status of the Conexant CX20642 codec in Red Hat Enterprise Linux 6?

Solution Verified - Updated -

Environment

  • Red Hat Enterprise Linux 6.0

  • Conexant CX20642 HD Audio Chipset




Issue

  • The ALSA audio subsystem describes the Conexant CX20642 HD Audio device as "HDA Generic"

  • What is the status of the Conexant CX20642 codec driver in Red Hat Enterprise Linux 6?

Resolution

Upgrade to Red Hat Enterprise Linux 6.1 which includes the required codec driver.

Root Cause

  • The Conexant CX20642 is a very recent codec and requires driver code that was delivered to the mainstream kernel in October 2010
  • This was too late in the Red Hat Enterprise Linux 6 development cycle to include in the release of 6.0GA.
  • Red Hat Enterprise Linux 6.0 therefore doesn't provide full support for the codec, but instead uses a compatibility mode.

Diagnostic Steps

  • In Red Hat Enterprise Linux 6.0, you can see that the device is not fully recognised by examining the content of /proc/asound:

# cat /proc/asound

Codec: Conexant ID 50a2
Address: 2
Function Id: 0x1
Vendor Id: 0x14f150a2
Subsystem Id: 0x173411b0
Revision Id: 0x100100
No Modem Function Group found
Default PCM:
    rates [0x160]: 44100 48000 96000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
Default Amp-In caps: N/A
Default Amp-Out caps: N/A
GPIO: io=5, o=0, i=0, unsolicited=1, wake=1
  IO[0]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[1]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[2]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[3]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[4]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
Node 0x10 [Audio Output] wcaps 0xc1d: Stereo Amp-Out R/L
  Control: name="Master Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Control: name="Master Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Device: name="HDA Generic", type="Audio", device=0
  Amp-Out caps: ofs=0x4a, nsteps=0x4a, stepsize=0x03, mute=1

  • In Red Hat Enterprise Linux 6.1, you can see that the codec is now recognised by examining the content of /proc/asound:

# cat /proc/asound

Codec: Conexant CX20642
Address: 2
AFG Function Id: 0x1 (unsol 1)
Vendor Id: 0x14f150a2
Subsystem Id: 0x173411b0
Revision Id: 0x100100
No Modem Function Group found
Default PCM:
    rates [0x160]: 44100 48000 96000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
Default Amp-In caps: N/A
Default Amp-Out caps: N/A
GPIO: io=5, o=0, i=0, unsolicited=1, wake=1
  IO[0]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[1]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[2]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[3]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[4]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
Node 0x10 [Audio Output] wcaps 0xc1d: Stereo Amp-Out R/L
  Control: name="Front Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Control: name="Front Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Device: name="CONEXANT Analog", type="Audio", device=0
  Amp-Out caps: ofs=0x4a, nsteps=0x4a, stepsize=0x03, mute=1

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.

Comments