2008-07-30 22:51:30

by Dmitry Baryshkov

[permalink] [raw]
Subject: Driver for the FullMAC card

Hi,

I'd like to work on the Prism2 USB driver (currently maintained as a part of
wlan-ng project) to be able to push it into mainline. The card itself is
a FullMAC card. Where should I start? What parts of 802.11 stacks/API
should I use? There is plenty of information regarding SoftMAC drivers,
but no clear pointers for developing drivers for the FullMAC cards.

--
With best wishes
Dmitry




2008-07-31 15:19:33

by Pavel Roskin

[permalink] [raw]
Subject: Re: Driver for the FullMAC card

On Thu, 2008-07-31 at 10:24 -0400, Dan Williams wrote:

> prism2_usb already uses p80211, which is a softmac stack. So the cards
> are already being driven in softmac mode. You basically just have to
> write a mac80211 driver for the hardware and ignore p80211 completely.

I don't think p80211 is a softmac stack. It's just a thin layer for
802.11 packet manipulation. There were some talks about splitting
lib80211 from mac80211 so that FullMAC cards could make use of the
existing code. p80211 is something of that kind.

Prism USB is not much different from other Prism cards. Sure, it needs
packet interface for communicating to the device, but it associates on
its own.

I asked Jouni if HostAP could be converted to SoftMAC, and his answer
was that it may be a good AP but a poor station (sorry I cannot find it
in the archives). The same would apply to Prism USB.

--
Regards,
Pavel Roskin

2008-07-31 20:18:51

by Pavel Roskin

[permalink] [raw]
Subject: Re: Driver for the FullMAC card

On Thu, 2008-07-31 at 16:00 -0400, Dan Williams wrote:

> Guess I misunderstood the scope of p80211 then. So the prism2 usb stuff
> really is fullmac then? Or at least quasi-mac like the ipw2x00 cards?

It's as FullMAC as it can get. It's the same Prism chipset, just
connected to the host system in a different way. I don't think it's
doing anything differently on the wireless side.

Sure enough, there are some knobs to dumb it down, but probably not to
the SoftMAC level. I don't think it was tried, and I don't think it's
worth trying.

--
Regards,
Pavel Roskin

2008-07-31 20:02:59

by Dan Williams

[permalink] [raw]
Subject: Re: Driver for the FullMAC card

On Thu, 2008-07-31 at 11:19 -0400, Pavel Roskin wrote:
> On Thu, 2008-07-31 at 10:24 -0400, Dan Williams wrote:
>
> > prism2_usb already uses p80211, which is a softmac stack. So the cards
> > are already being driven in softmac mode. You basically just have to
> > write a mac80211 driver for the hardware and ignore p80211 completely.
>
> I don't think p80211 is a softmac stack. It's just a thin layer for
> 802.11 packet manipulation. There were some talks about splitting
> lib80211 from mac80211 so that FullMAC cards could make use of the
> existing code. p80211 is something of that kind.
>
> Prism USB is not much different from other Prism cards. Sure, it needs
> packet interface for communicating to the device, but it associates on
> its own.
>
> I asked Jouni if HostAP could be converted to SoftMAC, and his answer
> was that it may be a good AP but a poor station (sorry I cannot find it
> in the archives). The same would apply to Prism USB.

Guess I misunderstood the scope of p80211 then. So the prism2 usb stuff
really is fullmac then? Or at least quasi-mac like the ipw2x00 cards?

Dan



2008-07-31 13:57:28

by Dan Williams

[permalink] [raw]
Subject: Re: Driver for the FullMAC card

On Wed, 2008-07-30 at 22:51 +0000, Dmitry Baryshkov wrote:
> Hi,
>
> I'd like to work on the Prism2 USB driver (currently maintained as a part of
> wlan-ng project) to be able to push it into mainline. The card itself is
> a FullMAC card. Where should I start? What parts of 802.11 stacks/API
> should I use? There is plenty of information regarding SoftMAC drivers,
> but no clear pointers for developing drivers for the FullMAC cards.

If you're talking about the same hardware that linux-wlan-ng supported
(ie, what Ubuntu ships as prism2_usb) then that hardware can be softmac,
actually. We discussed this a while ago and agreed that a completely
new mac80211-based driver for this hardware was the best way to go,
rather than trying to stuff USB support into hostap.

If that's not the hardware we're talking about, can you give me some
examples of the brand and model of devices this would drive? Are we
talking about stuff like the Netgear MA111 (FCC ID PY3MA111) here?

Dan


2008-07-31 14:26:37

by Dan Williams

[permalink] [raw]
Subject: Re: Driver for the FullMAC card

On Thu, 2008-07-31 at 18:15 +0400, Dmitry wrote:
> 2008/7/31 Dan Williams <[email protected]>:
> > On Wed, 2008-07-30 at 22:51 +0000, Dmitry Baryshkov wrote:
> >> Hi,
> >>
> >> I'd like to work on the Prism2 USB driver (currently maintained as a part of
> >> wlan-ng project) to be able to push it into mainline. The card itself is
> >> a FullMAC card. Where should I start? What parts of 802.11 stacks/API
> >> should I use? There is plenty of information regarding SoftMAC drivers,
> >> but no clear pointers for developing drivers for the FullMAC cards.
> >
> > If you're talking about the same hardware that linux-wlan-ng supported
> > (ie, what Ubuntu ships as prism2_usb) then that hardware can be softmac,
> > actually. We discussed this a while ago and agreed that a completely
> > new mac80211-based driver for this hardware was the best way to go,
> > rather than trying to stuff USB support into hostap.
>
> Yes, I was talking about prism2_usb cards. I'll explore how to switch it to
> the softmac.

prism2_usb already uses p80211, which is a softmac stack. So the cards
are already being driven in softmac mode. You basically just have to
write a mac80211 driver for the hardware and ignore p80211 completely.

Dan


2008-07-31 14:15:15

by Dmitry Baryshkov

[permalink] [raw]
Subject: Re: Driver for the FullMAC card

2008/7/31 Dan Williams <[email protected]>:
> On Wed, 2008-07-30 at 22:51 +0000, Dmitry Baryshkov wrote:
>> Hi,
>>
>> I'd like to work on the Prism2 USB driver (currently maintained as a part of
>> wlan-ng project) to be able to push it into mainline. The card itself is
>> a FullMAC card. Where should I start? What parts of 802.11 stacks/API
>> should I use? There is plenty of information regarding SoftMAC drivers,
>> but no clear pointers for developing drivers for the FullMAC cards.
>
> If you're talking about the same hardware that linux-wlan-ng supported
> (ie, what Ubuntu ships as prism2_usb) then that hardware can be softmac,
> actually. We discussed this a while ago and agreed that a completely
> new mac80211-based driver for this hardware was the best way to go,
> rather than trying to stuff USB support into hostap.

Yes, I was talking about prism2_usb cards. I'll explore how to switch it to
the softmac.


--
With best wishes
Dmitry

2008-08-10 07:24:39

by Ron Rindjunsky

[permalink] [raw]
Subject: Re: Driver for the FullMAC card

> On Thu, 2008-07-31 at 16:00 -0400, Dan Williams wrote:
>
> > Guess I misunderstood the scope of p80211 then. So the prism2 usb stuff
> > really is fullmac then? Or at least quasi-mac like the ipw2x00 cards?
>
> It's as FullMAC as it can get. It's the same Prism chipset, just
> connected to the host system in a different way. I don't think it's
> doing anything differently on the wireless side.
>
> Sure enough, there are some knobs to dumb it down, but probably not to
> the SoftMAC level. I don't think it was tried, and I don't think it's
> worth trying.
>

I am not familiar at all with the prism and p80211 current status, so
taking the risk of mis-understanding Dmitry's initial mail, it does
look like one of the topics we discussed in the OLS, concluded that
fullMac best support would probably be handled by moving through
cfg80211 and see what's missing there. this approach will have 2
benefits - there is already code that can be used (and improved)
there, and there is an initial set of actions that any fullMac HW is
likely to support so developer can save lots of efforts redefining
fullMac behaviour.

Ron