Re: [OpenWrt-Devel] Why is everyone patching broadcom-wl-5.100.138
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
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
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
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
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
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
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
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/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
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