Zmixer and Alsamixer: no volume control (Solved)

Problems and successes with specific brands/models of computer audio hardware
Post Reply
Message
Author
Yogi
Posts: 207
Joined: Fri 19 Aug 2005, 18:50

Zmixer and Alsamixer: no volume control (Solved)

#1 Post by Yogi »

Running Pizza Pup 3.0.
Card: Intel ICH5 x
x Chip: C-Media Electronics CMI9739 x
x View: [Playback] Capture All x
x Item: Master

I am glad I at least have sound. My problem is I can't change the volume with either Zmixer or Alsamixer. In Zmixer, both Master and PCM are zero. Can't increase them. In Alsamixer, Master and PCM are zero and I can't even tab to them without Alsamixer locking up. Weird. I did manage to set the volume levels for Volume and PCM using the terminal and "setvol". My sound modules are as follows:

sh-3.00# lsmod | grep snd
snd_intel8x0 32684 0
snd_ac97_codec 90448 1 snd_intel8x0
snd_ac97_bus 2128 1 snd_ac97_codec
snd_pcm 77592 2 snd_intel8x0,snd_ac97_codec
snd_timer 23540 1 snd_pcm
snd 51396 4 snd_intel8x0,snd_ac97_codec,snd_pcm,snd_timer
soundcore 9408 1 snd
snd_page_alloc 10008 2 snd_intel8x0,snd_pcm
sh-3.00# cat/proc/asound
sh: cat/proc/asound: No such file or directory

This is from /tmp/bootsysinit.log:

/usr/sbin/alsactl: relocation error: /usr/sbin/alsactl: symbol snd_ctl_elem_add_integer, version ALSA_0.9 not defined in file libasound.so.2 with link time reference

This part of the log file shows up when I shutdown also.

I should note that I can control the volume when using XMMS and MPlayer. But having a tray app that I can use to mute sound would be more convenient when I answer the phone.

Any ideas on how to solve this?
Last edited by Yogi on Mon 08 Dec 2008, 04:04, edited 1 time in total.

disciple
Posts: 6984
Joined: Sun 21 May 2006, 01:46
Location: Auckland, New Zealand

#2 Post by disciple »

But having a tray app that I can use to mute sound would be more convenient when I answer the phone.
Does Pizzapup not have a tray volume control? What window manager does it have? The best tray volume app, which used to be in Puppy (minivolume.tcl) uses setvol, but you can only use it with JWM or another window manager that can swallow programs.
For other window managers you could always try the absvolume from Puppy 4.x, or tray-mixer-0.1, which I posted to the forum the other day - I have no idea if they will work.
Do you know a good gtkdialog program? Please post a link here

Classic Puppy quotes

ROOT FOREVER
GTK2 FOREVER

Yogi
Posts: 207
Joined: Fri 19 Aug 2005, 18:50

#3 Post by Yogi »

Pizza Pup uses Icewm and does not have a tray volume control. I just put a Zmixer shortcut on my desktop.

User avatar
Pizzasgood
Posts: 6183
Joined: Wed 04 May 2005, 20:28
Location: Knoxville, TN, USA

#4 Post by Pizzasgood »

I may have a tray mixer that works in IceWM somewhere on my computer. I'll try to dig it up later this week or probably on the weekend. Not sure if it's still around.

You could make a script that toggles whether it's muted or not, and add a button on the tray for it. I don't remember if Pizzapup 3.0 had an entry on that toolbar-menu for editing it (not the main menu, the one over to the right of it's button). If not, the files are in /root/.icewm/. I forgot what it's name is. I've been using JWM since summer, because I haven't gotten around to installing IceWM again yet, and JWM isn't as annoying now as the older versions were.


As for why it isn't working, I haven't the foggiest idea. Did you try the alsa wizard? Should be something like Start->Setup, but I don't remember if that was still the location back then.

For anybody who is not already aware, Pizzapup 3.0 was based on Puppy 2.12.

Do any other versions of Puppy work properly? If version 2.14 works, you could switch to Pizzapup 3.0.1, which was based on that. I think I did a sloppier job on that than on 3.0 though. I let myself get rushed near the end. I was going to make a 3.0.2 but never had time.

Code: Select all

sh-3.00# cat/proc/asound
sh: cat/proc/asound: No such file or directory
FWIW, you made a typo. The space between 'cat' and '/' is missing.
[size=75]Between depriving a man of one hour from his life and depriving him of his life there exists only a difference of degree. --Muad'Dib[/size]
[img]http://www.browserloadofcoolness.com/sig.png[/img]

Yogi
Posts: 207
Joined: Fri 19 Aug 2005, 18:50

#5 Post by Yogi »

Hey Pizzasgood,

Nice to finally meet you. First, let me say that your puplet is the one I always pass out to Windows users interested in Linux. Relatively small but still fully featured. Having Mplayer (w/ codecs) able to play most videos and Xmms is a big attraction.
As for my volume control problem, I forgot to include the fact that I've tried at least 10-15 other Puppies and they don't work properly either. Alsa wizard finds my sound card OK. I should add that other Linux distros (DSL) don't work either.
This is a problem I've lived with for quite a while now. I've also done alot of research here in the forum and on Google. Nada! That's why I'm throwing it out there for help. Yeah, I still have audio, so it could be alot worse. Somehow, I don't think that having a tray app is the issue. As a matter of fact, When trying the newer Pups with JWM, when I use the vol tray app it'll just disappear! Like I removed it or something. Weird.

sh-3.00# scanpci

pci bus 0x0000 cardnum 0x00 function 0x00: vendor 0x8086 device 0x2570
Intel Corporation 82865G/PE/P DRAM Controller/Host-Hub Interface

pci bus 0x0000 cardnum 0x01 function 0x00: vendor 0x8086 device 0x2571
Intel Corporation 82865G/PE/P PCI to AGP Controller

pci bus 0x0000 cardnum 0x1d function 0x00: vendor 0x8086 device 0x24d2
Intel Corporation 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1

pci bus 0x0000 cardnum 0x1d function 0x01: vendor 0x8086 device 0x24d4
Intel Corporation 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2

pci bus 0x0000 cardnum 0x1d function 0x02: vendor 0x8086 device 0x24d7
Intel Corporation 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3

pci bus 0x0000 cardnum 0x1d function 0x03: vendor 0x8086 device 0x24de
Intel Corporation 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4

pci bus 0x0000 cardnum 0x1d function 0x07: vendor 0x8086 device 0x24dd
Intel Corporation 82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller

pci bus 0x0000 cardnum 0x1e function 0x00: vendor 0x8086 device 0x244e
Intel Corporation 82801 PCI Bridge

pci bus 0x0000 cardnum 0x1f function 0x00: vendor 0x8086 device 0x24d0
Intel Corporation 82801EB/ER (ICH5/ICH5R) LPC Interface Bridge

pci bus 0x0000 cardnum 0x1f function 0x01: vendor 0x8086 device 0x24db
Intel Corporation 82801EB/ER (ICH5/ICH5R) IDE Controller

pci bus 0x0000 cardnum 0x1f function 0x03: vendor 0x8086 device 0x24d3
Intel Corporation 82801EB/ER (ICH5/ICH5R) SMBus Controller

pci bus 0x0000 cardnum 0x1f function 0x05: vendor 0x8086 device 0x24d5
Intel Corporation 82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller

pci bus 0x0001 cardnum 0x00 function 0x00: vendor 0x10de device 0x0185
nVidia Corporation NV18 [GeForce4 MX 4000 AGP 8x]

pci bus 0x0002 cardnum 0x08 function 0x00: vendor 0x8086 device 0x1050
Intel Corporation 82562EZ 10/100 Ethernet Controller

sh-3.00# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: ICH5 [Intel ICH5], device 0: Intel ICH [Intel ICH5]
Subdevices: 0/1
Subdevice #0: subdevice #0
card 0: ICH5 [Intel ICH5], device 4: Intel ICH - IEC958 [Intel ICH5 - IEC958]
Subdevices: 1/1
Subdevice #0: subdevice #0

# --- BEGIN: Generated by ALSACONF, do not edit. ---
# --- ALSACONF verion 1.0.8 ---
alias snd-card-0 snd-intel8x0
alias sound-slot-0 snd-intel8x0
# --- END: Generated by ALSACONF, do not edit

disciple
Posts: 6984
Joined: Sun 21 May 2006, 01:46
Location: Auckland, New Zealand

#6 Post by disciple »

I may have a tray mixer that works in IceWM somewhere on my computer.
Both the absvolume in Puppy 4.x and the tray-mixer-0.1 that I posted will work with Icewm as they run in the system tray like glipper.
I was pretty sure icewm actually had its own tray volume control though.
Do you know a good gtkdialog program? Please post a link here

Classic Puppy quotes

ROOT FOREVER
GTK2 FOREVER

User avatar
Pizzasgood
Posts: 6183
Joined: Wed 04 May 2005, 20:28
Location: Knoxville, TN, USA

#7 Post by Pizzasgood »

Not in the version I used, AFAIK. That was about two years ago, and the specific IceWM package may have been older yet. So that may be a newer development. Or it may just be a third-party deal, that people have just been putting into their IceWM packages.


@Yogi: What about amixer?

Code: Select all

# amixer sget PCM
Simple mixer control 'PCM',0
  Capabilities: pvolume
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 255
  Mono:
  Front Left: Playback 255 [100%] [0.00dB]
  Front Right: Playback 255 [100%] [0.00dB]
# amixer sset PCM 00
Simple mixer control 'PCM',0
  Capabilities: pvolume
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 255
  Mono:
  Front Left: Playback 0 [0%] [-51.00dB]
  Front Right: Playback 0 [0%] [-51.00dB]
# amixer sget PCM
Simple mixer control 'PCM',0
  Capabilities: pvolume
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 255
  Mono:
  Front Left: Playback 0 [0%] [-51.00dB]
  Front Right: Playback 0 [0%] [-51.00dB]
# 

I suspect that that won't work either. It seems like all things alsa are defective for you.

Setvol is not alsa. I don't know what exactly it is, but it doesn't touch alsa at all. At lease not directly. That slider I mentioned above that works in IceWM is something I cobbled together two years ago, and when I did the actual volume setting stuff I decided to just grab the source for setvol and copy the functions out of it that dealt with volume. I don't have the source from setvol around anymore (probably is on the puptrix server though), but when looking for it I did uncover my old slider, complete with source. It makes no mention of alsa anywhere. It interacts with the volume through /dev/mixer and apparently uses the header linux/soundcard.h for this.

So, I dusted it off, made some minor tweaks so that it should hopefully compile on any Puppy since 2.00 (maybe earlier), and packaged up the source for you. Inside are just a couple source files and a script called 'compile-it'. Assuming you have devx_xxx.sfs installed (in your case, devx_212.sfs, renamed or symlinked to devx_300.sfs), you can simply click or otherwise execute that script and it should compile. (I cobbled this thing together before I knew how to make 'makefiles').

That should create an executable file named 'eggtray-volume'. Running it should probably put an icon into your task-bar, but I don't know if you have icewmtray running by default in Pizzapup. You may need to launch that by hand (just run icewmtray and I think it will start up). The eggtray-volume program puts a speaker icon in the taskbar, which upon clicking brings up a window with a slider in it, that may or may not work. Since setvol works, I imagine it will.

If it does work, you can copy the binary to /usr/local/bin and then modify a script to load it automatically. Depending on what IceWM package I used, there may or may not be a script called /root/.icewm/startup that you could add it to (along with icewmtray if needed). Otherwise you could put them into /root/.xinitrc near the end but before the 'exec $CURRENTWM'.

I warn you, I threw this together two years ago when I knew nothing at all about GTK programming, so the interface is dirt. You have to click the 'x' to close the window. Clicking the icon a second time just opens a second window. There is not auto-mute option.


If it works for you, I would be willing to fiddle with it the next time I get some free time to smooth out the interface, so that you can right-click or something to mute without opening the window, and so the window itself isn't so stupid. I don't know a lot more about GTK now, but I know enough to make something that isn't basically a copy-paste from a couple tutorials, which is what the interface of this currently is.


By the way, this also works fine in 4.11 with JWM. So if you want to use a newer Puppy and that one's stuff doesn't work, you could resort to this.
Attachments
eggtray-volume-SRC.tar.gz
Old volume slider based on setvol rather than alsa, with a crappy interface.
(6.69 KiB) Downloaded 732 times
[size=75]Between depriving a man of one hour from his life and depriving him of his life there exists only a difference of degree. --Muad'Dib[/size]
[img]http://www.browserloadofcoolness.com/sig.png[/img]

Yogi
Posts: 207
Joined: Fri 19 Aug 2005, 18:50

#8 Post by Yogi »

Hi Pizzasgood,

First, these results:

sh-3.00# amixer sget PCM
Simple mixer control 'PCM',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [on]

sh-3.00# amixer sset PCM 00
Simple mixer control 'PCM',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [on]

Yeah, I too think Alsamixer is adversely affected in some strange way I don't understand. But I do know that 'setvol' (PCM only) has an on/off affect on my sound. If I set PCM to "0" (no audio) then I have no sound. But if I set PCM to any value from 1 - 100 it's the same sound volume. Basically, it's either 'on' or 'off'.
Again, what do you think about this:

This is from /tmp/bootsysinit.log:

/usr/sbin/alsactl: relocation error: /usr/sbin/alsactl: symbol snd_ctl_elem_add_integer, version ALSA_0.9 not defined in file libasound.so.2 with link time reference

What is this 'alsactl: relocation error' all about? It sounds like it could be causing this problem. Don't you think?

I don't know. I wonder what % of Linux users out there are also having sound issues. Is it because ALSA can't keep up with the various/many sound cards and chips on the market? I think if Linux is to become more mainstream this has to be a non-issue for entry users.

User avatar
Pizzasgood
Posts: 6183
Joined: Wed 04 May 2005, 20:28
Location: Knoxville, TN, USA

#9 Post by Pizzasgood »

I think that means that alsactl is trying to use a function or structure from the libasound.so.2 library, but doesn't see it (the function, not the library). As for what that means, not sure. Possibly incompatible versions. Maybe try installing devx_xxx.sfs, tracking down the source for libasound, and recompiling it. I did some googling and it looked like some other people had a similar problem that was resolved by updating the libasound package.

Some other things that googling suggested were requiring extra options in the 'alias snd-card-0 snd-intel8x0' lines, and removing any extra instances of alsactl from /bin and /sbin (doubt that's the problem).

I think the three most likely problems are a bad libasound library, a wrongly configured driver, or a bad driver.

But I really don't know that much about the sound system, so I can't help much more than this. I know absolutely nothing about configuring drivers. Sorry. :(

Hopefully somebody else here with more knowledge of soundcards can help.



Otherwise as a last resort to at least grant yourself some control, you could get an amp and stick that between the computer and the speakers, so that you can manually change the volume (assuming they aren't the type with a volume knob in them already). Yeah, not nearly as good as fixing the problem, but it lets you turn things down at least.
[size=75]Between depriving a man of one hour from his life and depriving him of his life there exists only a difference of degree. --Muad'Dib[/size]
[img]http://www.browserloadofcoolness.com/sig.png[/img]

amigo
Posts: 2629
Joined: Mon 02 Apr 2007, 06:52

#10 Post by amigo »

recompile libasound, alsa-driver, alsa-lib and alsa-utils -all with a version which matches properly with the kernel version you are using -oops, the developer was suppsoed to do that....

Yogi
Posts: 207
Joined: Fri 19 Aug 2005, 18:50

Solved (cheated)

#11 Post by Yogi »

Decided to use an old A-Open AW850 Cobra pci sound card I found stashed in my closet. It uses the C-Media CMI8738 audio chip (which is supported by OSS and ALSA). See here - http://www.linuxquestions.org/hcl/index.php/cat/23.
I now have volume control with Zmixer. Yeah, I took the easy way out but if you knew the (Linux) hardware compatibility of your future purchase why make it hard on yourself. I guarantee you alot of users here will do their homework next time before they buy. Towards that end, I offer the following sites to get you started in that direction.

Linux Soundcard Drivers: A brief guide for users and developers (a little dated but still a good read) - http://www.linuxdevcenter.com/pub/a/lin ... intro.html

ALSA SoundCard Matrix - http://bugtrack.alsa-project.org/main/i ... atrix:Main

Linux on Laptops - http://www.linux-laptop.net/

Even though this Cobra card works in Pizza Pup all I get is basic stereo. But that's OK cause all I have is a two-channel w/sub-woofer speaker system. There are Linux drivers on the cd If I want to re-compile Puppy, which does not appeal to me. For those of you with desktops you might want to research using a compatible pci sound card. This card I'm using is about six years old. I have found Ebay a potential source for an inexpensive solution. Those of you with laptops that are mute I'm not sure there is an easy solution.

Yogi

Post Reply