[USB-Audio - USB Camera-B4.04.27.1 (playstation eye), recording] Pulseaudio fails to detect card

Bug #886449 reported by Johnny on 2011-11-05

This bug report will be marked for expiration in 39 days if no further activity occurs. (find out why)

102
This bug affects 16 people
Affects Status Importance Assigned to Milestone
pulseaudio (Ubuntu)
Undecided
Unassigned

Bug Description

Ubuntu 10.10 (working)

ubuntu@ubuntu:~$ dmesg | tail -n 10
[ 171.597554] hda-intel: IRQ timing workaround is activated for card #0. Suggest a bigger bdl_pos_adj.
[ 230.717829] usb 1-4: USB disconnect, address 4
[ 230.725857] gspca: video0 disconnect
[ 230.725953] gspca: video0 released
[ 234.110162] usb 1-4: new high speed USB device using ehci_hcd and address 5
[ 234.264858] gspca: probing 1415:2000
[ 234.393829] ov534: Sensor ID: 7721
[ 234.443919] ov534: frame_rate: 30
[ 234.444022] gspca: video0 created
[ 234.444148] gspca: probing 1415:2000

Ubuntu 11.10 (not working)

johnny@johnny-System-Product-Name:~$ dmesg | tail -n 10
[ 6.037901] EXT4-fs (sda1): re-mounted. Opts: errors=remount-ro,commit=0
[ 6.141178] r8169 0000:05:00.0: eth0: link up
[ 6.141764] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[ 17.104110] eth0: no IPv6 routers present
[ 37.732125] usb 1-4: new high speed USB device number 4 using ehci_hcd
[ 39.196154] usb 1-4: usbfs: USBDEVFS_CONTROL failed cmd mtp-probe rqt 128 rq 6 len 1024 ret -110
[ 39.200475] Linux video capture interface: v2.00
[ 39.200745] gspca: v2.13.0 registered
[ 39.372830] usbcore: registered new interface driver ov534
[ 39.376238] usbcore: registered new interface driver snd-usb-audio

ProblemType: Bug
DistroRelease: Ubuntu 11.10
Package: pulseaudio 1:1.0-0ubuntu3
ProcVersionSignature: Ubuntu 3.0.0-12.20-generic 3.0.4
Uname: Linux 3.0.0-12-generic x86_64
NonfreeKernelModules: fglrx
AlsaVersion: Advanced Linux Sound Architecture Driver Version 1.0.24.
AplayDevices:
 **** List of PLAYBACK Hardware Devices ****
 card 0: Generic [HD-Audio Generic], device 3: HDMI 0 [HDMI 0]
   Subdevices: 1/1
   Subdevice #0: subdevice #0
ApportVersion: 1.23-0ubuntu4
Architecture: amd64
ArecordDevices:
 **** List of CAPTURE Hardware Devices ****
 card 1: CameraB404271 [USB Camera-B4.04.27.1], device 0: USB Audio [USB Audio]
   Subdevices: 1/1
   Subdevice #0: subdevice #0
AudioDevicesInUse: Error: command ['fuser', '-v', '/dev/snd/by-id', '/dev/snd/controlC1', '/dev/snd/pcmC1D0c', '/dev/snd/by-path', '/dev/snd/controlC0', '/dev/snd/hwC0D0', '/dev/snd/pcmC0D3p', '/dev/snd/seq', '/dev/snd/timer'] failed with exit code 1:
Card0.Amixer.info:
 Card hw:0 'Generic'/'HD-Audio Generic at 0xfe6bc000 irq 53'
   Mixer name : 'ATI R6xx HDMI'
   Components : 'HDA:1002aa01,00aa0100,00100200'
   Controls : 4
   Simple ctrls : 1
Card0.Amixer.values:
 Simple mixer control 'IEC958',0
   Capabilities: pswitch pswitch-joined penum
   Playback channels: Mono
   Mono: Playback [on]
Card1.Amixer.info:
 Error: command ['amixer', '-c', '1', 'info'] failed with exit code 1: amixer: Mixer load hw:1 error: Invalid argument
 Card hw:1 'CameraB404271'/'OmniVision Technologies, Inc. USB Camera-B4.04.27.1 at usb-0000:00:12.2-4, high'
   Mixer name : 'USB Mixer'
   Components : 'USB1415:2000'
   Controls : 1
Card1.Amixer.values: Error: command ['amixer', '-c', '1'] failed with exit code 1: amixer: Mixer hw:1 load error: Invalid argument
Date: Sat Nov 5 01:20:09 2011
InstallationMedia: Lubuntu 11.10 "Oneiric Ocelot" - Release amd64 (20111012)
ProcEnviron:
 LANG=en_US.UTF-8
 SHELL=/bin/bash
SourcePackage: pulseaudio
Symptom: audio
Symptom_Card: USB-Audio - USB Camera-B4.04.27.1
Title: [USB-Audio - USB Camera-B4.04.27.1, recording] Pulseaudio fails to detect card
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 08/24/2010
dmi.bios.vendor: American Megatrends Inc.
dmi.bios.version: 1606
dmi.board.asset.tag: To Be Filled By O.E.M.
dmi.board.name: M4A89GTD-PRO/USB3
dmi.board.vendor: ASUSTeK Computer INC.
dmi.board.version: Rev 1.xx
dmi.chassis.asset.tag: Asset-1234567890
dmi.chassis.type: 3
dmi.chassis.vendor: Chassis Manufacture
dmi.chassis.version: Chassis Version
dmi.modalias: dmi:bvnAmericanMegatrendsInc.:bvr1606:bd08/24/2010:svnSystemmanufacturer:pnSystemProductName:pvrSystemVersion:rvnASUSTeKComputerINC.:rnM4A89GTD-PRO/USB3:rvrRev1.xx:cvnChassisManufacture:ct3:cvrChassisVersion:
dmi.product.name: System Product Name
dmi.product.version: System Version
dmi.sys.vendor: System manufacturer

Johnny (johnnyfaraone) wrote :
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in pulseaudio (Ubuntu):
status: New → Confirmed
Yevgen Antimirov (turist) wrote :

I think it's the same issue as #889624 "Microphone of Playstation Eye camera is not listed in "Input" devices after upgrade to 11.10"

Johnny (johnnyfaraone) wrote :

Eugene yes thats the exact problem I am having. Yes it did work on Ubuntu 11.04 and yes I am using a Playstation Eye Camera. It does not list anything in input devices. This is correct.

Johnny (johnnyfaraone) wrote :

This is a screen shot of the said problem.

Johnny (johnnyfaraone) wrote :

This is what happens when you try to check things out in alsamixer:

Johnny (johnnyfaraone) wrote :

Here is a screenshot of it working VIA Ubuntu 10.10 Live Install

When using Audacity the EyeCam Microphone works just fine.
In Simon listens it gets listed but the possible channels are messed up(only Output channels, non working).
Also I can confirm the alsamixer error above.
Maybe the error is in changes to the Module or alsa, something with the assignment of the channels.
At my second PC, which runs Debian Testing, it also stoped working after the Upgrade to the 3.x Kernel.

Johnny (johnnyfaraone) wrote :

Thank you Benjamin. I now have some new information which could potentially help!

This command will allow you to record sound through ALSA:

$: arecord -f cd -D plughw:1,0 -d 20 test.wav

Start speaking when it says recording and go to the home directory and double click on the test.wav and you'll hear that it works! But heres where I think the problem lies. It only works when you use plughw and not hw. Hence entering the command like this:

$: arecord -f cd -D hw:1,0 -d 20 test.wav

will not allow it to record any sound.

Johnny (johnnyfaraone) wrote :
Download full text (54.3 KiB)

I also ran this and here is the output:

$ pulseaudio -k

and then ran

$pulseaudio -vvv

It gave me this output before locking up the PC:

D: [pulseaudio] alsa-util.c: Trying plug:iec958:1 with SND_PCM_NO_AUTO_FORMAT ...
D: [pulseaudio] alsa-util.c: Managed to open plug:iec958:1
D: [pulseaudio] alsa-util.c: snd_pcm_hw_params_set_channels(2) failed: Invalid argument
D: [pulseaudio] alsa-util.c: Trying plug:iec958:1 without SND_PCM_NO_AUTO_FORMAT ...
D: [pulseaudio] alsa-util.c: Managed to open plug:iec958:1
D: [pulseaudio] alsa-util.c: snd_pcm_hw_params_set_channels(2) failed: Invalid argument
I: [pulseaudio] alsa-util.c: Failed to set hardware parameters on plug:iec958:1: Invalid argument
D: [pulseaudio] alsa-mixer.c: Profile set 0x1d2d0e0, auto_profiles=yes, probed=yes, n_mappings=0, n_profiles=0, n_decibel_fixes=0
E: [pulseaudio] module-alsa-card.c: Failed to find a working profile.
E: [pulseaudio] module.c: Failed to load module "module-alsa-card" (argument: "device_id="1" name="usb-OmniVision_Technologies__Inc._USB_Camera-B4.04.27.1-01-CameraB404271" card_name="alsa_card.usb-OmniVision_Technologies__Inc._USB_Camera-B4.04.27.1-01-CameraB404271" namereg_fail=false tsched=yes ignore_dB=no deferred_volume=yes card_properties="module-udev-detect.discovered=1""): initialization failed.
I: [pulseaudio] module-udev-detect.c: Card /devices/pci0000:00/0000:00:12.2/usb1/1-4/1-4:1.1/sound/card1 (alsa_card.usb-OmniVision_Technologies__Inc._USB_Camera-B4.04.27.1-01-CameraB404271) failed to load module.
D: [pulseaudio] module-udev-detect.c: /dev/snd/controlC1 is accessible: yes
D: [pulseaudio] module-udev-detect.c: /devices/pci0000:00/0000:00:12.2/usb1/1-4/1-4:1.1/sound/card1 is busy: no
D: [pulseaudio] module-udev-detect.c: Loading module-alsa-card with arguments 'device_id="1" name="usb-OmniVision_Technologies__Inc._USB_Camera-B4.04.27.1-01-CameraB404271" card_name="alsa_card.usb-OmniVision_Technologies__Inc._USB_Camera-B4.04.27.1-01-CameraB404271" namereg_fail=false tsched=yes ignore_dB=no deferred_volume=yes card_properties="module-udev-detect.discovered=1"'
D: [pulseaudio] reserve-wrap.c: Successfully acquired reservation lock on device 'Audio1'
D: [pulseaudio] alsa-jack-inputdev.c: Found 0 jack input devices.
D: [pulseaudio] alsa-mixer.c: Looking at profile output:analog-mono
D: [pulseaudio] alsa-mixer.c: Checking for playback on Analog Mono (analog-mono)
D: [pulseaudio] alsa-util.c: Trying hw:1 with SND_PCM_NO_AUTO_FORMAT ...
I: [pulseaudio] (alsa-lib)pcm_hw.c: open '/dev/snd/pcmC1D0p' failed (-2)
I: [pulseaudio] alsa-util.c: Error opening PCM device hw:1: No such file or directory
D: [pulseaudio] alsa-mixer.c: Looking at profile output:analog-mono+input:analog-mono
D: [pulseaudio] alsa-mixer.c: Checking for playback on Analog Mono (analog-mono)
D: [pulseaudio] alsa-util.c: Trying hw:1 with SND_PCM_NO_AUTO_FORMAT ...
I: [pulseaudio] (alsa-lib)pcm_hw.c: open '/dev/snd/pcmC1D0p' failed (-2)
I: [pulseaudio] alsa-util.c: Error opening PCM device hw:1: No such file or directory
D: [pulseaudio] alsa-mixer.c: Looking at profile output:analog-mono+input:analog-stereo
D: [pulseaudio] alsa-mixer.c: Checking for playback on Analog Mono (analog-mono)
D: [pu...

As fahr as I understand your output above alsa has no Profile to assign the channels of the cam, so it tests diferent Profiles but fails.

I tryed following:
# cat /proc/asound/cards
 0 [NVidia ]: HDA-Intel - HDA NVidia
                      HDA NVidia at 0xfae78000 irq 22
 1 [CameraB409241 ]: USB-Audio - USB Camera-B4.09.24.1
                      OmniVision Technologies, Inc. USB Camera-B4.09.24.1 at usb

# alsactl init
Found hardware: "HDA-Intel" "Nvidia MCP79/7A HDMI" "HDA:11060441,18492520,00100100 HDA:10de0007,10de0101,00100100" "0x1849" "0x2520"

# alsactl init 1
Found hardware: "USB-Audio" "USB Mixer" "USB1415:2000" "" ""
Hardware is initialized using a generic method

I think the last sentence proves my idea about the missing Profile.

Maybe the assignmend of the Channels could be fixed with the .asoundrc file?
http://alsa.opensrc.org/.asoundrc

Johnny (johnnyfaraone) wrote :

Since the mic worked in Ubuntu 10.10, I tried replacing the Ubuntu 11.10 conf files in /usr/share/alsa with the ones from Ubuntu 10.10 and then I rebooted. It didn't seem to do anything at all though so I changed the conf files back to the 11.10 ones. Basically, I'm trying a bit of trial and error here.

What I would think is that how alsa interacts with pulseaudio depends on these three files:

/usr/share/alsa/alsa.conf
/usr/share/alsa/pulse.conf
/usr/share/alsa/pulse-alsa.conf

yet it seems like I'm dead wrong as replacing those files with ones from a distribution that had the mic working, didn't make a bit of difference.

I dont think that the problem has anithing to do with the interaction betwen alsa and pulseaudio,
ists alsa or the kernel module, it seems that the module used with the kernel 2.x was "external" and from another
Programmer as the module which is shipped with the kernel 3.x .

You could try the above with the file /usr/share/alsa/cards/USB-Audio.conf
It seems to be the file which contains the profiles for the channel assingnment.

another thing you could try would be this:
https://wiki.archlinux.org/index.php/PulseAudio#Pulseaudio_through_OSS
maybe it works trough the oss emulation of alsa.

Johnny (johnnyfaraone) wrote :

Tried these things. Neither worked:

A.) Tried replacing the whole /usr/share/alsa/cards directory with the Ubuntu 10.10 /usr/share/alsa/cards directory. No change.

B.) Tried replacing the ENTIRE /usr/share/alsa directory with the Fedora 16 /usr/share/alsa directory. No change.

Are you guys certain that Alsa is the issue here?

If it isnt alsa it must be the new kernel module, every error pulse is giving relates to alsa or udev.

muzah (sylvain-lesne) wrote :

This bug is already here ; I actualy have the 3.2 kernel on ubuntu 11.10 and no mic for my PS3 Eye.
Is anybody able to do something for this bug ?

Yevgen Antimirov (turist) wrote :

2Muzah: If you already have different kernels on your 11.10, can you also try installing the kernel from 11.04? This will eliminate kernel as the source of the problem.

Yani Ioannou (yani) wrote :
Download full text (6.9 KiB)

I too have the same problem, I noticed the same output when trying to load pulseaudio in verbose. I got my playstation eye's microphone to show up in the list of cards/devices (although not attatch to the mixer) by disabling the udev-loader in pulseaudio as found in this post http://ubuntuforums.org/showpost.php?p=7900438&postcount=10:

comment /etc/pulse/default.pa file to:

### Automatically load driver modules depending on the hardware available
#.ifexists module-udev-detect.so
#load-module module-udev-detect
#.else
### Alternatively use the static hardware detection module (for systems that
### lack udev support)
load-module module-detect
#.endif

This leads me to believe this is a problem with pulseaudio and udev..

Here is the relevant output I'm getting from pulseaudio now showing the microphone device being setup but not being added to the mixer:

D: [pulseaudio] alsa-util.c: Checking for superset analog-surround-40 (surround40:%f)
D: [pulseaudio] alsa-util.c: Trying surround40:0 with SND_PCM_NO_AUTO_FORMAT ...
D: [pulseaudio] alsa-util.c: Managed to open surround40:0
I: [pulseaudio] alsa-util.c: cannot disable ALSA period wakeups
D: [pulseaudio] alsa-util.c: Maximum hw buffer size is 8192 ms
D: [pulseaudio] alsa-util.c: Set buffer size first (to 32000 samples), period size second (to 32000 samples).
I: [pulseaudio] alsa-util.c: Device surround40:0 doesn't support 44100 Hz, changed to 16000 Hz.
I: [pulseaudio] alsa-util.c: ALSA period wakeups were not disabled
I: [pulseaudio] alsa-source.c: Successfully opened device surround40:0.
I: [pulseaudio] alsa-source.c: Selected mapping 'Analog Surround 4.0' (analog-surround-40).
I: [pulseaudio] alsa-source.c: Successfully enabled mmap() mode.
I: [pulseaudio] alsa-source.c: Successfully enabled timer-based scheduling mode.
I: [pulseaudio] (alsa-lib)control.c: Invalid CTL surround40:0
I: [pulseaudio] alsa-mixer.c: Unable to attach to mixer surround40:0: No such file or directory
W: [pulseaudio] alsa-mixer.c: Unable to load mixer: Invalid argument
I: [pulseaudio] alsa-source.c: Failed to find a working mixer device.
D: [pulseaudio] core-subscribe.c: Dropped redundant event due to change event.
D: [pulseaudio] module-device-restore.c: Database contains invalid data for key: source:alsa_input.0.analog-surround-40 (probably pre-v1.0 data)
D: [pulseaudio] module-device-restore.c: Attempting to load legacy (pre-v1.0) data for key: source:alsa_input.0.analog-surround-40
D: [pulseaudio] module-device-restore.c: Size does not match.
D: [pulseaudio] module-device-restore.c: Unable to load legacy (pre-v1.0) data for key: source:alsa_input.0.analog-surround-40. Ignoring.
D: [pulseaudio] module-device-restore.c: Database contains invalid data for key: source:alsa_input.0.analog-surround-40:null
I: [pulseaudio] source.c: Created source 1 "alsa_input.0.analog-surround-40" with sample spec s16le 4ch 16000Hz and channel map front-left,front-right,rear-left,rear-right
I: [pulseaudio] source.c: alsa.resolution_bits = "16"
I: [pulseaudio] source.c: device.api = "alsa"
I: [pulseaudio] source.c: device.class = "sound"
I: [pulseaudio] source.c: alsa.class = "generic"
I: [pulseaudio] source.c: al...

Read more...

Yani Ioannou (yani) wrote :

Sorry on further inspection disabling udev module loading isn't changing anything other than pulseaudio's output, even without the above change the card is seen by alsa.. only the mixer is not attatched properly:

$ cat /proc/asound/cards
 0 [PCH ]: HDA-Intel - HDA Intel PCH
                      HDA Intel PCH at 0xb0900000 irq 48
 1 [CameraB409241 ]: USB-Audio - USB Camera-B4.09.24.1
                      OmniVision Technologies, Inc. USB Camera-B4.09.24.1 at usb-0000:00:1d.7-1.2, hi

I suspect there is a problem finding an alsa mixer profile for the device...

Yani Ioannou (yani) wrote :

I've discovered I can record audio from the Playstation Eye using arecord and audacity, it seems these do not fail when they can't read the mixer controls correctly.

Furthermore I've been playing around with amixer, and I can list the two controls on the Playstation Eye, however trying to read one of the controls in particular results in the same error:

Listing the two controls:

$ amixer -c 2 controls
numid=2,iface=MIXER,name='Mic Gain'
numid=1,iface=MIXER,name='Mic Capture Volume'

Trying to list the control contents, failing on the second control:

$ amixer -c 2 contents
numid=2,iface=MIXER,name='Mic Gain'
  ; type=INTEGER,access=rw---RW-,values=2,min=0,max=255,step=0
  : values=170,170
  | dBscale-min=-10.00dB,step=0.05dB,mute=0
numid=1,iface=MIXER,name='Mic Capture Volume'
  ; type=INTEGER,access=rw---R--,values=4,min=0,max=1,step=0
amixer: Control hw:2 element read error: Invalid argument

Directly trying to read each control:

$ amixer -c 2 cget numid=2
numid=2,iface=MIXER,name='Mic Gain'
  ; type=INTEGER,access=rw---RW-,values=2,min=0,max=255,step=0
  : values=170,170
  | dBscale-min=-10.00dB,step=0.05dB,mute=0

$ amixer -c 2 cget numid=1
numid=1,iface=MIXER,name='Mic Capture Volume'
  ; type=INTEGER,access=rw---R--,values=4,min=0,max=1,step=0
amixer: Control hw:2 element read error: Invalid argument

So as you can see the alsamixer error is caused byt he "Mic Capture Volume" control on the Playstation Eye having a bug preventing it from being read correctly.

Yani Ioannou (yani) wrote :

I think the dBmin and dBmax values provided in the mixer description are incorrect, both are 0.

$ cat /proc/asound/CameraB409241/usbmixer
USB Mixer: usb_id=0x14152000, ctrlif=1, ctlerr=0
Card: OmniVision Technologies, Inc. USB Camera-B4.09.24.1 at usb-0000:00:1a.7-5.2, hi
  Unit: 3
    Control: name="Mic Capture Volume", index=0
    Info: id=3, control=2, cmask=0xf, channels=4, type="S16"
    Volume: min=0, max=1, dBmin=0, dBmax=0

Also note 'Mic Gain' control in my previous post is the result of my .asoundrc configuration, not an actual Playstation Eye control.

Yani Ioannou (yani) wrote :

I now believe this is a duplicate of the following pulseaudio bug for the Kinect that was resolved with a device-specific profile:

https://bugs.freedesktop.org/process_bug.cgi

It results from the removal in upstream pulseaudio of the iec958-surround-40 mapping that the ps3 eye (and 4-channel mics) were using. I've commented that the kinect-specific mapping should be in the default config since there are more than a few 4-channel microphones on the market.

As for the alsa-mixer/mixer errors with the ps3 eye, this seems to have been a long-standing issue and appears to be because the snd-usb-audio driver does not support microphone array devices yet.

Yani Ioannou (yani) wrote :

Sorry, here is there correct link to the upstream pulseaudio bug report:

https://bugs.freedesktop.org/show_bug.cgi?id=39664

Johnny (johnnyfaraone) wrote :

We're close but not completely there. If you guys add this file to your /usr/share/pulseaudio/alsa-mixer/profile-sets folder and replace the old default.conf, when you go into pavumixer you will notice a new category and the mic will be recognized and seem to work. It still doesn't work for me however, maybe theres something I'm missing.

Johnny (johnnyfaraone) wrote :

On another note, just like you had to on Ubuntu 10.10 and 11.04, you need to have your mic plugged in when rebooting and starting Ubuntu. Then you must unplug it and plug it back in. Again it will seem to work as when you speak the levels will go up and down but then it will freeze. I also tested skype and its a no go unfortunately. I suppose its a start. Perhaps someone can completely fix this file so it works just like it did before.

Johnny (johnnyfaraone) wrote :

Here is the file you're going to add to what I said in post #24. The file is called default.conf. It replaces your other default profile and gives you one which enables your PS3 Eye Audio.

Changed in pulseaudio (Ubuntu):
assignee: nobody → Canonical Desktop Team (canonical-desktop-team)
Martin Pitt (pitti) on 2012-02-06
Changed in pulseaudio (Ubuntu):
assignee: Canonical Desktop Team (canonical-desktop-team) → Luke Yelavich (themuso)
Yani Ioannou (yani) wrote :

Sorry Johnny et. al., I should have mentioned I actually got it working and provided more information.

Once you'd added an appropriate 4-channel input profile whatever way you want (I've removed the kinect specific profile and added a default one since there are plenty of 4-channel mics out there), the trick is you also need to edit the default.pa configuration to manually load the module for that source by adding a line like this to /etc/pulseaudio/default.pa

load-module module-alsa-source device=hw:1,0

This is obviously not a long term solution, and I'm not event sure why it's necessary, but once you do the playstation eye shows up as an input device in the gnome sound applet and you can record from it using pulseaudio.

I've included a patch against the pulseaudio source code (I was using it to create a personalized pulseaudio debian package) that I believe provides a solution to the problem of 4-microphone input profiles in pulseaudio, removing the device-specific kinect profile (and udev config) adding a default profile.

Yeah I checked that file, that line was already in it by default. It is
just odd because it seems like everything was done right yet the mic
still doesn't seem to be working. You will see the meter on go up and
down for maybe about 10 seconds before completely freezing and dropping
out. I think it may have something to do with the hot plugging but I'm
not certain. I had an awfully hard time following those directions on
the site with the kinect link you gave and this is why I created the
default.conf in the first place. It just seemed easier yet unfortunately
didn't work out as I planned.

On 02/06/2012 12:57 PM, Yani Ioannou wrote:
> Sorry Johnny et. al., I should have mentioned I actually got it working
> and provided more information.
>
> Once you'd added an appropriate 4-channel input profile whatever way you
> want (I've removed the kinect specific profile and added a default one
> since there are plenty of 4-channel mics out there), the trick is you
> also need to edit the default.pa configuration to manually load the
> module for that source by adding a line like this to
> /etc/pulseaudio/default.pa
>
> load-module module-alsa-source device=hw:1,0
>
> This is obviously not a long term solution, and I'm not event sure why
> it's necessary, but once you do the playstation eye shows up as an input
> device in the gnome sound applet and you can record from it using
> pulseaudio.
>
> I've included a patch against the pulseaudio source code (I was using it
> to create a personalized pulseaudio debian package) that I believe
> provides a solution to the problem of 4-microphone input profiles in
> pulseaudio, removing the device-specific kinect profile (and udev
> config) adding a default profile.
>
> ** Patch added: "0617-Add-default-4-channel-mic-array-profile.patch"
> https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/886449/+attachment/2720028/+files/0617-Add-default-4-channel-mic-array-profile.patch
>

Johnny (johnnyfaraone) wrote :

Unless the directory for you is different anyways. Mine says
/etc/pulse/default.pa and the line was already there.

I have used the microphone for speech recognition at this point, so I'm pretty sure it's working, but I've only specifically recorded audio using audacity (which *always* worked somehow). How are you using the microphone?

Yani Ioannou (yani) wrote :

BTW that line is in /etc/pulseaudio/default.pa by default but it's commented out, did you uncomment it?

Never mind, it worked perfectly in Cheese. Its just skype I'm having the
issues with for some reason.

I've even got the ps3 eye to work with alsamixer now, but you have to load up the snd_usb_audio module with the "ignore_ctl_error" parameter set:

modprobe snd_usb_audio ignore_ctl_error=1

On 02/06/2012 01:24 PM, Yani Ioannou wrote:
> BTW that line is in /etc/pulseaudio/default.pa by default but it's
> commented out, did you uncomment it?
>
Weird for some reason it works in skype now. I didn't even have to do
anything actually.......cool I guess the problem is somewhat solved
then. All that is needed is that default.conf I provided.

Johnny: Great, glad to see it's working for you :-)

As a further not on the alsamixer "fix" above, it just prevents the mixer from exiting in error, it doesn't actually give alsamixer working controls for the mic - you just get a "Front" and "Rear" volume control that seems to not save or actually work. Of course this has been a long-standing issue that's never worked as far as I can tell. I'm going to look at modifying the snd_usb_audio kernel module if I get time to add support.

Note everything is working great from the pulseaudio side though as far as I can tell.

Hopefully, now that this has all been figured out, maybe Ubuntu 12.04
can have the support right off the bat without having to go crazy like this.

The attachment "0617-Add-default-4-channel-mic-array-profile.patch" of this bug report has been identified as being a patch. The ubuntu-reviewers team has been subscribed to the bug report so that they can review the patch. In the event that this is in fact not a patch you can resolve this situation by removing the tag 'patch' from the bug report and editing the attachment so that it is not flagged as a patch. Additionally, if you are member of the ubuntu-reviewers team please also unsubscribe the team from this bug report.

[This is an automated message performed by a Launchpad user owned by Brian Murray. Please contact him regarding any issues with the action taken in this bug report.]

tags: added: patch

By using the default.conf I have provided, this fixes the issue specified. However, just like Ubuntu 10.10 and 11.04 you need to unplug and then plug in your PS3 Eye when starting Ubuntu. Also as another note you must have your PS3 Eye plugged in when starting Ubuntu. Hopefully, my modified default.conf file can be used in Ubuntu 12.04.

Changed in pulseaudio (Ubuntu):
assignee: Luke Yelavich (themuso) → Johnny (johnnyfaraone)
status: Confirmed → Fix Released
Johnny (johnnyfaraone) wrote :

Directions for using:

1.) Download the default.conf file in post #26 to where you can find it. I usually download it to my downloads folder.

2.) Go to terminal and type sudo pcmanfm (or thunar or whatever file manager your Ubuntu distro is using)

3.) Browse until you get to the /usr/share/pulseaudio/alsa-mixer/profile-sets folder

4.) Rename your default.conf file in that folder to default.old.conf

5.) Move the default.conf file that you just downloaded from the folder you put it in to the /usr/share/pulseaudio/alsa-mixer/profile-sets folder VIA drag and drop

6.) Restart your computer

7.) Leave your PS3 Eye plugged in during the entire boot process until LUbuntu/Ubuntu/XUbuntu etc. begins

8.) Unplug your camera mic and then plug it back in.

9.) Enjoy your camera mic support :)

And always remember, to use steps 7 through 9 each time you shut down your computer or restart it to keep your mic support.

Enjoy guys :)

Johnny (johnnyfaraone) wrote :

You can skip step 4 if you want BTW. I actually did. I just suggest it if you want to play it safe just in case something goes wrong.

Yani Ioannou (yani) wrote :

Johnny,

I actually don't have any problems using the ps3 eye even if I just plug it in.. so I'm not sure what's different with my configuration.

If you want to use my patch simply change into the /usr/share/pulsaudio/alsa-mixer directory and run "patch -p5 < blah.patch".. also tell ignore the first 2 files it tries to patch.

Yani

On Monday 06 February 2012 20:35:10 you wrote:
> And always remember, to use steps 7 through 9 each time you shut down
> your computer or restart it to keep your mic support.
>
> Enjoy guys :)

Thanks for the help here, but "fix released" is a bit premature.

Luke Yelavich (themuso) wrote :

 affects ubuntu/pulseaudio
 status confirmed

Thanks for the patch, but I would feel much better if we added specific udev rules, and if necessary, new profile config files for the device(s) discussed in this thread. Unless you have the Kinect hardware, there is no way of knowing whether the default profile you created in that patch will work. In addition, adding the 4 channel profile to the default configuration file may break audio input for other hardware, which is exactly why udev rules and specific configuration files are used for specific hardware in the first place. David, would you agree?

Luke

Changed in pulseaudio (Ubuntu):
status: Fix Released → Confirmed

Well.. considering this was all caused by the original 4-channel profile being removed from default (according to the commit because it was thought it wasn't used) I don't think that would be an issue.

I do have a kinect though and I'm willing to test it with that. The point anyway is that there are many devices out there that match this profile... at least 4 which I know of personally, so device specific profiles are not the way to go IMHO.

Luke,

I suppose I'll let you guys deal with this. You guys know more of what
you're doing than I do and April isn't that far away. By the time Ubuntu
12.04 Precise Pangolin comes along I'm sure this issue will be fixed and
working the same way it did in prior Ubuntu distributions. Also just for
the record, I don't use Unity and I refuse to do so, so for the people who
do, the fix may need to be a bit more involved.

Johnny (johnnyfaraone) wrote :

Another thing I'd like to mention and point out is that Unity doesn't
mainly use pavucontrol. It has its own Volume Control and Configuration.
The rules really do apply differently to Unity than any other non-unity
Ubuntu spins IMO.

Johnny (johnnyfaraone) wrote :

I apologize also. I did not specify which distribution I was using when I
first posted this bug. I'm using LUbuntu which is apparently not supported.
From what I was told the only distribution Canonical supports is any Unity
based distribution. I figured issues like this can apply to any Ubuntu
derivative. I do not know how the PS3 Eye works with Unity. I have not
tried it and no offense but I don't plan to. Personally, Unity is not for
me and we could leave it at that.

Luke Yelavich (themuso) wrote :

Ok, I'll bring this up with upstream, as much of this profile work has been done there. As for Unity etc, that is for other bugs if you have them. The sound preferences UI is being reworked and will be available in 12.04 shortly, as part of the general control centre. If your distribution uses GNOME 3 components of any kind, you will get thhis different UI. I should also point out that Unity is the shell and the shell only, everything else are GNOME applications, like the control center etc.

Anyway, enough off-topic chatter form me.

Johnny (johnnyfaraone) wrote :

Ahh ok I understand now. Yeah I guess I didn't mean Unity. I meant Control
Center. Using LUbuntu, I don't really have the same apps as I did when I
used Ubuntu 11.04 VIA Gnome 2. Once I made the switch to lxde, certain apps
changed as did the way things functioned. Once of them was in fact that
pulseaudio applications like pavucontrol seem to manage LUbuntu's sound as
opposed to Control Center. So I don't know if this may or may not have
anything to do with how a fix might work. If the fix actually works through
Control Center, who knows how it could be done. For all I know pulseaudio
could even be done away with eventually. Though its unlikely.

Point being that this device works rather well in Alsa without pulseaudio.
It can do basic functions like record in Audacity and even record in
ARecord without having to fartz around with anything. So it would all
depend on how heavy 12.04 as well as its apps like skype will rely on
pulseaudio or even if its worth pushing pulseaudio anymore. Seems day by
day people are rather fickle with what they feel like pushing to the
forefront or dealing with. Pulseaudio could fade away just as easily as it
came along depending on how much Alsa can do on its own with its new
releases once those come along.

Johnny (johnnyfaraone) wrote :

Also I would like to mention that this bug seems to weigh heavy on
pulseaudio and not ALSA. Thus far the only issue with ALSA that has been
mentioned is the Alsamixer bug when trying to play with the volume for the
PS3 Eye.

If it hasn't been acknowledged already, this bug is a bug with pulseaudio.
If pulseaudio is taken out of the equation and we don't have to depend on
pulseaudio to use certain apps, this problem is hence non existent. So
we're really waiting on a pulseaudio fix on this one.

Luke: Thanks, for forwarding upstream. I agree - they have to decide what to do with the profile, I'd just like to make sure they know that this isn't as special a case as they seemed to think it was (with the kinect). If you need any more information on the 4-channel input devices out there let me know.

Johnny: Well the bugs using the PS3 with ALSA are a problem with the snd_usb_audio kernel module itself, specifically the code for loading mixer controls. I'm looking into it and will try fixing it if I get time, but that was always an issue AFAIK.. and is separate from this pulse audio bug.

Lets keep this on topic - Unity and all that is a rant that belongs elsewhere :-)

Well hopefully in 12.04 again all of these issues can be solved. I guess
with that I'll just wait a couple of months and see what happens. Theres
really nothing more we can say about this. Its just a matter of playing the
waiting game at this point.

Luke Yelavich (themuso) wrote :

Just to clarrify, does the patch Yani attached also require a default.pa hack to work, or is that specific to the PS3 camera?

Yani Ioannou (yani) wrote :

Luke: in my experience I need to have the default.pa hack or the ps3 eye isn't detected. From what I can tell with the kinect patch I've done everything necessary in terms of adding the profile to pulse, but I may be missing something from the module loading standpoint? I'm hoping upstream/someone with more experience can easily answer that... first time I've dabbled in the pulseaudio code I'm afraid.

Julian: the patch is actually against the latest upstream pulseaudio as of 2 weeks ago, I'm guessing you did not do that default.pa hack?

Yani, correct, I didn't. I was following the instructions in #39.

On Thu, Feb 09, 2012 at 03:14:55AM EST, Yani Ioannou wrote:
> Luke: in my experience I need to have the default.pa hack or the ps3 eye
> isn't detected. From what I can tell with the kinect patch I've done
> everything necessary in terms of adding the profile to pulse, but I may
> be missing something from the module loading standpoint? I'm hoping
> upstream/someone with more experience can easily answer that... first
> time I've dabbled in the pulseaudio code I'm afraid.

Ok, so to be clear, the default.pa is *ONLY* for the PS3 eye, correct?

Luke

Download full text (11.2 KiB)

Hi Luke,

Sorry I've been trying to get the kinect to work for audio - and that's a whole other dilemma. I'd assumed it was part of libkinect (it sort of is in unstable), but in order to get it to work as a standard snd-usb-audio device you need to use kinect-audio-setup (see http://groups.google.com/group/openkinect/browse_thread/thread/97d5656f550669d5) and then run kinect-fw-upload with the extracted firmware file.

Interestingly after I do this, the kinect doesn't work with pulseaudio for me, despite that patch that seems to be in the ubuntu version of pulseaudio!!

D: [pulseaudio] alsa-mixer.c: Looking at profile input:analog-mono
D: [pulseaudio] alsa-mixer.c: Checking for recording on Analog Mono (analog-mono)
D: [pulseaudio] alsa-util.c: Trying hw:1 with SND_PCM_NO_AUTO_FORMAT ...
D: [pulseaudio] alsa-util.c: Managed to open hw:1
D: [pulseaudio] alsa-util.c: snd_pcm_hw_params_set_format(Signed 16 bit Little Endian) failed: Invalid argument
D: [pulseaudio] alsa-util.c: snd_pcm_hw_params_set_format(Signed 16 bit Big Endian) failed: Invalid argument
D: [pulseaudio] alsa-util.c: snd_pcm_hw_params_set_format(Float 32 bit Little Endian) failed: Invalid argument
D: [pulseaudio] alsa-util.c: snd_pcm_hw_params_set_format(Float 32 bit Big Endian) failed: Invalid argument
D: [pulseaudio] alsa-util.c: snd_pcm_hw_params_set_channels(1) failed: Invalid argument
D: [pulseaudio] alsa-util.c: Trying hw:1 without SND_PCM_NO_AUTO_FORMAT ...
D: [pulseaudio] alsa-util.c: Managed to open hw:1
D: [pulseaudio] alsa-util.c: snd_pcm_hw_params_set_format(Signed 16 bit Little Endian) failed: Invalid argument
D: [pulseaudio] alsa-util.c: snd_pcm_hw_params_set_format(Signed 16 bit Big Endian) failed: Invalid argument
D: [pulseaudio] alsa-util.c: snd_pcm_hw_params_set_format(Float 32 bit Little Endian) failed: Invalid argument
D: [pulseaudio] alsa-util.c: snd_pcm_hw_params_set_format(Float 32 bit Big Endian) failed: Invalid argument
D: [pulseaudio] alsa-util.c: snd_pcm_hw_params_set_channels(1) failed: Invalid argument
D: [pulseaudio] alsa-util.c: Trying plug:hw:1 with SND_PCM_NO_AUTO_FORMAT ...
D: [pulseaudio] alsa-util.c: Managed to open plug:hw:1
D: [pulseaudio] alsa-util.c: snd_pcm_hw_params_set_format(Signed 16 bit Little Endian) failed: Invalid argument
D: [pulseaudio] alsa-util.c: snd_pcm_hw_params_set_format(Signed 16 bit Big Endian) failed: Invalid argument
D: [pulseaudio] alsa-util.c: snd_pcm_hw_params_set_format(Float 32 bit Little Endian) failed: Invalid argument
D: [pulseaudio] alsa-util.c: snd_pcm_hw_params_set_format(Float 32 bit Big Endian) failed: Invalid argument
D: [pulseaudio] alsa-util.c: snd_pcm_hw_params_set_channels(1) failed: Invalid argument
D: [pulseaudio] alsa-util.c: Trying plug:hw:1 without SND_PCM_NO_AUTO_FORMAT ...
D: [pulseaudio] alsa-util.c: Managed to open plug:hw:1
D: [pulseaudio] alsa-util.c: snd_pcm_hw_params_set_channels(1) failed: Invalid argument
I: [pulseaudio] alsa-util.c: Failed to set hardware parameters on plug:hw:1: Invalid argument
D: [pulseaudio] alsa-mixer.c: Looking at profile input:analog-stereo
D: [pulseaudio] alsa-mixer.c: Checking for recording on Analog Stereo (analog-stereo)
D: [pulseaudio] alsa-util.c: Trying...

Ratko (arheopterics) wrote :

It works !
I downloaded file from post 26 and used Directions for using: from post 39 ( used Nautilus in step 2 ) and it is now working. I even restarted few times and it worked without me pulling camera out.
I am using Ubuntu 12.04 32bit.
Thank you boyz.

I have tried this again on precise using the default.pa hack and it doesn't work. Instead I see the default sound devices removed.

Yani Ioannou (yani) wrote :

Julian: you need to add two lines to default.pa, one for your default hardware (i.e. card 0) and one for the ps3 eye.

Johnny (johnnyfaraone) wrote :

Ratko,

Glad it worked for you :).

Julian,

Yani's patch does not go with the directions in post #39. The file in post #26 does.

I have a fresh installation currently of LUbuntu installed without my fix or Yani's fix implemented. Yani let me know when your patch is usable without any complications and with easy to follow step by step instructions for using and I will consider that option. Otherwise it just becomes way too confusing for me to go to this thread and that thread and add this line and edit that one.

Ratko (arheopterics) wrote :

After latest update I had to do it again, and again it works .

Johnny (johnnyfaraone) wrote :

This bug is being sent upstream to Ubuntu's Pulseaudio team. I can't do any more than I've already done.

Changed in pulseaudio (Ubuntu):
assignee: Johnny (johnnyfaraone) → nobody

The only solution to make microphone work is to install linux-backports-modules-alsa-generic...

Just go to:

Menu / System / Administration / Synaptic Package Manager

And search and mark for installation:

linux-backports-modules-alsa-generic

tip: if you have multiple versions click on the first and read the description which should inform what name to install...

If after the reboot and mic mute is off, still does not work, just go to terminal and type:

sudo nano /etc/modprobe.d/alsa-base.conf

and add or change the following:

options snd-hda-intel model=auto enable=yes

Then Ctrl+X, type Y to write and exit, reboot and mic will work.

Bye and have lots of fun with Ubuntu (the best).

Xero Xenith (xero-xenith) wrote :

Hello, I'm posting because I've just successfully set up my PS Eye camera in Ubuntu 12.04, 64-bit.

Sound does still not work out of the box but it's very easy to set up. I didn't need to install anything!

Here's the instructions, but check my very slight edit below:
http://renatocunha.com/blog/2012/04/playstation-eye-audio-linux

Only change I'd make is that you need to check the device number before running either of those commands. How to do this is in the guide under "How can I know what to pass as an argument to device?" and just involves reading the file "/proc/asound/cards".

Very simple, and this was a beautiful webcam for £4 :D

Xero Xenith (xero-xenith) wrote :

(If it shows up but sound does not register, try unplugging it, plugging it in again, and running the hotplug command: "pacmd load-module module-alsa-source device=hw:1,0")

David Henningsson (diwic) wrote :

I believe this has been fixed in PulseAudio 2.0, which is shipped in Ubuntu 12.10 (Quantal). Feel free to reopen this bug if this is incorrect.

Changed in pulseaudio (Ubuntu):
status: Confirmed → Fix Released

I can confirm that it's *not* fixed, I still don't see pulse loading the drivers. I have to get it working via the alsa emulation layer.

(I don't have permission to reopen)

Changed in pulseaudio (Ubuntu):
status: Fix Released → Confirmed
David Henningsson (diwic) wrote :

@Julian, thanks for testing. I just verified that the package in quantal indeed have a four-channel-input section:

(Copy-pasted from /usr/share/pulseaudio/alsa-mixer/profile-sets/default.conf )

[Mapping analog-4-channel-input]
# Alsa doesn't currently provide any better device name than "hw" for 4-channel
# input. If this causes trouble at some point, then we will need to get a new
# device name standardized in alsa.
device-strings = hw:%f
channel-map = aux0,aux1,aux2,aux3
priority = 1
direction = input

Can you verify that your file also has this section, that you're running Ubuntu 12.10 (not 12.04), that PulseAudio is version 2.1 (pulseaudio --version), and if all this is true, also send a PulseAudio verbose log ( https://wiki.ubuntu.com/PulseAudio/Log ) for further analysis?
Thanks!

I can verify that all the above are correct and I am using 12.10. I've attached the log as requested.

When starting up the daemon with debugging, all of my sound devices disappeared from the mixer and didn't come back at all. I managed to make the playstation eye device appear in the sound *settings* (but not the mixer) by unplugging it and re-plugging in.

Something is pretty broken :(

David Henningsson (diwic) wrote :

@Julian, I'm not sure which (GUI?) application you're talking about when you say "disappeared from the mixer". However, there is indeed a problem at ALSA/kernel level with the mixer of the playstation eye, as you can see if you try to run "amixer -c1" or alsamixer.

As for the log, it seems like the eye is properly detected (except for the mixer error) both at startup and after plug/unplug. Can you record from it?

summary: - [USB-Audio - USB Camera-B4.04.27.1, recording] Pulseaudio fails to
- detect card
+ [USB-Audio - USB Camera-B4.04.27.1 (playstation eye), recording]
+ Pulseaudio fails to detect card

On Friday 21 September 2012 06:38:24 you wrote:
> @Julian, I'm not sure which (GUI?) application you're talking about when
> you say "disappeared from the mixer". However, there is indeed a problem
> at ALSA/kernel level with the mixer of the playstation eye, as you can
> see if you try to run "amixer -c1" or alsamixer.

Sorry - I run under KDE usually and the recording device doesn't appear in
kmixer. It's quite possible that this is a KDE bug though, but having said
that the other pulse devices appear fine. The emulated PSEye device also
appears if I load the alsa source module in PA.

It does appear fine in KDE's hardware settings though, so it seems as though
it's just the mixer that's broken.

> As for the log, it seems like the eye is properly detected (except for
> the mixer error)

I suspect the mixer error is pertinent :)

> both at startup and after plug/unplug. Can you record
> from it?

I can but after booting I have to unplug and re-plug it back in before
anything comes through.

Paul Chaffey (paul-chaffey) wrote :

Hi All,

I can confirm the exact same behavior on my kde 12.10 test machine. The device is seen in the system setting (the input level goes to zero when you open it though) but the kmix audio has not seen this ps3 eye device.

Does anyone have an idea how to manually fix it ?

affects: pulseaudio (Ubuntu) → alsa-driver (Ubuntu)

On Tuesday 09 October 2012 08:36:00 you wrote:
> ** Package changed: pulseaudio (Ubuntu) => alsa-driver (Ubuntu)

FWIW I don't think this is an alsa bug. Everything works flawlessly if I load
module-alsa-source in PA and use the devices from that instead.

affects: alsa-driver (Ubuntu) → pulseaudio (Ubuntu)
Joshua Kugler (jkugler) wrote :

I think my issue is related to this bug. This is Ubuntu 12.04. Attached is what I get when I plug it in to the USB port.

I get the same issue with Alsa mixer. If I tries to select the camera as a card, Alsa mixer dies with the "invalid argument."

Raymond (superquad-vortex2) wrote :

post the output of

lsusb -vvv

and

alsa-info.sh

moisesnake (cesstheking) wrote :

pactl set-card-profile alsa_card.usb-OmniVision_Technologies__Inc._USB_Camera-B4.04.27.1-01-CameraB404271 input:analog-4-channel-input

this was my solution to the exact same problem, took me a bit i dont use the console much but it works...litterally the first actual think ive done without any help in forever

Daniel van Vugt (vanvugt) wrote :

Thank you for reporting this bug to Ubuntu.

Ubuntu 11.10 (oneiric) reached end-of-life on May 9, 2013.
And Ubuntu 12.10 (quantal) reached end-of-life on May 16, 2014.

See this document for currently supported Ubuntu releases:
https://wiki.ubuntu.com/Releases

We appreciate that this bug may be old and you might not be interested in discussing it any more. But if you are then please upgrade to the latest Ubuntu version and re-test.

Changed in pulseaudio (Ubuntu):
status: Confirmed → Incomplete
To post a comment you must log in.