Subject: Re: uaudio problem...
To: Chris Gilbert <chris@paradox.demon.co.uk>
From: Lennart Augustsson <lennart@mail.augustsson.net>
List: current-users
Date: 06/02/2001 19:22:56
It seems that your device only supports a few sample rates (UAUDIO_DEBUG
should be able to tell you what they are).  In particular it doesn't support 8000
which is what opening /dev/audio sets it to.  You should use /dev/sound instead
of /dev/audio.

    -- Lennart


Chris Gilbert wrote:

> Hi,
>
> Because my sb live doesn't work under NetBSD I decided to investigate USB
> speakers, so I've managed to borrow some USB speakers (rather nice ones it
> seems) with a view to checking they work under NetBSD.  I believe the
> speakers use the USB standard for audio (they work with windows and Mac OS
> without custom drivers)  But they don't seem to work under NetBSD.
>
> note that I went into the uaudio.c file and enabled UAUDIO_DEBUG with a
> default debug level of 2, so the output is more verbose than normal.
>
> They happily get detected (dmesg from boot):
> uhci0 at pci0 dev 7 function 2: Intel 82371AB USB Host Controller (PIIX4)
> (rev. 0x01)
> uhci0: interrupting at irq 10
> usb0 at uhci0: USB revision 1.0
> uhub0 at usb0
> uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
> uhub0: 2 ports with 2 removable, self powered
> [snip]
> uaudio0 at uhub0 port 2 configuration 1 interface 0: harman/kardon
> SoundSticks,
> rev 1.10/0.01, addr 2
> uaudio_identify: subtype=2
> uaudio_identify: subtype=6
> uaudio_add_feature: bUnitId=2 bSourceId=1, 3 channels, mmask=0x0155,
> cmask=0x0002
> uaudio_identify: subtype=3
> uaudio_process_as: endpoint bLength=9 bDescriptorType=5 bEndpointAddress=1
> bmAttributes=0x9 wMaxPacketSize=112 bInterval=1 bRefresh=0 bSynchAddress=0
> uaudio_identify: alt=1 enc=6 chan=1 prec=16
> uaudio_process_as: endpoint bLength=9 bDescriptorType=5 bEndpointAddress=1
> bmAttributes=0x9 wMaxPacketSize=224 bInterval=1 bRefresh=0 bSynchAddress=0
> uaudio_identify: alt=2 enc=6 chan=2 prec=16
> uaudio_process_as: endpoint bLength=9 bDescriptorType=5 bEndpointAddress=1
> bmAttributes=0x9 wMaxPacketSize=336 bInterval=1 bRefresh=0 bSynchAddress=0
> uaudio0: ignored setting with precision 24
> uaudio_identify_as: 2 alts available
> uaudio0: audio rev 1.00
> uaudio0: 6 mixer controls
> uaudio_attach: doing audio_attach_mi
> audio0 at uaudio0: half duplex
> uaudio_round_blocksize: blk=400
> uaudio_round_blocksize: blk=400
> uhid0 at uhub0 port 2 configuration 1 interface 2
> uhid0: harman/kardon SoundSticks, rev 1.10/0.01, addr 2, iclass 3/0
>
> The problem I'm getting is that xmms claims it can't open the device, and
> madplay comes back with:
> audio: /dev/audio: Invalid argument
>
> log from messages shows for the above:
> Jun  2 23:49:23 pinky /netbsd: uaudio_open: sc=0xc0763000
> Jun  2 23:49:23 pinky /netbsd: uaudio_set_params: chan=1 prec=8 enc=6
> rate=8000
> Jun  2 23:49:23 pinky /netbsd: uaudio_close: sc=0xc0763000
> Jun  2 23:49:23 pinky /netbsd: uaudio_halt_in_dma: enter
> Jun  2 23:49:23 pinky /netbsd: uaudio_halt_out_dma: enter
>
> however some things work, eg:
> >  audioctl -w play=44100,2,16,slinear_le
> play: -> 44100,2,16,slinear_le
> play.rate: -> 44100
> play.channels: -> 2
> play.precision: -> 16
> play.encoding: -> slinear_le
>
> some don't:
> > audioctl -w play.sample_rate=11025
> audioctl: set failed: Invalid argument
>
> Is the problem the speakers?  the driver?  my lack of understanding about the
> audio system?  If it's the drivers is there anything I can do to debug the
> problem?
>
> Cheers,
> Chris