[Prism54-devel] Re: Ultra stripped down driver at http://195.66.192.167/linux/isl/isl-20051005.tar.bz2

Denis Vlasenko vda at ilport.com.ua
Wed Oct 5 13:13:31 UTC 2005


On Wednesday 05 October 2005 15:37, Jean-Baptiste Note wrote:
> I'm not really seeing this as a friendly move on your part.
> You could have been a bit more tactfull by informing me of this fork a
> little beforehand.
> Anyways.

> > However, I found prism54usb a bit too big for
> > my purposes. For one, I think we should not
> > waste time trying to implement "mgmt" stuff
> > present in official firmware. Too damn complicated
> > to do in fw. But large part of prism54usb
> > is dealing exactly with that stuff.
> 
> What do you mean ? this mgmt stuff is not done in firmware, it's
> precisely done in the driver. Large part ? -- the mgmt readback is a
> small fraction of the code, albeit there's an admittedly big function
> doing it.
>
> I tend to think that you're only trying to find an excuse for this, and
> let me tell you, it's a bad one.

I was trying to do something useful with freemac + prism54-usb, but
cannot find where to start. Not because of some problem with code,
prism54-usb is probably ok, but it is written to work with softmac
firmware, not freemac. It means that there are large pieces of code
which I have to read through and understand only to learn that
"we don't need this part too". Rinse, repeat. I don't think I
will be able to manage it.

(BTW, what's your plan - to fully reimplement softmac or to
add code to prism54-usb which will handle softmac and freemac
differently?)

What I did was like an attempt to learn prism54-usb by "disassembly".
I started to rebuild it from nothing, copying pieces of code which
I needed to make this "toy driver" to work. I also took some ideas
from acx driver (like: combined module (not two separate modules,
but one) for pci and usb, logging).

After several hours of work things start to even make some sense.
I grok'd the idea behind struct islsm and used it too. Nice!

Currently I am at a stage wnere I can boot freemac, up the iface
and simulate some tx. It is even sort-of-gets dma'ed to ARM memory.
This is where I stand now.

> > I took prism54usb apart and put together a mini driver.
> > At the moment it supports only PCI, but all required
> > build machinery and hardware abstraction is in place
> > for USB to be added.
> 
> Removing all copyright references in the process, either from me or from
> the prism54 project which the code was based on. Thanks.

This was not deliberate.
This is a part which will be now re-assembled too.

README
======
Based on code released under GPL by:
Copyright (C) 2002 Intersil Americas Inc.
Copyright (C) 2003 Conexant Americas Inc.
Copyright (C) 2003-2004 Luis R. Rodriguez <mcgrof at ruslug.rutgers.edu>
Copyright (C) 2004, 2005 Jean-Baptiste Note
Copyright (C) 2004 Feyd
Copyright (C) 2003 Herbert Valerio Riedel <hvr at gnu.org>
Copyright (C) 2003 Aurelien Alleaume <slts at free.fr>

Did I forget anyone?

I also have this in common.c:
=============================
MODULE_DESCRIPTION("Driver for Prism54 hardware + freemac firmware");
/* MODULE_AUTHOR("Jean-Baptiste Note <jean-baptiste.note at m4x.org>"); */
MODULE_LICENSE("GPL");

I omitted author because I don't want to place my name there but can't place
anybody else either.

> > Please give me your review.
> 
> Done.
> 
> If you think DMA will bring you to the point of a working network
> device, you're mistaken -- there's still a *big* chunk to be done.

Yes. We need to submit data to the baseband processor. We need to
listen to ACK and resend at lower rate if there is not ACK.
We need to get rx working. There are lots of things to do.

And they should be done for freemac anyway, by adapting prism54-usb
to work with freemac or by writing "prism54-for-freemac" driver.
--
vda


More information about the Prism54-devel mailing list