lwfinger / rtl8723au

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

Compile Problem on ArchLinux #26

Open Drackmord92 opened 10 years ago

Drackmord92 commented 10 years ago

Hi, thanks for this driver! I'm running Fedora19 now and, once installed missing packages, the divers compile and works perfectly. Now i need to compile it under ArchLinux, but i get this error: make ARCH=x86_64 CROSS_COMPILE= -C /lib/modules/3.9.5-301.fc19.x86_64/build M=/home/wifi/rtl8723au-master modules make[1]: * /lib/modules/3.9.5-301.fc19.x86_64/build: No such file or directory. Stop. Makefile:516: recipe for target 'modules' failed make: * [modules] Error 2 Why is it looking for 3.9.5-301.fc19.x86_64? I'm chroot-ing from Fedora to the newborn arch, but i don't think that's the problem... Sorry for noob question, but i really can't find anything on the web.

lwfinger commented 10 years ago

The makefile assumes that you will be building against the kernel that is running as given by the 'uname -r' command. That does not change when you chroot. If you want to build against some other source tree, you will need to edit the definition of KSRC in Makefile. If you do that, don't forget to change it back.

You could also boot the ArchLinux kernel, and then it should just work.

szabba commented 10 years ago

I'm getting practically the same error on Arch that isn't running in a chroot.

> LANG=en make
make ARCH=x86_64 CROSS_COMPILE= -C /lib/modules/3.14.4-1-ARCH/build M=/home/karol/Downloads/realtek/rtl8723au  modules
make[1]: Entering directory '/usr/lib/modules/3.14.4-1-ARCH/build'
make[1]: *** No rule to make target 'modules'.  Stop.
make[1]: Leaving directory '/usr/lib/modules/3.14.4-1-ARCH/build'
Makefile:516: recipe for target 'modules' failed
make: *** [modules] Error 2

On a side note. I don't really see another place to ask this, so here I go... Might this driver work with 8723ae?

lwfinger commented 10 years ago

You are getting the compilation error because your kernel header setup is wrong.

Your driver question is strange. I have very carefully kept the device names as capital letters and the driver names as lower case. In addition, in-kernel drivers in the regular tree always start with "rtl", the staging drivers are "r", and the out of kernel versions start with numbers. Thus "8723ae" would be an out-of-kernel driver for the RTL8723AE. With Realtek devices, the last letter indicates the bus type. E means PCIe, S means SDIO, U means USB, etc. Are you asking "will a driver for a PCIe device replace the one for a USB device?" The answer is absolutely not.

If you cannot get this driver from GitHub to build, then pull the 3.15-rc8 source and build a whole kernel. It has this driver included with the source.

szabba commented 10 years ago

I wasn't aware of the naming convention. Guess that's my failure to research the topic before asking.