* Netgear WG311v3 - Marvell 88w8355 "Libertas"
@ 2008-03-02 11:19 Julian Calaby
2008-03-02 15:33 ` Dan Williams
0 siblings, 1 reply; 7+ messages in thread
From: Julian Calaby @ 2008-03-02 11:19 UTC (permalink / raw)
To: linux-wireless, libertas-dev
Hi,
I'm not sure if this is the correct place to ask this, but here goes.
I have recently obtained a Netgear WG311v3 card, under the
misunderstanding that it was an atheros card. (though I have no idea
how I managed to do that)
Following some random FAQ, I have this card working reliably, for the
moment, using ndiswrapper, which is more than suitable for my needs.
However I yearn for more.
I have discovered here:
http://users.linpro.no/janl/hardware/wifi.html
that this card appears to use a Marvel 88w8355 "Libertas" chipset.
However I have not yet confirmed the exact chip used on my card.
I believe variants of this chip, are supported on SDIO, (8385, 8686)
USB (8388) and CompactFlash (8385) using the libertas driver.
Annoyingly I can find no information on this chip, or anything related
to it, and I have heard that Marvel has been relatively uninterested
in supporting these chips on Linux.
I also note that this chip appears to have been designed exclusively
for the embedded market, and as such, my card is somewhat rare, which
has probably contributed to the lack of any interest in a pci driver.
I can also find no information on a pci version of the libertas
driver, only a proposal which appeared to go nowhere due to lack of
documentation. I also cannot find any information on any linux support
for this card outside of using ndiswrapper.
As such, I am considering reverse engineering the pci interface for
this chipset, and hopefully linking it up with the existing libertas
driver.
I was hoping to use the ndiswrapper driver as a starting point, using
it as a black box to see how it talks to the PCI card. (possibly
hacking together a OS level PCI sniffer) and hopefully, what I'll see
will match up to what's going on in the libertas driver for similar
tasks, and then I should be able to write the necessary code (or
specifications) to do this.
I am also concerned about any possible legal ramifications of this
reverse engineering. Is it all right for me to do this, providing that
I treat the ndiswrapper driver as a black box? or am I too close to
non-free code to have my code be untainted?
I also must point out that this will be my first reverse engineering
project of this scale, and I am inexperienced in linux drivers in
general - however I see it as a good way to learn.
Thanks,
--
Julian Calaby
Email: julian.calaby@gmail.com
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Netgear WG311v3 - Marvell 88w8355 "Libertas"
2008-03-02 11:19 Netgear WG311v3 - Marvell 88w8355 "Libertas" Julian Calaby
@ 2008-03-02 15:33 ` Dan Williams
2008-03-02 22:01 ` Julian Calaby
0 siblings, 1 reply; 7+ messages in thread
From: Dan Williams @ 2008-03-02 15:33 UTC (permalink / raw)
To: Julian Calaby; +Cc: linux-wireless, libertas-dev
On Sun, 2008-03-02 at 22:19 +1100, Julian Calaby wrote:
> Hi,
>
> I'm not sure if this is the correct place to ask this, but here goes.
>
> I have recently obtained a Netgear WG311v3 card, under the
> misunderstanding that it was an atheros card. (though I have no idea
> how I managed to do that)
>
> Following some random FAQ, I have this card working reliably, for the
> moment, using ndiswrapper, which is more than suitable for my needs.
>
> However I yearn for more.
>
> I have discovered here:
> http://users.linpro.no/janl/hardware/wifi.html
> that this card appears to use a Marvel 88w8355 "Libertas" chipset.
> However I have not yet confirmed the exact chip used on my card.
I think you mean "88w8335" actually. The Netgear WG311v3 uses the
Marvell 88w8335 chipset.
> I believe variants of this chip, are supported on SDIO, (8385, 8686)
> USB (8388) and CompactFlash (8385) using the libertas driver.
Correct; the existing Libertas driver (perhaps somewhat mis-named)
supports only the FullMAC variants of the libertas family.
The other, lower-numbered chips in the libertas family (8335, 8310, etc)
are all more softmac parts and not supported by the existing libertas
driver.
> Annoyingly I can find no information on this chip, or anything related
> to it, and I have heard that Marvel has been relatively uninterested
> in supporting these chips on Linux.
Correct; Marvell isn't that interested in supporting the older libertas
family chips in Linux (ie, anything < 8388 actually). They have
expressed interest in getting their TopDog 802.11n solution working in
Linux however.
> I also note that this chip appears to have been designed exclusively
> for the embedded market, and as such, my card is somewhat rare, which
> has probably contributed to the lack of any interest in a pci driver.
>
> I can also find no information on a pci version of the libertas
> driver, only a proposal which appeared to go nowhere due to lack of
> documentation. I also cannot find any information on any linux support
> for this card outside of using ndiswrapper.
There's an existing vendor net80211-based driver for the 8335 here:
http://git.infradead.org/?p=users/dwmw2/marvell-db64660-2.6.12.6.git;a=tree;f=drivers/net/wireless/marvell_softap;h=566585b308d53a7006814c77dedae73cc919cbef;hb=HEAD
There's also some reverse-engineered bits here:
http://www.saillard.org/linux/mrv8k/
and the mac80211 port of mrv8k here:
http://david.woodhou.se/mrv.tar.gz
though the last one here panic-ed in the interrupt handler when I tried
it last on 2.6.22.
> As such, I am considering reverse engineering the pci interface for
> this chipset, and hopefully linking it up with the existing libertas
> driver.
Don't link up with the existing libertas driver, they are just too
different (softmac vs. fullmac).
> I was hoping to use the ndiswrapper driver as a starting point, using
> it as a black box to see how it talks to the PCI card. (possibly
> hacking together a OS level PCI sniffer) and hopefully, what I'll see
> will match up to what's going on in the libertas driver for similar
> tasks, and then I should be able to write the necessary code (or
> specifications) to do this.
>
> I am also concerned about any possible legal ramifications of this
> reverse engineering. Is it all right for me to do this, providing that
> I treat the ndiswrapper driver as a black box? or am I too close to
> non-free code to have my code be untainted?
I'd say first, try to whip the existing mrv8k-mac80211 port into shape
and you probably won't have to worry much about the legal ramifications.
You can look at the GPL-ed vendor driver (from the git I posted) for
pointers about hardware-specific stuff, but after the 8388 driver
experience, I'd strongly advocate writing a driver from scratch (or
basing off mrv8k) and not using existing Marvell vendor drivers as a
starting point.
Dan
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Netgear WG311v3 - Marvell 88w8355 "Libertas"
2008-03-02 15:33 ` Dan Williams
@ 2008-03-02 22:01 ` Julian Calaby
2008-03-03 0:55 ` Dan Williams
0 siblings, 1 reply; 7+ messages in thread
From: Julian Calaby @ 2008-03-02 22:01 UTC (permalink / raw)
To: Dan Williams; +Cc: linux-wireless, libertas-dev
On Mon, Mar 3, 2008 at 2:33 AM, Dan Williams <dcbw@redhat.com> wrote:
> On Sun, 2008-03-02 at 22:19 +1100, Julian Calaby wrote:
> > Hi,
> >
> > I'm not sure if this is the correct place to ask this, but here goes.
> >
> > I have recently obtained a Netgear WG311v3 card, under the
> > misunderstanding that it was an atheros card. (though I have no idea
> > how I managed to do that)
> >
> > Following some random FAQ, I have this card working reliably, for the
> > moment, using ndiswrapper, which is more than suitable for my needs.
> >
> > However I yearn for more.
> >
> > I have discovered here:
> > http://users.linpro.no/janl/hardware/wifi.html
> > that this card appears to use a Marvel 88w8355 "Libertas" chipset.
> > However I have not yet confirmed the exact chip used on my card.
>
> I think you mean "88w8335" actually. The Netgear WG311v3 uses the
> Marvell 88w8335 chipset.
Oh, ok, I stand corrected, I stupidly didn't read the chip (apart from
noticing the stylised M) before thwacking it into my machine.
> > I believe variants of this chip, are supported on SDIO, (8385, 8686)
> > USB (8388) and CompactFlash (8385) using the libertas driver.
>
> Correct; the existing Libertas driver (perhaps somewhat mis-named)
> supports only the FullMAC variants of the libertas family.
>
> The other, lower-numbered chips in the libertas family (8335, 8310, etc)
> are all more softmac parts and not supported by the existing libertas
>
> driver.
Oh.
That sucks, I'd thought that this was just another Libertas part,
given the website mentioned above.
Well, that explains why the "Libertas" parts supported by the current
kernel require firmware and why the ndiswrapper driver I'm using
doesn't.
> > I can also find no information on a pci version of the libertas
> > driver, only a proposal which appeared to go nowhere due to lack of
> > documentation. I also cannot find any information on any linux support
> > for this card outside of using ndiswrapper.
>
> There's an existing vendor net80211-based driver for the 8335 here:
>
> http://git.infradead.org/?p=users/dwmw2/marvell-db64660-2.6.12.6.git;a=tree;f=drivers/net/wireless/marvell_softap;h=566585b308d53a7006814c77dedae73cc919cbef;hb=HEAD
>
> There's also some reverse-engineered bits here:
>
> http://www.saillard.org/linux/mrv8k/
>
> and the mac80211 port of mrv8k here:
>
> http://david.woodhou.se/mrv.tar.gz
>
> though the last one here panic-ed in the interrupt handler when I tried
> it last on 2.6.22.
Cool! =)
> > As such, I am considering reverse engineering the pci interface for
> > this chipset, and hopefully linking it up with the existing libertas
> > driver.
>
> Don't link up with the existing libertas driver, they are just too
> different (softmac vs. fullmac).
Fair enough, I'll leave that be then.
> > I was hoping to use the ndiswrapper driver as a starting point, using
> > it as a black box to see how it talks to the PCI card. (possibly
> > hacking together a OS level PCI sniffer) and hopefully, what I'll see
> > will match up to what's going on in the libertas driver for similar
> > tasks, and then I should be able to write the necessary code (or
> > specifications) to do this.
> >
> > I am also concerned about any possible legal ramifications of this
> > reverse engineering. Is it all right for me to do this, providing that
> > I treat the ndiswrapper driver as a black box? or am I too close to
> > non-free code to have my code be untainted?
>
> I'd say first, try to whip the existing mrv8k-mac80211 port into shape
> and you probably won't have to worry much about the legal ramifications.
> You can look at the GPL-ed vendor driver (from the git I posted) for
> pointers about hardware-specific stuff, but after the 8388 driver
> experience, I'd strongly advocate writing a driver from scratch (or
> basing off mrv8k) and not using existing Marvell vendor drivers as a
> starting point.
Ok, will do. I'm not sure I'm up to writing a full driver, so I'll try
to get mvr8k working on my box, then probably call back here for help.
Either way though, thanks for all the info and pointers. I'll check
them out tonight.
> Dan
Thanks,
--
Julian Calaby
Email: julian.calaby@gmail.com
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Netgear WG311v3 - Marvell 88w8355 "Libertas"
2008-03-02 22:01 ` Julian Calaby
@ 2008-03-03 0:55 ` Dan Williams
2008-03-03 4:06 ` Julian Calaby
0 siblings, 1 reply; 7+ messages in thread
From: Dan Williams @ 2008-03-03 0:55 UTC (permalink / raw)
To: Julian Calaby; +Cc: linux-wireless, libertas-dev
On Mon, 2008-03-03 at 09:01 +1100, Julian Calaby wrote:
> On Mon, Mar 3, 2008 at 2:33 AM, Dan Williams <dcbw@redhat.com> wrote:
> > On Sun, 2008-03-02 at 22:19 +1100, Julian Calaby wrote:
> > > Hi,
> > >
> > > I'm not sure if this is the correct place to ask this, but here goes.
> > >
> > > I have recently obtained a Netgear WG311v3 card, under the
> > > misunderstanding that it was an atheros card. (though I have no idea
> > > how I managed to do that)
> > >
> > > Following some random FAQ, I have this card working reliably, for the
> > > moment, using ndiswrapper, which is more than suitable for my needs.
> > >
> > > However I yearn for more.
> > >
> > > I have discovered here:
> > > http://users.linpro.no/janl/hardware/wifi.html
> > > that this card appears to use a Marvel 88w8355 "Libertas" chipset.
> > > However I have not yet confirmed the exact chip used on my card.
> >
> > I think you mean "88w8335" actually. The Netgear WG311v3 uses the
> > Marvell 88w8335 chipset.
>
> Oh, ok, I stand corrected, I stupidly didn't read the chip (apart from
> noticing the stylised M) before thwacking it into my machine.
>
> > > I believe variants of this chip, are supported on SDIO, (8385, 8686)
> > > USB (8388) and CompactFlash (8385) using the libertas driver.
> >
> > Correct; the existing Libertas driver (perhaps somewhat mis-named)
> > supports only the FullMAC variants of the libertas family.
> >
> > The other, lower-numbered chips in the libertas family (8335, 8310, etc)
> > are all more softmac parts and not supported by the existing libertas
> >
> > driver.
>
> Oh.
>
> That sucks, I'd thought that this was just another Libertas part,
> given the website mentioned above.
>
> Well, that explains why the "Libertas" parts supported by the current
> kernel require firmware and why the ndiswrapper driver I'm using
> doesn't.
The 8335 still requires firmware. Lots of the windows drivers embed the
firmware into the .sys or .dll files, whereas on Linux embedding
firmware into the driver is quite frowned upon.
dan
> > > I can also find no information on a pci version of the libertas
> > > driver, only a proposal which appeared to go nowhere due to lack of
> > > documentation. I also cannot find any information on any linux support
> > > for this card outside of using ndiswrapper.
> >
> > There's an existing vendor net80211-based driver for the 8335 here:
> >
> > http://git.infradead.org/?p=users/dwmw2/marvell-db64660-2.6.12.6.git;a=tree;f=drivers/net/wireless/marvell_softap;h=566585b308d53a7006814c77dedae73cc919cbef;hb=HEAD
> >
> > There's also some reverse-engineered bits here:
> >
> > http://www.saillard.org/linux/mrv8k/
> >
> > and the mac80211 port of mrv8k here:
> >
> > http://david.woodhou.se/mrv.tar.gz
> >
> > though the last one here panic-ed in the interrupt handler when I tried
> > it last on 2.6.22.
>
> Cool! =)
>
> > > As such, I am considering reverse engineering the pci interface for
> > > this chipset, and hopefully linking it up with the existing libertas
> > > driver.
> >
> > Don't link up with the existing libertas driver, they are just too
> > different (softmac vs. fullmac).
>
> Fair enough, I'll leave that be then.
>
> > > I was hoping to use the ndiswrapper driver as a starting point, using
> > > it as a black box to see how it talks to the PCI card. (possibly
> > > hacking together a OS level PCI sniffer) and hopefully, what I'll see
> > > will match up to what's going on in the libertas driver for similar
> > > tasks, and then I should be able to write the necessary code (or
> > > specifications) to do this.
> > >
> > > I am also concerned about any possible legal ramifications of this
> > > reverse engineering. Is it all right for me to do this, providing that
> > > I treat the ndiswrapper driver as a black box? or am I too close to
> > > non-free code to have my code be untainted?
> >
> > I'd say first, try to whip the existing mrv8k-mac80211 port into shape
> > and you probably won't have to worry much about the legal ramifications.
> > You can look at the GPL-ed vendor driver (from the git I posted) for
> > pointers about hardware-specific stuff, but after the 8388 driver
> > experience, I'd strongly advocate writing a driver from scratch (or
> > basing off mrv8k) and not using existing Marvell vendor drivers as a
> > starting point.
>
> Ok, will do. I'm not sure I'm up to writing a full driver, so I'll try
> to get mvr8k working on my box, then probably call back here for help.
>
> Either way though, thanks for all the info and pointers. I'll check
> them out tonight.
>
> > Dan
>
> Thanks,
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Netgear WG311v3 - Marvell 88w8355 "Libertas"
2008-03-03 0:55 ` Dan Williams
@ 2008-03-03 4:06 ` Julian Calaby
2008-03-03 15:28 ` Dan Williams
0 siblings, 1 reply; 7+ messages in thread
From: Julian Calaby @ 2008-03-03 4:06 UTC (permalink / raw)
To: Dan Williams; +Cc: linux-wireless, libertas-dev
On Mon, Mar 3, 2008 at 11:55 AM, Dan Williams <dcbw@redhat.com> wrote:
>
> On Mon, 2008-03-03 at 09:01 +1100, Julian Calaby wrote:
> > Well, that explains why the "Libertas" parts supported by the current
> > kernel require firmware and why the ndiswrapper driver I'm using
> > doesn't.
>
> The 8335 still requires firmware. Lots of the windows drivers embed the
> firmware into the .sys or .dll files, whereas on Linux embedding
> firmware into the driver is quite frowned upon.
Yeah, I discovered that the mrv8k driver still requires firmware,
despite there being no actual file in the windows driver that I can
point to as being the firmware image.
Thanks,
--
Julian Calaby
Email: julian.calaby@gmail.com
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Netgear WG311v3 - Marvell 88w8355 "Libertas"
2008-03-03 4:06 ` Julian Calaby
@ 2008-03-03 15:28 ` Dan Williams
2008-03-03 21:32 ` Julian Calaby
0 siblings, 1 reply; 7+ messages in thread
From: Dan Williams @ 2008-03-03 15:28 UTC (permalink / raw)
To: Julian Calaby; +Cc: linux-wireless, libertas-dev
On Mon, 2008-03-03 at 15:06 +1100, Julian Calaby wrote:
> On Mon, Mar 3, 2008 at 11:55 AM, Dan Williams <dcbw@redhat.com> wrote:
> >
> > On Mon, 2008-03-03 at 09:01 +1100, Julian Calaby wrote:
> > > Well, that explains why the "Libertas" parts supported by the current
> > > kernel require firmware and why the ndiswrapper driver I'm using
> > > doesn't.
> >
> > The 8335 still requires firmware. Lots of the windows drivers embed the
> > firmware into the .sys or .dll files, whereas on Linux embedding
> > firmware into the driver is quite frowned upon.
>
> Yeah, I discovered that the mrv8k driver still requires firmware,
> despite there being no actual file in the windows driver that I can
> point to as being the firmware image.
It's likely embedded into the sys file, try:
http://www.saillard.org/linux/mrv8k/files/mrv8k_extract_fw.c
to extract the firmware from a supported driver file. At least one
versoin of WG311v3 driver seems to be supported there ("NETGEAR
WG311v3", "3.1.1.7") for extracting the firmware from.
Dan
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Netgear WG311v3 - Marvell 88w8355 "Libertas"
2008-03-03 15:28 ` Dan Williams
@ 2008-03-03 21:32 ` Julian Calaby
0 siblings, 0 replies; 7+ messages in thread
From: Julian Calaby @ 2008-03-03 21:32 UTC (permalink / raw)
To: Dan Williams; +Cc: linux-wireless, libertas-dev
On Tue, Mar 4, 2008 at 2:28 AM, Dan Williams <dcbw@redhat.com> wrote:
>
> On Mon, 2008-03-03 at 15:06 +1100, Julian Calaby wrote:
> > On Mon, Mar 3, 2008 at 11:55 AM, Dan Williams <dcbw@redhat.com> wrote:
> > >
> > > On Mon, 2008-03-03 at 09:01 +1100, Julian Calaby wrote:
> > > > Well, that explains why the "Libertas" parts supported by the current
> > > > kernel require firmware and why the ndiswrapper driver I'm using
> > > > doesn't.
> > >
> > > The 8335 still requires firmware. Lots of the windows drivers embed the
> > > firmware into the .sys or .dll files, whereas on Linux embedding
> > > firmware into the driver is quite frowned upon.
> >
> > Yeah, I discovered that the mrv8k driver still requires firmware,
> > despite there being no actual file in the windows driver that I can
> > point to as being the firmware image.
>
> It's likely embedded into the sys file, try:
>
> http://www.saillard.org/linux/mrv8k/files/mrv8k_extract_fw.c
>
> to extract the firmware from a supported driver file. At least one
> versoin of WG311v3 driver seems to be supported there ("NETGEAR
> WG311v3", "3.1.1.7") for extracting the firmware from.
Thought as much, I've already downloaded it, and will be trying it out tonight.
Thanks,
(sorry for the dupe, hit the wrong button)
--
Julian Calaby
Email: julian.calaby@gmail.com
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2008-03-03 21:32 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-03-02 11:19 Netgear WG311v3 - Marvell 88w8355 "Libertas" Julian Calaby
2008-03-02 15:33 ` Dan Williams
2008-03-02 22:01 ` Julian Calaby
2008-03-03 0:55 ` Dan Williams
2008-03-03 4:06 ` Julian Calaby
2008-03-03 15:28 ` Dan Williams
2008-03-03 21:32 ` Julian Calaby
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).