Sunday, November 3, 2013

VT6656 WLAN driver on Ubuntu 12.04

For reasons unclear, Ubuntu Precise and Quantal (3.2/3.5) releases do not contain the VT6656 WLAN driver (deliberately). Nevertheless, the driver can still be manually built and installed.

The following procedure has been tested with Linux kernel 3.5.0-42 and 3.5.0-43:

1. Install build tools:
$ sudo apt-get install build-essential linux-headers-`uname -r`

2. Get driver source code (specific commit tested in this procedure):
$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next.git
$ cd wireless-next
$ git checkout master-2013-10-18
NOTE: If the target machine does not have network connectivity, perform the above step on a machine which does and the copy the files to the machine manually.

3. Modify Makefile (wireless-next/drivers/staging/vt6656/Makefile):
A) Comment out (with a #): obj-$(CONFIG_VT6656) += vt6656_stage.o
B) Add: obj-m = vt6656_stage.o

4. Build driver:
$ cd drivers/staging/vt6656
$ make -C /lib/modules/`uname -r`/build M=`pwd` modules

5. Make a new directory for the driver in the kernel modules directory:
$ sudo mkdir -p /lib/modules/`uname -r`/kernel/drivers/staging/vt6656

6. Copy the new driver to the kernel modules directory:
$ sudo cp vt6656_stage.ko /lib/modules/`uname -r`/kernel/drivers/staging/vt6656/

7.  'do' a depmod:
$ sudo depmod -a

8. Reboot.

Reference(s):