2007-07-12 08:16:11

by Pavel Roskin

[permalink] [raw]
Subject: at76_usb - fourth submission attempt

Hello!

I'd like to submit at76_usb driver for inclusion into the kernel.

The driver's temporary repository is located at
http://git.80211libre.org/at76_usb.git/

To compile the driver standalone, just run "make" and "make install".
To integrate the driver into the kernel, apply kernel_patch.diff to the
kernel with -p1 option, then copy at76_usb*.[ch] to drivers/net/wireless

For the driver to work, please download the firmware from
http://developer.berlios.de/projects/at76c503a/

This is the fourth submission attempt. Three previous attempts were
made by Guido Guenther, and generated a lot of useful feedback. I
believe all the recommendations have been accepted.

The driver went through a massive cleanup, but I realize that a lot of
work still needs to be done. I think the process will be more effective
if more people take a look at the code. New eyes will see new flaws.

The biggest change that has not been done is conversion to mac80211. I
believe it's possible, but I don't expect it to happen overnight. Until
then, at76_usb uses its own implementation of 802.11 protocol. I'm not
going to polish it, but I tried to clean up the code to the point that
it can be easily understood.

If possible, I'd like the driver to be in Linux 2.6.23. That would
rejuvenate the interest to the driver, and hopefully it might attract
new contributors. I think at76_usb is quite on the par with other
non-mac80211 drivers currently in Linux (although I do realize that it's
a poor excuse).

I'll do my best to convert the driver to mac80211. I think it would be
OK to replace the driver with the mac80211 version later, e.g. in Linux
2.6.24. There are parts of the driver that don't deal with 802.11 layer
(e.g. firmware download and MIBs), and it would be great if they receive
some good testing in the meantime.

In any case, I'll appreciate any comments regarding the code.

It's my first driver submission ever, so please don't hesitate to tell
me if I'm doing anything wrong.

--
Regards,
Pavel Roskin



2007-07-12 18:39:12

by Pavel Roskin

[permalink] [raw]
Subject: Re: at76_usb - fourth submission attempt

On Thu, 2007-07-12 at 20:17 +0200, Jiri Benc wrote:

> Could you send a direct pointer to the patch? And make a patch that
> creates those at76_usb* files in the correct dir by itself? That will
> ease the review a lot.

http://80211libre.org/at76/at76_usb_try4.patch

Individual files are in http://80211libre.org/at76/

> > The biggest change that has not been done is conversion to mac80211. I
> > believe it's possible, but I don't expect it to happen overnight. Until
> > then, at76_usb uses its own implementation of 802.11 protocol.
>
> Unfortunately, that prevents being accepted to vanilla.
>
> I'd suggest to convert the driver to mac80211 and submit it then;
> otherwise people will tend to look at the code saying "NAK, it contains
> its own home grown 802.11 stack" only and not to review the driver in
> depth.

Well, that make sense. Helpers are welcome :)

--
Regards,
Pavel Roskin


2007-07-12 10:00:35

by Johannes Berg

[permalink] [raw]
Subject: Re: at76_usb - fourth submission attempt

On Thu, 2007-07-12 at 04:16 -0400, Pavel Roskin wrote:
> Hello!
>
> I'd like to submit at76_usb driver for inclusion into the kernel.

> It's my first driver submission ever, so please don't hesitate to tell
> me if I'm doing anything wrong.

Patches?

johannes


Attachments:
signature.asc (190.00 B)
This is a digitally signed message part

2007-07-12 18:16:53

by Jiri Benc

[permalink] [raw]
Subject: Re: at76_usb - fourth submission attempt

On Thu, 12 Jul 2007 04:16:06 -0400, Pavel Roskin wrote:
> I'd like to submit at76_usb driver for inclusion into the kernel.
>
> The driver's temporary repository is located at
> http://git.80211libre.org/at76_usb.git/
>
> To compile the driver standalone, just run "make" and "make install".
> To integrate the driver into the kernel, apply kernel_patch.diff to the
> kernel with -p1 option, then copy at76_usb*.[ch] to drivers/net/wireless

Could you send a direct pointer to the patch? And make a patch that
creates those at76_usb* files in the correct dir by itself? That will
ease the review a lot.

> [...]
> The biggest change that has not been done is conversion to mac80211. I
> believe it's possible, but I don't expect it to happen overnight. Until
> then, at76_usb uses its own implementation of 802.11 protocol.

Unfortunately, that prevents being accepted to vanilla.

I'd suggest to convert the driver to mac80211 and submit it then;
otherwise people will tend to look at the code saying "NAK, it contains
its own home grown 802.11 stack" only and not to review the driver in
depth.

Thanks,

Jiri


--
Jiri Benc
SUSE Labs

2007-08-23 21:15:08

by John W. Linville

[permalink] [raw]
Subject: Re: at76_usb - fourth submission attempt

On Thu, Jul 12, 2007 at 02:39:07PM -0400, Pavel Roskin wrote:
> On Thu, 2007-07-12 at 20:17 +0200, Jiri Benc wrote:

> > > The biggest change that has not been done is conversion to mac80211. I
> > > believe it's possible, but I don't expect it to happen overnight. Until
> > > then, at76_usb uses its own implementation of 802.11 protocol.
> >
> > Unfortunately, that prevents being accepted to vanilla.
> >
> > I'd suggest to convert the driver to mac80211 and submit it then;
> > otherwise people will tend to look at the code saying "NAK, it contains
> > its own home grown 802.11 stack" only and not to review the driver in
> > depth.
>
> Well, that make sense. Helpers are welcome :)

I have added this to the 'at76' branch of wireless-dev, and attempted
to directly recruit some help to get this driver ported to mac80211.
I think that is a requirement for merging upstream, but at least
being in wireless-dev and -mm will get you some visibility, testing,
feedback, etc...

Thanks!

John
--
John W. Linville
[email protected]