Linux - Wireless NetworkingThis forum is for the discussion of wireless networking in Linux.

Notices

Welcome to LinuxQuestions.org, a friendly and active Linux Community.

You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!

Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.

If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.

Having a problem logging in? Please visit this page to clear all LQ-related cookies.

Introduction to Linux - A Hands on Guide

This guide was created as an overview of the Linux Operating System, geared toward new users as an exploration tour and getting started guide, with exercises at the end of each chapter.
For more advanced trainees it can be a desktop reference, and a collection of the base knowledge needed to proceed with system and network administration. This book contains many real life examples derived from the author's experience as a Linux system and network administrator, trainer and consultant. They hope these examples will help you to get a better understanding of the Linux system and that you feel encouraged to try out things on your own.

Currently Linux wireless development has been focusing on two completely different wireless stacks, the SoftMAC stack and the Devicescape (dscape) stack. The bcm43xx driver has been traditionally using SoftMAC, and that is what will be included in the 2.6.17 kernel. However, there has been a fork of the project using the dscape stack. I've written this howto largely because I've found the behavior of the SoftMAC stack highly annoying (on my rig you only have a short time window to obtain an IP address or it turns off the radio) so I dove into building the kernel with the dscape stack. This has worked for me, but as always, YMMV.

Oh, and don't forget to have a functioning backup kernel available and that you know how to boot to it. If you're like me, you're gonna screw this up a few times before you get it right and you don't want to be left kernelless. You have been warned.

The instructions in the fwcutter tarball are actually pretty good. Basically you just need to compile it and then run it against your Windows driver to extract the firmware files. Finally, running make installfw will copy those files to /lib/firmware

This will create a directory call ./linux-2.6 and will download the whole kernel, so it may take a bit.
Patch the kernel source
Drop into the linux-2.6 directory. Git needs two environment variables set in order to apply the patch, so do that first:

Can't you just pull straight from the wireless-dev tree, without going through pulling Linus' tree first (doing so worked fine for me)?

It's probably worth noting for BCM4318 owners that support for that chip is considered 'broken' by the bcm43xx developers - therefore, if you can get the chip working, congratulations. Otherwise, the official line appears to be don't expect a fix until at least 2.6.18 - swapping between ieee80211+Softmac and Devicescape won't necessarily persuade this particular chip to work (I've tried).

Hangdog42 i've been messing around with a broadcom 4318 chipset for days now. After reading this post, everything worked! (Acer Aspire 3002Lci, amd64 processor)
here is what i did
1. I downloaded the driver bcmwl564.sys as was in the fwcutter README file

2. i downloaded ndiswrapper 1.32, and wpa_supplicant.0.4.9

for the longest time i was stuck at this point as wpa_supplicant would not connect saying "Driver does not repost to request" or something similar

after trying the WEXT driver like you mentioned here. it worked like a dream.

Can't you pull the patch from kernel.org? Last time I checked, John Linville's patch was still there.

I'we tried to find it, but got lost in the tree :-(

What was that URL You found the patch on?

Right now I'm 'git-ing' the whole kernel-tree as described above in this thread :-(
...
Man I wish to see this two ACXs working a bit more stable (like the ATHs for example?). I somehow feel the ACX chips are OK but the driver is a bit flaky (no OEM support ever from TI)...
And the BCM (in few of ours APs) could use dscape's stack also instead of the OEM wl pack...
If I get the stack properly I'll run a diff and put it on our public ftp (a 256k bottleneck :-( ) for anyone to use 'till in official kernel.

Well, the URL for the entire list of development kernels is http://kernel.org/git. That just gets you a listing, and John Linville's stuff is there. If you need to retrieve it with git (and if you are compiling the dscape stack into the kernel, I would suggest doing this) then git pull git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-dev.git should work. I haven't compiled this in a bit, but I can't imagine that they would have changed git access. If you have trouble with this, please let me know.

If you're doing this today, I've noticed that kernel.org is under some HEAVY loads. I keep getting timeouts, so you may want to try later.

Yap!
I'we got the kernel from linville's tree (cloned all from linville's git-tree):
The kernel is (according to the Makefile) 2.6.20-rc3 and I saw clearly the acx there. So I gave it a go :

Code:

$ make menuconfig
# make modules_install
$ make bzImage
(clean compile in #1 pass :D )
# make install (that's still pending - it was done on a server ...)

As you may notice, I reply ASAP I 'git-ed' the thing. I'm still up to post a patch on our ftp as soon as I test the kernel.

Thanks for the intro to git

PS from my point of view (64k link) there is absolutely nothing wrong on kernel.org , may be because I gitted from Linville instead from Torvalds?
PPS HOW TO make a downloaded kernel (.tar.bz2) 'gittable'? (I'm a know-nothing with git, even failed to #make the docs :-P)

PPS HOW TO make a downloaded kernel (.tar.bz2) 'gittable'? (I'm a know-nothing with git, even failed to #make the docs :-P)

You'll have to dig into the git documentation to figure that bit out. I can use git to create a kernel tree and patch it, but that is the extent of my git skills. One thing to keep in mind however, it that I believe git is supposed to be source code control version control software, sort of like CVS.

It seems that Linville's kernel was 2.6.20-rc3
1.
It did compile twice cleanly from the gitted config slightly altered by me. It is to be noted that a vanilla kernel is not to be ecpected to allways compile clean when altered the first time, even more if it's a rc.
Then I rebooted on a machine without any wireless interfaces (sort of dry run):
The changes are rather huge - my net-interfaces (I speak about Slackware 10.2 / 11.0) where all messed up (wrong drivers loaded etc.)
The latency of the kernel was ok (300 Hz/preemptive-server)
All seemed OK, so I stepped further ;-)
I ftp-ed the folder with the source-tree on the wireless router.
Did the 2nd make (a clean make with the 1st config)
re-configured the boot and fired it up (now it gets tense)
The ifaces are now eth1 and -2 instead wlan0 and -1 (!)
The acx-common complains about fware (the fware exists and is a year-long used by the acx20060521)
I fiddle with the hotplug supposed to handle the fw to the driver and guess-what: it doesn't even hit /var/log/messages
The fw is uploaded via udev on slack 11.0 now ;-), so I edit the /lib/udev/firmware.helper report success too:
-???- nothing in the logs -???-
The logger has wrong path!? it's not /sbin/logger its (on my slack) /usr/sbin/logger now ! so I edit this too... (no wonder fw never complains ever about failure, the err() hits a non-existend logger :-) )
Finally I'we got the situation in sight:
The acx has bugs:
a. It loads good
b. It requests FW (tiacx100c0D) <-- wrong acx100 can't handle combined FW at all! it should request either [tiacx100] or [tiacx111c??] accordingly !!! (got info for that on acx's wiki 100% developer proven source)
c. Then it falls back to request [tiacx100r0D] which loads OK
d. guess what: missing the [tiacx100] FW the card fails to init, despite the radio IS scanning ...
e. Nothing happens (well thats not 100% true, the driver tries invaine to get success from the card)
So, that's it. I got the linville's git
It compiles and works (dinno for the other cards)
It has a bug in tiacx (the acx-pci module) regarding FW request.
BTW there are newer drivers for vanila kernels above 2.6.16:
look at http://www.cmartin.tk/acx there lays a 2007* tarball :-) and its allready rolling our traffic on sayd WiFi router

Enough said, Now i would like to help fix this FW bug (dunno how) and to test the brand new dscape warfare of acx
Any clues out there?
EDIT:
few typos, bad english (non-native language pack for me :-} )

Now i would like to help fix this FW bug (dunno how) and to test the brand new dscape warfare of acx
Any clues out there?

I'd suggest contacting the ACX developers. They are going to be the best source for information about bugs and how to go about fixing them. They are also probably more aware of how their drivers might work the the dscape stack.