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.