* Creamware Noah, snd-usb-audio capable?
@ 2004-02-06 19:06 Hartmut Geissbauer
2004-02-07 2:20 ` Paul Davis
0 siblings, 1 reply; 26+ messages in thread
From: Hartmut Geissbauer @ 2004-02-06 19:06 UTC (permalink / raw)
To: alsa-devel
Hello devels,
just a "short" question.
I own a piece of hardware called Noah EX. It's a "tactive instrument
modeller". Wich means, that it calculates the behaviour and sound of
instruments with help of loadable software plugins.
This is well done by the device so far.Because that works without any
help from a computer.
My question is based on the matter, that this device owns an
usb-interface, that is capable of transmitting audio and midi data.
It supports:
Sampling Rate 44,1khz (this is the only one)
Internal audio data width 32 Bit; (might be 16 external)
USB Audio In: 2 channels
USB Audio Out: 6 channels
USB Midi In
USB Midi Out
ADAT Out: 8 channels
Wordclock In
My goal is to get this device working with the alsa usb driver, because
the output of lsusb -v leads me to the hope, that it has a standard usb
audio interface.
My configuration:
Mainboard: Asus A7N8X
Kernel: 2.6.2 Vanilla (vanilla means unpatched from kernel.org? that's
right, isn't it?)
I only applied the changes in capability.h to "satisfy" the jack-audio-
connection-kit.
Just plugging it to an usb port on my linux box results in an output in
/var/log/messages, that reads:
Feb 5 00:28:33 chief kernel: hub 1-2:1.0: port 4, status 101, change 1,
12 Mb/s
Feb 5 00:28:33 chief kernel: hub 1-2:1.0: debounce: port 4: delay 100ms
stable 4 status 0x101
Feb 5 00:28:33 chief kernel: hub 1-2:1.0: port 4 not reset yet, waiting
10ms
Feb 5 00:28:33 chief kernel: hub 1-2:1.0: new USB device on port 4,
assigned address 4
Feb 5 00:28:33 chief kernel: usb 1-2.4: new device strings: Mfr=1,
Product=2, SerialNumber=0
Feb 5 00:28:33 chief kernel: drivers/usb/core/message.c: USB device
number 4 default language ID 0x409
Feb 5 00:28:33 chief kernel: usb 1-2.4: Product: CreamWare Noah
Synthesizer
Feb 5 00:28:33 chief kernel: usb 1-2.4: Manufacturer: CreamWare GmbH
Feb 5 00:28:33 chief kernel: drivers/usb/core/usb.c: usb_hotplug
Feb 5 00:28:33 chief kernel: usb 1-2.4: configuration #1 chosen from 2
choices
Feb 5 00:28:33 chief kernel: usb 1-2.4: registering 1-2.4:1.0 (config
#1, interface 0)
Feb 5 00:28:33 chief kernel: drivers/usb/core/usb.c: usb_hotplug
Feb 5 00:28:33 chief usb.agent[7039]: Keeping default configuration
with /sys//devices/pci0000:00/0000:00:02.0/usb1/1-2/1-2.4
Feb 5 00:28:33 chief usb.agent[7038]: ... no modules for USB product
1107/102/100
What I discoverd yet, is that the device is offering two configurations.
And the second is the audio and midi related one. The first seems to be
the configuration "channel".
snd-usb-audio is enabled (and working), because of having an M-Audio
Midisport 4x4 as an additional Midi-In and Out device to my other
soundcards, using the drivers emu10k1, intel8x0, ice1712 and virmidi.
(With the fact, that Midi-In on the Midisport is only working with USB
2.0 disabled in the BIOS, but this may be a bug in the ehci part of the
kernel. Not talking about unplugging the Midisport blocks the usb part
of the kernel; even with only USB 1.1 enabled in the BIOS.)
I was gathering around for some information about the usb-audio driver,
but couldn't get the information, I was looking for.
Is it always a requirement, that an usb audio(midi) device has an entry
in usbquirks.h or is that only for special(non standard usb audio
compling devices)?
For the reason, that it requires an entry in usbquirks.h, I attached the
output of lsusb -v. Maybe it might help.
I'm also willing to do some testing with any hints.
Hartmut
--------------->8--Start of lsusb-------------------------------------
Bus 001 Device 003: ID 1107:0102
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.00
bDeviceClass 0 Interface
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x1107
idProduct 0x0102
bcdDevice 1.00
iManufacturer 1 CreamWare GmbH
iProduct 2 CreamWare Noah Synthesizer
iSerial 0
bNumConfigurations 2
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 60
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
Self Powered
MaxPower 0mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 6
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 7 Noah Synth
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type none
wMaxPacketSize 8
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type none
wMaxPacketSize 8
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 2
Transfer Type Bulk
Synch Type none
wMaxPacketSize 32
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x04 EP 4 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type none
wMaxPacketSize 64
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x85 EP 5 IN
bmAttributes 2
Transfer Type Bulk
Synch Type none
wMaxPacketSize 64
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x06 EP 6 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type none
wMaxPacketSize 16
bInterval 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 381
bNumInterfaces 5
bConfigurationValue 2
iConfiguration 0
bmAttributes 0xc0
Self Powered
MaxPower 0mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 4
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 7 Noah Synth
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 2
Transfer Type Bulk
Synch Type none
wMaxPacketSize 32
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x04 EP 4 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type none
wMaxPacketSize 64
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x85 EP 5 IN
bmAttributes 2
Transfer Type Bulk
Synch Type none
wMaxPacketSize 64
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x06 EP 6 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type none
wMaxPacketSize 16
bInterval 1
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 1 Control Device
bInterfaceProtocol 0
iInterface 3 Noah Audio
AudioControl Interface Descriptor:
bLength 11
bDescriptorType 36
bDescriptorSubtype 1 (HEADER)
bcdADC 1.00
wTotalLength 53
bInCollection 3
baInterfaceNr( 0) 2
baInterfaceNr( 1) 3
baInterfaceNr( 2) 4
AudioControl Interface Descriptor:
bLength 12
bDescriptorType 36
bDescriptorSubtype 2 (INPUT_TERMINAL)
bTerminalID 17
wTerminalType 0x0101 USB Streaming
bAssocTerminal 0
bNrChannels 2
wChannelConfig 0x0003
Left Front (L)
Right Front (R)
iChannelNames 0
iTerminal 0
AudioControl Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 3 (OUTPUT_TERMINAL)
bTerminalID 18
wTerminalType 0x0601 Analog Connector
bAssocTerminal 0
bSourceID 17
iTerminal 0
AudioControl Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 3 (OUTPUT_TERMINAL)
bTerminalID 19
wTerminalType 0x0101 USB Streaming
bAssocTerminal 0
bSourceID 20
iTerminal 0
AudioControl Interface Descriptor:
bLength 12
bDescriptorType 36
bDescriptorSubtype 2 (INPUT_TERMINAL)
bTerminalID 20
wTerminalType 0x0601 Analog Connector
bAssocTerminal 0
bNrChannels 2
wChannelConfig 0x0003
Left Front (L)
Right Front (R)
iChannelNames 0
iTerminal 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 4 Noah Audio Out
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 1
bNumEndpoints 2
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 4 Noah Audio Out
AudioControl Interface Descriptor:
bLength 7
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 17
bDelay 1 frames
wFormatTag 1 PCM
AudioControl 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] 44100
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x08 EP 8 OUT
bmAttributes 5
Transfer Type Isochronous
Synch Type Asynchronous
wMaxPacketSize 184
bInterval 1
bRefresh 0
bSynchAddress 137
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x89 EP 9 IN
bmAttributes 1
Transfer Type Isochronous
Synch Type none
wMaxPacketSize 3
bInterval 1
bRefresh 1
bSynchAddress 0
AudioControl Endpoint Descriptor:
bLength 7
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x00
bLockDelayUnits 0 Undefined
wLockDelay 0 Undefined
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 3
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 5 Noah Audio In
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 3
bAlternateSetting 1
bNumEndpoints 1
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 5 Noah Audio In
AudioControl Interface Descriptor:
bLength 7
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 19
bDelay 1 frames
wFormatTag 1 PCM
AudioControl 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] 44100
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x87 EP 7 IN
bmAttributes 13
Transfer Type Isochronous
Synch Type Synchronous
wMaxPacketSize 184
bInterval 1
bRefresh 0
bSynchAddress 0
AudioControl Endpoint Descriptor:
bLength 7
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x00
bLockDelayUnits 0 Undefined
wLockDelay 0 Undefined
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 3
bAlternateSetting 2
bNumEndpoints 1
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 5 Noah Audio In
AudioControl Interface Descriptor:
bLength 7
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 0
bDelay 1 frames
wFormatTag 1 PCM
AudioControl Interface Descriptor:
bLength 11
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bNrChannels 4
bSubframeSize 2
bBitResolution 16
bSamFreqType 1 Discrete
tSamFreq[ 0] 44100
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x87 EP 7 IN
bmAttributes 13
Transfer Type Isochronous
Synch Type Synchronous
wMaxPacketSize 368
bInterval 1
bRefresh 0
bSynchAddress 0
AudioControl Endpoint Descriptor:
bLength 7
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x00
bLockDelayUnits 0 Undefined
wLockDelay 0 Undefined
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 3
bAlternateSetting 3
bNumEndpoints 1
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 5 Noah Audio In
AudioControl Interface Descriptor:
bLength 7
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 0
bDelay 1 frames
wFormatTag 1 PCM
AudioControl 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] 44100
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x87 EP 7 IN
bmAttributes 13
Transfer Type Isochronous
Synch Type Synchronous
wMaxPacketSize 552
bInterval 1
bRefresh 0
bSynchAddress 0
AudioControl Endpoint Descriptor:
bLength 7
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x00
bLockDelayUnits 0 Undefined
wLockDelay 0 Undefined
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 4
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 1 Audio
bInterfaceSubClass 3 Non Streaming
bInterfaceProtocol 0
iInterface 6 Noah Midi
MIDIStreaming Interface Descriptor:
bLength 7
bDescriptorType 36
bDescriptorSubtype 1 (HEADER)
bcdADC 1.00
wTotalLength 65
MIDIStreaming Interface Descriptor:
bLength 6
bDescriptorType 36
bDescriptorSubtype 2 (MIDI_IN_JACK)
bJackType 1 Embedded
bJackID 11
iJack 0
MIDIStreaming Interface Descriptor:
bLength 6
bDescriptorType 36
bDescriptorSubtype 2 (MIDI_IN_JACK)
bJackType 2 External
bJackID 12
iJack 0
MIDIStreaming Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 3 (MIDI_OUT_JACK)
bJackType 1 Embedded
bJackID 13
bNrInputPins 1
baSourceID( 0) 12
BaSourcePin( 0) 1
iJack 0
MIDIStreaming Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 3 (MIDI_OUT_JACK)
bJackType 2 External
bJackID 14
bNrInputPins 1
baSourceID( 0) 11
BaSourcePin( 0) 1
iJack 0
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type none
wMaxPacketSize 8
bInterval 0
bRefresh 0
bSynchAddress 0
MIDIStreaming Endpoint Descriptor:
bLength 5
bDescriptorType 37
bDescriptorSubtype 1 (GENERAL)
bNumEmbMIDIJack 1
baAssocJackID( 0) 13
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type none
wMaxPacketSize 8
bInterval 0
bRefresh 0
bSynchAddress 0
MIDIStreaming Endpoint Descriptor:
bLength 5
bDescriptorType 37
bDescriptorSubtype 1 (GENERAL)
bNumEmbMIDIJack 1
baAssocJackID( 0) 11
Language IDs: (length=4)
0409 English(US)
--------------->8--End of lsusb-------------------------------------
--
Hab ich was verpasst und die Judaeische Volxfront, Chapter Bodensee hat
die Eidgenossen ueberrannt?
Tim Heinemann in drm
-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn
^ permalink raw reply [flat|nested] 26+ messages in thread* Re: Creamware Noah, snd-usb-audio capable?
2004-02-06 19:06 Creamware Noah, snd-usb-audio capable? Hartmut Geissbauer
@ 2004-02-07 2:20 ` Paul Davis
2004-02-10 16:56 ` Frank Barknecht
0 siblings, 1 reply; 26+ messages in thread
From: Paul Davis @ 2004-02-07 2:20 UTC (permalink / raw)
To: Hartmut Geissbauer; +Cc: alsa-devel
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 0
> bAlternateSetting 0
> bNumEndpoints 6
> bInterfaceClass 255 Vendor Specific Class
^^^^^^^^^^^^^^^^^^^^^
i don't know much about USB at, but this doesn't look good.
-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Creamware Noah, snd-usb-audio capable?
2004-02-07 2:20 ` Paul Davis
@ 2004-02-10 16:56 ` Frank Barknecht
2004-02-10 18:36 ` Hartmut Geissbauer
0 siblings, 1 reply; 26+ messages in thread
From: Frank Barknecht @ 2004-02-10 16:56 UTC (permalink / raw)
To: alsa-devel
Hallo,
Paul Davis hat gesagt: // Paul Davis wrote:
> > Interface Descriptor:
> > bLength 9
> > bDescriptorType 4
> > bInterfaceNumber 0
> > bAlternateSetting 0
> > bNumEndpoints 6
> > bInterfaceClass 255 Vendor Specific Class
> ^^^^^^^^^^^^^^^^^^^^^
>
> i don't know much about USB at, but this doesn't look good.
But it doesn't necessarily have to be that bad as well. Several of the
(now) supported USB devices have "Vendor Specific" classes, for
example most Edirol devices do. But I guess, that yes: you'll probably
need quirks then in usbquirks.h for the Noah, too.
ciao
--
Frank Barknecht _ ______footils.org__
-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Creamware Noah, snd-usb-audio capable?
2004-02-10 16:56 ` Frank Barknecht
@ 2004-02-10 18:36 ` Hartmut Geissbauer
2004-02-10 21:36 ` Frank Barknecht
0 siblings, 1 reply; 26+ messages in thread
From: Hartmut Geissbauer @ 2004-02-10 18:36 UTC (permalink / raw)
To: alsa-devel
Hello,
Frank Barknecht wrote:
> Hallo,
> Paul Davis hat gesagt: // Paul Davis wrote:
>
> > > Interface Descriptor:
> > > bLength 9
> > > bDescriptorType 4
> > > bInterfaceNumber 0
> > > bAlternateSetting 0
> > > bNumEndpoints 6
> > > bInterfaceClass 255 Vendor Specific Class
> > ^^^^^^^^^^^^^^^^^^^^^
> >
> > i don't know much about USB at, but this doesn't look good.
>
> But it doesn't necessarily have to be that bad as well. Several of the
> (now) supported USB devices have "Vendor Specific" classes, for
> example most Edirol devices do. But I guess, that yes: you'll probably
> need quirks then in usbquirks.h for the Noah, too.
>
> ciao
reading the different entries in usbquirks.h it looks like they are
taken from the usb-infos like lsusb provides. Is it very difficult to
take the infos from lsusb and translate it to an quirk?
I only need some quick advice and will try it by myself. A good
(complex) example in my opinion is the "Roland SC-D70".
Thanks in advance for any help.
Hartmut
--
Hartmut Geissbauer <nwgbh@swissonline.ch>
-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Creamware Noah, snd-usb-audio capable?
2004-02-10 18:36 ` Hartmut Geissbauer
@ 2004-02-10 21:36 ` Frank Barknecht
2004-02-10 22:08 ` Hartmut Geissbauer
2004-02-11 9:46 ` Clemens Ladisch
0 siblings, 2 replies; 26+ messages in thread
From: Frank Barknecht @ 2004-02-10 21:36 UTC (permalink / raw)
To: alsa-devel
Hallo,
Hartmut Geissbauer hat gesagt: // Hartmut Geissbauer wrote:
> reading the different entries in usbquirks.h it looks like they are
> taken from the usb-infos like lsusb provides. Is it very difficult to
> take the infos from lsusb and translate it to an quirk?
> I only need some quick advice and will try it by myself. A good
> (complex) example in my opinion is the "Roland SC-D70".
Well, others like Takashi or Clemens will be able to give better
answers,but I guess, it helps to get familiar with the USB-audio
specification. For example, for a short time I was investigating why
the Midi jacks on the Terratec Phase 26 aren't supported.
I looked up the specification of usb-midi in
http://www.usb.org/developers/devclass_docs/midi10.pdf and also looked
very closely and for a long time at the lsusb output. This interface
descriptor then looks very much like it must be the midi interface:
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 3
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 3
bInterfaceProtocol 0
iInterface 3 TerraTec PHASE 26 USB
unknown descriptor type: 07 24 01 00 01 41 00
unknown descriptor type: 06 24 02 01 10 00
unknown descriptor type: 06 24 02 02 11 00
unknown descriptor type: 09 24 03 01 12 01 11 01 00
unknown descriptor type: 09 24 03 02 13 01 10 01 00
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x05 EP 5 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type none
wMaxPacketSize 64
bInterval 0
bRefresh 0
bSynchAddress 0
unknown descriptor type: 05 25 01 01 10
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x86 EP 6 IN
bmAttributes 2
Transfer Type Bulk
Synch Type none
wMaxPacketSize 64
bInterval 0
bRefresh 0
bSynchAddress 0
unknown descriptor type: 05 25 01 01 12
Language IDs: (length=4)
0409 English(US)
The main reason for my assumption is the value for bInterfaceNumber
which is "3" or 0x03 as it should be according to the USB spec which
requires for a "MIDI Adapter Standard MIDIStreaming Interface
Descriptor" to have this field set as follows:
Offset Field Size Value Description
...
6 bInterfaceSubclass 1 0x03 MIDISTREAMING.
...
All other bInterfaceNumber's in the Phase 26 output are *not* 3. (See
my entry on qbik.ch).
Unfortunatly that's as far as I got. I figure, now a quirk is needed,
but I don't know which one (it probably has something to do with the
endpoints or so.)
Nevertheless I don't have the Phase 26 anymore, so I cannot dig much
deeper.
ciao
--
Frank Barknecht _ ______footils.org__
-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn
^ permalink raw reply [flat|nested] 26+ messages in thread* Re: Creamware Noah, snd-usb-audio capable?
2004-02-10 21:36 ` Frank Barknecht
@ 2004-02-10 22:08 ` Hartmut Geissbauer
2004-02-12 11:02 ` Clemens Ladisch
2004-02-11 9:46 ` Clemens Ladisch
1 sibling, 1 reply; 26+ messages in thread
From: Hartmut Geissbauer @ 2004-02-10 22:08 UTC (permalink / raw)
To: alsa-devel
Hello,
Frank Barknecht wrote:
> Well, others like Takashi or Clemens will be able to give better
> answers,but I guess, it helps to get familiar with the USB-audio
> specification.
I aggree, that might help.
> I looked up the specification of usb-midi in
> http://www.usb.org/developers/devclass_docs/midi10.pdf
thank you for the link. A lot of other interesting documents are there
as well.
While one of my favourite interests is to getting deep in technical
details, I'll diving in the specifications and report any success to the
list.
Hartmut
--
Hartmut Geissbauer <nwgbh@swissonline.ch>
-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Creamware Noah, snd-usb-audio capable?
2004-02-10 22:08 ` Hartmut Geissbauer
@ 2004-02-12 11:02 ` Clemens Ladisch
2004-02-14 20:14 ` Hartmut Geissbauer
0 siblings, 1 reply; 26+ messages in thread
From: Clemens Ladisch @ 2004-02-12 11:02 UTC (permalink / raw)
To: Hartmut Geissbauer; +Cc: alsa-devel
Hartmut Geissbauer wrote:
> I own a piece of hardware called Noah EX. It's a "tactive
> instrument modeller".
> My goal is to get this device working with the alsa usb driver,
> because the output of lsusb -v leads me to the hope, that it has a
> standard usb audio interface.
> ...
> Interface Descriptor:
> bInterfaceClass 1 Audio
> bInterfaceSubClass 1 Control Device
> ...
> bInterfaceSubClass 2 Streaming (= PCM)
> ...
> bInterfaceSubClass 3 Non Streaming (= MIDI)
Well, this device indeed has standard descriptors.
> What I discoverd yet, is that the device is offering two
> configurations. And the second is the audio and midi related one.
> The first seems to be the configuration "channel".
> Feb 5 00:28:33 chief kernel: usb 1-2.4: configuration #1 chosen from 2 choices
The problem is that the kernel automatically selects the first
configuration. Please try the patch below.
HTH
Clemens
--
Index: alsa-kernel/usb/usbquirks.h
===================================================================
RCS file: /cvsroot/alsa/alsa-kernel/usb/usbquirks.h,v
retrieving revision 1.27
diff -u -r1.27 usbquirks.h
--- alsa-kernel/usb/usbquirks.h 11 Feb 2004 12:15:55 -0000 1.27
+++ alsa-kernel/usb/usbquirks.h 12 Feb 2004 10:56:21 -0000
@@ -698,4 +698,13 @@
}
},
+{
+ USB_DEVICE_VENDOR_SPEC(0x1107, 0x0102),
+ .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
+ .vendor_name = "CreamWare",
+ .product_name = "Noah",
+ .ifnum = QUIRK_NO_INTERFACE
+ }
+},
+
#undef USB_DEVICE_VENDOR_SPEC
Index: alsa-kernel/usb/usbaudio.c
===================================================================
RCS file: /cvsroot/alsa/alsa-kernel/usb/usbaudio.c,v
retrieving revision 1.79
diff -u -r1.79 usbaudio.c
--- alsa-kernel/usb/usbaudio.c 9 Feb 2004 16:25:38 -0000 1.79
+++ alsa-kernel/usb/usbaudio.c 12 Feb 2004 10:56:21 -0000
@@ -2820,6 +2820,14 @@
goto __err_val;
config = dev->actconfig;
}
+ /* Creamware Noah needs to be set to the second configuration */
+ if (dev->descriptor.idVendor == 0x1107 && dev->descriptor.idProduct == 0x0102 &&
+ ifnum == 0) {
+ if (get_cfg_desc(dev->actconfig)->bConfigurationValue == 1)
+ usb_set_configuration(dev, 2);
+ /* but don't actually claim interface 0 */
+ goto __err_val;
+ }
/*
* found a config. now register to ALSA
-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click
^ permalink raw reply [flat|nested] 26+ messages in thread* Re: Creamware Noah, snd-usb-audio capable?
2004-02-12 11:02 ` Clemens Ladisch
@ 2004-02-14 20:14 ` Hartmut Geissbauer
2004-02-16 10:12 ` Clemens Ladisch
0 siblings, 1 reply; 26+ messages in thread
From: Hartmut Geissbauer @ 2004-02-14 20:14 UTC (permalink / raw)
To: alsa-devel
Hi Clemens
Clemens Ladisch wrote:
> Hartmut Geissbauer wrote:
> > I own a piece of hardware called Noah EX. It's a "tactive
> > instrument modeller".
> > My goal is to get this device working with the alsa usb driver,
> > because the output of lsusb -v leads me to the hope, that it has a
> > standard usb audio interface.
> > ...
> > Interface Descriptor:
> > bInterfaceClass 1 Audio
> > bInterfaceSubClass 1 Control Device
> > ...
> > bInterfaceSubClass 2 Streaming (= PCM)
> > ...
> > bInterfaceSubClass 3 Non Streaming (= MIDI)
>
> Well, this device indeed has standard descriptors.
>
> > What I discoverd yet, is that the device is offering two
> > configurations. And the second is the audio and midi related one.
> > The first seems to be the configuration "channel".
>
> > Feb 5 00:28:33 chief kernel: usb 1-2.4: configuration #1 chosen from 2 choices
>
> The problem is that the kernel automatically selects the first
> configuration. Please try the patch below.
>
>
> HTH
> Clemens
sorry for responding that late. I've been out for skiing for a few days.
I tried the patch applying it at last to kernel 2.6.3-rc-2 to get away
from the unresolved symbol "usb_get_device_descriptor".
So now the dmesg command shows me:
hub 1-2:1.0: port 4, status 101, change 1, 12 Mb/s
hub 1-2:1.0: debounce: port 4: delay 100ms stable 4 status 0x101
hub 1-2:1.0: port 4 not reset yet, waiting 10ms
usb 1-2.4: new full speed USB device using address 3
usb 1-2.4: new device strings: Mfr=1, Product=2, SerialNumber=0
drivers/usb/core/message.c: USB device number 3 default language ID
0x409
usb 1-2.4: Product: CreamWare Noah Synthesizer
usb 1-2.4: Manufacturer: CreamWare GmbH
drivers/usb/core/usb.c: usb_hotplug
usb 1-2.4: configuration #1 chosen from 2 choices
usb 1-2.4: registering 1-2.4:1.0 (config #1, interface 0)
drivers/usb/core/usb.c: usb_hotplug
snd-usb-audio 1-2.4:1.0: usb_probe_interface
snd-usb-audio 1-2.4:1.0: usb_probe_interface - got id
The device is not appearing in /proc/asound.
After that action, the usb-stack is stuck. Not recognizing any new
connects or disconnects. I tried to compile the kernel with ohci (that's
my controller type) as a module and built in.
The same behaviour appears after removing a M-Audio Midisport4x4 from
the usb port. It works only one time. (Plugging it in, it is working,
plug it out, the usb stack is dead)
So it seems, that there is something wrong with the usb stack in 2.6.x
Hartmut
--
Hartmut Geissbauer <nwgbh@swissonline.ch>
-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Creamware Noah, snd-usb-audio capable?
2004-02-14 20:14 ` Hartmut Geissbauer
@ 2004-02-16 10:12 ` Clemens Ladisch
2004-02-16 18:18 ` Hartmut Geissbauer
2004-02-16 18:36 ` Hartmut Geissbauer
0 siblings, 2 replies; 26+ messages in thread
From: Clemens Ladisch @ 2004-02-16 10:12 UTC (permalink / raw)
To: Hartmut Geissbauer; +Cc: alsa-devel
Hartmut Geissbauer wrote:
> Clemens Ladisch wrote:
> > The problem is that the kernel automatically selects the first
> > configuration. Please try the patch below.
>
> drivers/usb/core/usb.c: usb_hotplug
> usb 1-2.4: configuration #1 chosen from 2 choices
> usb 1-2.4: registering 1-2.4:1.0 (config #1, interface 0)
> drivers/usb/core/usb.c: usb_hotplug
> snd-usb-audio 1-2.4:1.0: usb_probe_interface
> snd-usb-audio 1-2.4:1.0: usb_probe_interface - got id
>
> The device is not appearing in /proc/asound.
Does the new configuration (the audio interfaces) show up in
/proc/bus/usb/devices? What happens when you re-load snd-usb-audio
after that?
Regards,
Clemens
-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Creamware Noah, snd-usb-audio capable?
2004-02-16 10:12 ` Clemens Ladisch
@ 2004-02-16 18:18 ` Hartmut Geissbauer
2004-02-16 18:36 ` Hartmut Geissbauer
1 sibling, 0 replies; 26+ messages in thread
From: Hartmut Geissbauer @ 2004-02-16 18:18 UTC (permalink / raw)
To: alsa-devel
Hi Clemens,
Clemens Ladisch wrote:
> Hartmut Geissbauer wrote:
> > Clemens Ladisch wrote:
> > > The problem is that the kernel automatically selects the first
> > > configuration. Please try the patch below.
> >
> > drivers/usb/core/usb.c: usb_hotplug
> > usb 1-2.4: configuration #1 chosen from 2 choices
> > usb 1-2.4: registering 1-2.4:1.0 (config #1, interface 0)
> > drivers/usb/core/usb.c: usb_hotplug
> > snd-usb-audio 1-2.4:1.0: usb_probe_interface
> > snd-usb-audio 1-2.4:1.0: usb_probe_interface - got id
> >
> > The device is not appearing in /proc/asound.
>
> Does the new configuration (the audio interfaces) show up in
> /proc/bus/usb/devices?
No.
> What happens when you re-load snd-usb-audio
> after that?
>
'rmmod snd-usb-audio' does not return to the command prompt. A 'modprobe
snd-usb-audio' on another xterm after the rmmod as well.
dmesg shows me:
drivers/usb/core/usb.c: deregistering driver snd-usb-audio
I tried to connect the device via a hub and direct. No difference.
>
> Regards,
> Clemens
>
Thank you for your answer, Hartmut
--
Hartmut Geissbauer <nwgbh@swissonline.ch>
-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Creamware Noah, snd-usb-audio capable?
2004-02-16 10:12 ` Clemens Ladisch
2004-02-16 18:18 ` Hartmut Geissbauer
@ 2004-02-16 18:36 ` Hartmut Geissbauer
2004-02-17 12:43 ` Clemens Ladisch
1 sibling, 1 reply; 26+ messages in thread
From: Hartmut Geissbauer @ 2004-02-16 18:36 UTC (permalink / raw)
To: alsa-devel
Hi Clemens,
Clemens Ladisch wrote:
> Hartmut Geissbauer wrote:
> > Clemens Ladisch wrote:
> > > The problem is that the kernel automatically selects the first
> > > configuration. Please try the patch below.
> >
> > drivers/usb/core/usb.c: usb_hotplug
> > usb 1-2.4: configuration #1 chosen from 2 choices
> > usb 1-2.4: registering 1-2.4:1.0 (config #1, interface 0)
> > drivers/usb/core/usb.c: usb_hotplug
> > snd-usb-audio 1-2.4:1.0: usb_probe_interface
> > snd-usb-audio 1-2.4:1.0: usb_probe_interface - got id
> >
> > The device is not appearing in /proc/asound.
>
> Does the new configuration (the audio interfaces) show up in
> /proc/bus/usb/devices? What happens when you re-load snd-usb-audio
> after that?
>
Additional to my previous posting some remarks:
I tried it vice versa. (first unloading snd-usb-audio then plugging the
device)
Now it appears in /proc/bus/usb/devices
But the output /var/log/messages seems a little bit bad in the end.
Feb 16 19:22:36 chief kernel: drivers/usb/core/usb.c: deregistering
driver snd-usb-audio
Feb 16 19:23:18 chief kernel: hub 1-2:1.0: port 4, status 101, change 1,
12 Mb/s
Feb 16 19:23:18 chief kernel: hub 1-2:1.0: debounce: port 4: delay 100ms
stable 4 status 0x101
Feb 16 19:23:18 chief kernel: hub 1-2:1.0: port 4 not reset yet, waiting
10ms
Feb 16 19:23:18 chief kernel: usb 1-2.4: new full speed USB device using
address 3
Feb 16 19:23:18 chief kernel: usb 1-2.4: new device strings: Mfr=1,
Product=2, SerialNumber=0
Feb 16 19:23:18 chief kernel: drivers/usb/core/message.c: USB device
number 3 default language ID 0x409
Feb 16 19:23:18 chief kernel: usb 1-2.4: Product: CreamWare Noah
Synthesizer
Feb 16 19:23:18 chief kernel: usb 1-2.4: Manufacturer: CreamWare GmbH
Feb 16 19:23:18 chief kernel: drivers/usb/core/usb.c: usb_hotplug
Feb 16 19:23:18 chief kernel: usb 1-2.4: configuration #1 chosen from 2
choices
Feb 16 19:23:18 chief kernel: usb 1-2.4: registering 1-2.4:1.0 (config
#1, interface 0)
Feb 16 19:23:18 chief kernel: drivers/usb/core/usb.c: usb_hotplug
Feb 16 19:23:18 chief usb.agent[2413]: Keeping default configuration
with /sys//devices/pci0000:00/0000:00:02.0/usb1/1-2/1-2.4
Feb 16 19:23:19 chief kernel: snd-usb-audio 1-2.4:1.0:
usb_probe_interface
Feb 16 19:23:19 chief kernel: snd-usb-audio 1-2.4:1.0:
usb_probe_interface - got id
Feb 16 19:23:19 chief kernel: usb 1-2.4: usb_disable_device nuking
non-ep0 URBs
Feb 16 19:23:19 chief kernel: usb 1-2.4: unregistering interface
1-2.4:1.0
>
> Regards,
> Clemens
>
Thank you for your answers, Hartmut
--
Hartmut Geissbauer <nwgbh@swissonline.ch>
-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Creamware Noah, snd-usb-audio capable?
2004-02-16 18:36 ` Hartmut Geissbauer
@ 2004-02-17 12:43 ` Clemens Ladisch
2004-02-17 17:04 ` Hartmut Geissbauer
0 siblings, 1 reply; 26+ messages in thread
From: Clemens Ladisch @ 2004-02-17 12:43 UTC (permalink / raw)
To: Hartmut Geissbauer; +Cc: alsa-devel
Hartmut Geissbauer wrote:
> I tried it vice versa. (first unloading snd-usb-audio then plugging the
> device)
> Now it appears in /proc/bus/usb/devices
I guess "it" is the device and not the audio interfaces.
> But the output /var/log/messages seems a little bit bad in the end.
>
> kernel: usb 1-2.4: configuration #1 chosen from 2 choices
> kernel: usb 1-2.4: registering 1-2.4:1.0 (config #1, interface 0)
> kernel: drivers/usb/core/usb.c: usb_hotplug
> usb.agent[2413]: Keeping default configuration with /sys//devices/pci0000:00/0000:00:02.0/usb1/1-2/1-2.4
> kernel: snd-usb-audio 1-2.4:1.0: usb_probe_interface
> kernel: snd-usb-audio 1-2.4:1.0: usb_probe_interface - got id
> kernel: usb 1-2.4: usb_disable_device nuking non-ep0 URBs
> kernel: usb 1-2.4: unregistering interface 1-2.4:1.0
The last two lines _may_ be correct when the configuration changes.
Could you try to re-load snd-usb-audio (now, hopefully, with the new
configuration)?
If that doesn't work, it would be possible to write a separate program
that switches the configuration, so that the audio driver can be
loaded later.
Regards,
Clemens
-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Creamware Noah, snd-usb-audio capable?
2004-02-17 12:43 ` Clemens Ladisch
@ 2004-02-17 17:04 ` Hartmut Geissbauer
2004-02-18 8:03 ` Clemens Ladisch
0 siblings, 1 reply; 26+ messages in thread
From: Hartmut Geissbauer @ 2004-02-17 17:04 UTC (permalink / raw)
To: alsa-devel
Hi Clemens,
Clemens Ladisch wrote:
> > I tried it vice versa. (first unloading snd-usb-audio then plugging the
> > device)
> > Now it appears in /proc/bus/usb/devices
>
> I guess "it" is the device and not the audio interfaces.
>
OK, the device. But to me it looks like, the audio interfaces are
detected correctly as well.
-------------snip--------------------------
T: Bus=01 Lev=02 Prnt=02 Port=03 Cnt=01 Dev#= 3 Spd=12 MxCh= 0
D: Ver= 1.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 2
P: Vendor=1107 ProdID=0102 Rev= 1.00
S: Manufacturer=CreamWare GmbH
S: Product=CreamWare Noah Synthesizer
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr= 0mA
I: If#= 0 Alt= 0 #EPs= 6 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)
E: Ad=81(I) Atr=02(Bulk) MxPS= 8 Ivl=0ms
E: Ad=02(O) Atr=02(Bulk) MxPS= 8 Ivl=0ms
E: Ad=83(I) Atr=02(Bulk) MxPS= 32 Ivl=0ms
E: Ad=04(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
E: Ad=85(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
E: Ad=06(O) Atr=02(Bulk) MxPS= 16 Ivl=0ms
C: #Ifs= 5 Cfg#= 2 Atr=c0 MxPwr= 0mA
I: If#= 0 Alt= 0 #EPs= 4 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)
E: Ad=83(I) Atr=02(Bulk) MxPS= 32 Ivl=0ms
E: Ad=04(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
E: Ad=85(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
E: Ad=06(O) Atr=02(Bulk) MxPS= 16 Ivl=0ms
I: If#= 1 Alt= 0 #EPs= 0 Cls=01(audio) Sub=01 Prot=00 Driver=(none)
I: If#= 2 Alt= 0 #EPs= 0 Cls=01(audio) Sub=02 Prot=00 Driver=(none)
I: If#= 2 Alt= 1 #EPs= 2 Cls=01(audio) Sub=02 Prot=00 Driver=(none)
E: Ad=08(O) Atr=05(Isoc) MxPS= 184 Ivl=1ms
E: Ad=89(I) Atr=01(Isoc) MxPS= 3 Ivl=1ms
I: If#= 3 Alt= 0 #EPs= 0 Cls=01(audio) Sub=02 Prot=00 Driver=(none)
I: If#= 3 Alt= 1 #EPs= 1 Cls=01(audio) Sub=02 Prot=00 Driver=(none)
E: Ad=87(I) Atr=0d(Isoc) MxPS= 184 Ivl=1ms
I: If#= 3 Alt= 2 #EPs= 1 Cls=01(audio) Sub=02 Prot=00 Driver=(none)
E: Ad=87(I) Atr=0d(Isoc) MxPS= 368 Ivl=1ms
I: If#= 3 Alt= 3 #EPs= 1 Cls=01(audio) Sub=02 Prot=00 Driver=(none)
E: Ad=87(I) Atr=0d(Isoc) MxPS= 552 Ivl=1ms
I: If#= 4 Alt= 0 #EPs= 2 Cls=01(audio) Sub=03 Prot=00 Driver=(none)
E: Ad=81(I) Atr=02(Bulk) MxPS= 8 Ivl=0ms
E: Ad=02(O) Atr=02(Bulk) MxPS= 8 Ivl=0ms
--------------------snip end -----------------
> > But the output /var/log/messages seems a little bit bad in the end.
> >
> > kernel: usb 1-2.4: configuration #1 chosen from 2 choices
> > kernel: usb 1-2.4: registering 1-2.4:1.0 (config #1, interface 0)
> > kernel: drivers/usb/core/usb.c: usb_hotplug
> > usb.agent[2413]: Keeping default configuration with /sys//devices/pci0000:00/0000:00:02.0/usb1/1-2/1-2.4
> > kernel: snd-usb-audio 1-2.4:1.0: usb_probe_interface
> > kernel: snd-usb-audio 1-2.4:1.0: usb_probe_interface - got id
> > kernel: usb 1-2.4: usb_disable_device nuking non-ep0 URBs
> > kernel: usb 1-2.4: unregistering interface 1-2.4:1.0
>
> The last two lines _may_ be correct when the configuration changes.
>
> Could you try to re-load snd-usb-audio (now, hopefully, with the new
> configuration)?
>
No I'm not able, because snd-usb-audio is in use. Don't ask me from
whom. lsmod won't tell me.
Module Size Used by
snd_usb_audio 70710 1
ERROR: Removing 'snd_usb_audio': Device or resource busy
It isn't released even if I unplug the device.
>
> If that doesn't work, it would be possible to write a separate program
> that switches the configuration, so that the audio driver can be
> loaded later.
>
Am I right, that this separate program is handled by hotplug?
Might the patch(the code in it) for usbaudio.c you posted before be
helpfull for the program?
BTW: How many devices/"cards" is the snd-usb-audio driver able to
handle?
Regards, Hartmut
--
Hartmut Geissbauer <nwgbh@swissonline.ch>
-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Creamware Noah, snd-usb-audio capable?
2004-02-17 17:04 ` Hartmut Geissbauer
@ 2004-02-18 8:03 ` Clemens Ladisch
2004-02-18 18:59 ` [partialy fixed] " Hartmut Geissbauer
0 siblings, 1 reply; 26+ messages in thread
From: Clemens Ladisch @ 2004-02-18 8:03 UTC (permalink / raw)
To: Hartmut Geissbauer; +Cc: alsa-devel
[-- Attachment #1: Type: TEXT/PLAIN, Size: 1261 bytes --]
Hartmut Geissbauer wrote:
> But to me it looks like, the audio interfaces are detected
> correctly as well.
>
> C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr= 0mA
> C: #Ifs= 5 Cfg#= 2 Atr=c0 MxPwr= 0mA
Configuration #1 is still active.
> ... snd-usb-audio is in use. Don't ask me from whom. lsmod won't
> tell me.
>
> Module Size Used by
> snd_usb_audio 70710 1
>
> ERROR: Removing 'snd_usb_audio': Device or resource busy
>
> It isn't released even if I unplug the device.
It seems it isn't possible to change the configuration at the place I
tried to do it, and the USB core gets thoroughly confused.
> > If that doesn't work, it would be possible to write a separate program
> > that switches the configuration, so that the audio driver can be
> > loaded later.
> >
> Am I right, that this separate program is handled by hotplug?
Yes (if somebody writes a hotplug script for it).
> Might the patch(the code in it) for usbaudio.c you posted before be
> helpfull for the program?
No. Please remove the patch.
Then compile the attached program (it requires libusb), and run it by
hand; after that, load snd-usb-audio.
> BTW: How many devices/"cards" is the snd-usb-audio driver able to
> handle?
8 (ALSA's card limit)
HTH
Clemens
[-- Attachment #2: Type: TEXT/PLAIN, Size: 900 bytes --]
/*
* noahinit.c - initialize a Creamware Noah to configuration #2
*
* ... blah blah ... freeware ... blah blah ... no warranty ... blah blah ...
*
* compile with "gcc -o noahinit noahinit.c -lusb"
*/
#include <stdio.h>
#include <usb.h>
static void noah_init(struct usb_device *dev)
{
usb_dev_handle *h = usb_open(dev);
if (!h) {
puts("Open failed!");
return;
}
puts("Setting configuration 2");
usb_set_configuration(h, 2);
usb_close(h);
}
int main(void)
{
struct usb_bus *bus;
struct usb_device *dev;
usb_set_debug(1);
usb_init();
usb_find_busses();
usb_find_devices();
for (bus = usb_get_busses(); bus; bus = bus->next) {
for (dev = bus->devices; dev; dev = dev->next) {
if (dev->descriptor.idVendor == 0x1107 &&
dev->descriptor.idProduct == 0x0102) {
printf("found Creamware Noah at %s\n", dev->filename);
noah_init(dev);
}
}
}
return 0;
}
^ permalink raw reply [flat|nested] 26+ messages in thread* Re: [partialy fixed] Creamware Noah, snd-usb-audio capable?
2004-02-18 8:03 ` Clemens Ladisch
@ 2004-02-18 18:59 ` Hartmut Geissbauer
2004-02-19 8:21 ` Clemens Ladisch
0 siblings, 1 reply; 26+ messages in thread
From: Hartmut Geissbauer @ 2004-02-18 18:59 UTC (permalink / raw)
To: alsa-devel
Hi Clemens,
Clemens Ladisch wrote:
> > Might the patch(the code in it) for usbaudio.c you posted before be
> > helpfull for the program?
>
> No. Please remove the patch.
>
Done, except of the entries in usbquirks.h. Is it still needed?
(OK, I fetched Kernel 2.6.3 today and made the entries there.)
> Then compile the attached program (it requires libusb), and run it by
> hand; after that, load snd-usb-audio.
>
That worked perfectly. The device is switching to config 2,
snd-usb-audio is been loaded by the kernel, and the midi devices
appeared in kaconect. Six capture ports are available as well.
I recorded a wav with arecord via capture one and two. And it sounded
good.
With Rosegarden I played a song via the Noah Midi Out. And the device is
playing. ;-)
Now by playing around with the settings in the build-in menu of the
synthesizer, I discovered an entry named USBCom, that isn't described in
the (so far well done) manual. You can switch it between Windows and
Mac/Linux. I rememberd that I updated the firmware. (Now: 1.4.23, if
anyone else is interested) So this menu entry might belong to this
update.
OK, with this setting, it is _not_ necessary to switch the configuration
with your small but excellent tool to 2. There's now only _one_
configuration available, which represents the audio and midi devices.
(Former configuration 2)
The only thing that's missing now are the two playback ports.
---------- snip from /proc/asound/devices
128: [4- 0]: ctl
136: [4- 0]: raw midi
152: [4- 0]: digital audio capture
---------end of snip
BTW: I removed all snd-usb-audio related entries from modprobe.conf.
First to avoid snd-usb-audio is loaded by the alsasound script.
Second, not to get "empty cards" in /proc/asound
I only left the snd cards_limit=6 for the maximum number of my
soundcards at all.
emu10k1 (used as my primary sounddevice)
intel8x0 (onboard, used only for midi In and Out)
ice1712 (used for hard disk recording)
virmidi
noah
midisport
Thank you very much for your excellent help to getting to this state of
a working device.
Kindly regards, Hartmut
--
Hartmut Geissbauer <nwgbh@swissonline.ch>
-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [partialy fixed] Creamware Noah, snd-usb-audio capable?
2004-02-18 18:59 ` [partialy fixed] " Hartmut Geissbauer
@ 2004-02-19 8:21 ` Clemens Ladisch
2004-02-19 22:04 ` Hartmut Geissbauer
0 siblings, 1 reply; 26+ messages in thread
From: Clemens Ladisch @ 2004-02-19 8:21 UTC (permalink / raw)
To: Hartmut Geissbauer; +Cc: alsa-devel
Hartmut Geissbauer wrote:
> Clemens Ladisch wrote:
> > > Might the patch(the code in it) for usbaudio.c you posted before be
> > > helpfull for the program?
> >
> > No. Please remove the patch.
>
> Done, except of the entries in usbquirks.h. Is it still needed?
No. The quirk entry causes the driver to be loaded even for the first
configuration, which isn't needed anymore.
> Now by playing around with the settings in the build-in menu of the
> synthesizer, I discovered an entry named USBCom, that isn't described in
> the (so far well done) manual. You can switch it between Windows and
> Mac/Linux. I rememberd that I updated the firmware. (Now: 1.4.23, if
> anyone else is interested) So this menu entry might belong to this
> update.
>
> OK, with this setting, it is _not_ necessary to switch the configuration
> with your small but excellent tool to 2. There's now only _one_
> configuration available, which represents the audio and midi devices.
It's nice to see a device with built-in Linux support. :-)
Please make an entry on http://qbik.ch/usb/devices/ and describe to
change the USBCom entry.
> The only thing that's missing now are the two playback ports.
Please show the output of "lsusb -v".
Regards,
Clemens
-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [partialy fixed] Creamware Noah, snd-usb-audio capable?
2004-02-19 8:21 ` Clemens Ladisch
@ 2004-02-19 22:04 ` Hartmut Geissbauer
2004-02-20 11:10 ` Clemens Ladisch
0 siblings, 1 reply; 26+ messages in thread
From: Hartmut Geissbauer @ 2004-02-19 22:04 UTC (permalink / raw)
To: alsa-devel
Hi again,
Clemens Ladisch wrote:
> > > No. Please remove the patch.
> >
> > Done, except of the entries in usbquirks.h. Is it still needed?
>
> No. The quirk entry causes the driver to be loaded even for the first
> configuration, which isn't needed anymore.
>
Ok, it is removed and the device is still working.
> It's nice to see a device with built-in Linux support. :-)
>
I've been suprised as well.
> Please make an entry on http://qbik.ch/usb/devices/ and describe to
> change the USBCom entry.
>
I think, I'll wait until we have a definite result of the playback
devices.
> > The only thing that's missing now are the two playback ports.
>
> Please show the output of "lsusb -v".
>
--------------->8--Start of lsusb-------------------------------------
Bus 001 Device 003: ID 1107:0102
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.00
bDeviceClass 0 Interface
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x1107
idProduct 0x0102
bcdDevice 1.00
iManufacturer 1 CreamWare GmbH
iProduct 2 CreamWare Noah Synthesizer
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 381
bNumInterfaces 5
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
Self Powered
MaxPower 0mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 4
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 7 Noah Synth
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 2
Transfer Type Bulk
Synch Type none
wMaxPacketSize 32
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x04 EP 4 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type none
wMaxPacketSize 64
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x85 EP 5 IN
bmAttributes 2
Transfer Type Bulk
Synch Type none
wMaxPacketSize 64
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x06 EP 6 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type none
wMaxPacketSize 16
bInterval 1
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 1 Control Device
bInterfaceProtocol 0
iInterface 3 Noah Audio
AudioControl Interface Descriptor:
bLength 11
bDescriptorType 36
bDescriptorSubtype 1 (HEADER)
bcdADC 1.00
wTotalLength 53
bInCollection 3
baInterfaceNr( 0) 2
baInterfaceNr( 1) 3
baInterfaceNr( 2) 4
AudioControl Interface Descriptor:
bLength 12
bDescriptorType 36
bDescriptorSubtype 2 (INPUT_TERMINAL)
bTerminalID 17
wTerminalType 0x0101 USB Streaming
bAssocTerminal 0
bNrChannels 2
wChannelConfig 0x0003
Left Front (L)
Right Front (R)
iChannelNames 0
iTerminal 0
AudioControl Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 3 (OUTPUT_TERMINAL)
bTerminalID 18
wTerminalType 0x0601 Analog Connector
bAssocTerminal 0
bSourceID 17
iTerminal 0
AudioControl Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 3 (OUTPUT_TERMINAL)
bTerminalID 19
wTerminalType 0x0101 USB Streaming
bAssocTerminal 0
bSourceID 20
iTerminal 0
AudioControl Interface Descriptor:
bLength 12
bDescriptorType 36
bDescriptorSubtype 2 (INPUT_TERMINAL)
bTerminalID 20
wTerminalType 0x0601 Analog Connector
bAssocTerminal 0
bNrChannels 2
wChannelConfig 0x0003
Left Front (L)
Right Front (R)
iChannelNames 0
iTerminal 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 4 Noah Audio Out
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 1
bNumEndpoints 2
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 4 Noah Audio Out
AudioControl Interface Descriptor:
bLength 7
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 17
bDelay 1 frames
wFormatTag 1 PCM
AudioControl 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] 44100
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x08 EP 8 OUT
bmAttributes 5
Transfer Type Isochronous
Synch Type Asynchronous
wMaxPacketSize 184
bInterval 1
bRefresh 0
bSynchAddress 137
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x89 EP 9 IN
bmAttributes 1
Transfer Type Isochronous
Synch Type none
wMaxPacketSize 3
bInterval 1
bRefresh 1
bSynchAddress 0
AudioControl Endpoint Descriptor:
bLength 7
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x00
bLockDelayUnits 0 Undefined
wLockDelay 0 Undefined
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 3
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 5 Noah Audio In
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 3
bAlternateSetting 1
bNumEndpoints 1
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 5 Noah Audio In
AudioControl Interface Descriptor:
bLength 7
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 19
bDelay 1 frames
wFormatTag 1 PCM
AudioControl 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] 44100
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x87 EP 7 IN
bmAttributes 13
Transfer Type Isochronous
Synch Type Synchronous
wMaxPacketSize 184
bInterval 1
bRefresh 0
bSynchAddress 0
AudioControl Endpoint Descriptor:
bLength 7
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x00
bLockDelayUnits 0 Undefined
wLockDelay 0 Undefined
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 3
bAlternateSetting 2
bNumEndpoints 1
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 5 Noah Audio In
AudioControl Interface Descriptor:
bLength 7
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 0
bDelay 1 frames
wFormatTag 1 PCM
AudioControl Interface Descriptor:
bLength 11
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bNrChannels 4
bSubframeSize 2
bBitResolution 16
bSamFreqType 1 Discrete
tSamFreq[ 0] 44100
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x87 EP 7 IN
bmAttributes 13
Transfer Type Isochronous
Synch Type Synchronous
wMaxPacketSize 368
bInterval 1
bRefresh 0
bSynchAddress 0
AudioControl Endpoint Descriptor:
bLength 7
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x00
bLockDelayUnits 0 Undefined
wLockDelay 0 Undefined
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 3
bAlternateSetting 3
bNumEndpoints 1
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 5 Noah Audio In
AudioControl Interface Descriptor:
bLength 7
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 0
bDelay 1 frames
wFormatTag 1 PCM
AudioControl 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] 44100
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x87 EP 7 IN
bmAttributes 13
Transfer Type Isochronous
Synch Type Synchronous
wMaxPacketSize 552
bInterval 1
bRefresh 0
bSynchAddress 0
AudioControl Endpoint Descriptor:
bLength 7
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x00
bLockDelayUnits 0 Undefined
wLockDelay 0 Undefined
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 4
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 1 Audio
bInterfaceSubClass 3 Non Streaming
bInterfaceProtocol 0
iInterface 6 Noah Midi
MIDIStreaming Interface Descriptor:
bLength 7
bDescriptorType 36
bDescriptorSubtype 1 (HEADER)
bcdADC 1.00
wTotalLength 65
MIDIStreaming Interface Descriptor:
bLength 6
bDescriptorType 36
bDescriptorSubtype 2 (MIDI_IN_JACK)
bJackType 1 Embedded
bJackID 11
iJack 0
MIDIStreaming Interface Descriptor:
bLength 6
bDescriptorType 36
bDescriptorSubtype 2 (MIDI_IN_JACK)
bJackType 2 External
bJackID 12
iJack 0
MIDIStreaming Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 3 (MIDI_OUT_JACK)
bJackType 1 Embedded
bJackID 13
bNrInputPins 1
baSourceID( 0) 12
BaSourcePin( 0) 1
iJack 0
MIDIStreaming Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 3 (MIDI_OUT_JACK)
bJackType 2 External
bJackID 14
bNrInputPins 1
baSourceID( 0) 11
BaSourcePin( 0) 1
iJack 0
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type none
wMaxPacketSize 8
bInterval 0
bRefresh 0
bSynchAddress 0
MIDIStreaming Endpoint Descriptor:
bLength 5
bDescriptorType 37
bDescriptorSubtype 1 (GENERAL)
bNumEmbMIDIJack 1
baAssocJackID( 0) 13
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type none
wMaxPacketSize 8
bInterval 0
bRefresh 0
bSynchAddress 0
MIDIStreaming Endpoint Descriptor:
bLength 5
bDescriptorType 37
bDescriptorSubtype 1 (GENERAL)
bNumEmbMIDIJack 1
baAssocJackID( 0) 11
Language IDs: (length=4)
0409 English(US)
--------------->8--End of lsusb-------------------------------------
Kindly regards, Hartmut
-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click
^ permalink raw reply [flat|nested] 26+ messages in thread* Re: [partialy fixed] Creamware Noah, snd-usb-audio capable?
2004-02-19 22:04 ` Hartmut Geissbauer
@ 2004-02-20 11:10 ` Clemens Ladisch
2004-02-23 17:46 ` Hartmut Geissbauer
2004-02-24 19:07 ` [partialy fixed] " Hartmut Geissbauer
0 siblings, 2 replies; 26+ messages in thread
From: Clemens Ladisch @ 2004-02-20 11:10 UTC (permalink / raw)
To: Hartmut Geissbauer; +Cc: alsa-devel
Hartmut Geissbauer wrote:
> > > The only thing that's missing now are the two playback ports.
> >
> > Please show the output of "lsusb -v".
>
> bInterfaceNumber 2
> iInterface 4 Noah Audio Out
> bAlternateSetting 1
> bFormatType 1 (FORMAT_TYPE_I)
> bNrChannels 2
> bBitResolution 16
> tSamFreq[ 0] 44100
> Transfer Type Isochronous
> Synch Type Asynchronous
The descriptors look OK.
Are there any messages in the system log (dmesg) when the driver is
loaded? If not, please compile ALSA again after running configure
with the --with-debug=detect parameter, and try again.
Regards,
Clemens
-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [partialy fixed] Creamware Noah, snd-usb-audio capable?
2004-02-20 11:10 ` Clemens Ladisch
@ 2004-02-23 17:46 ` Hartmut Geissbauer
2004-02-26 10:39 ` Clemens Ladisch
2004-02-24 19:07 ` [partialy fixed] " Hartmut Geissbauer
1 sibling, 1 reply; 26+ messages in thread
From: Hartmut Geissbauer @ 2004-02-23 17:46 UTC (permalink / raw)
To: alsa-devel
Clemens Ladisch wrote:
> Hartmut Geissbauer wrote:
> > > > The only thing that's missing now are the two playback ports.
> > >
> > > Please show the output of "lsusb -v".
> >
> > bInterfaceNumber 2
> > iInterface 4 Noah Audio Out
> > bAlternateSetting 1
> > bFormatType 1 (FORMAT_TYPE_I)
> > bNrChannels 2
> > bBitResolution 16
> > tSamFreq[ 0] 44100
> > Transfer Type Isochronous
> > Synch Type Asynchronous
>
> The descriptors look OK.
>
> Are there any messages in the system log (dmesg) when the driver is
> loaded? If not, please compile ALSA again after running configure
> with the --with-debug=detect parameter, and try again.
>
Please the the messages attached. It seems, there's something odd with
the playback endpoint.
---------------------------------------------
usb 1-2.4: new full speed USB device using address 5
usb 1-2.4: new device strings: Mfr=1, Product=2, SerialNumber=0
drivers/usb/core/message.c: USB device number 5 default language ID
0x409
usb 1-2.4: Product: CreamWare Noah Synthesizer
usb 1-2.4: Manufacturer: CreamWare GmbH
drivers/usb/core/usb.c: usb_hotplug
usb 1-2.4: registering 1-2.4:1.0 (config #1, interface 0)
drivers/usb/core/usb.c: usb_hotplug
usb 1-2.4: registering 1-2.4:1.1 (config #1, interface 1)
drivers/usb/core/usb.c: usb_hotplug
snd-usb-audio 1-2.4:1.1: usb_probe_interface
snd-usb-audio 1-2.4:1.1: usb_probe_interface - got id
ALSA sound/usb/usbaudio.c:2331: 5:2:1 : no or invalid class specific
endpoint descriptor
ALSA sound/usb/usbaudio.c:2392: 5:3:1: add audio endpoint 0x87
ALSA sound/usb/usbaudio.c:2392: 5:3:2: add audio endpoint 0x87
ALSA sound/usb/usbaudio.c:2392: 5:3:3: add audio endpoint 0x87
ALSA sound/usb/usbmidi.c:812: MIDIStreaming version 01.00
ALSA sound/usb/usbmidi.c:849: EP 81: 1 jack(s)
ALSA sound/usb/usbmidi.c:838: EP 02: 1 jack(s)
ALSA sound/usb/usbmidi.c:782: created 1 output and 1 input ports
usb 1-2.4: registering 1-2.4:1.2 (config #1, interface 2)
drivers/usb/core/usb.c: usb_hotplug
usb 1-2.4: registering 1-2.4:1.3 (config #1, interface 3)
drivers/usb/core/usb.c: usb_hotplug
usb 1-2.4: registering 1-2.4:1.4 (config #1, interface 4)
drivers/usb/core/usb.c: usb_hotplug
------------------------------------------------
Driver version: alsa 1.0.2c
kernel 2.6.3 (unpatched)
Kîndly regards, Hartmut
--
Hartmut Geissbauer <nwgbh@swissonline.ch>
-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id\x1356&alloc_id438&op=click
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [partialy fixed] Creamware Noah, snd-usb-audio capable?
2004-02-23 17:46 ` Hartmut Geissbauer
@ 2004-02-26 10:39 ` Clemens Ladisch
2004-02-26 18:15 ` [fixed] " Hartmut Geissbauer
0 siblings, 1 reply; 26+ messages in thread
From: Clemens Ladisch @ 2004-02-26 10:39 UTC (permalink / raw)
To: Hartmut Geissbauer; +Cc: alsa-devel
Hartmut Geissbauer wrote:
> Clemens Ladisch wrote:
> > Hartmut Geissbauer wrote:
> > > > > The only thing that's missing now are the two playback ports.
> > > >
> > > > Please show the output of "lsusb -v".
> >
> > The descriptors look OK.
But only at first sight.
Please try this patch.
HTH
Clemens
--
Index: alsa-kernel/usb/usbaudio.c
===================================================================
RCS file: /cvsroot/alsa/alsa-kernel/usb/usbaudio.c,v
retrieving revision 1.81
diff -u -r1.81 usbaudio.c
--- alsa-kernel/usb/usbaudio.c 24 Feb 2004 08:44:33 -0000 1.81
+++ alsa-kernel/usb/usbaudio.c 26 Feb 2004 10:21:55 -0000
@@ -2324,6 +2324,9 @@
}
csep = snd_usb_find_desc(alts->endpoint[0].extra, alts->endpoint[0].extralen, NULL, USB_DT_CS_ENDPOINT);
+ /* Creamware Noah has this descriptor after the 2nd endpoint */
+ if (!csep && altsd->bNumEndpoints >= 2)
+ csep = snd_usb_find_desc(alts->endpoint[1].extra, alts->endpoint[1].extralen, NULL, USB_DT_CS_ENDPOINT);
if (!csep || csep[0] < 7 || csep[2] != EP_GENERAL) {
snd_printk(KERN_ERR "%d:%u:%d : no or invalid class specific endpoint descriptor\n",
dev->devnum, iface_no, altno);
-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click
^ permalink raw reply [flat|nested] 26+ messages in thread* Re: [fixed] Creamware Noah, snd-usb-audio capable?
2004-02-26 10:39 ` Clemens Ladisch
@ 2004-02-26 18:15 ` Hartmut Geissbauer
0 siblings, 0 replies; 26+ messages in thread
From: Hartmut Geissbauer @ 2004-02-26 18:15 UTC (permalink / raw)
To: alsa-devel
Salut Clemens,
Clemens Ladisch wrote:
> Hartmut Geissbauer wrote:
> > > The descriptors look OK.
>
> But only at first sight.
>
> Please try this patch.
>
>
> HTH
> Clemens
That _has_ helped. Now the device is fully functional. Thank you very
much for your patience and your advices.
Kindly regards, Hartmut
--
Hartmut Geissbauer <nwgbh@swissonline.ch>
-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [partialy fixed] Creamware Noah, snd-usb-audio capable?
2004-02-20 11:10 ` Clemens Ladisch
2004-02-23 17:46 ` Hartmut Geissbauer
@ 2004-02-24 19:07 ` Hartmut Geissbauer
1 sibling, 0 replies; 26+ messages in thread
From: Hartmut Geissbauer @ 2004-02-24 19:07 UTC (permalink / raw)
To: alsa-devel
Clemens Ladisch wrote:
> Hartmut Geissbauer wrote:
> > > > The only thing that's missing now are the two playback ports.
> > >
> > > Please show the output of "lsusb -v".
> >
> > bInterfaceNumber 2
> > iInterface 4 Noah Audio Out
> > bAlternateSetting 1
> > bFormatType 1 (FORMAT_TYPE_I)
> > bNrChannels 2
> > bBitResolution 16
> > tSamFreq[ 0] 44100
> > Transfer Type Isochronous
> > Synch Type Asynchronous
>
> The descriptors look OK.
>
> Are there any messages in the system log (dmesg) when the driver is
> loaded? If not, please compile ALSA again after running configure
> with the --with-debug=detect parameter, and try again.
>
Please look at the messages attached. It seems, there's something odd with
the playback endpoint.
---------------------------------------------
usb 1-2.4: new full speed USB device using address 5
usb 1-2.4: new device strings: Mfr=1, Product=2, SerialNumber=0
drivers/usb/core/message.c: USB device number 5 default language ID
0x409
usb 1-2.4: Product: CreamWare Noah Synthesizer
usb 1-2.4: Manufacturer: CreamWare GmbH
drivers/usb/core/usb.c: usb_hotplug
usb 1-2.4: registering 1-2.4:1.0 (config #1, interface 0)
drivers/usb/core/usb.c: usb_hotplug
usb 1-2.4: registering 1-2.4:1.1 (config #1, interface 1)
drivers/usb/core/usb.c: usb_hotplug
snd-usb-audio 1-2.4:1.1: usb_probe_interface
snd-usb-audio 1-2.4:1.1: usb_probe_interface - got id
ALSA sound/usb/usbaudio.c:2331: 5:2:1 : no or invalid class specific
endpoint descriptor
ALSA sound/usb/usbaudio.c:2392: 5:3:1: add audio endpoint 0x87
ALSA sound/usb/usbaudio.c:2392: 5:3:2: add audio endpoint 0x87
ALSA sound/usb/usbaudio.c:2392: 5:3:3: add audio endpoint 0x87
ALSA sound/usb/usbmidi.c:812: MIDIStreaming version 01.00
ALSA sound/usb/usbmidi.c:849: EP 81: 1 jack(s)
ALSA sound/usb/usbmidi.c:838: EP 02: 1 jack(s)
ALSA sound/usb/usbmidi.c:782: created 1 output and 1 input ports
usb 1-2.4: registering 1-2.4:1.2 (config #1, interface 2)
drivers/usb/core/usb.c: usb_hotplug
usb 1-2.4: registering 1-2.4:1.3 (config #1, interface 3)
drivers/usb/core/usb.c: usb_hotplug
usb 1-2.4: registering 1-2.4:1.4 (config #1, interface 4)
drivers/usb/core/usb.c: usb_hotplug
------------------------------------------------
Driver version: alsa 1.0.2c
kernel 2.6.3 (unpatched)
Kindly regards, Hartmut
--
Hartmut Geissbauer <nwgbh@swissonline.ch>
-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Creamware Noah, snd-usb-audio capable?
2004-02-10 21:36 ` Frank Barknecht
2004-02-10 22:08 ` Hartmut Geissbauer
@ 2004-02-11 9:46 ` Clemens Ladisch
2004-02-11 18:00 ` Frank Barknecht
1 sibling, 1 reply; 26+ messages in thread
From: Clemens Ladisch @ 2004-02-11 9:46 UTC (permalink / raw)
To: Frank Barknecht; +Cc: alsa-devel
Frank Barknecht wrote:
> Hartmut Geissbauer hat gesagt: // Hartmut Geissbauer wrote:
>
> > reading the different entries in usbquirks.h it looks like they are
> > taken from the usb-infos like lsusb provides. Is it very difficult to
> > take the infos from lsusb and translate it to an quirk?
It depends. If the class-specific descriptors are missing, you have
to guess and try what the sample format actually is.
> [...] I was investigating why the Midi jacks on the Terratec Phase
> 26 aren't supported.
>
> I looked up the specification of usb-midi in
> http://www.usb.org/developers/devclass_docs/midi10.pdf and also looked
> very closely and for a long time at the lsusb output. This interface
> descriptor then looks very much like it must be the midi interface:
>
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 3
> bAlternateSetting 0
> bNumEndpoints 2
> bInterfaceClass 255 Vendor Specific Class
> bInterfaceSubClass 3
> bInterfaceProtocol 0
> iInterface 3 TerraTec PHASE 26 USB
> unknown descriptor type: 07 24 01 00 01 41 00
> unknown descriptor type: 06 24 02 01 10 00
> unknown descriptor type: 06 24 02 02 11 00
> unknown descriptor type: 09 24 03 01 12 01 11 01 00
> unknown descriptor type: 09 24 03 02 13 01 10 01 00
> Endpoint Descriptor:
> bLength 9
> bDescriptorType 5
> bEndpointAddress 0x05 EP 5 OUT
> bmAttributes 2
> Transfer Type Bulk
> Synch Type none
> wMaxPacketSize 64
> bInterval 0
> bRefresh 0
> bSynchAddress 0
> unknown descriptor type: 05 25 01 01 10
> Endpoint Descriptor:
> bLength 9
> bDescriptorType 5
> bEndpointAddress 0x86 EP 6 IN
> bmAttributes 2
> Transfer Type Bulk
> Synch Type none
> wMaxPacketSize 64
> bInterval 0
> bRefresh 0
> bSynchAddress 0
> unknown descriptor type: 05 25 01 01 12
>
> The main reason for my assumption is the value for bInterfaceNumber
> which is "3" or 0x03 as it should be according to the USB spec which
> requires for a "MIDI Adapter Standard MIDIStreaming Interface
> Descriptor" to have this field set as follows:
>
> Offset Field Size Value Description
> ...
> 6 bInterfaceSubclass 1 0x03 MIDISTREAMING.
> ...
The bInterfaceNumber field simply specifies the number (i.e., the
index) of the interface. Interfaces must be numbered 0, 1, 2, etc.
> bInterfaceClass 255 Vendor Specific Class
> bInterfaceSubClass 3
> bInterfaceProtocol 0
The problem is that bInterfaceClass isn't set to 1 (Audio).
The class-specific descriptors are there (lsusb shows them as
"unknown" because it doesn't try to parse vendor-specific things), so
it should be possible to use the MIDI_STANDARD_INTERFACE quirk (see
below).
Regards,
Clemens
--
Index: alsa-kernel/usb/usbquirks.h
===================================================================
RCS file: /cvsroot/alsa/alsa-kernel/usb/usbquirks.h,v
retrieving revision 1.26
diff -u -r1.26 usbquirks.h
--- alsa-kernel/usb/usbquirks.h 20 Jan 2004 15:31:59 -0000 1.26
+++ alsa-kernel/usb/usbquirks.h 11 Feb 2004 09:33:45 -0000
@@ -688,4 +688,14 @@
},
+{
+ USB_DEVICE_VENDOR_SPEC(0x0ccd, 0x0013),
+ .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {
+ .vendor_name = "Terratec",
+ .product_name = "PHASE 26",
+ .ifnum = 3,
+ .type = QUIRK_MIDI_STANDARD_INTERFACE
+ }
+},
+
#undef USB_DEVICE_VENDOR_SPEC
-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn
^ permalink raw reply [flat|nested] 26+ messages in thread* Re: Creamware Noah, snd-usb-audio capable?
2004-02-11 9:46 ` Clemens Ladisch
@ 2004-02-11 18:00 ` Frank Barknecht
2004-02-12 10:03 ` Clemens Ladisch
0 siblings, 1 reply; 26+ messages in thread
From: Frank Barknecht @ 2004-02-11 18:00 UTC (permalink / raw)
To: alsa-devel
Hallo,
Clemens Ladisch hat gesagt: // Clemens Ladisch wrote:
> Frank Barknecht wrote:
> > The main reason for my assumption is the value for bInterfaceNumber
> > which is "3" or 0x03 as it should be according to the USB spec which
> > requires for a "MIDI Adapter Standard MIDIStreaming Interface
> > Descriptor" to have this field set as follows:
> >
> > Offset Field Size Value Description
> > ...
> > 6 bInterfaceSubclass 1 0x03 MIDISTREAMING.
> > ...
>
> The bInterfaceNumber field simply specifies the number (i.e., the
> index) of the interface. Interfaces must be numbered 0, 1, 2, etc.
Ah, my fault: I intended to write "bInterfaceSubclass" as in the
spec quote...
> The problem is that bInterfaceClass isn't set to 1 (Audio).
>
> The class-specific descriptors are there (lsusb shows them as
> "unknown" because it doesn't try to parse vendor-specific things), so
> it should be possible to use the MIDI_STANDARD_INTERFACE quirk (see
> below).
I'd love to test it, but I had to send back the device already. :(
Could you test it?
ciao
--
Frank Barknecht _ ______footils.org__
-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Creamware Noah, snd-usb-audio capable?
2004-02-11 18:00 ` Frank Barknecht
@ 2004-02-12 10:03 ` Clemens Ladisch
2004-02-12 17:52 ` Frank Barknecht
0 siblings, 1 reply; 26+ messages in thread
From: Clemens Ladisch @ 2004-02-12 10:03 UTC (permalink / raw)
To: Frank Barknecht; +Cc: alsa-devel
Frank Barknecht wrote:
> Clemens Ladisch hat gesagt: // Clemens Ladisch wrote:
>
> > it should be possible to use the MIDI_STANDARD_INTERFACE quirk (see
> > below).
>
> I'd love to test it, but I had to send back the device already. :(
> Could you test it?
I would test it if I actually had the device.
Well, it's in CVS now, so let's pretend it works and see if somebody
complains. ;-)
Regards,
Clemens
-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Creamware Noah, snd-usb-audio capable?
2004-02-12 10:03 ` Clemens Ladisch
@ 2004-02-12 17:52 ` Frank Barknecht
0 siblings, 0 replies; 26+ messages in thread
From: Frank Barknecht @ 2004-02-12 17:52 UTC (permalink / raw)
To: alsa-devel
Hallo,
Clemens Ladisch hat gesagt: // Clemens Ladisch wrote:
> I would test it if I actually had the device.
>
> Well, it's in CVS now, so let's pretend it works and see if somebody
> complains. ;-)
I alsways wonder how device driver authors write devices without the
devices, but in general it seems to work. ;)
ciao
--
Frank Barknecht _ ______footils.org__
-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click
^ permalink raw reply [flat|nested] 26+ messages in thread
end of thread, other threads:[~2004-02-26 18:15 UTC | newest]
Thread overview: 26+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-02-06 19:06 Creamware Noah, snd-usb-audio capable? Hartmut Geissbauer
2004-02-07 2:20 ` Paul Davis
2004-02-10 16:56 ` Frank Barknecht
2004-02-10 18:36 ` Hartmut Geissbauer
2004-02-10 21:36 ` Frank Barknecht
2004-02-10 22:08 ` Hartmut Geissbauer
2004-02-12 11:02 ` Clemens Ladisch
2004-02-14 20:14 ` Hartmut Geissbauer
2004-02-16 10:12 ` Clemens Ladisch
2004-02-16 18:18 ` Hartmut Geissbauer
2004-02-16 18:36 ` Hartmut Geissbauer
2004-02-17 12:43 ` Clemens Ladisch
2004-02-17 17:04 ` Hartmut Geissbauer
2004-02-18 8:03 ` Clemens Ladisch
2004-02-18 18:59 ` [partialy fixed] " Hartmut Geissbauer
2004-02-19 8:21 ` Clemens Ladisch
2004-02-19 22:04 ` Hartmut Geissbauer
2004-02-20 11:10 ` Clemens Ladisch
2004-02-23 17:46 ` Hartmut Geissbauer
2004-02-26 10:39 ` Clemens Ladisch
2004-02-26 18:15 ` [fixed] " Hartmut Geissbauer
2004-02-24 19:07 ` [partialy fixed] " Hartmut Geissbauer
2004-02-11 9:46 ` Clemens Ladisch
2004-02-11 18:00 ` Frank Barknecht
2004-02-12 10:03 ` Clemens Ladisch
2004-02-12 17:52 ` Frank Barknecht
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.