lwfinger / rtl8723au

Repo for RTL8723AU code before Linux Kernel commit
126 stars 46 forks source link

DKMS Support? #10

Closed clemej closed 11 years ago

clemej commented 11 years ago

First, thanks for doing this..

Until this driver gets into the kernel, I'm trying to set up DKMS with it for my wife's new yoga 11s laptop. She's a compulsory upgrader, so dkms support is a must... although i guess an rc.local hack might also work.

Regardless, it appears my simple dkms.conf file doesn't work:

PACKAGE_NAME="8723au"
PACKAGE_VERSION="0.1"
BUILD_MODULE_NAME[0]="8723au"
DEST_MODULE_LOCATION[0]="/kernel/drivers/net/wireless"
AUTOINSTALL="yes"

However, when i run dkms build i get this:

$ sudo dkms build -m 8723au -v 0.1

Kernel preparation unnecessary for this kernel.  Skipping...

Building module:
cleaning build area....
make KERNELRELEASE=3.11.0-12-generic -C /lib/modules/3.11.0-12-generic/build M=/var/lib/dkms/8723au/0.1/build....
ERROR (dkms apport): binary package for 8723au: 0.1 not found
Error!  Build of 8723au.ko failed for: 3.11.0-12-generic (x86_64)
Consult the make.log in the build directory
/var/lib/dkms/8723au/0.1/build/ for more information.

and the log shows:

DKMS make.log for 8723au-0.1 for kernel 3.11.0-12-generic (x86_64)
Sat Oct 12 00:10:09 EDT 2013
make: Entering directory `/usr/src/linux-headers-3.11.0-12-generic' 
  LD      /var/lib/dkms/8723au/0.1/build/built-in.o
  Building modules, stage 2.
  MODPOST 0 modules
make: Leaving directory `/usr/src/linux-headers-3.11.0-12-generic'

.. its almost like its trying to build the 'module' as a built-in, instead of a module? I checked the Makefile and its waaay more complicated than most module makefiles.

Any idea how I can get it to work?

lwfinger commented 11 years ago

Not really. I have never used DKMS and I have no idea of what is required. You should have your wife upgrade to a 3.12-rc4 kernel and the driver will then be built in.

Yes, that standalone Makefile is a lot more complicated than most as it does a lot of configuration.

clemej commented 11 years ago

Thanks. Is the driver under a differrent name? I don't see anything resembling an rtl8723au in https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/staging/rtl8712?id=refs/tags/v3.12-rc4

I suspect it's similar enough to another driver that it was merged with another one?

lwfinger commented 11 years ago

Sorry, I misspoke. The new driver in 3.12 is r8188eu. There is a user that is modifying r8723au for inclusion in the kernel, but I have not yet seen any reworked code. For the RTL8188EU, it took 2-3 weeks of full-time work. Perhaps the person that has undertaken the project underestimated the effort.

clemej commented 11 years ago

Ok, thanks for the info. And thanks for creating this repo. I'll hack on dkms support myself for a bit and then keep an eye out for the driver in later kernels.

lwfinger commented 11 years ago

If you have any patches that help DKMS building, send them to me and I'll make them available here.

clemej commented 11 years ago

I poked at this a bit an deciphered the Makefile a bit more. CONFIG_RTL8723AS-VAU was never defined if KERNELRELEASE is defined. Defining that to 'm' seems to have done the trick. Pull request pending if you choose to merge at your discretion.

lwfinger commented 11 years ago

The DKMS changes were pulled and pushed. Thanks.