LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Hardware (https://www.linuxquestions.org/questions/linux-hardware-18/)
-   -   VIA sound card not working on ASUS notebook K50IJ (https://www.linuxquestions.org/questions/linux-hardware-18/via-sound-card-not-working-on-asus-notebook-k50ij-761757/)

chandan_raka 10-14-2009 02:35 AM

VIA sound card not working on ASUS notebook K50IJ
 
HI,

I have got a ASUS notebook having VIA sound card. It works fine in windows, however, in linux (fedora 11) its not working. And when I do lspci is shows my audio card as Intel sound card.

I googled and did some modprobe techniques to make it work, but I am not able to hear any sound. I tried to unmute all the posible channels from GUI options and menus.

Please suggest If I am missing anything.

business_kid 10-14-2009 03:29 AM

Basics
Post the info on the card from lspci
The unmuting is done via
alsamixer
m to toggle mute, arrow keys to set level. THEN
alsactl store to save them

If it's calling a via card an intel one, it's probably loading snd_hda_intel for the latest standard soundcard type. Everyone does one. Be aware there is a menu in kernel config to include(or not) support for different manufacturer's implementations of this standard.

chandan_raka 11-24-2009 07:31 AM

VIA sound card not working
 
Here is the outputs of the command lspci and lsmod


[chandank@localhost /]$lspci | grep -i audio
00:1b.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio Controller (rev 03)

[chandank@localhost /]$ lsmod | grep -i snd
snd_hda_codec_via 30500 1
snd_hda_intel 29000 2
snd_hda_codec 65376 2 snd_hda_codec_via,snd_hda_intel
snd_hwdep 8600 1 snd_hda_codec
snd_pcm 79960 2 snd_hda_intel,snd_hda_codec
snd_timer 22496 1 snd_pcm
snd 65096 9 snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm,snd_timer
soundcore 7024 1 snd
snd_page_alloc 9216 2 snd_hda_intel,snd_pcm

business_kid 11-25-2009 03:24 AM

Did you run alsamixer & unmute & turn up everything?

Did you store the result (alsactl store)

Just because there's a snd_hda_intel there does not mean it supports your card. Look at this from the kernel config

bash-3.1$ grep SND_HDA .config
CONFIG_SND_HDA_INTEL=m
CONFIG_SND_HDA_HWDEP=y
CONFIG_SND_HDA_RECONFIG=y
CONFIG_SND_HDA_INPUT_BEEP=y
# CONFIG_SND_HDA_CODEC_REALTEK is not set
CONFIG_SND_HDA_CODEC_ANALOG=y
# CONFIG_SND_HDA_CODEC_SIGMATEL is not set
# CONFIG_SND_HDA_CODEC_VIA is not set
CONFIG_SND_HDA_CODEC_ATIHDMI=y
# CONFIG_SND_HDA_CODEC_NVHDMI is not set
CONFIG_SND_HDA_CODEC_INTELHDMI=y
CONFIG_SND_HDA_ELD=y
# CONFIG_SND_HDA_CODEC_CONEXANT is not set
# CONFIG_SND_HDA_CODEC_CMEDIA is not set
# CONFIG_SND_HDA_CODEC_SI3054 is not set
CONFIG_SND_HDA_GENERIC=y
# CONFIG_SND_HDA_POWER_SAVE is not set

As you see, my kernel won't support a via hda_intel type soundcard. Try that on yours; you will find the kernel config in /boot/config-<version>

chandan_raka 01-21-2010 11:55 AM

Hi Thanks for your inputs. However, I checked my config ..and its showing the VIA sound card as part of kernel itself

ONFIG_SND_FM801_TEA575X=m
CONFIG_SND_HDA_INTEL=m
CONFIG_SND_HDA_HWDEP=y
CONFIG_SND_HDA_RECONFIG=y
CONFIG_SND_HDA_INPUT_BEEP=y
CONFIG_SND_HDA_CODEC_REALTEK=y
CONFIG_SND_HDA_CODEC_ANALOG=y
CONFIG_SND_HDA_CODEC_SIGMATEL=y
CONFIG_SND_HDA_CODEC_VIA=y
CONFIG_SND_HDA_CODEC_ATIHDMI=y
CONFIG_SND_HDA_CODEC_NVHDMI=y
CONFIG_SND_HDA_CODEC_INTELHDMI=y
CONFIG_SND_HDA_ELD=y
CONFIG_SND_HDA_CODEC_CONEXANT=y
CONFIG_SND_HDA_CODEC_CMEDIA=y
CONFIG_SND_HDA_CODEC_SI3054=y
CONFIG_SND_HDA_GENERIC=y
CONFIG_SND_HDA_POWER_SAVE=y


Appreciate your further inputs.

chandan_raka 01-21-2010 11:56 AM

The kernel has VIA option enabled.
 
still its showing it as intel

lspci
00:00.0 Host bridge: Intel Corporation Mobile 4 Series Chipset Memory Controller Hub (rev 09)
00:02.0 VGA compatible controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 09)
00:02.1 Display controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 09)
00:1a.0 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #4 (rev 03)
00:1a.1 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #5 (rev 03)
00:1a.2 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #6 (rev 03)
00:1a.7 USB Controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #2 (rev 03)
00:1b.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio Controller (rev 03)
00:1c.0 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 1 (rev 03)
00:1c.1 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 2 (rev 03)
00:1c.5 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 6 (rev 03)
00:1d.0 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #1 (rev

business_kid 01-22-2010 03:18 AM

I'll explain that.

pci ids come as manufacturer:device. Your manufacturer number is Intel, because the parts on the pci must be Intel.
Any manufacturer can buy from another, but gets their own pci.ids on there. I've had a long discussion with those who know recently.

try lspci -n
then you will probably see 8086:2942 which is INTEL 828011
FYI, via _also_ do an 828011, but it seems to have less in there.

chandan_raka 01-22-2010 11:53 AM

Thanks..

please find below the output of lspci -n

[root@localhost ~]# lspci -n
00:00.0 0600: 8086:2a40 (rev 09)
00:02.0 0300: 8086:2a42 (rev 09)
00:02.1 0380: 8086:2a43 (rev 09)
00:1a.0 0c03: 8086:2937 (rev 03)
00:1a.1 0c03: 8086:2938 (rev 03)
00:1a.2 0c03: 8086:2939 (rev 03)
00:1a.7 0c03: 8086:293c (rev 03)
00:1b.0 0403: 8086:293e (rev 03)
00:1c.0 0604: 8086:2940 (rev 03)
00:1c.1 0604: 8086:2942 (rev 03)
00:1c.5 0604: 8086:294a (rev 03)
00:1d.0 0c03: 8086:2934 (rev 03)
00:1d.1 0c03: 8086:2935 (rev 03)
00:1d.2 0c03: 8086:2936 (rev 03)
00:1d.7 0c03: 8086:293a (rev 03)
00:1e.0 0604: 8086:2448 (rev 93)
00:1f.0 0601: 8086:2919 (rev 03)
00:1f.2 0101: 8086:2928 (rev 03)
00:1f.5 0101: 8086:292d (rev 03)
02:00.0 0280: 168c:002b (rev 01)
03:00.0 0200: 1969:1026 (rev b0)


Here that 00:1b.0 is showing 8086:293e? Is there any way that I can listen music in my laptop (with Linux) ever? :-(.

Appreciate your help

chandan_raka 01-22-2010 12:00 PM

As suggested.. I tried all volume controls and alsamixer options.. Unfortunately, Nothing at all is working for me.

colorpurple21859 01-22-2010 12:30 PM

try
Code:

alsaconf
at a root prompt and then alsamixer to raise volume, and then aplay /usr/share/sounds/<?.wav file> to play a sound file.

chandan_raka 01-23-2010 09:29 AM

Hi,

It still not working..

[root@localhost ~]# alsaunmute
Unknown hardware: "HDA-Intel" "VIA VT1708S" "HDA:11060397,10431111,00100000" "0x1111" "0x1043"
Hardware is initialized using a guess method

business_kid 01-24-2010 05:01 AM

OK. This is a guess, as I have this problem myself (Strange audio hardware reported in new box). I haven't solved _my_own_problem_, so I am in a poor position to advise others. But recording has a low priority here, and that's all I lose.

Some of these devices are assigned the nearest oss-supported device for OSS compatibility. Mine for instance is an AMD/ATI SB600(pci id 1002:4383), and is reported as an Analog Devices AD1981 (pci id 11d4:1981). I gather from lshal that this is going on in my case. If the oss stuff is loaded first, problems may be resulting. I intend to remove all oss stuff and try to set up alsa support alone. Then see what breaks. If nothing I want breaks, leave it. If something important breaks, then add the oss modules _after_ alsa modules as an afterthought and see if that fixes anything. Notice from this extract

Quote:

udi = '/org/freedesktop/Hal/devices/pci_1002_4383'
info.linux.driver = 'HDA Intel' (string)
info.parent = '/org/freedesktop/Hal/devices/computer' (string)
info.product = 'SBx00 Azalia (Intel HDA)' (string)
info.subsystem = 'pci' (string)
info.udi = '/org/freedesktop/Hal/devices/pci_1002_4383' (string)
info.vendor = 'ATI Technologies Inc' (string)
linux.hotplug_type = 2 (0x2) (int)
linux.subsystem = 'pci' (string)
linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:14.2' (string)
pci.device_class = 4 (0x4) (int)
pci.device_protocol = 0 (0x0) (int)
pci.device_subclass = 3 (0x3) (int)
pci.linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:14.2' (string)
pci.product = 'SBx00 Azalia (Intel HDA)' (string)
pci.product_id = 17283 (0x4383) (int)
pci.subsys_product_id = 12482 (0x30c2) (int)
pci.subsys_vendor = 'Hewlett-Packard Company' (string)
pci.subsys_vendor_id = 4156 (0x103c) (int)
pci.vendor = 'ATI Technologies Inc' (string)
pci.vendor_id = 4098 (0x1002) (int)

udi = '/org/freedesktop/Hal/devices/pci_1002_4383_sound_card_0_oss_pcm_0'
info.capabilities = {'oss'} (string list)
info.category = 'oss' (string)
info.parent = '/org/freedesktop/Hal/devices/pci_1002_4383_sound_card_0' (string)
info.product = 'AD198x Analog OSS PCM Device' (string)
info.subsystem = 'sound' (string)
info.udi = '/org/freedesktop/Hal/devices/pci_1002_4383_sound_card_0_oss_pcm_0' (string)
linux.device_file = '/dev/audio' (string)
linux.hotplug_type = 2 (0x2) (int)
linux.subsystem = 'sound' (string)
linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:14.2/sound/card0/audio' (string)
oss.card = 0 (0x0) (int)
oss.card_id = 'HDA ATI SB' (string)
oss.device = 0 (0x0) (int)
oss.device_file = '/dev/audio' (string)
oss.device_id = 'AD198x Analog' (string)
oss.originating_device = '/org/freedesktop/Hal/devices/pci_1002_4383_sound_card_0' (string)
oss.type = 'pcm' (string)
So your card may be an Intel one being called a Via one by OSS.

business_kid 01-24-2010 01:58 PM

Just for the record, I went farting with my sound setup in your honour.
I pulled all the OSS stuff. My card still identifies as an AD1981 although it is nothing of the sort:-(
Mplayer works, gxine works, skype works, but record is now noise coming through the digital channel :-/. I still can't hear myself through the mic. Hal now reports
Code:

udi = '/org/freedesktop/Hal/devices/pci_1002_4383_sound_card_0_alsa_capture_0'
  alsa.card = 0  (0x0)  (int)
  alsa.card_id = 'HDA ATI SB'  (string)
  alsa.device = 0  (0x0)  (int)
  alsa.device_file = '/dev/snd/pcmC0D0c'  (string)
  alsa.device_id = 'AD198x Analog'  (string)
  alsa.originating_device = '/org/freedesktop/Hal/devices/pci_1002_4383_sound_card_0'  (string)
  alsa.pcm_class = 'generic'  (string)
  alsa.type = 'capture'  (string)
  info.capabilities = {'alsa'} (string list)
  info.category = 'alsa'  (string)
  info.parent = '/org/freedesktop/Hal/devices/pci_1002_4383_sound_card_0'  (string)
  info.product = 'AD198x Analog ALSA Capture Device'  (string)
  info.subsystem = 'sound'  (string)
  info.udi = '/org/freedesktop/Hal/devices/pci_1002_4383_sound_card_0_alsa_capture_0'  (string)
  linux.device_file = '/dev/snd/pcmC0D0c'  (string)
  linux.hotplug_type = 2  (0x2)  (int)
  linux.subsystem = 'sound'  (string)
  linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:14.2/sound/card0/pcmC0D0c'  (string)


chandan_raka 01-26-2010 09:59 AM

Hi thanks for the reply and efforts. Actually my card is a VIA card and it works fine with Windows and the provided driver from VIA. However, in linux its recognizing it as intel card...

Here is output of my lshal for sound devices as I am not getting much from these outputs..
Quote:


udi = '/org/freedesktop/Hal/devices/pnp_PNP0800'
info.parent = '/org/freedesktop/Hal/devices/computer' (string)
info.product = 'AT-style speaker sound' (string)
info.subsystem = 'pnp' (string)
info.udi = '/org/freedesktop/Hal/devices/pnp_PNP0800' (string)
linux.hotplug_type = 2 (0x2) (int)
linux.subsystem = 'pnp' (string)
linux.sysfs_path = '/sys/devices/pnp0/00:06' (string)
pnp.description = 'AT-style speaker sound' (string)
pnp.id = 'PNP0800' (string)

udi = '/org/freedesktop/Hal/devices/pci_8086_293e_sound_card_0'
info.capabilities = {'sound'} (string list)
info.category = 'sound' (string)
info.parent = '/org/freedesktop/Hal/devices/pci_8086_293e' (string)
info.product = 'HDA Intel Sound Card' (string)
info.subsystem = 'sound' (string)
info.udi = '/org/freedesktop/Hal/devices/pci_8086_293e_sound_card_0' (string)
linux.hotplug_type = 2 (0x2) (int)
linux.subsystem = 'sound' (string)
linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1b.0/sound/card0' (string)
sound.card = 0 (0x0) (int)
sound.card_id = 'HDA Intel' (string)
sound.originating_device = '/org/freedesktop/Hal/devices/pci_8086_293e' (string)

udi = '/org/freedesktop/Hal/devices/pci_8086_293e_sound_card_0_alsa_hw_specific_0'
access_control.file = '/dev/snd/hwC0D0' (string)
access_control.type = 'sound' (string)
alsa.card = 0 (0x0) (int)
alsa.card_id = 'HDA Intel' (string)
alsa.device = 0 (0x0) (int)
alsa.device_file = '/dev/snd/hwC0D0' (string)
alsa.originating_device = '/org/freedesktop/Hal/devices/pci_8086_293e_sound_card_0' (string)
alsa.type = 'hw_specific' (string)
info.callouts.add = {'hal-acl-tool --add-device'} (string list)
info.callouts.remove = {'hal-acl-tool --remove-device'} (string list)
info.capabilities = {'alsa', 'access_control'} (string list)
info.category = 'alsa' (string)
info.parent = '/org/freedesktop/Hal/devices/pci_8086_293e_sound_card_0' (string)
info.product = 'HDA Intel ALSA hardware specific Device' (string)
info.subsystem = 'sound' (string)
info.udi = '/org/freedesktop/Hal/devices/pci_8086_293e_sound_card_0_alsa_hw_specific_0' (string)
linux.device_file = '/dev/snd/hwC0D0' (string)
linux.hotplug_type = 2 (0x2) (int)
linux.subsystem = 'sound' (string)
linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1b.0/sound/card0/hwC0D0' (string)

udi = '/org/freedesktop/Hal/devices/pci_8086_293e_sound_card_0_alsa_hw_specific_0'
access_control.file = '/dev/snd/hwC0D0' (string)
access_control.type = 'sound' (string)
alsa.card = 0 (0x0) (int)
alsa.card_id = 'HDA Intel' (string)
alsa.device = 0 (0x0) (int)
alsa.device_file = '/dev/snd/hwC0D0' (string)
alsa.originating_device = '/org/freedesktop/Hal/devices/pci_8086_293e_sound_card_0' (string)
alsa.type = 'hw_specific' (string)
info.callouts.add = {'hal-acl-tool --add-device'} (string list)
info.callouts.remove = {'hal-acl-tool --remove-device'} (string list)
info.capabilities = {'alsa', 'access_control'} (string list)
info.category = 'alsa' (string)
info.parent = '/org/freedesktop/Hal/devices/pci_8086_293e_sound_card_0' (string)
info.product = 'HDA Intel ALSA hardware specific Device' (string)
info.subsystem = 'sound' (string)
info.udi = '/org/freedesktop/Hal/devices/pci_8086_293e_sound_card_0_alsa_hw_specific_0' (string)
linux.device_file = '/dev/snd/hwC0D0' (string)
linux.hotplug_type = 2 (0x2) (int)
linux.subsystem = 'sound' (string)
linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1b.0/sound/card0/hwC0D0' (string)

udi = '/org/freedesktop/Hal/devices/pci_8086_293e_sound_card_0_alsa_hw_specific_0'
access_control.file = '/dev/snd/hwC0D0' (string)
access_control.type = 'sound' (string)
alsa.card = 0 (0x0) (int)
alsa.card_id = 'HDA Intel' (string)
alsa.device = 0 (0x0) (int)
alsa.device_file = '/dev/snd/hwC0D0' (string)
alsa.originating_device = '/org/freedesktop/Hal/devices/pci_8086_293e_sound_card_0' (string)
alsa.type = 'hw_specific' (string)
info.callouts.add = {'hal-acl-tool --add-device'} (string list)
info.callouts.remove = {'hal-acl-tool --remove-device'} (string list)
info.capabilities = {'alsa', 'access_control'} (string list)
info.category = 'alsa' (string)
info.parent = '/org/freedesktop/Hal/devices/pci_8086_293e_sound_card_0' (string)
info.product = 'HDA Intel ALSA hardware specific Device' (string)
info.subsystem = 'sound' (string)
info.udi = '/org/freedesktop/Hal/devices/pci_8086_293e_sound_card_0_alsa_hw_specific_0' (string)
linux.device_file = '/dev/snd/hwC0D0' (string)
linux.hotplug_type = 2 (0x2) (int)
linux.subsystem = 'sound' (string)
linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1b.0/sound/card0/hwC0D0' (string)
udi = '/org/freedesktop/Hal/devices/pci_8086_293e_sound_card_0_alsa_control__1'
access_control.file = '/dev/snd/controlC0' (string)
access_control.type = 'sound' (string)
alsa.card = 0 (0x0) (int)
alsa.card_id = 'HDA Intel' (string)
alsa.device_file = '/dev/snd/controlC0' (string)
alsa.originating_device = '/org/freedesktop/Hal/devices/pci_8086_293e_sound_card_0' (string)
alsa.type = 'control' (string)
info.callouts.add = {'hal-acl-tool --add-device'} (string list)
info.callouts.remove = {'hal-acl-tool --remove-device'} (string list)
info.capabilities = {'alsa', 'access_control'} (string list)
info.category = 'alsa' (string)
info.parent = '/org/freedesktop/Hal/devices/pci_8086_293e_sound_card_0' (string)
info.product = 'HDA Intel ALSA Control Device' (string)
info.subsystem = 'sound' (string)
info.udi = '/org/freedesktop/Hal/devices/pci_8086_293e_sound_card_0_alsa_control__1' (string)
linux.device_file = '/dev/snd/controlC0' (string)
linux.hotplug_type = 2 (0x2) (int)
linux.subsystem = 'sound' (string)
linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1b.0/sound/card0/controlC0' (string)






colorpurple21859 01-26-2010 11:15 AM

ignore this, posted on wrong thread

chandan_raka 01-26-2010 11:22 PM

Quote:

Originally Posted by colorpurple21859 (Post 3841172)
have you tried blacklisting the intel driver, and modprobe the via driver

Dont now how to do.. appreciate if you could tell me the steps.

cladisch 01-27-2010 05:39 AM

Quote:

have you tried blacklisting the intel driver, and modprobe the via driver
This won't work.

A HDA sound system consists of two chips, the controller and the codec.
In this case, the controller is built in the southbridge, and is from Intel. The codec is a separate chip from VIA.

The correct sound driver to use is for the controller, so it's snd-hda-intel. (Actually, all other controllers are Intel compatible, so this driver would be used in any case.)
The controller driver automatically loads the correct module for the codec.

The problem is probably that the driver doesn't know how the codec is wired in that notebook.
Try a newer kernel (Fedore 11 might be too old), and/or setting the "model" option of the driver.

chandan_raka 01-27-2010 05:56 AM

Oops!.. I really didn't know much about the sound driver functioning. Thanks for info.

However, I am wondering how to setup the model option for the driver. Appreciate if you get some steps to do the same.

chandan_raka 01-27-2010 07:13 AM

Quote:

Originally Posted by cladisch (Post 3842072)
This won't work.

A HDA sound system consists of two chips, the controller and the codec.
In this case, the controller is built in the southbridge, and is from Intel. The codec is a separate chip from VIA.

The correct sound driver to use is for the controller, so it's snd-hda-intel. (Actually, all other controllers are Intel compatible, so this driver would be used in any case.)
The controller driver automatically loads the correct module for the codec.

The problem is probably that the driver doesn't know how the codec is wired in that notebook.
Try a newer kernel (Fedore 11 might be too old), and/or setting the "model" option of the driver.

I searched a bit on net..so do I have to add something in

/etc/modprobe.conf

example..options snd-hda-intel model=XXX

Appreciate if you tell me for which driver should I use the "model" option and which model should I specify.

cladisch 01-27-2010 08:23 AM

Quote:

Appreciate if you tell me for which driver should I use the "model" option and which model should I specify.
The model options are documented here: HD-Audio-Models.txt.
However, it seems no model options are needed for any VIA codec. Try a newer driver/kernel.

colorpurple21859 11-17-2011 06:57 AM

try deleting /var/lib/alasa/asound.state and then reboot

business_kid 11-18-2011 11:21 AM

@chandan_raka:

This thread began in 2009! Please kill it off, mark it as solved, and post again with an update.

You need to feed experts with information before they can help you. There are many experts here.

linuxbird 11-26-2011 08:51 PM

I have a similar problem with the same via controller on a PCChips P47G motherboard.

Checking out this: http://drivers.softpedia.com/get/SOU...ver-700a.shtml


All times are GMT -5. The time now is 05:15 AM.