Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[WLAN] [ACX100||ACX111] wireless card installation (22mb/s)
View unanswered posts
View posts from last 24 hours

Goto page 1, 2, 3  Next  
Reply to topic    Gentoo Forums Forum Index Documentation, Tips & Tricks
View previous topic :: View next topic  
Author Message
Chaosite
Guru
Guru


Joined: 13 Dec 2003
Posts: 540
Location: Right over here.

PostPosted: Mon Jul 26, 2004 8:37 am    Post subject: [WLAN] [ACX100||ACX111] wireless card installation (22mb/s) Reply with quote

This guide will show you how to use your ACX chipset based card in Linux. The ACX100 is the 802.11b flavor, and the ACX111 is the 802.11g flavor. Both these cards have superior capabilities due to usuage of a different modulation technique (The ACX100 has 22MB/s datarate and 256 bit WEP).

However, Texas Instruments does not support Linux, and did not provide any documentation so that a OSS could be made. Luckily, a binary linux driver was leaked, and by reverse engineering that a OSS driver was made by the ACX native linux driver team (Really creative name...).

This guide assumes that you currently have Internet access, by physically connecting your computer or any other way.

Step -1
First of all, you'll want to find it if its really a ACX based card. As root, do:
Code:
emerge pciutils
lspci | grep ACX


You should get something like:
Code:
0000:02:09.0 Network controller: Texas Instruments ACX 100 22Mbps Wireless Interface


Step 0
Now, you need the actual driver. Go to this website, and download the latest snapshot (Read the changelog, too - as of 26/7/2004, USB is broken in the latest release, and works in a previous version). For example:
Code:
wget -c http://lisas.de/~andi/acx100/acx100-0.2.0pre8_plus_fixes_20.tar.bz2


Step 1
untar the tarball. It will create a new directory.
Code:
tar -xvvjf acx100-0.2.0pre8_plus_fixes_20.tar.bz2


Step 2
I suggest moving the driver sources into /usr/share/acx100 (or acx111, depends). You don't have to, but I do it.
Code:
mv acx100-0.2.0pre8_plus_fixes_20/ /usr/share/acx100
cd /usr/share/acx100


Step 3
Now we need the firmware for the drivers. The easiest way to get this is using the provided script:
Code:
./scripts/fetch_firmware

Just follow the instructions.
TODO: Provide alternate instructions on what to do in case the script fails. In case you need this, there is a good explanation in the README file.

Step 4
Move the firmware to the correct place:
Code:
mkdir /usr/share/acx
mv firmware/* /usr/share/acx


Step 5
We now have two options: Build the module out of the kernel tree (2.4 & 2.6 kernels), or build it inside the kernel tree (2.6 only, IIRC). If you have a patchset which already includes the acx driver (such as love-sources), skip this step. Make sure your kernel has wireless extensions. In 2.6 kernel, you can find them at: Device Drivers -> Networking Support -> Wireless LAN (non-hamradio)
TODO: Find out where these are hiding in 2.4 kernel. Little help here?

Note that the driver has locking issues with SMP - so turn SMP off.

Step 6a
Outside of the kernel tree:
Code:
ACX_IO_WIDTH="32" make && make install

and modprobe it:
Code:
modprobe acx_pci

Step 6b
Inside the kernel tree:
Code:
KSRC="/path/to/kernel/source/" make inject
If you don't specify KSRC it defaults to /usr/src/linux. Now go configure your kernel - you can find it in Device Drivers -> Networking Support -> Wireless LAN (non-hamradio) -> Texas Instruments ACX100/ACX111 (TNETW1xxx) cards.Instruments
if you compiled it into the kernel (Its a bit experimental at the moment, so I don't recommend that - removing the module might get you out of a tight spot), you don't need to modprobe it, otherwise:
Code:
modprobe acx_pci


Step 7
Now we have a wireless interface, so all we need to do is set it up:
Code:
emerge wireless-tools
iwconfig wlan0

You should see a few lines of information. If you don't, something is wrong. Ask for support here. Now, to configure the card using iwconfig (I'm assuming there is a wireless router or other access point managing this. I don't know how to configure Ad-Hoc)
Code:
iwconfig wlan0 essid FOO channel BAR mode managed key s:iamalumberjackandimok rate 22M


Fill this out according to your router settings. If suggest not using WEP when first trying to get this to work - its another thing that you might get wrong. Use the s:foobar style to enter a string as the wep key, or just enter it in hex.
Code:
dhcpcd wlan0

You should now have an IP address, and be able to use your wireless connection. Feel free to disconnect the wire. Have fun.

I suggest moving to the Gentoo wireless configuration initscript from here, to have your wireless configuration set up at startup.

This guide was written while using a D-Link DWL-520+ (ACX100 based card).

the README file wrote:
Please NEVER consider using the NDIS driver loader cludge instead of our driver. For an incredible number of reasons against it, please see http://acx100.sourceforge.net/ndis_cludge.html
If for some or another reason you're unhappy with the performance of our current driver version, then either fix it if you're capable of doing that or immediately think of returning to the shop or, if that is not possible, of selling your very poorly supported Taxed Sinstruments based card in exchange for a wireless card that is well-supported under Linux.
Buying the very problematic DriverLoader product instead in an attempt to "fix" missing Linux driver support will send the entirely wrong message to wireless card manufacturers, so please never choose to do that.
There are many commercial products very much worth buying; but this is certainly not one of those...


TODO: Add information on using USB and pcmcia versions of the card.

EDIT [04/08/04]: Improved formatting.
EDIT [04/10/04]: Missing ".


Last edited by Chaosite on Thu Dec 30, 2004 7:16 pm; edited 3 times in total
Back to top
View user's profile Send private message
noookz
n00b
n00b


Joined: 22 Jul 2004
Posts: 13

PostPosted: Fri Aug 20, 2004 8:14 pm    Post subject: sang q! Reply with quote

wow...I've been looking for a guide to compile this driver outside the source tree (2.6) for a while now and finally found yours. Thank you! Thank you! Thank you! :P This was the most recent and the easiest guide to follow so far! Props to Chaosite
Back to top
View user's profile Send private message
drizzt
Guru
Guru


Joined: 21 Jul 2002
Posts: 428

PostPosted: Mon Oct 04, 2004 5:29 am    Post subject: Some tips to add... Reply with quote

First I want to thank the author for this wonderful guide - works great with netgear wg311v2.
First thing I want to add is, that the original *.bin files from netgear windows cd(Win 2000) work great without any modification - just copy them to the given firmware directory (3 files).
Second is - if you run into trouble while compiling ( I've got an error about no function 'timeout' in member....) do a "make clean" and try to compile again - worked for me.
For the moment I was only able to compile this driver on kernel 2.6.4-ck1. 2.6.9 - kernels gave me a lot of trouble. So if you can't get it compiled in any way - try out that kernel version.
_________________
People don't have to earn my respect. I offer my respect to them, but be careful to lose my respect...
Back to top
View user's profile Send private message
drizzt
Guru
Guru


Joined: 21 Jul 2002
Posts: 428

PostPosted: Mon Oct 04, 2004 5:38 am    Post subject: Something else.... Reply with quote

Make sure you compile the actual kernel and the acx driver with the same version of gcc.
Makes your life a lot easier.... :)
_________________
People don't have to earn my respect. I offer my respect to them, but be careful to lose my respect...
Back to top
View user's profile Send private message
Chaosite
Guru
Guru


Joined: 13 Dec 2003
Posts: 540
Location: Right over here.

PostPosted: Mon Oct 04, 2004 6:59 pm    Post subject: Reply with quote

Your welcome :D

And yeah, it doesn't really matter where you get your firmware from, as long as it is in the firmware directory. And `make clean` does seem to solve weird problems from time to time...

And about 2.6.9 kernels:

Code:
chaosite@Aurora ~ $ uname -a
Linux Aurora 2.6.9-rc2-chaotic1 #2 Thu Sep 16 18:37:19 IDT 2004 i686 Intel(R) Pentium(R) 4 CPU 2.60GHz GenuineIntel GNU/Linux


WFM 8)
Back to top
View user's profile Send private message
drizzt
Guru
Guru


Joined: 21 Jul 2002
Posts: 428

PostPosted: Wed Oct 06, 2004 8:51 am    Post subject: Reply with quote

Hmm, I`ll try the 2.6.9-kernels as of today a new version is out.
Probably this version works better for me.
Besides the compiling problems with the ACX111 driver, the 2.6.9-kernel also gave me errors about floppy not accessible. (Something with Address already in use or something like that...)
I will post my results if I get anything new...
_________________
People don't have to earn my respect. I offer my respect to them, but be careful to lose my respect...
Back to top
View user's profile Send private message
Chaosite
Guru
Guru


Joined: 13 Dec 2003
Posts: 540
Location: Right over here.

PostPosted: Wed Oct 06, 2004 8:59 am    Post subject: Reply with quote

Oh, by the way, in the latest mm-sources kernel (2.6.9-rc3-mm2) an internal API changed a bit, so you have to edit the driver.

This little patch should take care of that.

For in-kernel builds:
Code:

--- linux/drivers/net/wireless/acx/acx100.c.orig        2004-10-06 11:00:43.590670584 +0200
+++ linux/drivers/net/wireless/acx/acx100.c     2004-10-06 09:17:04.000000000 +0200
@@ -817,7 +817,7 @@
        dev->base_addr = pci_resource_start(pdev, 0); /* TODO this is maybe incompatible to ACX111 */
 
        /* need to be able to restore PCI state after a suspend */
-       pci_save_state(pdev, priv->pci_state);
+       pci_save_state(pdev);
 
        if (OK != acx_reset_dev(dev)) {
                acxlog(L_BINSTD | L_INIT,
@@ -1134,7 +1134,7 @@
        acxlog(L_STD, "acx100: experimental resume handler called for %p!\n", priv);
        pci_set_power_state(pdev, 0);
        acxlog(L_DEBUG, "rsm: power state set\n");
-       pci_restore_state(pdev, priv->pci_state);
+       pci_restore_state(pdev);
        acxlog(L_DEBUG, "rsm: PCI state restored\n");
        acx_reset_dev(dev);
        acxlog(L_DEBUG, "rsm: device reset done\n");


For out-of-kernel builds:
Code:

--- src/acx100.c        2004-10-05 08:52:32.000000000 +0200
+++ src/acx100.c~rc3-mm2-fix    2004-10-06 11:04:10.957146088 +0200
@@ -817,7 +817,7 @@
        dev->base_addr = pci_resource_start(pdev, 0); /* TODO this is maybe incompatible to ACX111 */
 
        /* need to be able to restore PCI state after a suspend */
-       pci_save_state(pdev, priv->pci_state);
+       pci_save_state(pdev);
 
        if (OK != acx_reset_dev(dev)) {
                acxlog(L_BINSTD | L_INIT,
@@ -1134,7 +1134,7 @@
        acxlog(L_STD, "acx100: experimental resume handler called for %p!\n", priv);
        pci_set_power_state(pdev, 0);
        acxlog(L_DEBUG, "rsm: power state set\n");
-       pci_restore_state(pdev, priv->pci_state);
+       pci_restore_state(pdev);
        acxlog(L_DEBUG, "rsm: PCI state restored\n");
        acx_reset_dev(dev);
        acxlog(L_DEBUG, "rsm: device reset done\n");


If you don't get a build error while trying to compile this, don't apply this patch.

Good luck!
Back to top
View user's profile Send private message
byoungstrom
n00b
n00b


Joined: 09 Oct 2004
Posts: 9

PostPosted: Sat Oct 09, 2004 11:00 pm    Post subject: Reply with quote

BTW, thanks for writing this howto!

I am having trouble with step 6b. I do the 'make inject', then go to /usr/src/linux and do make menuconfig. I can't find the driver in "Device Drivers -> Networking Support -> Wireless LAN (non-hamradio)".

I am using 2.6.8 kernel. I have tried a make clean on the kernel source, re-injected, and it still won't show up. When I did the make clean I got:

Code:
make clean
  CLEAN   arch/i386/boot/compressed
  CLEAN   arch/i386/boot
  CLEAN   arch/i386/kernel
  CLEAN   drivers/char
  CLEAN   drivers/ieee1394
drivers/net/wireless/acx/Makefile:3: ACX_DEBUG was not defined, assuming 1
drivers/net/wireless/acx/Makefile:8: ACX_IO_WIDTH was not defined, assuming 16bit access
  CLEAN   drivers/pci
  CLEAN   init
  CLEAN   lib
  CLEAN   usr
  CLEAN   .tmp_versions
  CLEAN   include/asm-i386/asm_offsets.h vmlinux System.map .tmp_kallsyms1.S .tmp_kallsyms1.o .tmp_kallsyms2.S .tmp_kallsyms2.o .tmp_vmlinux1 .tmp_vmlinux2 .tmp_System.map


So there is something happening with the ACX driver.
Back to top
View user's profile Send private message
Chaosite
Guru
Guru


Joined: 13 Dec 2003
Posts: 540
Location: Right over here.

PostPosted: Sun Oct 10, 2004 6:54 pm    Post subject: Reply with quote

Well, that message means that at least its there (Its harmless, don't worry).
Are you sure you have SMP turned off?
And PCI support turned on?

In my computer, this is what happens:
Code:
Aurora wireless # cat /usr/src/linux/drivers/net/wireless/Kconfig | grep "acx100 driver"
# acx100 driver, available at http://acx100.sourceforge.net


Is this the case for your computer as well?
Back to top
View user's profile Send private message
firenx
n00b
n00b


Joined: 25 Nov 2003
Posts: 20

PostPosted: Tue Oct 12, 2004 7:15 am    Post subject: Reply with quote

hey.. well the driver seemed to compile fine, but unfortunatly now i get

FATAL: Error inserting acx_pci (/lib/modules/2.6.8-gentoo-r7/net/acx_pci.o): Invalid module format
Back to top
View user's profile Send private message
byoungstrom
n00b
n00b


Joined: 09 Oct 2004
Posts: 9

PostPosted: Mon Oct 25, 2004 1:12 am    Post subject: Reply with quote

Chaosite - I got it working! Thanks for your help. I don't know what I was doing wrong, but I started from scratch again and it worked. Probably overlooked one of your instructions (doh!).

Thanks again.
Back to top
View user's profile Send private message
Chaosite
Guru
Guru


Joined: 13 Dec 2003
Posts: 540
Location: Right over here.

PostPosted: Mon Oct 25, 2004 7:15 pm    Post subject: Reply with quote

firenx wrote:
hey.. well the driver seemed to compile fine, but unfortunatly now i get

FATAL: Error inserting acx_pci (/lib/modules/2.6.8-gentoo-r7/net/acx_pci.o): Invalid module format


Well, thats weird. It can be caused by two things I can think of right now.

One, is that the module is not build for the currently running kernel ( ... On second thought, it would be complaining about magic cookies then, so no)

The more probable is that you compiled the module with a different version of GCC then the one you used for the kernel. Could this be the case?

byoungstrom: cool, good to know! You're very welcome. :)
Back to top
View user's profile Send private message
G|N|
Tux's lil' helper
Tux's lil' helper


Joined: 26 Feb 2004
Posts: 138
Location: Turnhout (Belgium)

PostPosted: Thu Oct 28, 2004 6:36 pm    Post subject: Reply with quote

what is the syntax of this line?
Code:
iwconfig wlan0 essid FOO channel BAR mode managed key s:iamalumberjackandimok rate 22M


are it all standard things are do you have to edit them for your personel network?

and is there an other way to do this?
Back to top
View user's profile Send private message
Lolek
n00b
n00b


Joined: 01 Nov 2004
Posts: 1

PostPosted: Mon Nov 01, 2004 10:51 am    Post subject: Reply with quote

Hi.

I have followed all steps listed here, but i can't 'force' my dlink (dwl-g650+ h/w: b1 f/w: 2.04) to work. I'm trying run it on toshiba A60 laptop with 2.6.9 kernel but with no luck. I think there is problem with my pci drivers because there is no Network Controller listed after typing lspci.
Anyone know why?

ps. I have latest drivers for dlink card from acx100.sf.net, pcmcia-cs, wireless-tools and firmware.
Back to top
View user's profile Send private message
SuperJudge
Apprentice
Apprentice


Joined: 08 Jun 2004
Posts: 177
Location: Albany, GA

PostPosted: Sun Dec 12, 2004 6:21 pm    Post subject: Reply with quote

Thanks a lot, this worked beautifully with my Netopia 3dReach. 8)
_________________
---Powered by Honda
Back to top
View user's profile Send private message
Chaosite
Guru
Guru


Joined: 13 Dec 2003
Posts: 540
Location: Right over here.

PostPosted: Sun Dec 12, 2004 8:51 pm    Post subject: Reply with quote

G|N| wrote:
what is the syntax of this line?
Code:
iwconfig wlan0 essid FOO channel BAR mode managed key s:iamalumberjackandimok rate 22M


are it all standard things are do you have to edit them for your personel network?

and is there an other way to do this?


No, they're no standard. You have to replace FOO with your ESSID, BAR by the channel, and "iamalumberjackandimok" with your key.

Yes, you can use the wireless startup scripts to avoid typing this everytime. Theres a thread here, but mostly its emerging the latest (keyworded) baselayout and reading /etc/conf.d/wireless.conf.example .

Hope this helps! 8)
Back to top
View user's profile Send private message
Chaosite
Guru
Guru


Joined: 13 Dec 2003
Posts: 540
Location: Right over here.

PostPosted: Sun Dec 12, 2004 8:53 pm    Post subject: Reply with quote

Lolek wrote:
Hi.

I have followed all steps listed here, but i can't 'force' my dlink (dwl-g650+ h/w: b1 f/w: 2.04) to work. I'm trying run it on toshiba A60 laptop with 2.6.9 kernel but with no luck. I think there is problem with my pci drivers because there is no Network Controller listed after typing lspci.
Anyone know why?

ps. I have latest drivers for dlink card from acx100.sf.net, pcmcia-cs, wireless-tools and firmware.


Yes, it wouldn't appear after the lspci, because its a pcmcia card . . .

I'm not really sure how to handle this one really. I don't have the pcmcia version of this card - your best bet is to go to acx100.sf.net and ask on the forums there. They are generally helpful people.

Once you get your card working, please tell me how you did it so I can update the howto - Thanks!
Back to top
View user's profile Send private message
SuperJudge
Apprentice
Apprentice


Joined: 08 Jun 2004
Posts: 177
Location: Albany, GA

PostPosted: Sun Dec 19, 2004 1:54 pm    Post subject: Reply with quote

"imalumberjackandimok" would make a great enc if I used ascii.
_________________
---Powered by Honda
Back to top
View user's profile Send private message
megz
n00b
n00b


Joined: 15 Dec 2004
Posts: 5

PostPosted: Tue Dec 21, 2004 3:23 am    Post subject: Reply with quote

hi im trying to set up my netgear wg311 v2 wireless card using these drivers only thing is if i disable smp when i do dmesg i just get a whole heap of rubbish bout needing it and then on top of that i cant get any stats for wlan0 however if i dont disable it i cannot select texas instruments when i do a make menuconfig but i can get most stats for wlan0 and a more workable dmesg output but i still cannot get it to actually connect to the internet ...anybody able to help??????
Back to top
View user's profile Send private message
Chaosite
Guru
Guru


Joined: 13 Dec 2003
Posts: 540
Location: Right over here.

PostPosted: Tue Dec 21, 2004 8:11 pm    Post subject: Reply with quote

megz wrote:
hi im trying to set up my netgear wg311 v2 wireless card using these drivers only thing is if i disable smp when i do dmesg i just get a whole heap of rubbish bout needing it and then on top of that i cant get any stats for wlan0 however if i dont disable it i cannot select texas instruments when i do a make menuconfig but i can get most stats for wlan0 and a more workable dmesg output but i still cannot get it to actually connect to the internet ...anybody able to help??????


...

The dmesg output could be helpful.
No stats for wlan0 when? When you run ifconfig -a? Is the module loaded?
Ummm... If you don't select Texas Instruments, then you are basically not using the module (Unless you did it the other way). Are you sure you have a ACX card?

Basically, tell me exactly what you did, show me the dmesg output, the lsmod output, and anything else you think could be useful.
Back to top
View user's profile Send private message
troki
n00b
n00b


Joined: 11 Sep 2002
Posts: 28

PostPosted: Thu Dec 23, 2004 10:19 am    Post subject: Reply with quote

Dont forget to set the channel either on your card. I found it helps greatly.

Oh and ChaoSite ?

~ THANK YOU ~


And while I am at it too, thanks to the dev team behind acx.
Oh, and thank you to gentoo users and providers and devs.

Thank you World
alleluia

It's a miracle, my box's Heart has restarted, and the encephalogram is
reaching 54MBps ! On the 6th day it spoke thus :

- Emerge World

And it worked.

alleluia

-- Troki
Back to top
View user's profile Send private message
Chaosite
Guru
Guru


Joined: 13 Dec 2003
Posts: 540
Location: Right over here.

PostPosted: Fri Dec 24, 2004 9:16 am    Post subject: Reply with quote

troki wrote:

~ THANK YOU ~


You're welcome! :)

And amen to that, brother!
Back to top
View user's profile Send private message
fuxxy
n00b
n00b


Joined: 25 Dec 2004
Posts: 2

PostPosted: Sat Dec 25, 2004 12:36 am    Post subject: Reply with quote

Hmm. I've got a couple problems.

First of all, 'modprobe acx_pci' fails with the error "init module: no such device"

/etc/modules.d/acx_pci already contains
Code:
options acx_pci debug=0xb firmware_dir=/usr/src/acx/

and I've updated my modules.conf using modules-update

However , when loading the module with
Code:
 insmod /usr/share/acx100/src/acx_pci.o debug=0xb firmware_dir=/usr/share/acx/
the module is loaded fine.

More importantly, I've loaded the module using insmod, and set up all my options using iwconfig.

Code:
iwconfig wlan0 essid foo_bar channel 6 mode managed key restricted s:iamacutelittlebumblebee


essid='foo_bar'
rate='11M'
chan=6
mode=Managed
dedbug=0xb
key='iamacutelittlebumblebee'
alg=restricted

I've checked the options (output of iwconfig wlan0) output as follows:
Quote:

wlan0 IEEE 802.11b+ ESSID:"foo_bar" Nickname:"acx100 v0.2.0pre8"
Mode:Managed Channel:6 Access Point: 00:00:00:00:00:00
Bit Rate=11Mb/s Tx-Power:20 dBm Sensitivity=176/255
Retry min limit:5 RTS thr:off
Encryption key:4436-4437-4338-3638-4339-2365-6543-2334-4137-4244-4644-3542-3431-0000-00 Security mode:restricted
Power Management:off
Link Quality:0 Signal level:0 Noise level:0
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0


The next step in your guide is to do a 'dhcpcd wlan0,' However when I issue that command, my command line stalls for about 1 minuite, and then dumps back to prompt, without retrieving an IP or setting up the interface..

I am in the process of disabling WEP for the moment, and I'll respond with the results of that endeavour.
Back to top
View user's profile Send private message
Chaosite
Guru
Guru


Joined: 13 Dec 2003
Posts: 540
Location: Right over here.

PostPosted: Sat Dec 25, 2004 11:19 am    Post subject: Reply with quote

Hey, fuxxy :)
(I remember your from IRC last night)


Hmmm...

You sure you did a "make install"?

Thats the only thing I can think that would make insmod work and modprobe not work right now.

And for the other thing: Try to configure it manually first, AKA ifconfig wlan0 up, ifconfig wlan0 <someIP>, etc.

If you can see that you got a MAC address in iwconfig, then your wireless card is set up correctly. Else, you need to check the configuration you gave it.
Back to top
View user's profile Send private message
TheNull
n00b
n00b


Joined: 10 Aug 2004
Posts: 37

PostPosted: Wed Dec 29, 2004 11:18 am    Post subject: Reply with quote

Thank you very much Chaosite.
I remember like 8 months ago, I tried to get this driver working for 3 days straight and failed. However with your walkthrough, it took a grand total of 5 minutes.

Once again, thanks alot, and thanks to the acx100 driver dev team =D
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Documentation, Tips & Tricks All times are GMT
Goto page 1, 2, 3  Next
Page 1 of 3

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum