kern/74893: Channels of USB audio can't be initialized (uaudio).

Kazuhito HONDA kazuhito at ph.noda.tus.ac.jp
Thu Dec 9 06:20:25 PST 2004


>Number:         74893
>Category:       kern
>Synopsis:       Channels of USB audio can't be initialized (uaudio).
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Dec 09 14:20:24 GMT 2004
>Closed-Date:
>Last-Modified:
>Originator:     Kazuhito HONDA
>Release:        FreeBSD 5.3-STABLE i386
>Organization:
>Environment:
System: FreeBSD kaoru 5.3-STABLE FreeBSD 5.3-STABLE #182: Wed Dec 8 00:40:36 JST 2004 root at kaoru:/usr/obj/src/sys/i386/compile/KAORU.5.3.1 i386


>Description:
I use a usb audio device, Sound Blaster Digital Music (SBDM).  It played some sound sources (but false sampling rate) on FreeBSD-stable of about  Nov 15.  But It can't be used on the code of Dec 8 with this error message (dmesg):

uaudio0: Creative USB Audio, rev 1.10/1.00, addr 2
uaudio_add_selector: NOT IMPLEMENTED
uaudio0: audio rev 1.00
pcm0: <USB Audio> on uaudio0
pcm0: chn_init(pcm0:play:0) failed: err = 19
pcm0: pcm_chn_create(ua_chan, 1, 0xc1a74d00) failed

This results from EFBIG error of _bus_dmamap_load_buffer function in busdma_machdep.c (at least in the case of i386). 
>How-To-Repeat:
always.
>Fix:
I don't know.

But it roughly solves this problem that DMA buffer size is decreased:

--- patch begins here ---
--- src/sys/dev/sound/usb/uaudio_pcm.c.orig	Sun Oct 31 02:56:01 2004
+++ src/sys/dev/sound/usb/uaudio_pcm_n.c	Thu Dec  9 04:21:10 2004
@@ -1,4 +1,4 @@
-/* $FreeBSD: src/sys/dev/sound/usb/uaudio_pcm.c,v 1.5 2004/07/16 03:58:57 tanimura Exp $ */
+/* $FreeBSD: src/sys/dev/sound/usb/uaudio_pcm_n.c,v 1.5 $ */
 
 /*
  * Copyright (c) 2000-2002 Hiroyuki Aizu <aizu at navi.org>
@@ -58,7 +58,7 @@
 
 static struct pcmchan_caps ua_reccaps = {8000, 48000, ua_recfmt, 0};
 
-#define UAUDIO_PCM_BUFF_SIZE	16*1024
+#define UAUDIO_PCM_BUFF_SIZE	(16*1024-1)
 
 /************************************************************/
 static void *
--- patch ends here ---



>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list