Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 29 Sep 2007 17:13:06 +0800
From:      "Xiaofan Chen" <xiaofanc@gmail.com>
To:        "Chuck T." <freebsdfan@hotmail.com>
Cc:        freebsd-usb@freebsd.org
Subject:   Re: snd_uaudio with libusb ?
Message-ID:  <a276da400709290213v6d747d3bh4f3e4de212d5b602@mail.gmail.com>
In-Reply-To: <BAY116-W245D862663F945A3204C2CC7B30@phx.gbl>
References:  <BAY116-W4072AA56B15EBD7B73FAC9C7B20@phx.gbl> <a276da400709281906m28bacac2r80c27074e222c597@mail.gmail.com> <BAY116-W245D862663F945A3204C2CC7B30@phx.gbl>

next in thread | previous in thread | raw e-mail | index | archive | help
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.

Xiaofan



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