Re: [OpenWrt-Devel] Why is everyone patching broadcom-wl-5.100.138

2013-09-24 Thread James Hilliard
Ok, well I think I figured out what dd-wrt is doing with broadcom-wl, took
forever due to there being pretty much zero documentation and the whole
source tree being ridiculously confusing. Their build system for the
broadcom-wl appears to be a hybrid kernel agnostic system in which
OS-independent wlc_ binary files are used to create the kernel specific
wl.ko, I was able to compile broadcom-wl against multiple 3.x kernel
version successfully as far as I can tell(getting entire dd-wrt to compile
is a bit more work due to tons of broken symlinks/poor documentation etc).
http://svn.dd-wrt.com/browser/src/linux/universal/linux-3.11/brcm/mipsel/wl
should be the relevant directory.
Per the readme:
Naming conventions:
The driver prefix is wl .
Port (os) specific files, routines, and data structures start with wl_ .
Common (os-independent) files, routines, and data structures start with
wlc_ .

I'm not sure if these files are from public tarballs or not but they seem
to work for most configurations from looking at reports. They are
definitely different from most router tarballs which appear to use the os
specific wl_ files. This appears to be similar to how OpenWRT builds
broadcom-wl to some degree but appears to also be significantly more up to
date and more functional and a more official broadcom method. I could be
wrong about some of this but it appears we should be able to replace
current methods with this and fix a lot of problems.


On Wed, Sep 18, 2013 at 6:28 AM, Gert Doering g...@greenie.muc.de wrote:

 Hi,

 On Wed, Sep 18, 2013 at 05:45:26AM -0500, James Hilliard wrote:
  I thought DD-WRT was only using public tarball drivers.I looked through
  their source and everything seems to match up with tarbar type wl.o files
  and so on.

 Try building from their public source.

 Half of the relevant broadcom bits are not there, so you plainly *can't*...

 gert
 --
 USENET is *not* the non-clickable part of WWW!
//
 www.muc.de/~gert/
 Gert Doering - Munich, Germany
 g...@greenie.muc.de
 fax: +49-89-35655025
 g...@net.informatik.tu-muenchen.de

 ___
 openwrt-devel mailing list
 openwrt-devel@lists.openwrt.org
 https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] Why is everyone patching broadcom-wl-5.100.138

2013-09-18 Thread Felix Fietkau
On 2013-09-17 11:45 PM, James Hilliard wrote:
 Following up on this I'm trying to figure out how broadcom-wl is set up
 in openwrt and what devices specific variables there are how those would
 be changed/determined. I'm trying to fix compatibility problems with
 this driver for a lot of broadcom devices.
broadcom-wl in OpenWrt was built in a way that makes it completely
independent of the kernel version and configuration.
This only works if the Linux specific files are provided in source
format, and the binary only contains the generic parts (the source code
file licenses allow this).

There is no reasonable way to use binaries from GPL tarballs to achieve
the same, this can only be done by building the driver from source and
packaging it appropriately.

I hope that I can release an updated version soon.

- Felix
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] Why is everyone patching broadcom-wl-5.100.138

2013-09-18 Thread James Hilliard
Aren't all the other router projects using the broadcom-wl binary's
generally sourced from GPL tarballs? although not necessarily the exact
matching ones? DD-WRT and tomato all use broadcom-wl, but I think they use
versions that are at least somewhat devices specific unlike OpenWRT which
seems to be using a single older version but and it doesn't provide
different binary's for different routers, isn't that why they actually have
proper wifi support on these routers? From what I gather OpenWRT used this
method for better kernel compatibility, but I would say proper working WiFi
is much more important than that. I'm fairly sure the other projects have
managed to work around the kernel issue for the most part without being
forced to give up on using devices specific drivers.


On Wed, Sep 18, 2013 at 4:47 AM, Felix Fietkau n...@openwrt.org wrote:

 On 2013-09-17 11:45 PM, James Hilliard wrote:
  Following up on this I'm trying to figure out how broadcom-wl is set up
  in openwrt and what devices specific variables there are how those would
  be changed/determined. I'm trying to fix compatibility problems with
  this driver for a lot of broadcom devices.
 broadcom-wl in OpenWrt was built in a way that makes it completely
 independent of the kernel version and configuration.
 This only works if the Linux specific files are provided in source
 format, and the binary only contains the generic parts (the source code
 file licenses allow this).

 There is no reasonable way to use binaries from GPL tarballs to achieve
 the same, this can only be done by building the driver from source and
 packaging it appropriately.

 I hope that I can release an updated version soon.

 - Felix


___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] Why is everyone patching broadcom-wl-5.100.138

2013-09-18 Thread Felix Fietkau
On 2013-09-18 12:31 PM, James Hilliard wrote:
 Aren't all the other router projects using the broadcom-wl binary's
 generally sourced from GPL tarballs? although not necessarily the exact
 matching ones? DD-WRT and tomato all use broadcom-wl, but I think they
 use versions that are at least somewhat devices specific unlike OpenWRT
 which seems to be using a single older version but and it doesn't
 provide different binary's for different routers, isn't that why they
 actually have proper wifi support on these routers? From what I gather
 OpenWRT used this method for better kernel compatibility, but I would
 say proper working WiFi is much more important than that. I'm fairly
 sure the other projects have managed to work around the kernel issue for
 the most part without being forced to give up on using devices specific
 drivers.
There are different approaches to this:
DD-WRT has access to the driver sources, so it can change kernel stuff
without having to worry about ABI compatibility issues (it just updates
the .o files whenever kernel stuff changes).
Tomato uses the old crappy Broadcom kernels and tries to stay compatible
to the GPL sources as much as possible and avoids binary breakage that way.
Neither approach is suitable for OpenWrt.

- Felix
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] Why is everyone patching broadcom-wl-5.100.138

2013-09-18 Thread James Hilliard
I thought DD-WRT was only using public tarball drivers.I looked through
their source and everything seems to match up with tarbar type wl.o files
and so on.


On Wed, Sep 18, 2013 at 5:37 AM, Felix Fietkau n...@openwrt.org wrote:

 On 2013-09-18 12:31 PM, James Hilliard wrote:
  Aren't all the other router projects using the broadcom-wl binary's
  generally sourced from GPL tarballs? although not necessarily the exact
  matching ones? DD-WRT and tomato all use broadcom-wl, but I think they
  use versions that are at least somewhat devices specific unlike OpenWRT
  which seems to be using a single older version but and it doesn't
  provide different binary's for different routers, isn't that why they
  actually have proper wifi support on these routers? From what I gather
  OpenWRT used this method for better kernel compatibility, but I would
  say proper working WiFi is much more important than that. I'm fairly
  sure the other projects have managed to work around the kernel issue for
  the most part without being forced to give up on using devices specific
  drivers.
 There are different approaches to this:
 DD-WRT has access to the driver sources, so it can change kernel stuff
 without having to worry about ABI compatibility issues (it just updates
 the .o files whenever kernel stuff changes).
 Tomato uses the old crappy Broadcom kernels and tries to stay compatible
 to the GPL sources as much as possible and avoids binary breakage that way.
 Neither approach is suitable for OpenWrt.

 - Felix


___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] Why is everyone patching broadcom-wl-5.100.138

2013-09-18 Thread Felix Fietkau
On 2013-09-18 12:45 PM, James Hilliard wrote:
 I thought DD-WRT was only using public tarball drivers.I looked through
 their source and everything seems to match up with tarbar type wl.o
 files and so on.
That's what the build system of the Broadcom driver generates. There's a
reason why the driver structure is the same across different vendor
tarballs: This is how Broadcom set it up.
I'm very familiar with those drivers (I built the ones used in OpenWrt),
and I'm familiar with what DD-WRT does as well, so my information is not
based on speculation and superficial looks at object files :)

- Felix
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] Why is everyone patching broadcom-wl-5.100.138

2013-09-18 Thread Gert Doering
Hi,

On Wed, Sep 18, 2013 at 05:45:26AM -0500, James Hilliard wrote:
 I thought DD-WRT was only using public tarball drivers.I looked through
 their source and everything seems to match up with tarbar type wl.o files
 and so on.

Try building from their public source.  

Half of the relevant broadcom bits are not there, so you plainly *can't*...

gert
-- 
USENET is *not* the non-clickable part of WWW!
   //www.muc.de/~gert/
Gert Doering - Munich, Germany g...@greenie.muc.de
fax: +49-89-35655025g...@net.informatik.tu-muenchen.de


pgpiQmMKViLQF.pgp
Description: PGP signature
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] Why is everyone patching broadcom-wl-5.100.138

2013-09-17 Thread James Hilliard
Following up on this I'm trying to figure out how broadcom-wl is set up in
openwrt and what devices specific variables there are how those would be
changed/determined. I'm trying to fix compatibility problems with this
driver for a lot of broadcom devices.


On Sun, Sep 15, 2013 at 5:19 PM, James Hilliard
james.hillia...@gmail.comwrote:

 I thought that a number of routers could not use b43 and brcmsmac and had
 to use the actual broadcom-wl driver more or less as provided by broadcom.
 My email was only in reference the ones that run wl.ko like mine does(which
 is what it is using right now although on shibbytomato). In the wiki it is
 saying there are compatibility issues with the broadcom-wl drivers with a
 number of routers and it appeared to me that only one version of
 broadcom-wl(without patches) was actually available to be compiled for
 OpenWRT which was the reason for many problems. I was under the impression
 that the wl_ap.o wl_apsta.o and wl_sta.o binary's were not really kernel
 specific and only wl.ko is kernel specific, is that correct?


 On Sun, Sep 15, 2013 at 11:24 AM, Hauke Mehrtens ha...@hauke-m.de wrote:

 On 09/15/2013 05:40 PM, James Hilliard wrote:
  From what I'm seeing everyone is patching broadcom-wl around
  this(http://mirror2.openwrt.org/sources/broadcom-wl-5.100.138.tar.bz2)
  driver for the Netgear WNDR4500 for pretty much everything broadcom-wl
  related.

 That is wrong!

 broadcom-wl-5.100.138.tar.bz2 is just used to extract the ucode and use
 that ucode with b43 and brcmsmac.

 The proprietary Broadcom driver OpenWrt uses are these, the actual file
 depends on the endianes.
 http://mirror2.openwrt.org/sources/broadcom-wl-5.10.56.27.3_mips.tar.bz2
 http://mirror2.openwrt.org/sources/broadcom-wl-5.10.56.27.3_mipsel.tar.bz2

 To verify this see package/kernel/broadcom-wl/Makefile

 Like everyone already told you in IRC this driver is *not* based on the
 GPL release by some vendor, but this is a version specially modified for
 OpenWrt by someone with access to the source code of the proprietary
 wifi driver.

 Most of the patches we apply on top of this driver are there to make the
 open source part compile with more recent kernel versions, see
 package/kernel/broadcom-wl/patches/

  What's the point of making a bunch of patches for this file
  when you could just use one of the many other broadcom-wl drivers that
  are actually designed for the target device already.

 The driver designed for this device do not work with the kernel OpenWrt
 uses, that is a big point in my opinion.

  I have attached
  broadcom-wl for the linksys/cisco e3000/wrt610nv2 which should support
  fully simultaneous dual-band N on both 2.4 and 5ghz channels.

 Please do not attaches such bug files.

 Hauke



___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] Why is everyone patching broadcom-wl-5.100.138

2013-09-15 Thread Rafał Miłecki
2013/9/15 James Hilliard james.hillia...@gmail.com:
 From what I'm seeing everyone is patching broadcom-wl around
 this(http://mirror2.openwrt.org/sources/broadcom-wl-5.100.138.tar.bz2)
 driver for the Netgear WNDR4500 for pretty much everything broadcom-wl
 related. What's the point of making a bunch of patches for this file when
 you could just use one of the many other broadcom-wl drivers that are
 actually designed for the target device already. I have attached broadcom-wl
 for the linksys/cisco e3000/wrt610nv2 which should support fully
 simultaneous dual-band N on both 2.4 and 5ghz channels.

Please include that wl.ko you extracted in your OpenWrt build (or just
wget it, whatever) and try to load it. I can even help you with the
command:
insmod wl.ko

Let us know when you succeed ;)

-- 
Rafał
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] Why is everyone patching broadcom-wl-5.100.138

2013-09-15 Thread James Hilliard
I thought that a number of routers could not use b43 and brcmsmac and had
to use the actual broadcom-wl driver more or less as provided by broadcom.
My email was only in reference the ones that run wl.ko like mine does(which
is what it is using right now although on shibbytomato). In the wiki it is
saying there are compatibility issues with the broadcom-wl drivers with a
number of routers and it appeared to me that only one version of
broadcom-wl(without patches) was actually available to be compiled for
OpenWRT which was the reason for many problems. I was under the impression
that the wl_ap.o wl_apsta.o and wl_sta.o binary's were not really kernel
specific and only wl.ko is kernel specific, is that correct?


On Sun, Sep 15, 2013 at 11:24 AM, Hauke Mehrtens ha...@hauke-m.de wrote:

 On 09/15/2013 05:40 PM, James Hilliard wrote:
  From what I'm seeing everyone is patching broadcom-wl around
  this(http://mirror2.openwrt.org/sources/broadcom-wl-5.100.138.tar.bz2)
  driver for the Netgear WNDR4500 for pretty much everything broadcom-wl
  related.

 That is wrong!

 broadcom-wl-5.100.138.tar.bz2 is just used to extract the ucode and use
 that ucode with b43 and brcmsmac.

 The proprietary Broadcom driver OpenWrt uses are these, the actual file
 depends on the endianes.
 http://mirror2.openwrt.org/sources/broadcom-wl-5.10.56.27.3_mips.tar.bz2
 http://mirror2.openwrt.org/sources/broadcom-wl-5.10.56.27.3_mipsel.tar.bz2

 To verify this see package/kernel/broadcom-wl/Makefile

 Like everyone already told you in IRC this driver is *not* based on the
 GPL release by some vendor, but this is a version specially modified for
 OpenWrt by someone with access to the source code of the proprietary
 wifi driver.

 Most of the patches we apply on top of this driver are there to make the
 open source part compile with more recent kernel versions, see
 package/kernel/broadcom-wl/patches/

  What's the point of making a bunch of patches for this file
  when you could just use one of the many other broadcom-wl drivers that
  are actually designed for the target device already.

 The driver designed for this device do not work with the kernel OpenWrt
 uses, that is a big point in my opinion.

  I have attached
  broadcom-wl for the linksys/cisco e3000/wrt610nv2 which should support
  fully simultaneous dual-band N on both 2.4 and 5ghz channels.

 Please do not attaches such bug files.

 Hauke

___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel