9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
* [9fans] USB audio setup (xitel hifi-link AN1)
@ 2004-11-13 11:36 gdiaz
  2004-11-15  2:26 ` Kenji Okamoto
  0 siblings, 1 reply; 4+ messages in thread
From: gdiaz @ 2004-11-13 11:36 UTC (permalink / raw)
  To: 9fans

Hello,

I am trying to play cds and mp3 on my plan9 box with the following
configuration:

Compaq iPaq Desktop
usb and ethenet share irq (don't know if this matter)

I just compiled kernel with audio support and usb support, then i run
usb/usbd
usb/usbaudio -v 100

/dev files are created but i cannot modify volume or any other setting, they
doesn't work, i just run debug in both commands and obtaing the following:

cpu% usb/usbd -v
usbd: usb0/0: port 1 empty
usbd: usb0/0: port 2 empty
cpu%
cpu% usb/usbaudio -V -v 100
No usb audio
cpu% usbd: usb0/0: port 1 attached
(unknown type) 24 01 00 01 2b 00 01 01
(unknown type) 24 02 01 01 01 00 02 03 00 00 00
(unknown type) 24 06 02 01 02 15 00 02 00 02 00 00
(unknown type) 24 03 03 01 03 00 02 00
(unknown type) 24 01 01 00 01 00
(unknown type) 24 02 01 01 01 08 00 7e 13 00 e2 d6 00
(unknown type) 25 01 00 02 00 02
(unknown type) 24 01 01 00 01 00
(unknown type) 24 02 01 02 01 08 00 7e 13 00 e2 d6 00
(unknown type) 25 01 00 02 00 02
(unknown type) 24 01 01 00 01 00
(unknown type) 24 02 01 01 02 10 00 7e 13 00 e2 d6 00
(unknown type) 25 01 00 02 00 02
(unknown type) 24 01 01 00 01 00
(unknown type) 24 02 01 02 02 10 00 7e 13 00 e2 d6 00
(unknown type) 25 01 00 02 00 02
(unknown type) 24 01 01 00 01 00
(unknown type) 24 02 01 01 03 14 00 7e 13 00 e2 d6 00
(unknown type) 25 01 00 02 00 02
(unknown type) 24 01 01 00 01 00
(unknown type) 24 02 01 02 03 14 00 7e 13 00 e2 d6 00
(unknown type) 25 01 00 02 00 02
(unknown type) 21 00 01 00 01 22 3b 00
class 5 0 0x000101
class 5 3 0x000003
class 5 4 0x000201




cpu% usb/usbaudio -V -v 100 -d 1
pdesc 1.-1 [18]
desc 1.-1 [18] 0x01: usb (bcd)0100 class 0 subclass 0 proto 0 [0.0.0] max0 8
vendor 0x9ef product 0x101 device (bcd)0100 man 1 prod 2 serial 3 nconfig 1
pdesc 1.0 [371]
desc 1.0 [9] 0x02: config 1: tdlen 371 ninterface 3 iconfig 0 attr 0x80 power
60mA
desc 1.0 [9] 0x04: interface 0: alt 0 nept 0 class 0x1 subclass 0x1 proto 0
[audio.control.0] iinterface 0
desc 1.0 [9] 0x24: 1.1: Class-Specific AC Interface Header Descriptor
	AudioDeviceClass release (bcd)0100, TotalLength 43, InCollection 1 aInterfaceNr
1 1

desc 1.0 [12] 0x24: 1.1: Audio Input Terminal Descriptor
	bTerminalId 1, wTerminalType 0x101 (USB Streaming), bAssocTerminal 0
bNrChannels 2, wChannelConfig 0x3, iChannelNames 0 iTerminal 0
Audio output unit 1

desc 1.0 [13] 0x24: 1.1: Audio Feature Unit 2	bUnitId 2, bSourceId 1,
bControlSize 2
 for Playback
	mute control on master channel
	bass control on master channel
	treble control on master channel
	volume control on channel 1
	volume control on channel 2
Number of Play Units = 1, and consists of 1,
Number of Record Units = 0, and consists of
Number of masterRecAGC Units = 0, and consists of
Number of masterRecMute Units = 0, and consists of
Number of LRRecVol Units = 0, and consists of
Number of masterPlayMute Units = 1, and consists of 2,
Number of masterPlayVol Units = 0, and consists of
Number of LRPlayVol Units = 1, and consists of 2,

desc 1.0 [9] 0x24: 1.1: Audio Output Terminal Descriptor
	bTerminalId 3, wTerminalType 0x301 (Speaker), bAssocTerminal 0 bSourceId 2,
iTerminal 0
Device can play to Speaker

desc 1.0 [9] 0x04: interface 1: alt 0 nept 0 class 0x1 subclass 0x2 proto 0
[audio.stream.0] iinterface 0
desc 1.0 [9] 0x04: interface 1: alt 1 nept 1 class 0x1 subclass 0x2 proto 0
[audio.stream.0] iinterface 0
desc 1.0 [7] 0x24: 1.2: Audio stream for TerminalID 1, delay 0, format_tag 0x1

desc 1.0 [14] 0x24: 1.2: Interface 1, alt 1: mono, 8 bits, frequency variable
between 4990 and 55010

desc 1.0 [9] 0x05: addr 0x04 attrib 0x09 maxpkt 56 interval 1ms [OUT] [Iso]
[Adaptive]refresh 0 synchaddress 0
desc 1.0 [7] 0x25: CS_ENDPOINT for attributes 0x0, lockdelayunits 2, lockdelay
0x200, does not have sampling-frequency control, does not have pitch control

desc 1.0 [9] 0x04: interface 1: alt 2 nept 1 class 0x1 subclass 0x2 proto 0
[audio.stream.0] iinterface 0
desc 1.0 [7] 0x24: 1.2: Audio stream for TerminalID 1, delay 0, format_tag 0x1

desc 1.0 [14] 0x24: 1.2: Interface 1, alt 2: stereo, 8 bits, frequency variable
between 4990 and 55010

desc 1.0 [9] 0x05: addr 0x04 attrib 0x09 maxpkt 112 interval 1ms [OUT] [Iso]
[Adaptive]refresh 0 synchaddress 0
desc 1.0 [7] 0x25: CS_ENDPOINT for attributes 0x0, lockdelayunits 2, lockdelay
0x200, does not have sampling-frequency control, does not have pitch control

desc 1.0 [9] 0x04: interface 1: alt 3 nept 1 class 0x1 subclass 0x2 proto 0
[audio.stream.0] iinterface 0
desc 1.0 [7] 0x24: 1.2: Audio stream for TerminalID 1, delay 0, format_tag 0x1

desc 1.0 [14] 0x24: 1.2: Interface 1, alt 3: mono, 16 bits, frequency variable
between 4990 and 55010

desc 1.0 [9] 0x05: addr 0x04 attrib 0x09 maxpkt 112 interval 1ms [OUT] [Iso]
[Adaptive]refresh 0 synchaddress 0
desc 1.0 [7] 0x25: CS_ENDPOINT for attributes 0x0, lockdelayunits 2, lockdelay
0x200, does not have sampling-frequency control, does not have pitch control

desc 1.0 [9] 0x04: interface 1: alt 4 nept 1 class 0x1 subclass 0x2 proto 0
[audio.stream.0] iinterface 0
desc 1.0 [7] 0x24: 1.2: Audio stream for TerminalID 1, delay 0, format_tag 0x1

desc 1.0 [14] 0x24: 1.2: Interface 1, alt 4: stereo, 16 bits, frequency variable
between 4990 and 55010

desc 1.0 [9] 0x05: addr 0x04 attrib 0x09 maxpkt 224 interval 1ms [OUT] [Iso]
[Adaptive]refresh 0 synchaddress 0
desc 1.0 [7] 0x25: CS_ENDPOINT for attributes 0x0, lockdelayunits 2, lockdelay
0x200, does not have sampling-frequency control, does not have pitch control

desc 1.0 [9] 0x04: interface 1: alt 5 nept 1 class 0x1 subclass 0x2 proto 0
[audio.stream.0] iinterface 0
desc 1.0 [7] 0x24: 1.2: Audio stream for TerminalID 1, delay 0, format_tag 0x1

desc 1.0 [14] 0x24: 1.2: Interface 1, alt 5: mono, 20 bits, frequency variable
between 4990 and 55010

desc 1.0 [9] 0x05: addr 0x04 attrib 0x09 maxpkt 168 interval 1ms [OUT] [Iso]
[Adaptive]refresh 0 synchaddress 0
desc 1.0 [7] 0x25: CS_ENDPOINT for attributes 0x0, lockdelayunits 2, lockdelay
0x200, does not have sampling-frequency control, does not have pitch control

desc 1.0 [9] 0x04: interface 1: alt 6 nept 1 class 0x1 subclass 0x2 proto 0
[audio.stream.0] iinterface 0
desc 1.0 [7] 0x24: 1.2: Audio stream for TerminalID 1, delay 0, format_tag 0x1

desc 1.0 [14] 0x24: 1.2: Interface 1, alt 6: stereo, 20 bits, frequency variable
between 4990 and 55010

desc 1.0 [9] 0x05: addr 0x04 attrib 0x09 maxpkt 336 interval 1ms [OUT] [Iso]
[Adaptive]refresh 0 synchaddress 0
desc 1.0 [7] 0x25: CS_ENDPOINT for attributes 0x0, lockdelayunits 2, lockdelay
0x200, does not have sampling-frequency control, does not have pitch control

desc 1.0 [9] 0x04: interface 2: alt 0 nept 1 class 0x3 subclass 0x0 proto 0
[hid.0.0] iinterface 0
desc 1.0 [9] 0x21: HID (bcd)0100 country 0 nhidclass 1 classdtype 0x22 dlen 59

desc 1.0 [7] 0x05: addr 0x83 attrib 0x03 maxpkt 1 interval 10ms [IN] [Interrupt]
Buttons on endpoint 3
Playback on endpoint 4
Playback speed control
Playback mute control
master Play  Mute Unit = 2
value[0] = 0
Playback volume control
channel Play Volume Unit = 2

channel Play Volume Unit = 2

channel Play Volume Unit = 2

channel Play Volume Unit = 2

Playback channels control
Playback resolution control
setcontrol: Play Mute Unit = 2
master Play Mute value = True of Unit 2
setcontrol: PlayVolume Unit = 2
value[0] = -1e80 value[1] = -1f00 value[2] = -1f00 value[3] = -80000000 value[4]
= -80000000 value[5] = -80000000 value[6] = -80000000 value[7] = -80000000
value[8] = -80000000
sending `ep 3 bulk r 1 1' to /dev/usb0/1/ctl
buttonproc opening /dev/usb0/1/ep3data
button 0x07

cpu% cat /dev/volume
audio out 65
speed out 44100


cpu% pwd
/mnt/cd
cpu% cat a000 > /dev/audio
(nothing goes out from this command)

cpu% echo -n audio 100 > /dev/volume
line: audio 100
rwrite: volume playback '0'
controlproc: setcontrol out volume 0
setcontrol: PlayVolume Unit = 0
failed to set master Play Volume for  Unit 0
echo: write error: setting volume playback failed


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [9fans] USB audio setup (xitel hifi-link AN1)
  2004-11-13 11:36 [9fans] USB audio setup (xitel hifi-link AN1) gdiaz
@ 2004-11-15  2:26 ` Kenji Okamoto
  2004-11-15  6:19   ` Kenji Okamoto
  2004-11-15  9:36   ` gdiaz
  0 siblings, 2 replies; 4+ messages in thread
From: Kenji Okamoto @ 2004-11-15  2:26 UTC (permalink / raw)
  To: 9fans

> Number of Play Units = 1, and consists of 1,
> Number of Record Units = 0, and consists of
> Number of masterRecAGC Units = 0, and consists of
> Number of masterRecMute Units = 0, and consists of
> Number of LRRecVol Units = 0, and consists of
> Number of masterPlayMute Units = 1, and consists of 2,
> Number of masterPlayVol Units = 0, and consists of
> Number of LRPlayVol Units = 1, and consists of 2,

Hmm, you are running the new sources.
The point may be you have no masterPlayVolUnits, and instead,
do LRPlayVolUnits.

In such case, I had no experience so far.
If you can check threadmain() in usbaudio.c, where the setcontrol(Play, "volume", volume) line.
Is this line working fine?  I suppose it's not.
Another thing, do you have what kind of volume control, I mean do you
have some kinds of mechanical volume control on the device?

I'm now busy in many things, and now in video device for Plan 9.
This is because there are many kinds of USB audio devices, and individuals
have different configurations of various controls, which lead us
complicated control codes to write.   I feel it's not possible to get a
general solution for this matter.   Therefore, I expect if you want to make
your USB audio device to work, you have to do something by yourself...

In addition, I still have problem to make good quality sound through USB 
device, such mp3 file to USB audio device.
If you are using CDROM to speaker or FM tuner to speaker etc, you'd
have no problem and would be able to get good quality sound.
I do not know why we cannot good quality sound through USB port yet.

If somthing can happen, it may be after the end of this year.   Of course,
anyone can contribute, and hide my dirty work to the evil would be
appreciated.

Sorry about it.


Kenji



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [9fans] USB audio setup (xitel hifi-link AN1)
  2004-11-15  2:26 ` Kenji Okamoto
@ 2004-11-15  6:19   ` Kenji Okamoto
  2004-11-15  9:36   ` gdiaz
  1 sibling, 0 replies; 4+ messages in thread
From: Kenji Okamoto @ 2004-11-15  6:19 UTC (permalink / raw)
  To: 9fans

> In such case, I had no experience so far.

Sape has some devices, I have others, and both have no common
device. Ahmen!

Kenji



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [9fans] USB audio setup (xitel hifi-link AN1)
  2004-11-15  2:26 ` Kenji Okamoto
  2004-11-15  6:19   ` Kenji Okamoto
@ 2004-11-15  9:36   ` gdiaz
  1 sibling, 0 replies; 4+ messages in thread
From: gdiaz @ 2004-11-15  9:36 UTC (permalink / raw)
  To: 9fans

[-- Attachment #1: Type: text/plain, Size: 310 bytes --]

well, I just choose that device because I read on 9fans there are some people that have it runing without problems. :? I missed the model?

I have no external volume control :(

is anyone able to play music with this device with updated sources? or i should rollback to older sources?


thanks

gabi

[-- Attachment #2: Type: message/rfc822, Size: 4179 bytes --]

From: Kenji Okamoto <okamoto@granite.cias.osakafu-u.ac.jp>
To: 9fans@cse.psu.edu
Subject: Re: [9fans] USB audio setup (xitel hifi-link AN1)
Date: Mon, 15 Nov 2004 11:26:47 +0900
Message-ID: <8907ebe6f8c59a8d27e325081a0f1804@granite.cias.osakafu-u.ac.jp>

> Number of Play Units = 1, and consists of 1,
> Number of Record Units = 0, and consists of
> Number of masterRecAGC Units = 0, and consists of
> Number of masterRecMute Units = 0, and consists of
> Number of LRRecVol Units = 0, and consists of
> Number of masterPlayMute Units = 1, and consists of 2,
> Number of masterPlayVol Units = 0, and consists of
> Number of LRPlayVol Units = 1, and consists of 2,

Hmm, you are running the new sources.
The point may be you have no masterPlayVolUnits, and instead,
do LRPlayVolUnits.

In such case, I had no experience so far.
If you can check threadmain() in usbaudio.c, where the setcontrol(Play, "volume", volume) line.
Is this line working fine?  I suppose it's not.
Another thing, do you have what kind of volume control, I mean do you
have some kinds of mechanical volume control on the device?

I'm now busy in many things, and now in video device for Plan 9.
This is because there are many kinds of USB audio devices, and individuals
have different configurations of various controls, which lead us
complicated control codes to write.   I feel it's not possible to get a
general solution for this matter.   Therefore, I expect if you want to make
your USB audio device to work, you have to do something by yourself...

In addition, I still have problem to make good quality sound through USB 
device, such mp3 file to USB audio device.
If you are using CDROM to speaker or FM tuner to speaker etc, you'd
have no problem and would be able to get good quality sound.
I do not know why we cannot good quality sound through USB port yet.

If somthing can happen, it may be after the end of this year.   Of course,
anyone can contribute, and hide my dirty work to the evil would be
appreciated.

Sorry about it.


Kenji

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2004-11-15  9:36 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-11-13 11:36 [9fans] USB audio setup (xitel hifi-link AN1) gdiaz
2004-11-15  2:26 ` Kenji Okamoto
2004-11-15  6:19   ` Kenji Okamoto
2004-11-15  9:36   ` gdiaz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).