* Problems with Hercules DJ Console and the usb-audio driver
@ 2005-09-12 18:27 Daniel Svensson
2005-09-12 18:35 ` Lee Revell
2005-09-13 11:15 ` Takashi Iwai
0 siblings, 2 replies; 12+ messages in thread
From: Daniel Svensson @ 2005-09-12 18:27 UTC (permalink / raw)
To: alsa-devel
Hi
I'm trying to add support for the Hercules DJ Console. It's a USB 5.1
soundcard with a MIDI-interface and some MIDI controllers. From looking
inside the box I found the following components:
Asahi Kasei, AKM AK4529VQ. A high performance multi-channel audio codec.
http://www.akm.com/datasheets/ek4529.pdf
Texas Instruments, TUSB3200AC. A USB Streaming Controller.
http://focus.ti.com/docs/prod/folders/print/tusb3200.html
Cirrus Logic, CS8427. A stereo digital audio transceiver.
http://www.cirrus.com/en/products/pro/detail/P51.html
With ALSA 1.0.9 MIDI worked well. I could access both the MIDI
controllers on the device and the keyboard I connected to the device
aswell. There were more issues though, so I updated to latest cvs and
now MIDI doesn't work anylonger. When loading snd-usb-audio I get the
message:
ALSA /home/nano/devel/alsa/alsa-driver/usb/usbmidi.c:1600: invalid quirk
type 2
snd-usb-audio: probe of 1-1:1.3 failed with error -5
I've looked at the diffs but I haven't found out what change since 1.0.9
broke the MIDI support.
Output from MIDI in 1.0.9:
Client 64 : "Hercules DJ Console" [Kernel]
Port 0 : "Hercules DJ Console MIDI 1" (RWeX)
Port 1 : "Hercules DJ Console MIDI 2" (RWeX)
The rest of the device doesn't work either. The mixer fails because the
mixer element "Delay Control" cannot be read.
lsusb:
bmaControls( 0) 0x80
Delay
When trying to load the mixer the driver fails at:
usb/usbmixer.c (linenumbers might have changed, but somewhere there)
666 if (get_ctl_value(cval, GET_MAX, (cval->control << 8) | minchn, &cval->max) < 0 ||
667 get_ctl_value(cval, GET_MIN, (cval->control << 8) |minchn, &cval->min) < 0) {
668 snd_printd(KERN_ERR "%d:%d: cannot get min/max values for control %d (id %d)\n",
669 cval->id, cval->mixer->ctrlif, cval->control,cval->id);
670 return -EINVAL;
671 }
and (same file)
742 /* master channel */
743 err = get_cur_mix_value(cval, 0, &val);
744 if (err < 0) {
745 if (cval->mixer->ignore_ctl_error) {
746 ucontrol->value.integer.value[0] = cval->min;
747 return 0;
748 }
749 snd_printd(KERN_ERR "cannot get current value for control %d master ch: err = %d\n", cval->control, err);
750 return err;
751 }
With the error message:
ALSA /home/.../usb/usbmixer.c:669: 2:0: cannot get min/max values for control 8 (id 2)
ALSA /home/.../usb/usbmixer.c:749: cannot get current value for control 8 master ch: err = -22
$ alsamixer
alsamixer: function snd_mixer_load failed: Invalid argument
$ amixer controls
numid=1,iface=MIXER,name='PCM Playback Switch'
numid=2,iface=MIXER,name='PCM Playback Volume'
numid=3,iface=MIXER,name='Delay Control'
$ amixer cget numid=3
numid=3,iface=MIXER,name='Delay Control'
; type=INTEGER,access=rw---,values=1,min=0,max=1,step=0
amixer: Control default element read error: Invalid argument
When trying to feed audio data to the card the driver fails at:
usb/usbaudio.c:
802 if ((err = usb_submit_urb(subs->dataurb[i].urb, GFP_ATOMIC)) < 0) {
803 snd_printk(KERN_ERR "cannot submit datapipe for urb %d, err = %d \n", i, err);
804 goto __error;
805 }
With the error message:
ALSA /home/.../usb/usbaudio.c:803: cannot submit datapipe for urb 1, err = -28
ALSA /home/.../usb/usbaudio.c:803: cannot submit datapipe for urb 0, err = -22
What does work is that the proc dir gets populated and jack correctly
assumes the card to be a 5.1 card (6 connectable devices).
Here is the output of lsusb -v:
Bus 001 Device 003: ID 06f8:d002 Guillemot Corp.
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x06f8 Guillemot Corp.
idProduct 0xd002
bcdDevice 1.00
iManufacturer 1
iProduct 2
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 316
bNumInterfaces 4
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
MaxPower 300mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 1 Control Device
bInterfaceProtocol 0
iInterface 0
AudioControl Interface Descriptor:
bLength 10
bDescriptorType 36
bDescriptorSubtype 1 (HEADER)
bcdADC 1.00
wTotalLength 88
bInCollection 2
baInterfaceNr( 0) 1
baInterfaceNr( 1) 2
AudioControl Interface Descriptor:
bLength 12
bDescriptorType 36
bDescriptorSubtype 2 (INPUT_TERMINAL)
bTerminalID 5
wTerminalType 0x0101 USB Streaming
bAssocTerminal 0
bNrChannels 6
wChannelConfig 0x003f
Left Front (L)
Right Front (R)
Center Front (C)
Low Freqency Enhancement (LFE)
Left Surround (LS)
Right Surround (RS)
iChannelNames 0
iTerminal 0
AudioControl Interface Descriptor:
bLength 14
bDescriptorType 36
bDescriptorSubtype 6 (FEATURE_UNIT)
bUnitID 6
bSourceID 5
bControlSize 1
bmaControls( 0) 0x00
bmaControls( 1) 0x03
Mute
Volume
bmaControls( 2) 0x03
Mute
Volume
bmaControls( 3) 0x03
Mute
Volume
bmaControls( 4) 0x03
Mute
Volume
bmaControls( 5) 0x03
Mute
Volume
bmaControls( 6) 0x03
Mute
Volume
iFeature 0
AudioControl Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 3 (OUTPUT_TERMINAL)
bTerminalID 7
wTerminalType 0x0301 Speaker
bAssocTerminal 0
bSourceID 6
iTerminal 0
AudioControl Interface Descriptor:
bLength 12
bDescriptorType 36
bDescriptorSubtype 2 (INPUT_TERMINAL)
bTerminalID 1
wTerminalType 0x0603 Line Connector
bAssocTerminal 0
bNrChannels 2
wChannelConfig 0x0003
Left Front (L)
Right Front (R)
iChannelNames 0
iTerminal 0
AudioControl Interface Descriptor:
bLength 10
bDescriptorType 36
bDescriptorSubtype 6 (FEATURE_UNIT)
bUnitID 2
bSourceID 1
bControlSize 1
bmaControls( 0) 0x80
Delay
bmaControls( 1) 0x00
bmaControls( 2) 0x00
iFeature 0
AudioControl Interface Descriptor:
bLength 12
bDescriptorType 36
bDescriptorSubtype 4 (MIXER_UNIT)
bUnitID 3
bNrInPins 1
baSourceID( 0) 2
bNrChannels 2
wChannelConfig 0x0003
Left Front (L)
Right Front (R)
iChannelNames 0
bmControls 0x00
iMixer 0
AudioControl Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 3 (OUTPUT_TERMINAL)
bTerminalID 4
wTerminalType 0x0101 USB Streaming
bAssocTerminal 0
bSourceID 3
iTerminal 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 1
bNumEndpoints 1
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 0
AudioStreaming Interface Descriptor:
bLength 7
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 5
bDelay 1 frames
wFormatTag 1 PCM
AudioStreaming Interface Descriptor:
bLength 11
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bNrChannels 6
bSubframeSize 2
bBitResolution 16
bSamFreqType 1 Discrete
tSamFreq[ 0] 48000
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 9
Transfer Type Isochronous
Synch Type Adaptive
Usage Type Data
wMaxPacketSize 0x0240 1x 576 bytes
bInterval 1
bRefresh 0
bSynchAddress 0
AudioControl Endpoint Descriptor:
bLength 7
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x01
Sampling Frequency
bLockDelayUnits 0 Undefined
wLockDelay 0 Undefined
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 1
bNumEndpoints 1
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 0
AudioStreaming Interface Descriptor:
bLength 7
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 4
bDelay 1 frames
wFormatTag 1 PCM
AudioStreaming Interface Descriptor:
bLength 11
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bNrChannels 2
bSubframeSize 2
bBitResolution 16
bSamFreqType 1 Discrete
tSamFreq[ 0] 48000
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 13
Transfer Type Isochronous
Synch Type Synchronous
Usage Type Data
wMaxPacketSize 0x00c0 1x 192 bytes
bInterval 1
bRefresh 0
bSynchAddress 0
AudioControl Endpoint Descriptor:
bLength 7
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x01
Sampling Frequency
bLockDelayUnits 0 Undefined
wLockDelay 0 Undefined
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 3
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 1 Audio
bInterfaceSubClass 3 MIDI Streaming
bInterfaceProtocol 0
iInterface 0
MIDIStreaming Interface Descriptor:
bLength 7
bDescriptorType 36
bDescriptorSubtype 1 (HEADER)
bcdADC 1.00
wTotalLength 97
MIDIStreaming Interface Descriptor:
bLength 6
bDescriptorType 36
bDescriptorSubtype 2 (MIDI_IN_JACK)
bJackType 2 External
bJackID 2
iJack 0
MIDIStreaming Interface Descriptor:
bLength 6
bDescriptorType 36
bDescriptorSubtype 2 (MIDI_IN_JACK)
bJackType 1 Embedded
bJackID 1
iJack 0
MIDIStreaming Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 3 (MIDI_OUT_JACK)
bJackType 1 Embedded
bJackID 0
bNrInputPins 1
baSourceID( 0) 2
BaSourcePin( 0) 1
iJack 0
MIDIStreaming Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 3 (MIDI_OUT_JACK)
bJackType 2 External
bJackID 8
bNrInputPins 1
baSourceID( 0) 1
BaSourcePin( 0) 1
iJack 0
MIDIStreaming Interface Descriptor:
bLength 6
bDescriptorType 36
bDescriptorSubtype 2 (MIDI_IN_JACK)
bJackType 2 External
bJackID 6
iJack 0
MIDIStreaming Interface Descriptor:
bLength 6
bDescriptorType 36
bDescriptorSubtype 2 (MIDI_IN_JACK)
bJackType 1 Embedded
bJackID 1
iJack 0
MIDIStreaming Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 3 (MIDI_OUT_JACK)
bJackType 1 Embedded
bJackID 1
bNrInputPins 1
baSourceID( 0) 6
BaSourcePin( 0) 1
iJack 0
MIDIStreaming Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 3 (MIDI_OUT_JACK)
bJackType 2 External
bJackID 8
bNrInputPins 1
baSourceID( 0) 1
BaSourcePin( 0) 1
iJack 0
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0004 1x 4 bytes
bInterval 0
bRefresh 0
bSynchAddress 0
MIDIStreaming Endpoint Descriptor:
bLength 6
bDescriptorType 37
bDescriptorSubtype 1 (GENERAL)
bNumEmbMIDIJack 2
baAssocJackID( 0) 0
baAssocJackID( 1) 1
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0004 1x 4 bytes
bInterval 0
bRefresh 0
bSynchAddress 0
MIDIStreaming Endpoint Descriptor:
bLength 6
bDescriptorType 37
bDescriptorSubtype 1 (GENERAL)
bNumEmbMIDIJack 2
baAssocJackID( 0) 0
baAssocJackID( 1) 1
So I ask for some help to put me in the right direction. What code to
read and any thoughts about what can be wrong at the moment. The MIDI
part seems like a good thing to start with as it recently worked.
If there is more information I need to provide please tell and I'll see
what I can do about it.
--
Daniel Svensson <daniel@nittionio.nu>
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
^ permalink raw reply [flat|nested] 12+ messages in thread* Re: Problems with Hercules DJ Console and the usb-audio driver
2005-09-12 18:27 Problems with Hercules DJ Console and the usb-audio driver Daniel Svensson
@ 2005-09-12 18:35 ` Lee Revell
2005-09-13 11:15 ` Takashi Iwai
1 sibling, 0 replies; 12+ messages in thread
From: Lee Revell @ 2005-09-12 18:35 UTC (permalink / raw)
To: Daniel Svensson; +Cc: alsa-devel
On Mon, 2005-09-12 at 20:27 +0200, Daniel Svensson wrote:
> So I ask for some help to put me in the right direction. What code to
> read and any thoughts about what can be wrong at the moment. The MIDI
> part seems like a good thing to start with as it recently worked.
> If there is more information I need to provide please tell and I'll
> see what I can do about it.
Just do a binary search between ALSA 1.0.9 and 1.0.10-rc1 using CVS (cvs
co -D 2005-xx-xx).
Lee
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Problems with Hercules DJ Console and the usb-audio driver
2005-09-12 18:27 Problems with Hercules DJ Console and the usb-audio driver Daniel Svensson
2005-09-12 18:35 ` Lee Revell
@ 2005-09-13 11:15 ` Takashi Iwai
2005-09-13 14:09 ` Daniel Svensson
1 sibling, 1 reply; 12+ messages in thread
From: Takashi Iwai @ 2005-09-13 11:15 UTC (permalink / raw)
To: Daniel Svensson; +Cc: alsa-devel
At Mon, 12 Sep 2005 20:27:16 +0200,
Daniel Svensson wrote:
>
> With ALSA 1.0.9 MIDI worked well. I could access both the MIDI
> controllers on the device and the keyboard I connected to the device
> aswell. There were more issues though, so I updated to latest cvs and
> now MIDI doesn't work anylonger. When loading snd-usb-audio I get the
> message:
>
> ALSA /home/nano/devel/alsa/alsa-driver/usb/usbmidi.c:1600: invalid quirk
> type 2
> snd-usb-audio: probe of 1-1:1.3 failed with error -5
This may be fixed by the patch below.
> The rest of the device doesn't work either. The mixer fails because the
> mixer element "Delay Control" cannot be read.
Not the right fix, but as a workaround, try to uncomment
IGNORE_CTL_ERROR in usbmixer.c and recompile the driver.
Takashi
Index: alsa-kernel/usb/usbmidi.c
===================================================================
RCS file: /home/iwai/cvs/alsa/alsa-kernel/usb/usbmidi.c,v
retrieving revision 1.49
diff -u -r1.49 usbmidi.c
--- alsa-kernel/usb/usbmidi.c 9 Sep 2005 13:18:34 -0000 1.49
+++ alsa-kernel/usb/usbmidi.c 13 Sep 2005 11:12:32 -0000
@@ -1550,7 +1550,7 @@
/* detect the endpoint(s) to use */
memset(endpoints, 0, sizeof(endpoints));
- if (!quirk) {
+ if (!quirk || quirk->type == QUIRK_MIDI_STANDARD_INTERFACE) {
err = snd_usbmidi_get_ms_info(umidi, endpoints);
} else {
switch (quirk->type) {
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
^ permalink raw reply [flat|nested] 12+ messages in thread* Re: Problems with Hercules DJ Console and the usb-audio driver
2005-09-13 11:15 ` Takashi Iwai
@ 2005-09-13 14:09 ` Daniel Svensson
2005-09-13 15:58 ` Clemens Ladisch
0 siblings, 1 reply; 12+ messages in thread
From: Daniel Svensson @ 2005-09-13 14:09 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel
On Tue, Sep 13, 2005 at 01:15:45PM +0200, Takashi Iwai wrote:
> This may be fixed by the patch below.
>
> > The rest of the device doesn't work either. The mixer fails because the
> > mixer element "Delay Control" cannot be read.
>
> Not the right fix, but as a workaround, try to uncomment
> IGNORE_CTL_ERROR in usbmixer.c and recompile the driver.
The MIDI ports are now recognized. All the controls on the device
works and the MIDI keyboard connected to the interface works too. So
the MIDI part isworking well again. Uncommenting the IGNORE_CTL_ERROR
obviously allows alsamixer to start. However, there are _four_ elements
named 'PCM', and then the 'Delay Control'. And amixer contents only
reports three ("PCM Playback Switch", "PCM Playback", "Delay Control").
Here is the output of "amixer scontents":
Simple mixer control 'PCM',0
Capabilities: pvolume pswitch
Playback channels: Front Left - Front Right - Rear Left - Rear Right - Front Center - Woofer
Limits: Playback 0 - 181
Mono:
Front Left: Playback 145 [80%] [on]
Front Right: Playback 145 [80%] [on]
Rear Left: Playback 145 [80%] [on]
Rear Right: Playback 145 [80%] [on]
Front Center: Playback 145 [80%] [on]
Woofer: Playback 145 [80%] [on]
Simple mixer control 'Delay Control',0
Capabilities: volume volume-joined
Playback channels: Mono
Capture channels: Mono
Limits: 0 - 1
Mono: 0 [0%]
Which doesn't match alsamixer controls very well (in count and names).
Ok, so some progress. The device accepts S16, 6 channels, 48kHz.
Still no output, fails with kernel message:
ALSA /hom.../usbaudio.c:807: cannot submit datapipe for urb 5, err = -28
--
Daniel Svensson <nano@nittionio.nu>
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
^ permalink raw reply [flat|nested] 12+ messages in thread* Re: Problems with Hercules DJ Console and the usb-audio driver
2005-09-13 14:09 ` Daniel Svensson
@ 2005-09-13 15:58 ` Clemens Ladisch
2005-09-14 13:23 ` Daniel Svensson
0 siblings, 1 reply; 12+ messages in thread
From: Clemens Ladisch @ 2005-09-13 15:58 UTC (permalink / raw)
To: Daniel Svensson; +Cc: Takashi Iwai, alsa-devel
Daniel Svensson wrote:
> Here is the output of "amixer scontents":
> ...
> Which doesn't match alsamixer controls very well (in count and names).
What is the output of "amixer contents"?
> Ok, so some progress. The device accepts S16, 6 channels, 48kHz.
> Still no output, fails with kernel message:
>
> ALSA /hom.../usbaudio.c:807: cannot submit datapipe for urb 5, err = -28
28 = ENOSPC. Please disable bandwidth checking in the kernel
configuration. (This is a bug of your distribution unless you
compiled the kernel yourself.)
HTH
Clemens
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Problems with Hercules DJ Console and the usb-audio driver
2005-09-13 15:58 ` Clemens Ladisch
@ 2005-09-14 13:23 ` Daniel Svensson
2005-09-14 16:15 ` Clemens Ladisch
2005-09-15 2:48 ` Lee Revell
0 siblings, 2 replies; 12+ messages in thread
From: Daniel Svensson @ 2005-09-14 13:23 UTC (permalink / raw)
To: Clemens Ladisch; +Cc: alsa-devel
On Tue, Sep 13, 2005 at 05:58:07PM +0200, Clemens Ladisch wrote:
> What is the output of "amixer contents"?
See the first mail in this thread.
> 28 = ENOSPC. Please disable bandwidth checking in the kernel
> configuration. (This is a bug of your distribution unless you
> compiled the kernel yourself.)
I use kernel 2.6.12-1-686, supplied by Debian. I'll forward your mail to
the maintainer. Disabling CONFIG_USB_BANDWIDTH did the trick. I have
sound working now (all channels tested).
So a resume of changes to minimal support for this device.
1. Classify the MIDI interface as standard MIDI interface.
2. Ignore mixer errors.
http://sourceforge.net/mailarchive/message.php?msg_id=12931847
3. Disable CONFIG_USB_BANDWIDTH
However, as Takashi Iwai said, ignoring mixer elements is not very nice
(Delay Control brings errors if not ignored), and the MIDI patch needs
some love too.
And the names of the mixer elements are not correct
Here's a summary of the alsamixer elements vs real names
1 (multi)
1.1 - Front Left
1.2 - Front Right
2 (multi)
2.1 - Rear Right
2.2 - Front Center
3 (single) - Rear Left
4 (single) - Woofer
Is it perhaps possible to have Rear Left/Right on the same element?
Currently they're all named 'PCM', Front, Rear, Center, Woofer would be
good names.
This probably sums up what has to be done to get support for this device
into ALSA. Does Capture need to be working before support enters ALSA or
that can wait?
--
Daniel Svensson <nano@nittionio.nu>
-------------------------------------------------------
SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server.
Download it for free - -and be entered to win a 42" plasma tv or your very
own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Problems with Hercules DJ Console and the usb-audio driver
2005-09-14 13:23 ` Daniel Svensson
@ 2005-09-14 16:15 ` Clemens Ladisch
2005-11-15 15:36 ` Daniel Svensson
2005-09-15 2:48 ` Lee Revell
1 sibling, 1 reply; 12+ messages in thread
From: Clemens Ladisch @ 2005-09-14 16:15 UTC (permalink / raw)
To: Daniel Svensson; +Cc: alsa-devel
Daniel Svensson wrote:
> So a resume of changes to minimal support for this device.
>
> 1. Classify the MIDI interface as standard MIDI interface.
The driver already did this, but a recent reorganization did not
handle this case correctly.
This has now been fixed in CVS.
> 2. Ignore mixer errors.
I'll add another quirk for this to the driver.
> 3. Disable CONFIG_USB_BANDWIDTH
The USB bandwidth code is broken for all devices.
> Is it perhaps possible to have Rear Left/Right on the same element?
> Currently they're all named 'PCM', Front, Rear, Center, Woofer would be
> good names.
The hardware has only one mixer control with six channels, so we
cannot use different names for these.
The 2+2+1+1 controls in alsamixer are based on a wrong assumption by
alsamixer, but it's hard to fix this because currently there isn't an
interfacve to pass this information to the application.
The abstract mixer layer (being written) should fix both problems.
> Does Capture need to be working before support enters ALSA or that
> can wait?
What has capture to do with this? Doesn't it work?
Regards,
Clemens
-------------------------------------------------------
SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server.
Download it for free - -and be entered to win a 42" plasma tv or your very
own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Problems with Hercules DJ Console and the usb-audio driver
2005-09-14 16:15 ` Clemens Ladisch
@ 2005-11-15 15:36 ` Daniel Svensson
2005-11-16 23:26 ` Eric Shattow
0 siblings, 1 reply; 12+ messages in thread
From: Daniel Svensson @ 2005-11-15 15:36 UTC (permalink / raw)
To: alsa-devel
Just updated to kernel 2.6.15-rc1 and things have improved, however,
still some problems left.
> > 1. Classify the MIDI interface as standard MIDI interface.
> The driver already did this, but a recent reorganization did not
> handle this case correctly.
>
> This has now been fixed in CVS.
Midi stuff _on_ the Hercules DJ Console works, but devices attached to
the midi-in port doesn't work.
> > 2. Ignore mixer errors.
> I'll add another quirk for this to the driver.
Mixer starts, but I don't know if it works as the output is broken.
cannot get ctl value: req = 0x83, wValue = 0x800, wIndex = 0x200, type = 5
2:0: cannot get min/max values for control 8 (id 2)
cannot get ctl value: req = 0x81, wValue = 0x800, wIndex = 0x200, type = 5
cannot get ctl value: req = 0x81, wValue = 0x800, wIndex = 0x200, type = 5
> > 3. Disable CONFIG_USB_BANDWIDTH
> The USB bandwidth code is broken for all devices.
Even though CONFIG_USB_BANDWIDTH is disabled I'm unable to get output
working. I've tried with jack which works flawlessly with my internal
soundcard but with hercules dj console I keep getting this from the
kernel:
...
frame 0 active: -84
frame 0 active: -84
...
Which in turn leads to jack being unable to start the playback.
--
Daniel Svensson <nano@nittionio.nu>
-------------------------------------------------------
This SF.Net email is sponsored by the JBoss Inc. Get Certified Today
Register for a JBoss Training Course. Free Certification Exam
for All Training Attendees Through End of 2005. For more info visit:
http://ads.osdn.com/?ad_id=7628&alloc_id=16845&op=click
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Problems with Hercules DJ Console and the usb-audio driver
2005-11-15 15:36 ` Daniel Svensson
@ 2005-11-16 23:26 ` Eric Shattow
0 siblings, 0 replies; 12+ messages in thread
From: Eric Shattow @ 2005-11-16 23:26 UTC (permalink / raw)
To: alsa-devel
On 11/15/05, Daniel Svensson <nano@nittionio.nu> wrote:
> Just updated to kernel 2.6.15-rc1 and things have improved, however,
> still some problems left.
>
> > > 1. Classify the MIDI interface as standard MIDI interface.
> > The driver already did this, but a recent reorganization did not
> > handle this case correctly.
> >
> > This has now been fixed in CVS.
>
> Midi stuff _on_ the Hercules DJ Console works, but devices attached to
> the midi-in port doesn't work.
>
> > > 2. Ignore mixer errors.
> > I'll add another quirk for this to the driver.
>
> Mixer starts, but I don't know if it works as the output is broken.
>
> cannot get ctl value: req = 0x83, wValue = 0x800, wIndex = 0x200, type = 5
> 2:0: cannot get min/max values for control 8 (id 2)
> cannot get ctl value: req = 0x81, wValue = 0x800, wIndex = 0x200, type = 5
> cannot get ctl value: req = 0x81, wValue = 0x800, wIndex = 0x200, type = 5
>
> > > 3. Disable CONFIG_USB_BANDWIDTH
> > The USB bandwidth code is broken for all devices.
>
> Even though CONFIG_USB_BANDWIDTH is disabled I'm unable to get output
> working. I've tried with jack which works flawlessly with my internal
> soundcard but with hercules dj console I keep getting this from the
> kernel:
>
> ...
> frame 0 active: -84
> frame 0 active: -84
> ...
>
> Which in turn leads to jack being unable to start the playback.
>
> --
> Daniel Svensson <nano@nittionio.nu>
>
>
> -------------------------------------------------------
> This SF.Net email is sponsored by the JBoss Inc. Get Certified Today
> Register for a JBoss Training Course. Free Certification Exam
> for All Training Attendees Through End of 2005. For more info visit:
> http://ads.osdn.com/?ad_id=7628&alloc_id=16845&op=click
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/alsa-devel
>
Thank you for the update. I will also try this on my HPCDJ (windows
edition) device soon.
Eric
-------------------------------------------------------
This SF.Net email is sponsored by the JBoss Inc. Get Certified Today
Register for a JBoss Training Course. Free Certification Exam
for All Training Attendees Through End of 2005. For more info visit:
http://ads.osdn.com/?ad_idv28&alloc_id\x16845&op=click
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Problems with Hercules DJ Console and the usb-audio driver
2005-09-14 13:23 ` Daniel Svensson
2005-09-14 16:15 ` Clemens Ladisch
@ 2005-09-15 2:48 ` Lee Revell
1 sibling, 0 replies; 12+ messages in thread
From: Lee Revell @ 2005-09-15 2:48 UTC (permalink / raw)
To: Daniel Svensson; +Cc: Clemens Ladisch, alsa-devel
On Wed, 2005-09-14 at 15:23 +0200, Daniel Svensson wrote:
> On Tue, Sep 13, 2005 at 05:58:07PM +0200, Clemens Ladisch wrote:
> > What is the output of "amixer contents"?
> See the first mail in this thread.
>
> > 28 = ENOSPC. Please disable bandwidth checking in the kernel
> > configuration. (This is a bug of your distribution unless you
> > compiled the kernel yourself.)
>
> I use kernel 2.6.12-1-686, supplied by Debian. I'll forward your mail to
> the maintainer. Disabling CONFIG_USB_BANDWIDTH did the trick.
Make sure you report this to the Debian maintainers. Enabling
CONFIG_USB_BANDWIDTH by default is a bug.
Lee
-------------------------------------------------------
SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server.
Download it for free - -and be entered to win a 42" plasma tv or your very
own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Alsa-devel] Problems with Hercules DJ Console and the usb-audio driver
@ 2005-09-15 3:00 Horms
2005-09-15 12:13 ` Clemens Ladisch
0 siblings, 1 reply; 12+ messages in thread
From: Horms @ 2005-09-15 3:00 UTC (permalink / raw)
To: Daniel Svensson; +Cc: debian-kernel, Clemens Ladisch, Alsa-devel
On Wed, Sep 14, 2005 at 03:29:13PM +0200, Daniel Svensson wrote:
> Hi
>
> CONFIG_USB_BANDWIDTH is enabled by default in the debian kernel. Could
> this be changed? According to the alsa developer who helped me debug the
> problem with my usb soundcard CONFIG_USB_BANDWIDTH should be disabled.
> The original email is forwarded here:
That sounds fair enough to me, as long there are no objections
from the rest of the kernel-team.
Clemens, could you provide a little more information on
the problems that CONFIG_USB_BANDWIDTH causes?
Thanks
--
Horms
> ----- Forwarded message from Clemens Ladisch <clemens@ladisch.de> -----
>
> From: Clemens Ladisch <clemens@ladisch.de>
> To: Daniel Svensson <nano@nittionio.nu>
> Subject: Re: [Alsa-devel] Problems with Hercules DJ Console and the usb-audio
> driver
>
> Daniel Svensson wrote:
> > Here is the output of "amixer scontents":
> > ...
> > Which doesn't match alsamixer controls very well (in count and names).
>
> What is the output of "amixer contents"?
>
> > Ok, so some progress. The device accepts S16, 6 channels, 48kHz.
> > Still no output, fails with kernel message:
> >
> > ALSA /hom.../usbaudio.c:807: cannot submit datapipe for urb 5, err = -28
>
> 28 = ENOSPC. Please disable bandwidth checking in the kernel
> configuration. (This is a bug of your distribution unless you
> compiled the kernel yourself.)
>
>
> HTH
> Clemens
>
>
>
> -------------------------------------------------------
> SF.Net email is Sponsored by the Better Software Conference & EXPO
> September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
> Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
> Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/alsa-devel
>
>
> ----- End forwarded message -----
>
> --
> Daniel Svensson <nano@nittionio.nu>
>
>
> --
> To UNSUBSCRIBE, email to debian-kernel-REQUEST@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Problems with Hercules DJ Console and the usb-audio driver
2005-09-15 3:00 [Alsa-devel] " Horms
@ 2005-09-15 12:13 ` Clemens Ladisch
2005-09-15 18:10 ` Lee Revell
0 siblings, 1 reply; 12+ messages in thread
From: Clemens Ladisch @ 2005-09-15 12:13 UTC (permalink / raw)
To: Horms; +Cc: Daniel Svensson, debian-kernel, Alsa-devel
Horms wrote:
> On Wed, Sep 14, 2005 at 03:29:13PM +0200, Daniel Svensson wrote:
> > CONFIG_USB_BANDWIDTH is enabled by default in the debian kernel. Could
> > this be changed? According to the alsa developer who helped me debug the
> > problem with my usb soundcard CONFIG_USB_BANDWIDTH should be disabled.
> > The original email is forwarded here:
>
> That sounds fair enough to me, as long there are no objections
> from the rest of the kernel-team.
>
> Clemens, could you provide a little more information on
> the problems that CONFIG_USB_BANDWIDTH causes?
The code that implements it computes wrong values for the bandwidth
utilization. This doesn't seem to matter much for full speed stereo
devices, but we have several bug reports for multichannel and/or high
speed devices where usb_submit_urb() incorrectly returns -ENOSPC
errors.
The comment above the usb_check_bandwidth() function in hcd.c lists
several of the known bugs.
Perhaps CONFIG_USB_BANDWIDTH should have been marked BROKEN instead of
just EXPERIMENTAL.
Regards,
Clemens
-------------------------------------------------------
SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server.
Download it for free - -and be entered to win a 42" plasma tv or your very
own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Problems with Hercules DJ Console and the usb-audio driver
2005-09-15 12:13 ` Clemens Ladisch
@ 2005-09-15 18:10 ` Lee Revell
0 siblings, 0 replies; 12+ messages in thread
From: Lee Revell @ 2005-09-15 18:10 UTC (permalink / raw)
To: Clemens Ladisch; +Cc: Horms, Daniel Svensson, debian-kernel, Alsa-devel
On Thu, 2005-09-15 at 14:13 +0200, Clemens Ladisch wrote:
> Horms wrote:
> > On Wed, Sep 14, 2005 at 03:29:13PM +0200, Daniel Svensson wrote:
> > > CONFIG_USB_BANDWIDTH is enabled by default in the debian kernel. Could
> > > this be changed? According to the alsa developer who helped me debug the
> > > problem with my usb soundcard CONFIG_USB_BANDWIDTH should be disabled.
> > > The original email is forwarded here:
> >
> > That sounds fair enough to me, as long there are no objections
> > from the rest of the kernel-team.
> >
> > Clemens, could you provide a little more information on
> > the problems that CONFIG_USB_BANDWIDTH causes?
>
> The code that implements it computes wrong values for the bandwidth
> utilization. This doesn't seem to matter much for full speed stereo
> devices, but we have several bug reports for multichannel and/or high
> speed devices where usb_submit_urb() incorrectly returns -ENOSPC
> errors.
>
> The comment above the usb_check_bandwidth() function in hcd.c lists
> several of the known bugs.
>
> Perhaps CONFIG_USB_BANDWIDTH should have been marked BROKEN instead of
> just EXPERIMENTAL.
Has this been reported upstream? Possibly the USB maintainers don't
know that this is causing real problems for users.
Lee
-------------------------------------------------------
SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server.
Download it for free - -and be entered to win a 42" plasma tv or your very
own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2005-11-16 23:26 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-09-12 18:27 Problems with Hercules DJ Console and the usb-audio driver Daniel Svensson
2005-09-12 18:35 ` Lee Revell
2005-09-13 11:15 ` Takashi Iwai
2005-09-13 14:09 ` Daniel Svensson
2005-09-13 15:58 ` Clemens Ladisch
2005-09-14 13:23 ` Daniel Svensson
2005-09-14 16:15 ` Clemens Ladisch
2005-11-15 15:36 ` Daniel Svensson
2005-11-16 23:26 ` Eric Shattow
2005-09-15 2:48 ` Lee Revell
-- strict thread matches above, loose matches on Subject: below --
2005-09-15 3:00 [Alsa-devel] " Horms
2005-09-15 12:13 ` Clemens Ladisch
2005-09-15 18:10 ` Lee Revell
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.