Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 29 Sep 2007 03:24:55 -0600 (MDT)
From:      "M. Warner Losh" <imp@bsdimp.com>
To:        xiaofanc@gmail.com
Cc:        freebsd-usb@freebsd.org
Subject:   Re: snd_uaudio with libusb ?
Message-ID:  <20070929.032455.-713548378.imp@bsdimp.com>
In-Reply-To: <a276da400709290213v6d747d3bh4f3e4de212d5b602@mail.gmail.com>
References:  <a276da400709281906m28bacac2r80c27074e222c597@mail.gmail.com> <BAY116-W245D862663F945A3204C2CC7B30@phx.gbl> <a276da400709290213v6d747d3bh4f3e4de212d5b602@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
In message: <a276da400709290213v6d747d3bh4f3e4de212d5b602@mail.gmail.com>
            "Xiaofan Chen" <xiaofanc@gmail.com> writes:
: On 9/29/07, Chuck T. <freebsdfan@hotmail.com> wrote:
: >
: > >I think your device is a USB composite USB device with two
: > >interfaces (one for USB audio and the other for GPIO). How
: > >do you control the GPIO under Linux (by control transfer
: > >or interrupt/bulk transfer)? If the Linux application indeed
: > >works at the same time as the USB audio, then Linux
: > >does bind different driver to different interfaces (one for
: > >the usb audio interface and no driver for the GPIO interface).
: >
: > I talk to the GPIO bits via vendor specific requests to the control pipe.
: > I do a usb_open() when my application loads and never close it.  When I need
: > to set a GPIO bit I use usb_control_msg().  I've never "looked under the
: > covers" to see why it works, but it does.
: >
: 
: So this works under Linux but not FreeBSD. Maybe this is just a limitation
: of libusb under FreeBSD. Anyway, it is said that libusb is just a thin
: wrapper on top of USB. You may want to use the lower level api instead.
: 
: I confess I do not know further (like how to bind ugen to individual interfaces
: and use IOCTL to perform usb transfer). But if post some codes,
: others may be able to help you.

You can only do a subset of the ugen operations with /dev/usb, but
maybe it would be enough.  I believe that the control messages are on
the list of things that you can do, however...

Warner



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070929.032455.-713548378.imp>