alan_ri, aren't you are recommending blacklisting the very driver that the user wants to use?
Does the download look like a tarball? That is to say does it have the extension .tar.gz? You need to untar it with "tar xvzf <filename>" and read the instructions.
Firstly, which kernel do you have. I think that the ath5k driver was introduced with 18.104.22.168, but I'm not certain about that.
My kernel has these files in the kernel source for the ath5k driver.
/usr/src/linux/drivers/net/wireless> ls ath5k
ath5k.h base.c base.h debug.c debug.h hw.c hw.h initvals.c Kconfig Makefile phy.c reg.h
From what you posted, your download consists of updated versions of these files. Either that or it is a kernel patch to replace these files, or you need to replace them yourself (by replacing the ath5k directory with your own downloaded one).
Before going through all of this effort, check if you are even using it with "lsmod". Maybe you just need to unload & reload the module as the instructions you posted recommend. If it is detected, the kernel ath5k module is loaded and the command "sudo /usr/sbin/iwlist scan" shows access points; then the kernel module isn't the problem. Look at the wireless configuration instead.
( Note: Please make sure you shut down wireless before unloading a wireless kernel module. You could lock up the kernel if you unload a wireless module that is in use )
I have a different distro. It includes a kernel-syms package which can make compiling an external module easier.
Be sure to read the README in the kernel source. Your distro may have it's own README as well with distro specific instructions. It may have some instructions similar to this for compiling a single driver.
The first method involves the following steps:
(1) Install kernel-source.$ARCH.rpm.
(2) Change to the /usr/src/linux directory. Configure the kernel
(for example, ``make oldconfig'' or ``make cloneconfig'', see
HOW TO CONFIGURE THE KERNEL SOURCES).
(3) Create files required for compiling external modules:
``make scripts'' and ``make prepare''.
(4) Compile the module(s) by changing into the module source directory
and typing ``make -C /usr/src/linux M=$(pwd)''.
(5) Install the module(s) by typing
``make -C /usr/src/linux M=$(pwd) modules_install''.
The second method involves the following steps:
(1) Install kernel-source.$ARCH.rpm.
(2) Install kernel-syms.$ARCH.rpm. This package is necessary for
symbol version information (CONFIG_MODVERSIONS).
(3) Compile the module(s) by changing into the module source directory
and typing ``make -C /usr/src/linux-obj/$ARCH/$FLAVOR M=$(pwd)''.
Substitute $ARCH and $FLAVOR with the architecture and flavor
for which to build the module(s).
If the installed kernel sources match the running kernel, you
can build modules for the running kernel by using the path
/lib/modules/$(uname -r)/build as the -C option in the above
command. (build is a symlink to /usr/src/linux-obj/$ARCH/$FLAVOR).
Starting with SuSE Linux 9.2 / SLES9 Service Pack 1, the
modversion information for the running kernel is also
contained in the kernel-$FLAVOR packages, and so for building
modules for the running kernel, the kernel-syms package is no
(4) Install the module(s) with
``make -C /usr/src/linux-obj/$ARCH/$FLAVOR M=$(pwd) modules_install''.
Notice this part of the instructions:
This is for unloading the madwifi ath-pci driver and loading the built in kernel driver.
You can't have both the ath-pci and ath5k drivers running at the same time. If you do, you would uninstall the madwifi package or simply blacklist the ath-pci driver. Or you could blacklist the ath5k driver as alan_ri suggested. This is if you have both. You only want one. If you have both, mad-wifi & use the ath5k built in driver, then wireless won't work.