CM6631A only works in 48kHz

Hi everyone.

I have a CM6631A USB to SPDIF dongle, which is working fine on Linux, Windows and Mac.
But on FreeBSD 15.0-RELEASE it only works in the 48000Hz sampling rate.
Setting the sampling rate to anything else will produce distorted sound.

I have fiddled with various sysctl dev.pcm knobs, and none of them helped.
Also, enabling bitperfect will prevent pulseaudio from opening this device.
Code:
W: [] oss-util.c: '/dev/dsp3' doesn't support full duplex
I: [] module-oss.c: Hardware name is '3 - C-Media Electronics Inc. USB2.0 High-Speed True HD Audio'.
I: [] module-oss.c: Device opened in O_WRONLY mode.
E: [] oss-util.c: SNDCTL_DSP_SETFMT: No supported sample format
E: [] module.c: Failed to load module "module-oss" (argument: "device=/dev/dsp3"): initialization failed.
Skipping pulseaudio & playing the audio directly to /dev/dspX produces the same results.

The detailed usbconfig -v output is attached as a text file.

The sndctl output:
Code:
pcm3: <C-Media Electronics Inc. USB2.0 High-Speed True HD Audio> on uaudio1 (play)
    name                = pcm3
    desc                = C-Media Electronics Inc. USB2.0 High-Speed True HD Audio
    status              = on uaudio1
    devnode             = dsp3
    from_user           = 0
    unit                = 3
    caps                = MMAP,OUTPUT,REALTIME,TRIGGER
    bitperfect          = 1
    autoconv            = 0
    realtime            = 0
    play.format         = s32le:2.0
    play.rate           = 48000
    play.vchans         = 0
    play.min_rate       = 8000
    play.max_rate       = 384000
    play.min_chans      = 2
    play.max_chans      = 2
    play.formats        = s32le
    rec.rate            = 0
    rec.format          = UNKNOWN
    rec.vchans          = 0
    rec.min_rate        = 0
    rec.max_rate        = 0
    rec.min_chans       = 0
    rec.max_chans       = 0
    rec.formats         =

The dmesg output:
ugen1.7: <C-Media Electronics Inc. USB2.0 High-Speed True HD Audio> at usbus1
uaudio1 on uhub2
uaudio1: <C-Media Electronics Inc. USB2.0 High-Speed True HD Audio, class 239/2, rev 2.00/2.08, addr 10>
on usbus1
uaudio1: Play[0]: 384000 Hz, 2 ch, 32-bit S-LE PCM format, 2x4ms buffer. (selected)
uaudio1: Play[0]: 352800 Hz, 2 ch, 32-bit S-LE PCM format, 2x4ms buffer.
uaudio1: Play[0]: 192000 Hz, 2 ch, 32-bit S-LE PCM format, 2x4ms buffer.
uaudio1: Play[0]: 176400 Hz, 2 ch, 32-bit S-LE PCM format, 2x4ms buffer.
uaudio1: Play[0]: 96000 Hz, 2 ch, 32-bit S-LE PCM format, 2x4ms buffer.
uaudio1: Play[0]: 88200 Hz, 2 ch, 32-bit S-LE PCM format, 2x4ms buffer.
uaudio1: Play[0]: 88000 Hz, 2 ch, 32-bit S-LE PCM format, 2x4ms buffer.
uaudio1: Play[0]: 80000 Hz, 2 ch, 32-bit S-LE PCM format, 2x4ms buffer.
uaudio1: Play[0]: 72000 Hz, 2 ch, 32-bit S-LE PCM format, 2x4ms buffer.
uaudio1: Play[0]: 64000 Hz, 2 ch, 32-bit S-LE PCM format, 2x4ms buffer.
uaudio1: Play[0]: 56000 Hz, 2 ch, 32-bit S-LE PCM format, 2x4ms buffer.
uaudio1: Play[0]: 48000 Hz, 2 ch, 32-bit S-LE PCM format, 2x4ms buffer.
uaudio1: Play[0]: 44100 Hz, 2 ch, 32-bit S-LE PCM format, 2x4ms buffer.
uaudio1: Play[0]: 40000 Hz, 2 ch, 32-bit S-LE PCM format, 2x4ms buffer.
uaudio1: Play[0]: 32000 Hz, 2 ch, 32-bit S-LE PCM format, 2x4ms buffer.
uaudio1: Play[0]: 24000 Hz, 2 ch, 32-bit S-LE PCM format, 2x4ms buffer.
uaudio1: Play[0]: 22050 Hz, 2 ch, 32-bit S-LE PCM format, 2x4ms buffer.
uaudio1: Play[0]: 16000 Hz, 2 ch, 32-bit S-LE PCM format, 2x4ms buffer.
uaudio1: Play[0]: 11025 Hz, 2 ch, 32-bit S-LE PCM format, 2x4ms buffer.
uaudio1: Play[0]: 8000 Hz, 2 ch, 32-bit S-LE PCM format, 2x4ms buffer.
uaudio1: No recording.
uaudio1: No MIDI sequencer.
pcm3 on uaudio1
uaudio1: HID volume keys found.


Is there anything I can do to help debug/fix this problem?
 

Attachments

Back
Top