2009-09-25 17:45:02

by Matthew Ryan

[permalink] [raw]
Subject: Porting AR6K to use cfg80211

Hi All,

I am using the Neo Freerunner(http://wiki.openmoko.org/wiki/Neo_FreeRunner)
on a project which I am trying to setup to use a wireless mesh network using
open80211s

I was able to build a custom kernel to enable the 80211_MESH capability, but
finally realised the driver that ships with the Freerunner isn't compatible
with the new stack.

The chipset is:

Accton (WLAN 802.11b/g SiP-M WM3236AQ(Flash Ver:2.0 Atheros AR6001GZ) which
uses the AR6K driver, which from what I have read doesn't use mac80211.

Unfortunately I know very little about wireless drivers.

I was curious if I could get a few expert opinions on if its possible to port
this driver to use mac80211, and how difficult/ what pitfalls there may be.

While I don't know much about wireless drivers, I do have extensive
experience porting other drivers and don't usually shy away from a challenge ;)
So, if there's any positive feedback I would give it a shot.

Thanks for your time and comments.

Matt Ryan



2009-09-27 15:22:24

by Samuel Ortiz

[permalink] [raw]
Subject: Re: Porting AR6K to use cfg80211

Hi Dave,

On Fri, 2009-09-25 at 21:57 +0100, Dave wrote:
> Matthew Ryan wrote:
> > Michael Buesch <mb@...> writes:
> >> On Friday 25 September 2009 19:40:52 Matthew Ryan wrote:
> >>> I was curious if I could get a few expert opinions on if its possible to port
> >>> this driver to use mac80211, and how difficult/ what pitfalls there may be.
> >> The device is fullmac, so it does not require mac80211.
> >> I guess however, ar6k can be ported to use cfg80211.
> >>
> >
> > Do you know of any examples in the source tree which are fullmac, but utilize
> > cfg80211 that I could use as a base to get started?
>
> There are a few fullmac drivers in wireless-testing that use cfg80211. I
> don't think these are in the recently released 2.6.31, but are queued
> for 2.6.32.
At least iwmc3200wifi is in 2.6.31.

Cheers,
Samuel.

> iwmc3200wifi and rndis_wlan are furthest along. orinoco is in the
> process of conversion (it uses cfg80211, but relies on the wext
> compatibility code for a large portion of functionality).
>
>
> Dave.
> --
> To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html


2009-09-25 21:16:32

by Luis R. Rodriguez

[permalink] [raw]
Subject: Re: Porting AR6K to use cfg80211

On Fri, Sep 25, 2009 at 2:06 PM, Luis R. Rodriguez <[email protected]> wrote:
> On Fri, Sep 25, 2009 at 1:57 PM, Dave <[email protected]> wrote:
>> Matthew Ryan wrote:
>>> Michael Buesch <mb@...> writes:
>>>> On Friday 25 September 2009 19:40:52 Matthew Ryan wrote:
>>>>> I was curious if I could get a few expert opinions on if its possible to port
>>>>> this driver to use mac80211, and how difficult/ what pitfalls there may be.
>>>> The device is fullmac, so it does not require mac80211.
>>>> I guess however, ar6k can be ported to use cfg80211.
>>>>
>>>
>>> Do you know of any examples in the source tree which are fullmac, but utilize
>>> cfg80211 that I could use as a base to get started?
>>
>> There are a few fullmac drivers in wireless-testing that use cfg80211. I
>> don't think these are in the recently released 2.6.31, but are queued
>> for 2.6.32.
>>
>> iwmc3200wifi and rndis_wlan are furthest along. orinoco is in the
>> process of conversion (it uses cfg80211, but relies on the wext
>> compatibility code for a large portion of functionality).
>
> Additionally you can poke at the HTC / HIF stuff I'm doing for ar9271:
>
> http://wireless.kernel.org/en/users/Drivers/ath9k_htc
>
> Granted I've removed all credit distribution stuff as ar9271 doesn't
> use it, but it still may be easier to use that then what I had seen on
> ar6k for HTC.

Let me clarify a little more.

ath9k_htc is a module which will use ath_htc and ath_hif_usb.
ath9k_htc delcares hardware support for the 802.11n Atheros 9k family
for devices which use HTC. The ar9271 usb device gets probed by
ath_hif_usb. ath9k_htc is being designed as the mac80211 driver for
ar9271 but it may be possible to just share the same ath9k_htc for all
SoftMAC Atheros 11n HTC devices.

Now, ar6k is FullMAC so an ath9k_htc per se is not needed but I'd
expect you'd just need to implement a ar6k.c which uses cfg80211 and
adds support for the ar6k hw famiy. You'd need to implement an
ath_hif_sdio.c to handle the SDIO transport and this would be the
module probing the ar6k devices over sdio. Now, sure, I don't expect
any PCI/USB ar6k devices but still, this is the architectural approach
I'd like to see.

Luis

2009-09-25 20:57:54

by Dave Kilroy

[permalink] [raw]
Subject: Re: Porting AR6K to use cfg80211

Matthew Ryan wrote:
> Michael Buesch <mb@...> writes:
>> On Friday 25 September 2009 19:40:52 Matthew Ryan wrote:
>>> I was curious if I could get a few expert opinions on if its possible to port
>>> this driver to use mac80211, and how difficult/ what pitfalls there may be.
>> The device is fullmac, so it does not require mac80211.
>> I guess however, ar6k can be ported to use cfg80211.
>>
>
> Do you know of any examples in the source tree which are fullmac, but utilize
> cfg80211 that I could use as a base to get started?

There are a few fullmac drivers in wireless-testing that use cfg80211. I
don't think these are in the recently released 2.6.31, but are queued
for 2.6.32.

iwmc3200wifi and rndis_wlan are furthest along. orinoco is in the
process of conversion (it uses cfg80211, but relies on the wext
compatibility code for a large portion of functionality).


Dave.

2009-09-25 21:26:10

by Matthew Ryan

[permalink] [raw]
Subject: Re: Porting AR6K to use cfg80211

Luis R. Rodriguez <mcgrof@...> writes:


>
> Oh and I missed my main point: if the above is possible we can then
> share an ath_htc.
>
> Luis
> --



Thanks for the detailed help ;)

I'll keep you updated as I get going.

Matt


2009-09-25 21:07:04

by Luis R. Rodriguez

[permalink] [raw]
Subject: Re: Porting AR6K to use cfg80211

On Fri, Sep 25, 2009 at 1:57 PM, Dave <[email protected]> wrote:
> Matthew Ryan wrote:
>> Michael Buesch <mb@...> writes:
>>> On Friday 25 September 2009 19:40:52 Matthew Ryan wrote:
>>>> I was curious if I could get a few expert opinions on if its possible to port
>>>> this driver to use mac80211, and how difficult/ what pitfalls there may be.
>>> The device is fullmac, so it does not require mac80211.
>>> I guess however, ar6k can be ported to use cfg80211.
>>>
>>
>> Do you know of any examples in the source tree which are fullmac, but utilize
>> cfg80211 that I could use as a base to get started?
>
> There are a few fullmac drivers in wireless-testing that use cfg80211. I
> don't think these are in the recently released 2.6.31, but are queued
> for 2.6.32.
>
> iwmc3200wifi and rndis_wlan are furthest along. orinoco is in the
> process of conversion (it uses cfg80211, but relies on the wext
> compatibility code for a large portion of functionality).

Additionally you can poke at the HTC / HIF stuff I'm doing for ar9271:

http://wireless.kernel.org/en/users/Drivers/ath9k_htc

Granted I've removed all credit distribution stuff as ar9271 doesn't
use it, but it still may be easier to use that then what I had seen on
ar6k for HTC.

Luis

2009-09-25 20:26:07

by Matthew Ryan

[permalink] [raw]
Subject: Re: Porting AR6K to use cfg80211

Michael Buesch <mb@...> writes:

>
> On Friday 25 September 2009 19:40:52 Matthew Ryan wrote:
> > I was curious if I could get a few expert opinions on if its possible to port
> > this driver to use mac80211, and how difficult/ what pitfalls there may be.
>
> The device is fullmac, so it does not require mac80211.
> I guess however, ar6k can be ported to use cfg80211.
>

Do you know of any examples in the source tree which are fullmac, but utilize
cfg80211 that I could use as a base to get started?

Thanks,

Matt




2009-09-25 21:17:52

by Luis R. Rodriguez

[permalink] [raw]
Subject: Re: Porting AR6K to use cfg80211

On Fri, Sep 25, 2009 at 2:16 PM, Luis R. Rodriguez <[email protected]> wrote:
> On Fri, Sep 25, 2009 at 2:06 PM, Luis R. Rodriguez <[email protected]> wrote:
>> On Fri, Sep 25, 2009 at 1:57 PM, Dave <[email protected]> wrote:
>>> Matthew Ryan wrote:
>>>> Michael Buesch <mb@...> writes:
>>>>> On Friday 25 September 2009 19:40:52 Matthew Ryan wrote:
>>>>>> I was curious if I could get a few expert opinions on if its possible to port
>>>>>> this driver to use mac80211, and how difficult/ what pitfalls there may be.
>>>>> The device is fullmac, so it does not require mac80211.
>>>>> I guess however, ar6k can be ported to use cfg80211.
>>>>>
>>>>
>>>> Do you know of any examples in the source tree which are fullmac, but utilize
>>>> cfg80211 that I could use as a base to get started?
>>>
>>> There are a few fullmac drivers in wireless-testing that use cfg80211. I
>>> don't think these are in the recently released 2.6.31, but are queued
>>> for 2.6.32.
>>>
>>> iwmc3200wifi and rndis_wlan are furthest along. orinoco is in the
>>> process of conversion (it uses cfg80211, but relies on the wext
>>> compatibility code for a large portion of functionality).
>>
>> Additionally you can poke at the HTC / HIF stuff I'm doing for ar9271:
>>
>> http://wireless.kernel.org/en/users/Drivers/ath9k_htc
>>
>> Granted I've removed all credit distribution stuff as ar9271 doesn't
>> use it, but it still may be easier to use that then what I had seen on
>> ar6k for HTC.
>
> Let me clarify a little more.
>
> ath9k_htc is a module which will use ath_htc and ath_hif_usb.
> ath9k_htc delcares hardware support for the 802.11n Atheros 9k family
> for devices which use HTC. The ar9271 usb device gets probed by
> ath_hif_usb. ath9k_htc is being designed as the mac80211 driver for
> ar9271 but it may be possible to just share the same ath9k_htc for all
> SoftMAC Atheros 11n HTC devices.
>
> Now, ar6k is FullMAC so an ath9k_htc per se is not needed but I'd
> expect you'd just need to implement a ar6k.c which uses cfg80211 and
> adds support for the ar6k hw famiy. You'd need to implement an
> ath_hif_sdio.c to handle the SDIO transport and this would be the
> module probing the ar6k devices over sdio. Now, sure, I don't expect
> any PCI/USB ar6k devices but still, this is the architectural approach
> I'd like to see.

Oh and I missed my main point: if the above is possible we can then
share an ath_htc.

Luis

2009-09-25 18:05:23

by Michael Büsch

[permalink] [raw]
Subject: Re: Porting AR6K to use cfg80211

On Friday 25 September 2009 19:40:52 Matthew Ryan wrote:
> I was curious if I could get a few expert opinions on if its possible to port
> this driver to use mac80211, and how difficult/ what pitfalls there may be.

The device is fullmac, so it does not require mac80211.
I guess however, ar6k can be ported to use cfg80211.

--
Greetings, Michael.