Julian Elischer writes:
|
|
| On Sun, 19 Dec 1999, Bill Paul wrote:
| > >
| > > We just copied the data from the mbuf into a dedicated
| > > buffer and freed the mbuff immediatly.
| >
| > Did you just allocate a buffer with malloc() (or contigmalloc()), or
| > did you use usbd_alloc_buffer()?
> P.S.: Please don't write me asking for help getting your USB ethernet
> adapter work with FreeBSD. Don't ask me when/if the driver will
> be done. Don't ask me if your favorite adapter will be supported.
> Don't ask me how to make the code work with FreeBSD 3.x.
:-))) What's w
> However that's not my biggest problem. My biggest problem is getting
> transfers over 1100 bytes or so to work reliably. My initial scheme
> for transmitting and receiving packets was to set up asynchronous
> transfers with callbacks. Packets are sent over bulk transfer endpoints
> (one for RX,
> I don't think there was anything special about the memory used for
> a buffer.
There isn't. All i386 mem is DMA-able. I still have to make things work
with bus_dma and friends.
Nick
--
[EMAIL PROTECTED]
[EMAIL PROTECTED] USB project
http://www.etla.net/
Your register read will take at least 1msec. That is the time between
scheduling the transfer and the interrupt being triggered for
completion.
But typically it will take 2msecs.
Nick
> > Because this is not an asynchronous task that I'm trying to do here.
> > I'm talking about reading and wr
> I have worked around this for now by hacking usbdi.c so that it polls
> the controller interrupt/status register instead of tsleep()ing. I'm not
> sure this is the best solution, but it's the only one that seems to work.
It isn't. You don't want to be polling for 2msecs for every register
trans
Of all the gin joints in all the towns in all the world, Mike Smith had
to walk into mine and say:
> > > why not use the async method?
> >
> > Because this is not an asynchronous task that I'm trying to do here.
> > I'm talking about reading and writing registers from the ethernet
> > controll
> > > bus_space_read_X()/bus_space_write_X() to read the registers directly. I
> > > don't want to start reading a register and then come back a while later
> > > to read the results. The code isn't meant to work like that.
> >
> > Unfortunately, given that your 'register read request' is being
On Sun, 19 Dec 1999 17:18:37 -0500 (EST)
Bill Paul <[EMAIL PROTECTED]> wrote:
> Because this is not an asynchronous task that I'm trying to do here.
> I'm talking about reading and writing registers from the ethernet
> controller. If this was a PCI device, I'd be using
> bus_space_read_X(
On Sun, 19 Dec 1999, Bill Paul wrote:
> >
> > We just copied the data from the mbuf into a dedicated
> > buffer and freed the mbuff immediatly.
>
> Did you just allocate a buffer with malloc() (or contigmalloc()), or
> did you use usbd_alloc_buffer()?
ummm I don't have the driver with me her
> > > I have worked around this for now by hacking usbdi.c so that it polls
> > > the controller interrupt/status register instead of tsleep()ing. I'm not
> > > sure this is the best solution, but it's the only one that seems to work.
> >
> > why not use the async method?
>
> Because this is not
Of all the gin joints in all the towns in all the world, Julian Elischer
had to walk into mine and say:
> Doug Ambrisko and I wrote a netgraph based USB-to-USB networking device
> node. We used the async method and it works fine. We just added
> a queue and called an interrupt level 'start rou
On Sun, 19 Dec 1999, Bill Paul wrote:
> For those of you who don't know, I've been working on a driver for the
> ADMtek USB Ethernet chip (AN986 Pegasus). It kinda sorta works:
>
> aue0: ADMtek Inc. ADMtek 10/100 USB MAC, rev 1.10/1.01, addr 2
> aue0: Ethernet address: 00:00:e8:00:00:a2
> miib
For those of you who don't know, I've been working on a driver for the
ADMtek USB Ethernet chip (AN986 Pegasus). It kinda sorta works:
aue0: ADMtek Inc. ADMtek 10/100 USB MAC, rev 1.10/1.01, addr 2
aue0: Ethernet address: 00:00:e8:00:00:a2
miibus0: on aue0
ukphy0: on miibus0
ukphy0: 10baseT, 1
14 matches
Mail list logo