Distribution list/Slackware

From ACX100/ACX111 wireless network driver project

Jump to: navigation, search

1. Latest driver only seems to work with kernel 2.6.x. So Slackers are encouraged to upgrade their kernel first.

2. Tested with kernel 2.6.12 ok with WEP

3. Kernel was built fresh with PCI hotplug options. Perhaps unnecessary.

        edit: This option is unnecessary -- a fresh compile of kernel 2.6.15
              without PCI Hotplug has been tested and does work.

4. (Important) In kernel configuration,you should turn on "Module unloading" and "Forced module unloading" at Loadable module support" section. Possibly ok without them, depending on how reliable this driver is. Old versions occasionally lost connection to the access point and a user manually had to restart the network. I so far have no such a problem yet.

5. Firmware needs to be installed in /lib/firmware

6. Original start_net, stop_net scripts were modified.



Installation:

1. Extract acx-20060215.tar.bz2 in any directory of your choice.

eg)/usr/local/src/acx

2. Copy start_net and stop_net to /usr/local/src/acx/script/ and remove start_net.sh and stop_net.sh. They are outdated. Get the modified script from http://sung.orcon.net.nz/acx100/

3. Building out of kernel tree (by Per Bjornsson <perbj at stanford.edu>)is easier.


If you're building for the currently running kernel, build the modules with the command

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

Install the modules (must be root for this step, so use 'su' if that's your preferred method of doing root stuff) with

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

4. Change directory to /usr/local/src/acx/script/ and open "start_net". Change details of your network, including ESSID, WEP etc. DHCP and WEP work well.

5. Run

./start_net

OR, if you prefer the joy of tedious work, come back to /usr/local/src/acx and

 insmod acx.ko

Check with

 lsmod |grep acx

This is not intended to be the end of the story. In fact, I didn't tell you about the firmware up to this point.

6. Firmware installation.

Type

 dmesg | grep acx

Then you will see something like this.

...
requesting firmware image 'tiacx111c16'
acx: firmware image 'tiacx111c16' was not provided. Check your hotplug scripts
...
requesting firmware image 'tiacx111'
acx: firmware image 'tiacx111' was not provided. Check your hotplug scripts
...
requesting firmware image 'tiacx111r16'
acx: firmware image 'tiacx111r16' was not provided. Check your hotplug scripts
acx: can't load radio module 'tiacx111r16'
.....

It means 'tiacx111c16' or 'tiacx111' 'tiacx111r16' need to be in your /lib/firmware.

According to http://acx100.sourceforge.net/wiki/Firmware,

tiacx111c16 (1)
tiacx100r11 (2)
tiacx100 (3)
tiacx100usb (4)

(1) is a combined firmware for a ti acx111 card that uses radio 16 (originally named FwRad16.bin)

(2) is a radio only firmware for a ti acx100 that uses radio 11 (originally named RADIO11.BIN)

(3) is a master firmware for a ti acx100 (originally named WLANGEN.BIN)

(4) is the firmware image for all ACX100 USB devices

So in the case above, tiacx111c16=tiacx111 tiacx111r16.

You may only need either "left hand side" or "right hand side" installed. Get them from

http://acx100.erley.org/acx_fw/acx1xx.htm or pages refered by http://acx100.sourceforge.net/wiki/Firmware

Copy them to /lib/firmware and run ./start_net again.

./start_net

wlan0 deconfigured, module unloaded.
using wlan0.
Module successfully inserted.
Setting rate to 22M auto.
Setting channel 1.
Going to try to join or setup ESSID default.
Setting mode to Managed.
Setting key to 123456789A, algorithm open.
Waiting for association...10 9 8 7 OK.
Attempting to use /sbin/dhcpcd for DHCP, this may take a moment...OK.
Interface has been set up successfully.


7. Run

iwconfig 

and if everything was well, you will see something like:

wlan0     IEEE 802.11b /g   ESSID:"default"  Nickname:"acx v0.3.35"
          Mode:Managed  Channel:6  Access Point: 00:40:05:28:DC:A2  
          Bit Rate:22Mb/s   Tx-Power=15 dBm   Sensitivity=1/3  
          Retry min limit:7   RTS thr:off   
          Encryption key:1234-5678-9A   Security mode:open
          Power Management:off
          Link Quality:44/100  Signal level:21/100  Noise level:0/100
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

Having Access Point: 00:00:00:00:00:00 means something is wrong. Many factors might be involved. It can be your kernel, driver, firmware or start_net script configuration.

8. Starting network at boot time.

For Slackware 10.X (or older/newer) users, following entry to /etc/rc.d/rc.local will start the network at boot time. Handy, it will be.

 #Bring acx100 device up
 /usr/local/src/acx/script/start_net

edit: The right way to do this is to go into /etc/rc.d/rc.inet1.conf and uncomment/edit the lines that make sense. like this

     ## Example config information for wlan0.  Uncomment the lines you need and fill
     ## in your info.  (You may not need all of these for your wireless network)
     IFNAME[4]="wlan0"
     #IPADDR[4]=""
     #NETMASK[4]=""
     USE_DHCP[4]="yes"
     #DHCP_HOSTNAME[4]="icculus-wireless"
     #DHCP_KEEPRESOLV[4]="yes"
     #DHCP_KEEPNTP[4]="yes"
     #DHCP_KEEPGW[4]="yes"
     #DHCP_IPADDR[4]=""
     #WLAN_ESSID[4]=BARRIER05
     #WLAN_MODE[4]=Managed
     ##WLAN_RATE[4]="54M auto"
     ##WLAN_CHANNEL[4]="auto"
     ##WLAN_KEY[4]="D5AD1F04ACF048EC2D0B1C80C7"
     ##WLAN_IWPRIV[4]="AuthMode=WPAPSK EncrypType=TKIP WPAPSK=7B1ABEEB5D197741923ED26727569C365E31212096A0EAFAD563B268BAD01CAF TxRate=0"
     #WLAN_WPA[4]="wpa_supplicant"
     WLAN_WPADRIVER[4]="acx" <-- Note that this originally says ndiswrapper you need to change this to acx
Personal tools