How to install Qualcomm Atheros AR9565 wireless drivers?

I purchased an HP laptop with the Qualcomm Atheros AR9565 (QCWB335) wireless adapter. I understand that this adapter is currently not supported on Ubuntu 12.04 and there is no way to get wireless access.

I installed compat-wireless-3.6.6-1 ath9k driver and it didn't work, lshw -C network still showed *-network UNCLAIMED after reset.

How can I figure out when Ubuntu will have driver for AR9565? Is there a workaround to get wireless working somehow?


Here's one way to solve this. I myself had the same problem as mentioned here. I followed two posts on ubuntuforum by anoop-n2 and chili555, and kind of did a mix of things, which can be outlined as follows:

You need to have linux-headers-generic and build-essential installed, try

sudo apt-get install linux-headers-generic build-essential

which will turn out to be of the newest version if those are already there.

The following should be done in a terminal as root:

sudo -i
wget https://www.kernel.org/pub/linux/kernel/projects/backports/stable/v3.9-rc4/compat-drivers-3.9-rc4-2-s.tar.bz2
tar xvf compat-drivers-3.9-rc4-2-s.tar.bz2
cd compat-drivers-3.9-rc4-2-s/
./scripts/driver-select ath9k
make

Now this will probably give the following error:

error: redefinition of ‘kref_get_unless_zero’
include/linux/kref.h:47:32: note: previous definition of ‘kref_get_unless_zero’ was here

In this case, open the header file, and find the entire block of the function:

static inline int __must_check kref_get_unless_zero(struct kref *kref)
{
    return atomic_add_unless(&kref->refcount, 1, 0);
}

Next comment out the entire block of the function using line comment (put // in front of each line) or block comment in c as,

/*static inline int __must_check kref_get_unless_zero(struct kref *kref)
{
    return atomic_add_unless(&kref->refcount, 1, 0);
}*/

then type the following commands one by one:

make
make install

Then load the driver using

modprobe ath9k

or reboot the system. Afterwards the wifi should be working.


Your device is covered in this package: http://www.orbit-lab.org/kernel/compat-wireless-3-stable/v3.6/compat-wireless-3.6.6-1-snpc.tar.bz2

The files with extra letters, in this case snpc, are pre-patched to add newer devices and, sometimes, features. Yours is a good example.