# Stereo Reciever has USB/hardcoded Sound card drivers

## dman777

Ok, I have a JVC RX-D205. What this is is a stereo reciever that plugs into my computer via USB. In Windows XP, it bypasses the soundcard(doesn't use the soundcard or soundcard drivers). Instead, it seems to have it's own drivers hardcoded in the receiver and everytime you turn it on you will see 'USB Audio DAC' in the volume control panel in Windows XP. 

Now, can I get this to work in Gentoo?

----------

## manny15

Try snd-usb-audio http://www.alsa-project.org/main/index.php/Matrix:Module-usb-audio

----------

## dman777

Ok, I'm tackling this project and I already ran into a problem.

 The first step is to turn on the sound support soundcore module. I am supposed to do this in my kernel, so I went into:

Device Drivers --->Sound-->Advanced Linux Sound Architecture-->USB Devices 

And I enabled USB Devices with an <M> to be loaded up as a module as stated in the document. 

I then recompiled my kernel..ya da ya da...rebooted.

when I execute a "modinfo soundcore"

I get a 'modinfo: could not find module soundcore'.... so it seems, then, I do not have sound support soundcore module enabled in my kernel, correct? How do I fix this?

----------

## manny15

I'm not sure why you're looking for soundcode, I don't have it (as a module anyway) and I have ALSA working. Run lsmod and see if the ALSA modules are loaded. It should look something like this.

```

Module                  Size  Used by

snd_pcm_oss            34592  0 

snd_mixer_oss          13184  1 snd_pcm_oss

snd_seq_oss            27008  0 

snd_virmidi             3904  0 

snd_seq_virmidi         4864  1 snd_virmidi

snd_rawmidi            18208  1 snd_seq_virmidi

snd_seq_device          5384  2 snd_seq_oss,snd_rawmidi

snd_seq_midi_event      5888  2 snd_seq_oss,snd_seq_virmidi

snd_seq                41264  5 snd_seq_oss,snd_seq_virmidi,snd_seq_midi_event

snd_intel8x0           27420  1 

snd_ac97_codec         90272  1 snd_intel8x0

ac97_bus                1792  1 snd_ac97_codec

snd_pcm                65544  3 snd_pcm_oss,snd_intel8x0,snd_ac97_codec

snd_timer              18052  2 snd_seq,snd_pcm

snd_page_alloc          7432  2 snd_intel8x0,snd_pcm

```

The module snd_intel8x0 is the driver for my soundcard. Yours should be snd-usb-audio and probably snd-usb-lib. The modules are stored in  /lib/modules/$(uname -r)/kernel/sound

Also try the following and look for playback and capture channels.

```

$ cat /proc/asound/devices 

  0: [ 0]   : control

  1:        : sequencer

 16: [ 0- 0]: digital audio playback

 20: [ 0- 4]: digital audio playback

 24: [ 0- 0]: digital audio capture

 25: [ 0- 1]: digital audio capture

 26: [ 0- 2]: digital audio capture

 27: [ 0- 3]: digital audio capture

 32: [ 1]   : control

 33:        : timer

 40: [ 1- 0]: raw midi

 41: [ 1- 1]: raw midi

 42: [ 1- 2]: raw midi

 43: [ 1- 3]: raw midi

```

----------

## dman777

I did a lsmod and this is what I got:

```

Module                  Size  Used by

it87                   19596  0 

hwmon_vid               6400  1 it87

nvidia               6211664  24 

i2c_nforce2             9088  0 

i2c_core               21888  2 nvidia,i2c_nforce2

```

I then did a lsusb to make sure my stereo receiver is recognized, and it is:

```
Bus 002 Device 003: ID 08bb:2704 Texas Instruments Japan

Bus 002 Device 002: ID 047d:2033 Kensington 

Bus 002 Device 001: ID 0000:0000  

```

The Texas Instruments Japan is my is external JVC receiver. 

In my kernel I have just about every sound option enabled(except for the sound cards since I am not trying to use an internal one):

```
# Sound

#

CONFIG_SOUND=y

#

# Advanced Linux Sound Architecture

#

CONFIG_SND=m

CONFIG_SND_TIMER=m

CONFIG_SND_PCM=m

CONFIG_SND_HWDEP=m

CONFIG_SND_RAWMIDI=m

CONFIG_SND_SEQUENCER=m

CONFIG_SND_SEQ_DUMMY=m

CONFIG_SND_OSSEMUL=y

CONFIG_SND_MIXER_OSS=m

CONFIG_SND_PCM_OSS=m

CONFIG_SND_PCM_OSS_PLUGINS=y

CONFIG_SND_SEQUENCER_OSS=y

CONFIG_SND_RTCTIMER=m

CONFIG_SND_SEQ_RTCTIMER_DEFAULT=y

CONFIG_SND_DYNAMIC_MINORS=y

CONFIG_SND_SUPPORT_OLD_API=y

CONFIG_SND_VERBOSE_PROCFS=y

CONFIG_SND_VERBOSE_PRINTK=y

# CONFIG_SND_DEBUG is not set

CONFIG_SND_USB_USX2Y=m

CONFIG_SND_USB_CAIAQ_INPUT=y

```

I tried to emerge the Alsa drivers but it said that I already have them enabled in my kernel. 

This is what I have installed for Alsa:

```

y

CONFIG_SND_MIXER_OSS=m

CONFIG_SND_PCM_OSS=m

CONFIG_SND_PCM_OSS_PLUGINS=y

CONFIG_SND_SEQUENCER_OSS=y

CONFIG_SND_RTCTIMER=m
```

This is what I have installed on my system for ALSA:

```

media-libs/alsa-oss

media-sound/alsa-firmware

media-sound/alsa-utils
```

How do I get the ALSA modules loaded?

----------

## MarioCorleone

you need to exclude(turn off) everything alsa related in the kernel config, or emerging it will not work.  

rebuild kernel without alsa no modules nothing, then try the merge again

----------

## manny15

I recommend not emerging the alsa drivers that don't come in the kernel because there's typically no reason to do so. The kernel already contains the drivers. media-libs/alsa-oss contains the executable aoss, which can be used to trick oss applications into using alsa. I have it installed, but I don't think I'm using anymore. I don't have media-sound/alsa-firmware, and I'm gussing you don't need it. media-sound/alsa-utils has aplay, alsamixer, etc, which you will need, if anything, to unmute the audio card.

My alsa kernel config is below

```

CONFIG_SND=y

CONFIG_SND_TIMER=m

CONFIG_SND_PCM=m

CONFIG_SND_HWDEP=m

CONFIG_SND_RAWMIDI=m

CONFIG_SND_SEQUENCER=m

CONFIG_SND_OSSEMUL=y

CONFIG_SND_MIXER_OSS=m

CONFIG_SND_PCM_OSS=m

CONFIG_SND_PCM_OSS_PLUGINS=y

CONFIG_SND_SEQUENCER_OSS=y

CONFIG_SND_RTCTIMER=m

CONFIG_SND_SEQ_RTCTIMER_DEFAULT=y

CONFIG_SND_SUPPORT_OLD_API=y

CONFIG_SND_VERBOSE_PROCFS=y

CONFIG_SND_AC97_CODEC=m

CONFIG_SND_VIRMIDI=m

CONFIG_SND_INTEL8X0=m

CONFIG_SND_USB_AUDIO=m

```

One major difference between our configs is that you have CONFIG_SND as a module, while I have it in the kernel. I don't think that is a problem, but it's something to keep in mind. Maybe it you compile CONFIG_SND into the kernel, it will automatically load the remaining modules  :Smile: 

Another file to check is /etc/modules.d/alsa

```

# Alsa kernel modules' configuration file.

# ALSA portion

alias char-major-116 snd

# OSS/Free portion

alias char-major-14 soundcore

##

## IMPORTANT:

## You need to customise this section for your specific sound card(s)

## and then run `update-modules' command.

## Read alsa-driver's INSTALL file in /usr/share/doc for more info.

##

##  ALSA portion

## alias snd-card-0 snd-interwave

## alias snd-card-1 snd-ens1371

##  OSS/Free portion

## alias sound-slot-0 snd-card-0

## alias sound-slot-1 snd-card-1

##

# OSS/Free portion - card #1

alias sound-service-0-0 snd-mixer-oss

alias sound-service-0-1 snd-seq-oss

alias sound-service-0-3 snd-pcm-oss

alias sound-service-0-8 snd-seq-oss

alias sound-service-0-12 snd-pcm-oss

##  OSS/Free portion - card #2

## alias sound-service-1-0 snd-mixer-oss

## alias sound-service-1-3 snd-pcm-oss

## alias sound-service-1-12 snd-pcm-oss

alias /dev/mixer snd-mixer-oss

alias /dev/dsp snd-pcm-oss

alias /dev/midi snd-seq-oss

# Set this to the correct number of cards.

# --- BEGIN: Generated by ALSACONF, do not edit. ---

# --- ALSACONF verion 1.0.8 ---

alias snd-card-0 snd-intel8x0

alias sound-slot-0 snd-intel8x0

alias snd-card-1 snd-virmidi

# --- END: Generated by ALSACONF, do not edit. ---

```

The contents of this file should be merged into /etc/modules.conf by the program update-modules.

----------

## dman777

That did it!!!! Your config file did it! Thank you!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

----------

## dman777

manny15,

are you able to control your master volume with the pcm slide on alsamixer? when i adjust mine it has no effect on the volume. any suggestions?

----------

