On 2013-11-02 23:47, James Hilliard wrote: > I'm not actually trying to use a fully compiled .ko file, the file is a > .o file such as wl_apsta.o(tools indicate it is a relocatable ELF for > ARM) that gets compiled into a .ko when you build GPL tarballs. Seems to > be the same as the wl_prebuilt.o files we have for the most part in the > current driver implementation. There's not that much difference between linking all those .o files into one .ko and just using the prebuilt .ko.
I realize that the driver depends on > these data structures in the kernel, but we know exactly what these > structures look like from the hnd kernel patch right? In the patch here > https://sourceforge.net/projects/routertesting/files/ea6900%20patches/linux-2.6.36.4-f70_000_BSP.patch/download > it seems that there are changes to the sk_buff and net_device in the > kernel to match the driver. I see that there are ABI differences but I > don't see why we can't just change the kernel's ABI to be compatible, we > have the patch-set for that. The way i'm looking at this is since we > can't recompile the driver to fit the kernel we recompile the kernel to > fit the driver. Good luck... Given how much you're already struggling with understanding the really simple parts, I'm not sure how you will be able to solve the more complex problems related to the ABI/API issues. Either way, the result of such work will most likely not be acceptable for merging into OpenWrt, since it'll break with every single kernel upgrade and will create nasty kernel maintenance issues. I know that, because I've done that sort of thing before... > One thing odd I noticed is that a mips .ko driver has > the function names removed when compiled from the .o driver, while it > appears the ARM one does not, both the ARM .ko and .o are very similar > with symbol names intact. Both start out as .o files with all the > function names. You forgot to mention, what .ko files you looked at and where you got them from. > From what I can tell wl_glue in the current driver is > the ABI compatability layer used currently rather than making the kernel > directly compatible, is that correct? "ABI compatability layer"? That doesn't make much sense. - Felix _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel