Date: Wed, 1 Dec 2004 10:29:22 +0100 (CET) From: Barry Bouwsma <freebsd-misuser@remove-NOSPAM-to-reply.NOSPAM.dyndns.dk> To: freebsd-multimedia@freebsd.org Subject: Re: USB uaudio soundcards question Message-ID: <200412010929.iB19TLW08470@Mail.NOSPAM.DynDNS.dK> References: <200410242008.i9OK8jd10485@Mail.NOSPAM.DynDNS.dK>
next in thread | previous in thread | raw e-mail | index | archive | help
[drop me from any replies and I'll catch up from the archives] Mister Improper cannot resist the urge to followup to himself, breaching all rules of netiquette! Such bad form! Ugh! Pfui! Way back on Sun, 24 Oct 2004 22:08:45 +0200 (CEST) I asked: > Can anyone say anything about available external USB-connected > soundcards, like whether I can expect them to appear as a normal > uaudio device > in shops too, as well as a Hercules Muse knob that supposedly > also works on a Mac as only 2-channel, so may well work on BSD... Well, I found the Big Knob irresistable (read: reduced in price) so I thought I'd give it a try. It works, with the following caveats: It shows up as both a uaudio and a uhid device, and to some extent, ``Just Works'' for me. It does not attach to an EHCI (USB2) controller, but instead to a USB1.1 controller -- still, in spite of the packaging blurb of requiring 500MHz or higher, my lowly 75MHz machine has no problems playing through it. And remaining more than mostly 90% idle. Which is not meant as a request for donation of a faster machine (with lots more PCI slots), but I won't turn one down either. There are issues with my OHCI source code that cause playback to stop after 10 to 13 minutes; this is not an issue with UHCI and playback for several hours -- nor did I notice this problem with OHCI when booted into NetBSD. It'll probably be a non-issue soon. My FreeBSD source makes it appear as a fixed level single playback device. Under NetBSD, it is possible to adjust the playback level, and there appear more than a single device. In addition, NetBSD has a `uhidctl' utility, which I don't know if something comparable is present in FreeBSD and related (DragonFly, ...) which allows me to write a trivial script to match rotating the Big Knob to an increase or decrease in playback level, or to match pushing The Knob to muting/unmuting the audio. So there appears to be nothing proprietary standing in the way of the BSDen for simple operation. NetBSD gives me much more control over what I can do with the device than what I've found under FreeBSD, but this is somewhat to be expected. I haven't played extensively with NetBSD to see what it can do (such as playback up to 5.1 audio, or recording from various sources) that is not yet available to FreeBSD. I didn't think to check this with NetBSD, as all my audio samples are at 48kHz samplerate, but attempts to use a lower rate for playback with FreeBSD did not work well at all: the pitch tries to remain the same as the samples are stretched to an extended playback time. No terrifically big deal for me, but could be a show-stopper for others. Again, I need to see if this is the same under NetBSD, and if it's a hardware limitation, or something in the uaudio code somewhere. I hope for the latter. I noticed that when playing over UHCI, the first fraction of a second would be repeated at the beginning of playback. Ah, this also affects OHCI. I'll need to try NetBSD again. Perhaps this phenomenon is related to the FreeBSD 4-and-up habit I've noticed that opening/closing/ioctl'ing one audio device causes others to lose a fraction of a second when recording, or stutter briefly on playback, if it's not present with NetBSD. Anyway, with no free PCI slots on any of my machines, this Hercules Gamesurround Pocket Muse USB 5.1 Sound Card works, and seems that it should be possible to improve FreeBSD's support for additional features of the device reasonably well -- that is, for my purposes, I'm free of any proprietary requirements. That is to say, it's compatible with the BSDen and I don't have a shiny paperweight. Although it does function commendably as a paperweight as well. Truly a multitasking device, it be. I may say a bit more after playing more with NetBSD and making notes, should someone be in the process of contemplating merging more of the NetBSD USB support into FreeBSD, or something. And I may say a bit about performance beyond `works/don't work'... More on that sometime later. Oh, and it may make a difference -- my USB kernel module source is based as much as possible on -current, though my kernel is recent 4.x and my userland much older... Therefore what I say shouldn't be read to mean ``it WILL work'' but ``it CAN work, if you're in luck'' for a given FreeBSD release. Or whatever. thanks barry bouwsma
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200412010929.iB19TLW08470>