Is the freebsd usb generic device driver complete?
paradox
algorist2000 at yahoo.com
Sat Apr 30 00:00:30 PDT 2005
sorry, i wrote the last mail in linux,can't check the
source codes,so i made some mistakes.
The ival is set to USBD_DEFAULT_INTERVAL, whose value
should be -1,In uhci_open function, it will be convert
to pipe->endpoint>edesc->binterval automatically.
My machine are uhci interface, with the usb key
linked to the usb bus directly.In linux , the driver
first set the address to 00 02,then get descriptors,
at last,it set the configuration to 0x 00 01, then
send 5 bytes to the usb ckey and got a ACK response.
In freebsd, it first set the address to 00 02 also,
but it insert a GET_STATUS packet in thosr
GET_DESCRIPTOR packet and got 0x 00 00 resopnse.It
also set the configuration to 0x 00 01(two times, one
is when I load usb.ko,another time is when I load
ugen.ko.when I open the nodes. it send CLEAT_FEATURE
packet twice, then send a OUT packet just like in the
linux environment, but got a NAK response.
--- Bernd Walter <ticso at cicely12.cicely.de> wrote:
> On Wed, Apr 27, 2005 at 11:24:15PM -0700, paradox
> wrote:
> > I am using a low speed usb key in freebsd
> > 5.3Release,It has 2 interrupt pipe besides the
> control
> > pipe,the IN pipe is endpoint 1,its interval is 20,
> OUT
> > pipe is endpoint 2, interval is 10. I wrote a
> driver
> > for it in linux,and everything is ok.when I plug
> the
> > key in a system with freebsd 5.3release, it find
> the
> > key,make 3 nodes ugen0,ugen0.1 and ugen0.2 for it,
> I
> > can get those descriptors from ugen0,but I can't
> wrote
> > anything in the OUT pipe ugen0.2. from usb
> analyser I
> > found the system send the write packet,just like
> in
> > linux,but the return is NAK.
>
> Getting NAKs is the normal way for a device to tell,
> that it
> has nothing to say or can't take the offered data.
> Either your device really has nothing to say or
> isn't configured
> correctly.
> There is nothing more to say without knwoing more
> about your
> device and it's protocol.
>
> > I read the code in ugen.c,usbdi.c,uhci.c,usb.c and
> > usbdi_util.c,and don't know why it set the ival to
> > USB_DEFAULT_IVAL(0),I contact with Lennart
> Augustsson
> > whose name is in the head of those usb codes, he
> said
> > he has never run those code in freebsd and he
> didn't
> > write the intr write code!
>
> I can't find USB_DEFAULT_IVAL inside FreeBSD's usb
> source.
> Most of the files you mention don't even contain the
> string ival.
>
> > the ugen.c, I hope i can made a patch for it.can
> > anyone tell me how the intr write designs in the
> > ugen.c, and why it only use the USB_DEFAULT_IVAL?
>
>
> USB_DEFAULT_IVAL doesn't exist.
> You should be more specific about this.
>
> --
> B.Walter BWCT
> http://www.bwct.de
> bernd at bwct.de
> info at bwct.de
>
>
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
More information about the freebsd-usb
mailing list