When I plug in my Logitech USB headset I get the following: uaudio0: Logitech Logitech USB Headset, rev 1.10/1.13, addr 2 uaudio_add_selector: NOT IMPLEMENTED uaudio0: audio rev 1.00 pcm1: <USB Audio> on uaudio0 pcm1: chn_init(pcm1:play:0) failed: err = 19 pcm1: pcm_chn_create(ua_chan, 1, 0xc1974780) failed uhid0: Logitech Logitech USB Headset, rev 1.10/1.13, addr 2, iclass 1/1 With 5.3 and earlier it used to at least work for playback but now it seems to be completely broken. I saw a lot of commits to uaudio, including recording support. Does something need to be merged from -CURRENT for it to work properly? Thank you. -- Christian Laursen
On Sat, 2005-04-02 at 21:13 +0200, Christian Laursen wrote:> When I plug in my Logitech USB headset I get the following: > > uaudio0: Logitech Logitech USB Headset, rev 1.10/1.13, addr 2 > uaudio_add_selector: NOT IMPLEMENTED > uaudio0: audio rev 1.00 > pcm1: <USB Audio> on uaudio0 > pcm1: chn_init(pcm1:play:0) failed: err = 19 > pcm1: pcm_chn_create(ua_chan, 1, 0xc1974780) failed > uhid0: Logitech Logitech USB Headset, rev 1.10/1.13, addr 2, iclass 1/1Julian Elischer, posted a fix on freebsd-current@ some time ago. Edit /usr/src/sys/dev/sound/usb/uaudio_pcm.c Change, #define UAUDIO_PCM_BUFF_SIZE 16*1024 to #define UAUDIO_PCM_BUFF_SIZE (16*1024-1) This works for my Sony SRS-T10PC USB speakers. If it fixes it for other usb audio devices, I think this fix should be committed. -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 187 bytes Desc: This is a digitally signed message part Url : http://lists.freebsd.org/pipermail/freebsd-stable/attachments/20050404/37079267/attachment.bin
On Sat, 2 Apr 2005, Christian Laursen wrote:> When I plug in my Logitech USB headset I get the following: > > uaudio0: Logitech Logitech USB Headset, rev 1.10/1.13, addr 2 > uaudio_add_selector: NOT IMPLEMENTEDI think this is the problem here.> uaudio0: audio rev 1.00 > pcm1: <USB Audio> on uaudio0 > pcm1: chn_init(pcm1:play:0) failed: err = 19 > pcm1: pcm_chn_create(ua_chan, 1, 0xc1974780) failed > uhid0: Logitech Logitech USB Headset, rev 1.10/1.13, addr 2, iclass 1/1 > > With 5.3 and earlier it used to at least work for playback but now > it seems to be completely broken. > > I saw a lot of commits to uaudio, including recording support. Does > something need to be merged from -CURRENT for it to work properly?I have a Playstation2 branded headset which appears the same as yours. Poking around in the code, there is a UAUDIO_MULTIPLE_ENDPOINTS #define that is commented out. Compiling with that defined gets a little more info -- it appears that the underlying USB layer is not providing multiple endpoints for a specific interface. I'm turning on debugging and seeing if something is getting confused in reading the hardware configuration or if its a dumb bug. The code certainly appears to try iterating over the endpoints. -- Doug White | FreeBSD: The Power to Serve dwhite@gumbysoft.com | www.FreeBSD.org
On Sat, 2 Apr 2005, Christian Laursen wrote:> When I plug in my Logitech USB headset I get the following: > > uaudio0: Logitech Logitech USB Headset, rev 1.10/1.13, addr 2 > uaudio_add_selector: NOT IMPLEMENTED > uaudio0: audio rev 1.00 > pcm1: <USB Audio> on uaudio0 > pcm1: chn_init(pcm1:play:0) failed: err = 19 > pcm1: pcm_chn_create(ua_chan, 1, 0xc1974780) failed > uhid0: Logitech Logitech USB Headset, rev 1.10/1.13, addr 2, iclass 1/1 > > With 5.3 and earlier it used to at least work for playback but now > it seems to be completely broken. > > I saw a lot of commits to uaudio, including recording support. Does > something need to be merged from -CURRENT for it to work properly?My analysis of the -CURRENT code indicates that there is missing functionality to implement this USB audio device. It requires synchronization to be run over a separate endpoint and the code to do that does not exist. The checks protected by #ifndef UAUDIO_MULTIPLE_ENDPOINTS is where you need to implement the functionality. The USB specs are completely open, but I don't know if sufficient support functions exist yet for performing the scheduling necessary to manage these types of endpoints. It may have worked before since input AudioStreaming interfaces were simply ignored, but now there is code to deal with input from stand-alone synchronous pipes and it rejects other configs due to the unimplemented code. -- Doug White | FreeBSD: The Power to Serve dwhite@gumbysoft.com | www.FreeBSD.org