On Fri, 15 Aug 2008 16:08:37 -0400, Dan Williams wrote:
> On Fri, 2008-08-15 at 12:58 -0700, Luis R. Rodriguez wrote:
>> On Fri, Aug 15, 2008 at 12:40:27PM -0700, Pat Erley wrote:
>> > Has anyone stepped up to help in the port of this to mac80211? I
>> > just picked up a wrvs4400n router that uses it and have been worki=
ng
>> > on getting 2.6.XX to work with it.
>>=20
>> Not that I have heard of. Don't know.
>=20
> There's code out there for the TopDog parts (Linville's marvell.git o=
n
> kernel.org), and I even have one or two of them lying around. The
> firmware interface isn't that different from the 8335 (mrv8k) and thu=
s
> the two product lines can probably share the same driver.
>=20
> Lennert and Nick (from Marvell) are supposed to be working on a mac80=
211
> driver for the 88w8687 part, which is probably just about the same
> firmware interface as TopDog (aside from the N-specific bits, and
> different TX & RX descriptors I'm sure). I'd prefer to either start
> fixing up mrv8k and then merge into whatever Lennert comes up with, o=
r
> see what they come up with and use that as a base for adding support =
for
> older TopDog and 8310/8335 hardware.
>=20
> mrv8k was always a bit rocky and never reliably got scan results on t=
he
> 8335 cardbus hardware I had, even though the descriptor setup and the
> mac80211 bits looked right. There's some pre/post scan commands that=
we
> need to hook into mac80211 which I posted patches for first, but
> Johannes requested we not commit those until we really knew whether
> pre/post scan were required.
>=20
> Dan
Duh...
http://git.kernel.org/?p=3Dlinux/kernel/git/mcgrof/mrvl_cb82.git;a=3Dsu=
mmary
Also, I have a router with an 8361 chip and Linux Inside=E2=84=A2 for w=
hich I=20
have made a GPL Source Request. I was told that the sources will be=20
available two weeks from now. I don't expect the wi-fi driver to be in=20
source form in that release, but you never know in advance what they'll=
=20
stuff in there.
On Mon, 2008-10-20 at 17:01 +0000, Daniel Gimpelevich wrote:
> On Fri, 15 Aug 2008 16:08:37 -0400, Dan Williams wrote:
>=20
> > On Fri, 2008-08-15 at 12:58 -0700, Luis R. Rodriguez wrote:
> >> On Fri, Aug 15, 2008 at 12:40:27PM -0700, Pat Erley wrote:
> >> > Has anyone stepped up to help in the port of this to mac80211? =
I
> >> > just picked up a wrvs4400n router that uses it and have been wor=
king
> >> > on getting 2.6.XX to work with it.
> >>=20
> >> Not that I have heard of. Don't know.
> >=20
> > There's code out there for the TopDog parts (Linville's marvell.git=
on
> > kernel.org), and I even have one or two of them lying around. The
> > firmware interface isn't that different from the 8335 (mrv8k) and t=
hus
> > the two product lines can probably share the same driver.
> >=20
> > Lennert and Nick (from Marvell) are supposed to be working on a mac=
80211
> > driver for the 88w8687 part, which is probably just about the same
> > firmware interface as TopDog (aside from the N-specific bits, and
> > different TX & RX descriptors I'm sure). I'd prefer to either star=
t
> > fixing up mrv8k and then merge into whatever Lennert comes up with,=
or
> > see what they come up with and use that as a base for adding suppor=
t for
> > older TopDog and 8310/8335 hardware.
> >=20
> > mrv8k was always a bit rocky and never reliably got scan results on=
the
> > 8335 cardbus hardware I had, even though the descriptor setup and t=
he
> > mac80211 bits looked right. There's some pre/post scan commands th=
at we
> > need to hook into mac80211 which I posted patches for first, but
> > Johannes requested we not commit those until we really knew whether
> > pre/post scan were required.
> >=20
> > Dan
>=20
> Duh...
> http://git.kernel.org/?p=3Dlinux/kernel/git/mcgrof/mrvl_cb82.git;a=3D=
summary
Right, that's been there for a long time but it isn't up-to-date with
the latest mac80211 stuff, and I'm not sure Luis ever got it completely
ported over. It should basically be used only for reference.
What I'd like to see is an integrated driver for both the 833x and the
836x softmac parts, since the firmware interfaces aren't actually that
much different. We can start with one family and add support for the
other family later as long as we keep that fact in mind and code in a
manner that will easily support the other chips.
> Also, I have a router with an 8361 chip and Linux Inside=E2=84=A2 for=
which I=20
> have made a GPL Source Request. I was told that the sources will be=20
> available two weeks from now. I don't expect the wi-fi driver to be i=
n=20
> source form in that release, but you never know in advance what they'=
ll=20
> stuff in there.
It'll still be based off net80211 unless Nick/Lennert have made any
progress. Thus, it would still have to be ported to mac80211, and I'd
rather see a clean rewrite in the kernel coding style, which is what
mrv8k was supposed to be.
Dan
On Mon, 2008-10-20 at 12:45 -0700, Luis R. Rodriguez wrote:
> On Mon, Oct 20, 2008 at 11:03 AM, Daniel Gimpelevich
> <[email protected]> wrote:
>
> > The "Duh..." was a response to the "Not that I have heard of. Don't
> > know." statement, which was pretty ironic.
>
> Well your question was "Has anyone stepped up to help in the port of
> this to mac80211" and I thought you already knew I had that tree.
I did not ask that, because I saw the tree, and that the initial import
was from the marvell.git tree. The OP might not have realized that the
code was TopDog-related even if he did see it. Since there is no working
mac80211 code for TopDog, any existing hardware-specific code for it may
prove to be a useful reference during the porting process. Anybody
investigating the possibility of stepping up to help in the port needs
to know what is already available and what is not.
I don't think there is any question of *whether* TopDog support is
possible in mrv8k, only when, and "right now" does not yet appear to be
the answer. I really hope to be proven wrong on that, though.
T24gTW9uLCBPY3QgMjAsIDIwMDggYXQgMTA6MDEgQU0sIERhbmllbCBHaW1wZWxldmljaAo8ZGFu
aWVsQGdpbXBlbGV2aWNoLnNhbi1mcmFuY2lzY28uY2EudXM+IHdyb3RlOgo+IE9uIEZyaSwgMTUg
QXVnIDIwMDggMTY6MDg6MzcgLTA0MDAsIERhbiBXaWxsaWFtcyB3cm90ZToKPgo+PiBPbiBGcmks
IDIwMDgtMDgtMTUgYXQgMTI6NTggLTA3MDAsIEx1aXMgUi4gUm9kcmlndWV6IHdyb3RlOgo+Pj4g
T24gRnJpLCBBdWcgMTUsIDIwMDggYXQgMTI6NDA6MjdQTSAtMDcwMCwgUGF0IEVybGV5IHdyb3Rl
Ogo+Pj4gPiBIYXMgYW55b25lIHN0ZXBwZWQgdXAgdG8gaGVscCBpbiB0aGUgcG9ydCBvZiB0aGlz
IHRvIG1hYzgwMjExPyAgSQo+Pj4gPiBqdXN0IHBpY2tlZCB1cCBhIHdydnM0NDAwbiByb3V0ZXIg
dGhhdCB1c2VzIGl0IGFuZCBoYXZlIGJlZW4gd29ya2luZwo+Pj4gPiBvbiBnZXR0aW5nIDIuNi5Y
WCB0byB3b3JrIHdpdGggaXQuCj4+Pgo+Pj4gTm90IHRoYXQgSSBoYXZlIGhlYXJkIG9mLiBEb24n
dCBrbm93Lgo+Pgo+PiBUaGVyZSdzIGNvZGUgb3V0IHRoZXJlIGZvciB0aGUgVG9wRG9nIHBhcnRz
IChMaW52aWxsZSdzIG1hcnZlbGwuZ2l0IG9uCj4+IGtlcm5lbC5vcmcpLCBhbmQgSSBldmVuIGhh
dmUgb25lIG9yIHR3byBvZiB0aGVtIGx5aW5nIGFyb3VuZC4gIFRoZQo+PiBmaXJtd2FyZSBpbnRl
cmZhY2UgaXNuJ3QgdGhhdCBkaWZmZXJlbnQgZnJvbSB0aGUgODMzNSAobXJ2OGspIGFuZCB0aHVz
Cj4+IHRoZSB0d28gcHJvZHVjdCBsaW5lcyBjYW4gcHJvYmFibHkgc2hhcmUgdGhlIHNhbWUgZHJp
dmVyLgo+Pgo+PiBMZW5uZXJ0IGFuZCBOaWNrIChmcm9tIE1hcnZlbGwpIGFyZSBzdXBwb3NlZCB0
byBiZSB3b3JraW5nIG9uIGEgbWFjODAyMTEKPj4gZHJpdmVyIGZvciB0aGUgODh3ODY4NyBwYXJ0
LCB3aGljaCBpcyBwcm9iYWJseSBqdXN0IGFib3V0IHRoZSBzYW1lCj4+IGZpcm13YXJlIGludGVy
ZmFjZSBhcyBUb3BEb2cgKGFzaWRlIGZyb20gdGhlIE4tc3BlY2lmaWMgYml0cywgYW5kCj4+IGRp
ZmZlcmVudCBUWCAmIFJYIGRlc2NyaXB0b3JzIEknbSBzdXJlKS4gIEknZCBwcmVmZXIgdG8gZWl0
aGVyIHN0YXJ0Cj4+IGZpeGluZyB1cCBtcnY4ayBhbmQgdGhlbiBtZXJnZSBpbnRvIHdoYXRldmVy
IExlbm5lcnQgY29tZXMgdXAgd2l0aCwgb3IKPj4gc2VlIHdoYXQgdGhleSBjb21lIHVwIHdpdGgg
YW5kIHVzZSB0aGF0IGFzIGEgYmFzZSBmb3IgYWRkaW5nIHN1cHBvcnQgZm9yCj4+IG9sZGVyIFRv
cERvZyBhbmQgODMxMC84MzM1IGhhcmR3YXJlLgo+Pgo+PiBtcnY4ayB3YXMgYWx3YXlzIGEgYml0
IHJvY2t5IGFuZCBuZXZlciByZWxpYWJseSBnb3Qgc2NhbiByZXN1bHRzIG9uIHRoZQo+PiA4MzM1
IGNhcmRidXMgaGFyZHdhcmUgSSBoYWQsIGV2ZW4gdGhvdWdoIHRoZSBkZXNjcmlwdG9yIHNldHVw
IGFuZCB0aGUKPj4gbWFjODAyMTEgYml0cyBsb29rZWQgcmlnaHQuICBUaGVyZSdzIHNvbWUgcHJl
L3Bvc3Qgc2NhbiBjb21tYW5kcyB0aGF0IHdlCj4+IG5lZWQgdG8gaG9vayBpbnRvIG1hYzgwMjEx
IHdoaWNoIEkgcG9zdGVkIHBhdGNoZXMgZm9yIGZpcnN0LCBidXQKPj4gSm9oYW5uZXMgcmVxdWVz
dGVkIHdlIG5vdCBjb21taXQgdGhvc2UgdW50aWwgd2UgcmVhbGx5IGtuZXcgd2hldGhlcgo+PiBw
cmUvcG9zdCBzY2FuIHdlcmUgcmVxdWlyZWQuCj4+Cj4+IERhbgo+Cj4gRHVoLi4uCj4gaHR0cDov
L2dpdC5rZXJuZWwub3JnLz9wPWxpbnV4L2tlcm5lbC9naXQvbWNncm9mL21ydmxfY2I4Mi5naXQ7
YT1zdW1tYXJ5Cj4KPiBBbHNvLCBJIGhhdmUgYSByb3V0ZXIgd2l0aCBhbiA4MzYxIGNoaXAgYW5k
IExpbnV4IEluc2lkZeKEoiBmb3Igd2hpY2ggSQo+IGhhdmUgbWFkZSBhIEdQTCBTb3VyY2UgUmVx
dWVzdC4gSSB3YXMgdG9sZCB0aGF0IHRoZSBzb3VyY2VzIHdpbGwgYmUKPiBhdmFpbGFibGUgdHdv
IHdlZWtzIGZyb20gbm93LiBJIGRvbid0IGV4cGVjdCB0aGUgd2ktZmkgZHJpdmVyIHRvIGJlIGlu
Cj4gc291cmNlIGZvcm0gaW4gdGhhdCByZWxlYXNlLCBidXQgeW91IG5ldmVyIGtub3cgaW4gYWR2
YW5jZSB3aGF0IHRoZXknbGwKPiBzdHVmZiBpbiB0aGVyZS4KClllYWggSSBhYmFuZG9uZWQgdGhh
dCBkdWUgdG8gbGFjayBvZiB0aW1lIGJ1dCBpdCBjYW4gY2VydGFpbmx5IGJlCnRha2VuIG92ZXIu
IEkgd2FzIGhvcGluZyBzb21lb25lIHdpdGggZW5vdWdoIGludGVyZXN0IHdvdWxkIGRvIGl0LiBJ
CmRpZG4ndCBnZXQgdG9vIGZhciB0aG91Z2guCgogIEx1aXMK
snip
> Definitely, I've looked at marvell.git (topdog) and Luis's code, and
> earlier Marvell GPL code quite extensively. The firmware interface is
> quite similar between the TopDog (802.11n) parts and the b/g parts, as
> are the TX and RX descriptors. From my research, I didn't think it
> would be that hard to support both parts in the same driver.
>
> My strategy would be this, assuming you have TopDog hardware. If you do
> not, I can ship you a CardBus TopDog card:
>
> 1) Use marvell.git and Luis' attempt to get minimal b/g support working
> for the TopDog parts
Don't think I can help with this part, as I don't have TopDog hardware...
>
> 2) Start adding in the support for 8335/8310 parts using mrv8k (and
> possibly BSD's malo(4)) as a guide
But I do have 8335 hardware:
00:0c.0 Ethernet controller: Marvell Technology Group Ltd. 88w8335
[Libertas] 802.11b/g Wireless (rev 03)
--snip from the old mrv8k driver from a few months ago--
(mrv8k): successfully uploaded firmware
(mrv8k): HW ver. 1, FW ver. 0x3000036, 2 antennas, regulatory domain US
(FCC)
--snip--
If memory serves, it's a Netgear 311v3 PCI... but the packaging isn't
around and I'm too lazy to turn my machine off to physically look at the
card (and stand on my head!).
>
> 3) Add the 802.11n bits of TopDog stuff
>
> The _most_ important thing is first to get a stable b/g driver, then add
> the candy later. Since we have a full TopDog driver implementation,
> that might be the best thing to get working first. mrv8k was never able
> to get very far for me when I was poking at it, I couldn't even get
> reliable scan results.
>
>> I don't think there is any question of *whether* TopDog support is
>> possible in mrv8k, only when, and "right now" does not yet appear to be
>> the answer. I really hope to be proven wrong on that, though.
>
> Oh, it's certainly possible in mrv8k. But obviously you just want to
> get something up and running first, then add the tasty bits like N
> support later.
>
> Dan
I am more than willing to help test and/or debug any driver developments
that come down the pipeline for the 8335 chip.
JD
On Tue, 2008-10-21 at 09:18 -0400, Dan Williams wrote:
> Definitely, I've looked at marvell.git (topdog) and Luis's code, and
> earlier Marvell GPL code quite extensively. The firmware interface is
> quite similar between the TopDog (802.11n) parts and the b/g parts, as
> are the TX and RX descriptors. From my research, I didn't think it
> would be that hard to support both parts in the same driver.
>
> My strategy would be this, assuming you have TopDog hardware. If you do
> not, I can ship you a CardBus TopDog card:
The only TopDog hardware I have is the aforementioned Orion-based
router, which has OpenWRT in its future. That certainly fits the
strategy, but with somewhat unfortunate timing. I previously had access
to an 8335 card, but don't currently.
> 1) Use marvell.git and Luis' attempt to get minimal b/g support working
> for the TopDog parts
>
> 2) Start adding in the support for 8335/8310 parts using mrv8k (and
> possibly BSD's malo(4)) as a guide
>
> 3) Add the 802.11n bits of TopDog stuff
That contrasts slightly with the understanding I had:
1) Use the in-tree libertas library to get b/g going for 8335/8310
parts, using mrv8k/malo as a guide.
2) Start adding in the support for TopDog parts in b/g mode, from
mrvl_cb82.git
3) Add the 802.11n bits of TopDog stuff
> The _most_ important thing is first to get a stable b/g driver, then add
> the candy later.
I could not agree more.
> Since we have a full TopDog driver implementation,
Do we?
> that might be the best thing to get working first. mrv8k was never able
> to get very far for me when I was poking at it, I couldn't even get
> reliable scan results.
On Mon, 2008-10-20 at 13:05 -0700, Daniel Gimpelevich wrote:
> On Mon, 2008-10-20 at 12:45 -0700, Luis R. Rodriguez wrote:
> > On Mon, Oct 20, 2008 at 11:03 AM, Daniel Gimpelevich
> > <[email protected]> wrote:
> >
> > > The "Duh..." was a response to the "Not that I have heard of. Don't
> > > know." statement, which was pretty ironic.
> >
> > Well your question was "Has anyone stepped up to help in the port of
> > this to mac80211" and I thought you already knew I had that tree.
>
> I did not ask that, because I saw the tree, and that the initial import
> was from the marvell.git tree. The OP might not have realized that the
> code was TopDog-related even if he did see it. Since there is no working
> mac80211 code for TopDog, any existing hardware-specific code for it may
> prove to be a useful reference during the porting process. Anybody
> investigating the possibility of stepping up to help in the port needs
> to know what is already available and what is not.
Definitely, I've looked at marvell.git (topdog) and Luis's code, and
earlier Marvell GPL code quite extensively. The firmware interface is
quite similar between the TopDog (802.11n) parts and the b/g parts, as
are the TX and RX descriptors. From my research, I didn't think it
would be that hard to support both parts in the same driver.
My strategy would be this, assuming you have TopDog hardware. If you do
not, I can ship you a CardBus TopDog card:
1) Use marvell.git and Luis' attempt to get minimal b/g support working
for the TopDog parts
2) Start adding in the support for 8335/8310 parts using mrv8k (and
possibly BSD's malo(4)) as a guide
3) Add the 802.11n bits of TopDog stuff
The _most_ important thing is first to get a stable b/g driver, then add
the candy later. Since we have a full TopDog driver implementation,
that might be the best thing to get working first. mrv8k was never able
to get very far for me when I was poking at it, I couldn't even get
reliable scan results.
> I don't think there is any question of *whether* TopDog support is
> possible in mrv8k, only when, and "right now" does not yet appear to be
> the answer. I really hope to be proven wrong on that, though.
Oh, it's certainly possible in mrv8k. But obviously you just want to
get something up and running first, then add the tasty bits like N
support later.
Dan
On Tue, 2008-10-21 at 16:16 -0700, Daniel Gimpelevich wrote:
> 1) Use the in-tree libertas library to get b/g going for 8335/8310
> parts, using mrv8k/malo as a guide.
Never mind; I just noticed that the code is FullMAC. Ick.
On Mon, Oct 20, 2008 at 11:03 AM, Daniel Gimpelevich
<[email protected]> wrote:
> The "Duh..." was a response to the "Not that I have heard of. Don't
> know." statement, which was pretty ironic.
Well your question was "Has anyone stepped up to help in the port of
this to mac80211" and I thought you already knew I had that tree.
> The rest was intended to be
> context. Any net80211-based code for TopDog would still be a useful
> reference for the 11n-specific bits that would need to be added to mrv8k
> after it works correctly with CardBus 11g cards. What is the canonical
> URL for the experimental source repository for those, BTW?
As documented in my git tree, I took the code from John's tree, which
I think is the canonical reference. John's tree includes the entire
Linux kernel tree though, that's why I tried to start out separately
with a driver that will just compile using the kernel headers.
> More thanks go out to Lennert for his work on the Marvell CPU cores,
> too.
ACK -- will mrv8k not support top dog?
Luis
On Tue, 2008-10-21 at 16:26 -0700, Daniel Gimpelevich wrote:
> On Tue, 2008-10-21 at 16:16 -0700, Daniel Gimpelevich wrote:
> > 1) Use the in-tree libertas library to get b/g going for 8335/8310
> > parts, using mrv8k/malo as a guide.
>
> Never mind; I just noticed that the code is FullMAC. Ick.
It's not all that icky, actually :) But yes, the current libertas
driver is for the fullmac parts, while 8310, 8335, 8361, and 8362 are
softmac parts.
Dan
On Mon, 2008-10-20 at 13:36 -0400, Dan Williams wrote:
> On Mon, 2008-10-20 at 17:01 +0000, Daniel Gimpelevich wrote:
> > On Fri, 15 Aug 2008 16:08:37 -0400, Dan Williams wrote:
> >=20
> > > On Fri, 2008-08-15 at 12:58 -0700, Luis R. Rodriguez wrote:
> > >> On Fri, Aug 15, 2008 at 12:40:27PM -0700, Pat Erley wrote:
> > >> > Has anyone stepped up to help in the port of this to mac80211?=
I
> > >> > just picked up a wrvs4400n router that uses it and have been w=
orking
> > >> > on getting 2.6.XX to work with it.
> > >>=20
> > >> Not that I have heard of. Don't know.
> > >=20
> > > There's code out there for the TopDog parts (Linville's marvell.g=
it on
> > > kernel.org), and I even have one or two of them lying around. Th=
e
> > > firmware interface isn't that different from the 8335 (mrv8k) and=
thus
> > > the two product lines can probably share the same driver.
> > >=20
> > > Lennert and Nick (from Marvell) are supposed to be working on a m=
ac80211
> > > driver for the 88w8687 part, which is probably just about the sam=
e
> > > firmware interface as TopDog (aside from the N-specific bits, and
> > > different TX & RX descriptors I'm sure). I'd prefer to either st=
art
> > > fixing up mrv8k and then merge into whatever Lennert comes up wit=
h, or
> > > see what they come up with and use that as a base for adding supp=
ort for
> > > older TopDog and 8310/8335 hardware.
> > >=20
> > > mrv8k was always a bit rocky and never reliably got scan results =
on the
> > > 8335 cardbus hardware I had, even though the descriptor setup and=
the
> > > mac80211 bits looked right. There's some pre/post scan commands =
that we
> > > need to hook into mac80211 which I posted patches for first, but
> > > Johannes requested we not commit those until we really knew wheth=
er
> > > pre/post scan were required.
> > >=20
> > > Dan
> >=20
> > Duh...
> > http://git.kernel.org/?p=3Dlinux/kernel/git/mcgrof/mrvl_cb82.git;a=3D=
summary
>=20
> Right, that's been there for a long time but it isn't up-to-date with
> the latest mac80211 stuff, and I'm not sure Luis ever got it complete=
ly
> ported over. It should basically be used only for reference.
>=20
> What I'd like to see is an integrated driver for both the 833x and th=
e
> 836x softmac parts, since the firmware interfaces aren't actually tha=
t
> much different. We can start with one family and add support for the
> other family later as long as we keep that fact in mind and code in a
> manner that will easily support the other chips.
>=20
> > Also, I have a router with an 8361 chip and Linux Inside=E2=84=A2 f=
or which I=20
> > have made a GPL Source Request. I was told that the sources will be=
=20
> > available two weeks from now. I don't expect the wi-fi driver to be=
in=20
> > source form in that release, but you never know in advance what the=
y'll=20
> > stuff in there.
>=20
> It'll still be based off net80211 unless Nick/Lennert have made any
> progress. Thus, it would still have to be ported to mac80211, and I'=
d
> rather see a clean rewrite in the kernel coding style, which is what
> mrv8k was supposed to be.
>=20
> Dan
The "Duh..." was a response to the "Not that I have heard of. Don't
know." statement, which was pretty ironic. The rest was intended to be
context. Any net80211-based code for TopDog would still be a useful
reference for the 11n-specific bits that would need to be added to mrv8=
k
after it works correctly with CardBus 11g cards. What is the canonical
URL for the experimental source repository for those, BTW?
More thanks go out to Lennert for his work on the Marvell CPU cores,
too.