1. Summary
  2. Files
  3. Support
  4. Report Spam
  5. Create account
  6. Log in

Distribution list/Ubuntu

From acx100

Jump to: navigation, search


General driver information

Ubuntu pre-9.10 shiped the ACX plain driver out of the box, even though it was not included in the mainline kernel. The driver is made available under the linux-image-`uname -r` package, and the firmware under the linux-restricted-modules-`uname -r` package. Ubuntu 9.10 deprecated linux-restricted-modules in favor of DKMS. (Good luck with that)

The source code for the driver can be found in the appropriate tree for each release at the Ubuntu kernel git repository. This location has been changing throughout releases, so the link to the source code of each particular release has been added to each appropriate section.

From Feisty onwards, NetworkManager was included in the main distribution. Since the ACX driver cannot interface correctly with it, NetworkManager might have to be disabled. See the instructions on how to disable it in the Feisty section of this document.

Gutsy Gibbon (7.10)

The driver, based on the 2007-10-03 release of the plain driver (TODO: confirm) works out of the box as on previous releases.

NetworkManager must be disabled as described in the Feisty section under these lines. It can be disabled by simply unchecking its entry on the "Startup Programs" tab from System>Preferences>Sessions on GNOME.

The first Gutsy development releases featured this bug from upstream, which was fixed in the Ubuntu sources, although at the time of writing the fix involving this patch has not yeet been applied upstream.

The driver provided by Ubuntu should work in most cases, but if you have the need to install the driver manually (e.g. for debugging purposes) you can follow the build instructions at the end of the page and apply the mentioned patch.

Feisty Fawn (7.04)

The driver and firmware work out of the box on Feisty as well, after having disabled NetworkManager (see this bug report), with firmware revision (for acx111 PCI) and an upgraded driver, v0.3.36.

To disable NetworkManager permanently:

 sudo /etc/dbus-1/event.d/25NetworkManager stop
 sudo /etc/dbus-1/event.d/26NetworkManagerDispatcher stop

The following two commands need to be executed as root:

 echo "exit" > /etc/default/NetworkManager
 echo "exit" > /etc/default/NetworkManagerDispatcher

Then configure your card as usual. Afterwards you might need to do:

 sudo ifdown wlan0
 sudo ifup wlan0

Edgy Eft (6.10)

The acx driver version on Edgy is still the same as on Dapper (v0.3.21), and seems to work out of the box now.

If you want to use the latest drivers or this version does not work for you, follow the build instructions section of this article.

Dapper Drake LTS (6.06 and 6.06.1)

Bug: incorrect firmware loaded for acx111-based devices

In Dapper there is a bug for acx111 devices. The v0.3.21 version of the acx driver uses by default firmware, which is not supported by that version of the driver.

  • A possible solution is to change the link of tiacx111c16 in /lib/firmware/[kernel-version]/acx/default, it should link at, instead of
  • An easier solution is to add the following line to /etc/modprobe.d/options, which will instruct the card to load the correct firmware on startup:
options acx firmware_ver=

Note: There has been one report of this firmware not working on a U.S. Robotics USR5410 on a Toshiba a15-s127 laptop. The solution seemed to be to use an older firmware version ( instead, i.e. substitute by on the previous line. Actually works also for some Xterasys PCI 54G wireless cards (like:http://www.xterasys.com/xn2524g.htm)

Breezy Badger (5.10)

--Sung 21:10, 8 July 2006 (PDT) In Breezy (5.10), there are some issues to take care of.

(1) While acx_pci or acx_usb are loaded by kernel at booting time, pre-installed firmwares are incomplete.In Breezy, firmwares are found in /lib/hotplug/firmware

In my case, where acx111 chip needs to be supported, this directory shows following 'more or less' relevant firmware files.


"dmesg", however, showed TIACX111R16 is missing.

You may need to get both types of firmware (TIACX111R16 and TIACX111) from http://acx100.sourceforge.net/wiki/Firmware. It is not certain why there is "xxx-2.6.12-9-386" suffix by default, but for the peace of mind, I copied tiacx111 and tiacx111r16 to /lib/hotplug/firmware without adding this extra suffix.

(2) Get the latest driver. I found ver.0.3.35 is fairly good.

(3) The instruction above basically works with a bit of extra care. In my case, after the modules installation, I found the following two directories under /lib/modules.

   2.6.12  2.6.12-9-386

The compiled module "acx.ko" is under 2.6.12->extra. When the system is restarted, the kernel prefers the old driver under 2.6.12-9-386 and load it at boot time. Go to the following directory



   sudo rmmod acx_pci
   sudo mv acx_pci.ko acx_pci.ko_old
   sudo ln -s /lib/modules/2.6.12/extra/acx.ko acx.ko
   sudo insmod acx

Check "lsmod |grep acx" shows

   acx                   128648  0
   firmware_class          9472  1 acx
   usbcore               104188  6 acx,usb_storage,usbhid,ehci_hcd,ohci_hcd

Go to System->Admistration->Networking and configure your wlan setting. Reboot the computer, and check if the correct driver is loaded by "iwconfig" You should see something like below.

         wlan0     IEEE 802.11b+/g+  ESSID:"8stableway"  Nickname:"acx v0.3.35"
                   Mode:Managed  Frequency:2.437 GHz  Access Point: 00:40:05:28:DC:A2

Build instructions

These Ubuntu-specific instructions explain how to build and install the plain driver available from upstream, which can be newer than the one available from the Ubuntu repositories.

Follow them only if you want to use the latest available driver. If the driver from the Ubuntu repositories is working for you, there is no special reason for using the latest upstream version unless explicitly wanted or needed (e.g. the repository version could have a bug or feature fixed/implemented in the latest upstream release).

There are also some generic (and more complete) installation instructions on the main ACX HowTo, which should also work for Ubuntu.

There are two methods of building the driver, outside the kernel tree and inside the kernel tree. These instructions describe the recommended outside the kernel tree method.

1. First of all, download the kernel headers and the build utilities, in case they are not installed:

 sudo apt-get install build-essential linux-headers-`uname -r`

2. Download and unpack the upstream driver

 cd /usr/src
 sudo mkdir acx-20070101
 sudo wget http://lisas.de/~andi/acx100/acx-20070101.tar.bz2
 sudo tar xjvf acx-20070101.tar.bz2
 cd acx-20070101

3. Check that the firmware images are installed (use only one of the two following commands)

For versions from Dapper onwards:
 ls -R /lib/firmware/`uname -r`/acx
For versions up until Breezy:
 ls -R /lib/hotplug/firmware/`uname -r`/acx

This should give you a list of the installed ACX firmware images on your system. If the command outputs nothing or it returns an error along the lines of "the directory could not be found" or similar, the firmware images are probably not installed on your system. You will then have to follow the instructions under the Firmware section to obtain and install them

4. Now you can build the module with the command:

 sudo make -C /lib/modules/`uname -r`/build M=`pwd`

If the driver is running, you have to type the following command in order to unload it from memory:

5. Install the modules:

First of all unload any running ACX driver from memory:
 sudo modprobe -r acx
Now install the module:
 sudo make -C /lib/modules/`uname -r`/build M=`pwd` modules_install 

6. Load the newly built driver with:

 sudo modprobe acx

7. Optionally, this will give you some information on the acx driver:

 modinfo acx

TODO: Have a look at depmod. See if NetworkManager must be deactivated on Feisty. Include instructions for the SoftMac and Mac80211 drivers


  1. Running the following command is always good for testing whether the driver got loaded correctly and to see its version and the firmware version:
 dmesg | grep acx
Personal tools