View previous topic :: View next topic |
Author |
Message |
aChipmunk n00b
Joined: 31 May 2013 Posts: 15
|
Posted: Fri May 31, 2013 7:41 pm Post subject: USB headset produces no sound |
|
|
I am new to gentoo yet I seem to have everything working except my usb headset. It is a corsair vengeance 2000 wireless usb headset. It is selected as the default output in kde, but when I play any audio, Kde tells me that the device does not work it is reverting to another device.
The odd thing is that this headset has worked out of the box in every linux distro I tried (arch, ubuntu, fedora, debain). Also, sound itself works find as I can plug in speakers to my mini jack and playback sound alright
I am not sure what logs might help, but I can upload any if you want
Also, I am not sure if this is relevent, but I am pretty sure that the device uses some kind of fake 7.1 surround sound that is not dolby certified or something. Anyway, it usually works as stereo, or surround sound emulation in windows or linux. Just not gentoo so far...
Thanks! |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54631 Location: 56N 3W
|
Posted: Fri May 31, 2013 8:27 pm Post subject: |
|
|
aChipmunk,
Welcome to Gentoo.
The good news is that as your headset works in other distros, it will work in Gentoo too.
As its a USB device, we need the see the Vendor and Device IDs from lsusb.
If you don't have lsusb yet, you need to emerge usbutils _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
aChipmunk n00b
Joined: 31 May 2013 Posts: 15
|
Posted: Fri May 31, 2013 9:10 pm Post subject: |
|
|
Here you go:
Code: |
max@megatron ~ $ lsusb
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 006: ID 1b1c:0a04 Corsair
Bus 002 Device 004: ID 06a3:0cd7 Saitek PLC
|
it should be the second to last one...
Thanks! |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54631 Location: 56N 3W
|
Posted: Fri May 31, 2013 9:50 pm Post subject: |
|
|
aChipmunk,
Google knows nothing, which is a good sign. If Google had lots of hits, they would all be problems.
Its either Bluetooth, or the wireless is transparent to the kernel.
The latter is simpler. Do you have Code: | CONFIG_SND_USB=y
CONFIG_SND_USB_AUDIO=m | isn your kernel ? _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
aChipmunk n00b
Joined: 31 May 2013 Posts: 15
|
Posted: Fri May 31, 2013 9:57 pm Post subject: |
|
|
not sure if I looked in the right place... but
Code: |
max@megatron /usr/src/linux $ cat .config | grep -i CONFIG_SND_USB
CONFIG_SND_USB=y
CONFIG_SND_USB_AUDIO=m
# CONFIG_SND_USB_UA101 is not set
CONFIG_SND_USB_USX2Y=m
CONFIG_SND_USB_CAIAQ=m
CONFIG_SND_USB_CAIAQ_INPUT=y
# CONFIG_SND_USB_US122L is not set
# CONFIG_SND_USB_6FIRE is not set
|
Hope that helps... |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54631 Location: 56N 3W
|
Posted: Fri May 31, 2013 10:46 pm Post subject: |
|
|
aChipmunk,
That looks good.
Unplug the device, wait 30 seconds for udev to realise its gone, then look in /dev/snd
How many files called controlCX, do you have, where X is a digit?
Now plug your headset back in, wait the 30 seconds, and look again, you should have a controlCX device
If this works, your kernel is good.
If you don't see the device in /dev/snd, please put your dmesg on a pastebin site as its too big to fit in a post.
wgetpaste is your friend. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
aChipmunk n00b
Joined: 31 May 2013 Posts: 15
|
Posted: Fri May 31, 2013 11:33 pm Post subject: |
|
|
Code: |
max@megatron /dev/snd $ ls | grep -i controlC
controlC0
controlC1
max@megatron /dev/snd $ ls | grep -i controlC
controlC0
controlC1
controlC2
|
and dmesg looks interesting, but I am not sure what it means...
http://pastebin.com/HbKNS3ax |
|
Back to top |
|
|
aChipmunk n00b
Joined: 31 May 2013 Posts: 15
|
Posted: Sat Jun 01, 2013 5:08 pm Post subject: |
|
|
Found something interesting...
In kmix, the headphones only show up as a capture device (they have a mic...), but not as a playback device
Screenshots:
http://imgur.com/a/Hsymu
This seems to be the same thing that dmesg is telling us, they device is only recognized for input.
Code: |
[ 55.392812] cannot submit urb 0, error -28: not enough bandwidth
[ 439.154644] usb 2-1.5: USB disconnect, device number 3
[ 454.985016] usb 2-1.5: new full-speed USB device number 5 using ehci-pci
[ 455.468053] usb 2-1.5: New USB device found, idVendor=1b1c, idProduct=0a04
[ 455.468055] usb 2-1.5: New USB device strings: Mfr=3, Product=4, SerialNumber=0
[ 455.468056] usb 2-1.5: Product: Vengeance 2000
[ 455.468057] usb 2-1.5: Manufacturer: Corsair
[ 455.497809] input: Corsair Vengeance 2000 as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.5/2-1.5:1.3/input/input6
[ 455.498077] hid-generic 0003:1B1C:0A04.0003: input,hiddev0,hidraw0: USB HID v1.11 Device [Corsair Vengeance 2000] on usb-0000:00:1d.0-1.5/input3
[ 455.536972] cannot submit urb 0, error -28: not enough bandwidth
|
|
|
Back to top |
|
|
aChipmunk n00b
Joined: 31 May 2013 Posts: 15
|
Posted: Sat Jun 01, 2013 5:52 pm Post subject: |
|
|
Another look into alsamixer turned up this:
View: f3 for looking at playback device shows a mono channel. This is most likely the mic as the output is stereo or 7.1 depending... (see first post)
then f4 for capture shows a stereo L R channel. This is most likely the output. It seems alsa is mixing up the output and input.
Do you know to to switch it? |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54631 Location: 56N 3W
|
Posted: Sat Jun 01, 2013 6:23 pm Post subject: |
|
|
aChipmunk,
Code: | [ 455.536972] cannot submit urb 0, error -28: not enough bandwidth | is your problem.
This possibly the result of mixing USB1 and USB2 devices on the same USB root hub.
There are other causes too - in your kernel configuration.
Please put your entire kernel configuration /usr/src/linux/.config onto a pastebin site.
wgetpaste is your friend. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
aChipmunk n00b
Joined: 31 May 2013 Posts: 15
|
Posted: Sat Jun 01, 2013 9:22 pm Post subject: |
|
|
here you go!
http://bpaste.net/show/103671/
I can't believe you are willing to look through that. Thanks a lot! |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54631 Location: 56N 3W
|
Posted: Sat Jun 01, 2013 10:36 pm Post subject: |
|
|
aChipmunk
The kernel .config is well organised and with a bit of practice, you can search it with the web browsers find.
The things that are configured out are just as important as the things that are configured in, so I like to see everything.
That also covers the cases where the names are not what you expect.
Code: | # CONFIG_USB_EHCI_ROOT_HUB_TT is not set
# CONFIG_USB_EHCI_TT_NEWSCHED is not set | These two options, which you have off, are aimed at getting USB1 and USB2 devices to live together better. Unfortunately, its needs hardware support and the only way to determine if your USB hardware has support is the the following.
Turn on those two options and turn off Code: | CONFIG_USB_OHCI_HCD=m
CONFIG_USB_OHCI_HCD_SSB=y
CONFIG_USB_OHCI_HCD_PLATFORM=y
CONFIG_USB_UHCI_HCD=m |
Do not edit the .config file with $EDITOR. Many menuconfig options flip several flags in .config. menuconfig knows this and gets it right.
Some of those flags may be hidden and controlled by other options. Use the search feature in menuconfig to find the options. (press /)
If you don't have hardware support for Root Hub Transaction Translators, turning on the kernel support will do nothing. However, removing the options CONFIG_USB_UHCI_HCD and CONFIG_USB_OHCI_HCD, will remove your USB 1 support, so things like keyboards and mice will no longer work.
Be sure you do not depend on a USB keyboard/mouse to get control of the system for a clean shutdown if you do not have Root Hub Transaction Translators.
Rebuild and reinstall your kernel. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
aChipmunk n00b
Joined: 31 May 2013 Posts: 15
|
Posted: Sat Jun 01, 2013 11:22 pm Post subject: |
|
|
Thanks, but I disabled those options and nothing happened...
The headphones don't even show up as an output in kmix, and dmesg still shows the same thing...
This is turning into quite the ordeal...
|
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54631 Location: 56N 3W
|
Posted: Sat Jun 01, 2013 11:29 pm Post subject: |
|
|
aChipmunk,
What does show now? _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
aChipmunk n00b
Joined: 31 May 2013 Posts: 15
|
Posted: Sun Jun 02, 2013 2:04 am Post subject: |
|
|
here you go:
Code: |
max@megatron ~ $ uname -a
Linux megatron 3.8.13-gentoo #1 SMP Sat Jun 1 16:10:33 PDT 2013 x86_64 Intel(R) Core(TM) i5-3570K CPU @ 3.40GHz GenuineIntel GNU/Linux
|
to be more clear, the headphones show as an input in kmix, but not an output. |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54631 Location: 56N 3W
|
Posted: Sun Jun 02, 2013 1:45 pm Post subject: |
|
|
aChipmunk,
Thats definately a kernel complied on Sat Jun 1 16:10:33 PDT
How do you make your kernel?
By hand or with genkernel?
Please post your kernel .config as it is now.
While you get dmesg: | cannot submit urb 0, error -28: not enough bandwidth | all sorts of odd things happen.
Google shows your headset is well known. Does this thread help any?
It boils down to USB1 not providing enough bandwidth for 8 channels of sound uncompressed.
The driver snd-usb-audio does not list idVendor=1b1c, idProduct=0a04 in its list of known devices, thats the alias: lines in modinfo.
Code: | modinfo snd-usb-audio
...
parm: index:Index value for the USB audio adapter. (array of int)
parm: id:ID string for the USB audio adapter. (array of charp)
parm: enable:Enable USB audio adapter. (array of bool)
parm: vid:Vendor ID for the USB audio device. (array of int)
parm: pid:Product ID for the USB audio device. (array of int)
parm: nrpacks:Max. number of packets per URB. (int)
parm: device_setup:Specific device setup (if needed). (array of int)
parm: ignore_ctl_error:Ignore errors from USB controller for mixer interfaces. (bool) |
Playing with some of the parameters when snd-usb-audio loads may help. Your kernel config says Code: | CONFIG_SND_USB_AUDIO=m |
So you can Code: | modprobe -r snd-usb-audio
modprobe snd-usb-audio vid=0x1b1c pid=0x0a04 | to see if telling the module that it owns your headset helps.
What does have to say about the device? _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
aChipmunk n00b
Joined: 31 May 2013 Posts: 15
|
Posted: Sun Jun 02, 2013 6:36 pm Post subject: |
|
|
I used genkernel originally, but since then I have been enabling/disabling option and recompiling with make menuconfig.
lsusb -vvv
http://dpaste.com/1208712/
this did not seem to do much: Code: |
max@megatron ~ $ sudo modprobe -r snd-usb-audio
modprobe: FATAL: Module snd_usb_audio is in use.
max@megatron ~ $ sudo modprobe snd-usb-audio vid=0x1b1c pid=0x0a04
max@megatron ~ $
|
If it means anything whenever the device is plugged in, the volume control on it works to control system wide audio.
Here is the new kernel config: http://bpaste.net/show/103874/
If it means anything, I tried the headset plugged into both usb 2.0 and 3.0 ports
I also tried plugging the device into a powered usb hub, and dmesg gave only one not enough bandwidth:
http://pastebin.com/nDPCrP3b
the other forum link did not seem to help. I found it erleir and the people said it worked out of the box as they plugged it in. That was the same for me until gentoo... thats why this is so frustrating
again to reiterate, it seem that the system recognizes the device as an audio device. I shows up in alsamixer and is fully controllable/unmuted. It shows up as an imput, but so far does not seem to function as such. I does not show up as an output. |
|
Back to top |
|
|
aChipmunk n00b
Joined: 31 May 2013 Posts: 15
|
Posted: Sun Jun 02, 2013 6:53 pm Post subject: |
|
|
this is what alsamixer shows, which seems very interesting: http://dpaste.com/1208727/
The input shows up as LR but SHOULD be mono. The output shows up as mono but SHOULD be LR. I went into audacity which confirms that the "Vengeance 200: USB Audio" has only a mono input and it works!
I THINK I MADE A BREAKTHROUGH!!!!!!!!!
In audacity I just now found I can play back to "Vengeance 200: USB Audio (hw 2,0)" all right. However, the headphones still DO NOT show up as an input for system audio. Screenshots: http://imgur.com/a/QDt0k
The device works fine, it just does not have the option to be a system wide audio device.
EDIT: the above only works while plugged into the powered usb hub However in other OS's (is the how you say it?) the headphones work fine in the system usb 2.0 and 3.0 ports. So maybe I missed some usb driver in my kernel config?? i ran lspci and this seems to be by usb controller:
Code: |
06:00.0 USB controller: ASMedia Technology Inc. ASM1042 SuperSpeed USB Host Controller (prog-if 30 [XHCI])
Subsystem: ASUSTeK Computer Inc. Device 8488
Flags: fast devsel, IRQ 19
Memory at f7d00000 (64-bit, non-prefetchable) [size=32K]
Capabilities: [50] MSI: Enable- Count=1/8 Maskable- 64bit+
Capabilities: [68] MSI-X: Enable- Count=8 Masked-
Capabilities: [78] Power Management version 3
Capabilities: [80] Express Legacy Endpoint, MSI 00
Capabilities: [100] Virtual Channel
|
So currently i need a way to make the headphone the system default playback device, and I probably need drivers for my usb controller...
Again, thanks so much for your help! |
|
Back to top |
|
|
aChipmunk n00b
Joined: 31 May 2013 Posts: 15
|
Posted: Sun Jun 02, 2013 7:08 pm Post subject: |
|
|
OK! last big update!!!!!!!!!!!
It works in audacity plugged into usb 2.0 ports at the front of the pc, but not any ports in the back.
Since i built the pc I know that the front ports are connected to the usb 2.0 headers on the motherboard while the ports in the back are form the motherboard herself. Here is full lspci output: http://dpaste.com/1208756/ |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54631 Location: 56N 3W
|
Posted: Mon Jun 03, 2013 6:51 pm Post subject: |
|
|
aChipmunk,
Thats interesting, lspci: | 00:14.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller (rev 04)
00:1a.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (rev 04)
00:1d.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (rev 04)
06:00.0 USB controller: ASMedia Technology Inc. ASM1042 SuperSpeed USB Host Controller |
That looks like a mix of USB3 and USB2 root hubs. All of which can fall back to USB1 too but often not a gracefully as you would like.
Please post the output of lsusb -v and lsusb -t for both the working and non working setups. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
aChipmunk n00b
Joined: 31 May 2013 Posts: 15
|
|
Back to top |
|
|
aChipmunk n00b
Joined: 31 May 2013 Posts: 15
|
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54631 Location: 56N 3W
|
Posted: Tue Jun 04, 2013 6:24 pm Post subject: |
|
|
aChipmunk,
Looking at the two lsusb -t outputs, you can see that all of your USB devices are connected to a single USB bus, in this case Bus 02, when it doesn't work.
The working case has your Human Interface Device on Bus 02 and the headphones on Bus 01, so you have more total bandwidth to use.
Both your devices are USB1 Full Speed (12Mbit/sec devices)
Looking back at your kernel
You had Code: | CONFIG_USB_UHCI_HCD=m | which I suggested your remove in favour of Transaction Translation.
That option is for Intel/Via USB1 Root hubs.
Code: | CONFIG_USB_EHCI_HCD=m | You had, and should still have that option. Its for USB2 root hubs.
You also have Code: | # CONFIG_USB_XHCI_HCD is not set | in your kernel but you have
Code: | 00:14.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller (rev 04)
06:00.0 USB controller: ASMedia Technology Inc. ASM1042 SuperSpeed USB Host Controller | Those USB3 devices need the CONFIG_USB_XHCI_HCD option, so right now, you are using the two Code: | 00:1a.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (rev 04)
00:1d.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (rev 04) | USB busses.
Turn on (=m is ok) Code: | CONFIG_USB_UHCI_HCD
CONFIG_USB_XHCI_HCD |
using menuconfig, rebuild and reinstall your kernel.
You should find you have at least two more USB busses in lsusb. They may well be the connectors on the motherboard that didn't work before.
Kernel hint.
Run make menuconfig, set the above to options to <M> and save the changes.
Follow up with Code: | make modules
make modules_install | you have only changed modules, so no need (usually) to rebuild your entire kernel and no need to reboot.
will load the USB driver and the USB1 driver.
Check dmesg for any errors.
You may need to unload the USB2 driver and reload the USB1 driver before the USB1 driver can get at the hardware ... don't do that using a USB keyboard. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
aChipmunk n00b
Joined: 31 May 2013 Posts: 15
|
Posted: Wed Jun 05, 2013 3:14 am Post subject: |
|
|
Hmm.... I tried adding those modules and running make modules and make modules_install. Then I loaded those drivers, and nothing...
Rebooted and nothing again...
dmesg is still giving the same error.
Here is the newest kernel config...
http://bpaste.net/show/104514/
In the mean time should I try recompiling the whole kernel? |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54631 Location: 56N 3W
|
Posted: Wed Jun 05, 2013 6:58 pm Post subject: |
|
|
aChipmunk,
With those kernel settings, you should have four busses in lsusb, where you had two before.
We have already established that your headset will want a bus to itself, that is lsusb -t will show
Code: | /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
|__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/6p, 480M
|__ Port 4: Dev 3, If 0, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 4: Dev 3, If 1, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 4: Dev 3, If 2, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 4: Dev 3, If 3, Class=Human Interface Device, Driver=usbhid, 12M | with nothing else on the bus.
Thats not changed ... it may not be Bus 01 _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
|