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.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
OK, I stand corrected. I grabbed the ieee80211 source package and there is neither a README nor a configure script. The INSTALL file gives pretty clear instructions, though.
After reading the INSTALL file and the project page info, it's clear that the ieee80211 stuff should be included in recent kernels. If not, you can recompile to include it. In-tree is the way to go.
Also, the INSTALL file tells how to remove old versions of the package, even though I'm not sure you ever got far enough to install it.
You can save a reinstall of the whole thing by reinstalling just the kernel source, modules and headers. That should put you back to an in-tree base, assuming FC kernels include it. Then, you can add the other pieces and (hopefully) roll on.
Oh wow I don't even think I know how to do any of that. This "recompiling" stuff is waaay advanced for anything that I know how to do at this point.
I think I know how to reinstall the kernel source and that, the headers will be a little more complicated as I do not think they are included. I was just reading something about it and it said that it does add a bit of the kernel headers, but not all. so there is an extra step to ensure that the kernel headers are all installed.
This all sounds rather intense.
But I will try and see if I can't reinstall those parts of the kernel and see if I cant get back on the right track.
K I am back
I finally got around to trying this
What I did was I reinstalled the 'kernel-devel' file which is supposed to install the kernel headers and what not. According to the 'INSTALL' file of the ipw3945 drivers I should have this directory '/lib/modules/\`uname -r\`/build'. I checked and I have that directory which contains the following files:
arch include lib scripts
block init Makefile security
crypto ipc mm sound
drivers kabi_whitelist Module.symvers symsets-2.6.19-1.2911.fc6.tar.gz
fs kernel net usr
Ok so that is ok...I believe. Anyways I went through the installation of ieee80211 procedure that is detailed in the 'INSTALL' file. I found out that to install it as a subsystem you have to include this in the 'make' command. The command they tell you to issue is:
make IEEE80211_INC=/usr/include
It says that doing this will add the 'ieee80211.h' to the '/usr/include/net' directory. But when I check that directory that file isn't there.
So when I go to build the drivers for ipw3945 I am still getting the same error saying that ieee80211 isn't a in-tree subsystem.
When I issue the 'make' command in the ipw3945 directory should I specify the '/usr/include/net' directory so that it will look for the 'ieee80211.h' in that directory? Before I get to that though I guess I should focus just on getting the ieee80211 to install properly.
After I issue the 'make IEEE80211_INC=/usr/include' I then issue the 'make install' command to install ieee80211. Is this possibly where I am going wrong? Do I need to specify some special information here. In the 'INSTALL' file for ieee80211 it doesn't have any information about the actually installation of it.
Please any help would be greatly apprecaited!
thanks
todd
Someone suggested that I need to tell the ipw3945 'Makefile' where to look for the ieee80211.h file. I actually found the file, it is located here: '/lib/modules/2.6.19-1.2911.fc6/include/net'.
How do I tell the 'make' to look for the 80211 subsystem in this directory? I tried this syntax but received an error 'nothing to do': 'make /lib/modules/2.6.19-1.2911.fc6/include/net'
I can't answer most of your questions, unfortunately. Editing makefiles is beyond my expertise by no small measure.
Looking at the file, though, it will need root permissions to do the stuff it does. Are you running "make" as root?
Yeah man I am running them as root.
Damn. I feel like I am so freaking close to figuring this out. I can't figure out why in gods name it won't install as an in-tree subsystem. At this point I don't know what to do now.
This has been a most frustrating experience. Thanks for the help though man up to this point.
I found this in the 'Makefile' for the ipw3945 drivers. There has to be step I am missing when I issue the make 'IEEE80211_INC=/usr/include'. I don't think I am specifying the proper location.
Code:
# If IEEE80211_INC has not been specified by the user then we try and
# determine if the current kernel contains a subsystem.
ifeq ($(IEEE80211_INC),)
# If the user specified a KSRC target, then ignore the default
# search locations and look *ONLY* in KSRC and KSRC/build
ifeq ($(KSRC),)
# We check both /lib/modules/$(shell uname -r)/build as
# well as /lib/modules/ since the later is where 'make
# install' places the ieee80211 files with the
# out-of-tree ieee80211 subsystem.
IEEE80211_RES := $(shell $(DIR)/snapshot/find_ieee80211 \
/lib/modules/$(shell uname -r) \
/lib/modules/$(shell uname -r)/build)
else
IEEE80211_RES := $(shell $(DIR)/snapshot/find_ieee80211 \
$(KSRC) \
$(KSRC)/build)
endif
else
IEEE80211_RES := $(shell $(DIR)/snapshot/find_ieee80211 \
$(IEEE80211_INC))
endif
IEEE80211_BASE := $(shell var=($(IEEE80211_RES)) ; echo $${var[1]})
IEEE80211_PATH := $(shell var=($(IEEE80211_RES)) ; echo $${var[0]})
ifeq ($(IEEE80211_INC),)
IEEE80211_SYM=${IEEE80211_BASE}/net/ieee80211
else
IEEE80211_SYM=${IEEE80211_BASE}
endif
Its not finding that I have specified the location. Is there anyway to check to see if the kernel headers have properly been installed?
Also can you suggest another that I can try to see if maybe someone else knows?
If that shows a bunch of files with a .h suffix, your headers are there.
As for another makefile, I think that's a road to nowhere. Stay with the one for the package you're wanting to install. You may have to edit it, but ...
Did we ever determine that you absolutely had to install a new ieee80211 package? (Sorry, but this one has been going for a while and I don't remember the specifics.) One should be included in the FC install (or on the CDs). I'm surprised the ipw3495 isn't as well. Stupid Fedora.
ok so good news.
I got it worked...partially. It is a kind of sketchy way of doing it but it works. The only thing I have having problems with now is having it work at home with the WAP-PSK encryption enabled on the wireless. For some reason it won't take the encryption code I give it. I tried it with network manager and manually using the 'iwconfig' command but still nothing. I also attempted to get it to work with wpa_supplicant but to no avail. Anyone know how to get through the wpa encryption stuff?
thanks todd
p.s. When I am 100% sure of how it is actually working I will post to let you know. Although I don't know how many other people will actually go this route. I had a teacher at my college help me with it as he is a linux guru!
oh ok so i do definitely have to enable it myself eh. Awesome thanks for the link, although it isn't currently working. And I am just figuring out a few last things before i post exactly what it was that made it work. still no luck at home though.
Awesome man thanks for the link. Ok I have wpa_supplicant coming on at boot. However it is still not allowing me to connect to my network at home. I can connect at school piece of cake. When I am connecting at school I have to run a script, don't ask me why because I honestly don't know but I can give you what is in the script.
Script for connection at school:
With all of this I am still not able to connect to the network. My computer for sure sees it but I can't connect to it. Also, I tried using NetworkManager but for some reason it won't allow me to connect at home or school, don't know why. The prof that helped me at school said NetworkManager is pretty hit or miss, depending upon the distro you are using.
Thanks again for all the help up till now
hopefully I can get over this last hurdle!
What happens when you run wpa_supplicant from a command line?
Run it in the foreground rather than background and make the output verbose.
Ok I think I got the output you wanted. This is the output I got when I issued this command.
After reading the man page for wpa_supplicant I tried this command.
'wpa_supplicant -i eth1 -c /etc/wpa_supplicant/wpa_supplicant.cong -K <key for network>'
Output:
Code:
iotcl[PRISM2_IOCTL_HOSTAPD]: Operation not supported
Failed to set encrption.
iotcl[PRISM2_IOCTL_HOSTAPD]: Operation not supported
Failed to set encrption.
iotcl[PRISM2_IOCTL_HOSTAPD]: Operation not supported
Failed to set encrption.
iotcl[PRISM2_IOCTL_HOSTAPD]: Operation not supported
Failed to set encrption.
bind(PR_UNIX): Address already in use
iotcl[PRISM2_IOCTL_HOSTAPD]: Operation not supported
Failed to initiate AP scan.
Trying to associate with <mac address> (ssid='<my network name>' freq=0 MHz)
iotcl[PRISM2_IOCTL_HOSTAPD]: Operation not supported
Authentication with 00:00:00:00:00:00 timed out
And then after that it just keeps trying to associate itself the my network. So I have apparently done something wrong somewhere. If I use the -D option, which allows you to specify the driver, I enter 'ipw3945' and I also tried with 'ipw3945', I get a message back saying the driver isn't supported. Could this have something to do with my problem?
You have to specify the driver. First, try -Dwext. If that doesn't work, you may need to compile the wpa_supplicant package for support of your driver.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.