LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Wireless Networking (https://www.linuxquestions.org/questions/linux-wireless-networking-41/)
-   -   Network Manager's strange relationship with wpa_supplicant? (https://www.linuxquestions.org/questions/linux-wireless-networking-41/network-managers-strange-relationship-with-wpa_supplicant-787633/)

PTrenholme 02-12-2010 08:33 PM

The lsmod commad reads /proc/modules and lists all kernel modules that are installed. So a lsmod | grep -i airo should show you any loaded modules that have "airo" in their name.

Perhaps you need to run sudo depmod to regenerate the module dependency table. (This only takes a few minuets, so it won't hurt to run, but isn't likely to be the problem.)

If the airo_cs isn't loaded, and there aren't any error messages, then I suspect you're correct that no card that the driver supports was detected.

If that's the case, and you don't want to use the Windows driver via ndiswrapper, I'd suggest that you go to eBay and look for a minPCI card that's supported by a FOSS Linux driver (like, for example, the Atheros one I use). Replacing a miniPCI card is a fairly trivial exercise for most laptops. (I've never tried it on a IBM laptop, but I've had no problems making the change on a Gatway laptop or this HP one I'm using now.) You might even be able to find one that supports the new Wireless-N specification in addition to WPA2 or even WPA3.

BorisTheSpider 02-13-2010 08:45 AM

I ran "man depmod" to learn what depmod does. It says that a list is created in the /lib/modules/[kernel version]/modules.dep file.

Within the file, the list structure appears to show each module, and ends with a colon. It also appears that when a module is successfully "modded" (for lack of a better word), the list begins a new line after the colon. However, if the module is not correctly "modded", after the colon and on the same line, another module is depicted. This is all purely my interpretation, though.

The airo.ko module appears about a fifth of the way down the list. On the next line appears the airo_cs.ko module. On the same line, after the colon, the airo.ko module appears again. Here is how it appears in the file:
Code:

kernel/drivers/net/wireless/airo.ko:
kernel/drivers/net/wireless/airo_cs.ko: kernel/drivers/net/wireless/airo.ko

I'm gonna undo the blacklisting we performed, and go back to further investigation on the airo driver. There are email addresses on that HP webpage for the people who wrote the driver support for certain older kernels. Perhaps they may have some insight to share.

I was hoping to not have to change my card. I have read on the internet about people having difficulties with this card. As much as I love a good mystery, I was hoping to find a solution and share it with the Aironet user world.

PTrenholme 02-13-2010 05:39 PM

Hum, no, what that says is that the airo_cs module depends on the airo module. So, yes, it looks like you will need to remove the airo blacklist so airo_cs can run.

Weird: The way I read the 3.14 and 3.16 sections was that they were independent drivers. :scratch: Well, maybe the web page hasn't been kept in sync with the driver development.

BorisTheSpider 02-15-2010 06:08 AM

This is a long post, sorry.

Well, I thought I was lost 'til I happened to look into /var/log/boot.log

This shows up in the boot log
Code:

WARNING: /etc/modprobe.d/airo_cs.conf line 1: ignoring bad line starting with 'install'
Funny how this info does not appear in dmesg.

It seems the way we have written it, airo_cs will not load. Do we need to use a different word, other than "install"? Do we need to use "modprobe" or "insmod" or something like that? (been looking at man pages, but still unfamiliar)

Also, I don't think we really have done or changed anything so far, however, "iwlist scan" now reports info about my home wireless network. It didn't used to do that. I still have to "service network restart" to get the wireless card working upon every reboot
Code:

iwlist scan
lo        Interface doesn't support scanning.

eth0      Scan completed :
          Cell 01 - Address: 00:18:01:EC:9C:38
                    ESSID:"D5O92"
                    Mode:Master
                    Frequency:2.437 GHz (Channel 6)
                    Quality=16/100  Signal level=-87 dBm  Noise level:0 dBm
                    Encryption key:on
                    Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s
                    Extra:bcn_int=100
          Cell 02 - Address: 00:14:6C:45:66:C6
                    ESSID:"LaLaLand"
                    Mode:Master
                    Frequency:2.462 GHz (Channel 11)
                    Quality=100/100  Signal level=-40 dBm  Noise level:0 dBm
                    Encryption key:on
                    Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s
                    Extra:bcn_int=100
                    IE: WPA Version 1
                        Group Cipher : TKIP
                        Pairwise Ciphers (1) : TKIP
                        Authentication Suites (1) : PSK
          Cell 03 - Address: 00:1F:90:E3:09:1A
                    ESSID:"EGR80"
                    Mode:Master
                    Frequency:2.462 GHz (Channel 11)
                    Quality=1/100  Signal level=-97 dBm  Noise level:0 dBm
                    Encryption key:on
                    Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s
                    Extra:bcn_int=100

wifi0    Scan completed :
          Cell 01 - Address: 00:18:01:EC:9C:38
                    ESSID:"D5O92"
                    Mode:Master
                    Frequency:2.437 GHz (Channel 6)
                    Quality=18/100  Signal level=-86 dBm  Noise level:0 dBm
                    Encryption key:on
                    Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s
                    Extra:bcn_int=100
          Cell 02 - Address: 00:14:6C:45:66:C6
                    ESSID:"LaLaLand"
                    Mode:Master
                    Frequency:2.462 GHz (Channel 11)
                    Quality=100/100  Signal level=-38 dBm  Noise level:0 dBm
                    Encryption key:on
                    Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s
                    Extra:bcn_int=100
                    IE: WPA Version 1
                        Group Cipher : TKIP
                        Pairwise Ciphers (1) : TKIP
                        Authentication Suites (1) : PSK

eth1      Interface doesn't support scanning.

sit0      Interface doesn't support scanning.

My wireless network is called LaLaLand. As you can see, my Linux box is detecting the encryption method as WPA1. The other neighboring networks are WEP encrypted, so when I restart the network service, I get a gui popup asking for a WEP passphrase to logon to "D5092".

Here's another funny thing. When I run
Code:

service network restart
this is what is reported
Code:

service network restart
Shutting down interface eth0:                              [  OK  ]
Shutting down interface eth1:                              [  OK  ]
Shutting down loopback interface:                          [  OK  ]
Bringing up loopback interface:                            [  OK  ]
Bringing up interface eth0: 
Determining IP information for eth0... failed.
                                                          [FAILED]
Bringing up interface eth1: 
Determining IP information for eth1.../etc/sysconfig/network-scripts/ifup-eth: line 298:  6151 Terminated              /sbin/dhclient ${DHCLIENTARGS} ${DEVICE}
 failed.
                                                          [FAILED]
You have mail in /var/spool/mail/root

Why does it say both NICs failed? It says "eth1" (my wired connection) FAILED, even though it comes back up and works fine. More over, it says my eth0 (wireless) failed, but it is up, working, and detecting wireless connections. At work, when I restart the network service, I get the same output in the cli, but Network Manager connects to the closest open network. The /var/spool/mail/root file is not very big. would you like to see what it says? It doesn't make to much sense to me, but there are some things in there that look like red flags.

Is this weird?

PTrenholme 02-15-2010 09:03 AM

First (my bad:redface:) the install command requires a second argument: the program to be run to do the install. So I should have said that the command line in the /etc/modprobe.d/ario_cs.conf file should be install areo_c /sbin/modprobe. If you look at the manual page (man modprbe.conf) that's what it actually says.

Second, just doing a sudo modprobe airo_cs should cause the system to load the driver every time you boot without the necessity of any file in /etc/modprobe.d. (See man modprobe for details.) If you look at the files in /etc/modprobe.d/, you'll see that the only ones there are ones that require "special" processing.

So, try this:
  • Comment out the blacklist_airo and airo_cs files in /etc/modprobe.d by, e.g., a mv /etc/modprobe.d/airo_cs.conf /etc/modprobe.d/airo_cs.conf~.
  • Do a modprobe -vr airo airo_cs to remove the modules if they're loaded.
  • Do a modprobe -v airo_cs to (re) install the airo_cs module (and it's dependencies, if any).
Note that the -v modprobe option is the "verbose" one, so you should get some descriptive messages.

If that works, let us know. If not, show the messages.

Oh, re your last post: the messages you see in the log are just telling you that you havent set up an "automatic" connection. The NetworkManager doesn't use the "automatic" connection mode.

BorisTheSpider 02-19-2010 07:22 AM

Sorry I haven't responded to my own thread in so long. We all of a sudden got busy at the shop. This will also be a long post, sorry.

Ok, where to begin? Ok, I got rid of all the blacklisting work we performed previously.

Ran the modprobe airo airo_cs and got
Code:

modprobe -vr airo airo_cs
WARNING: Deprecated config file /etc/modprobe.conf, all config files belong into /etc/modprobe.d/.
rmmod /lib/modules/2.6.32.7-37.fc12.i686.PAE/kernel/drivers/net/wireless/airo.ko
WARNING: Deprecated config file /etc/modprobe.conf, all config files belong into /etc/modprobe.d/.

Which I guess is ok. It warned me about the deprecated modprobe.conf file, but performed the rmmod anyway.

Ran the second modprobe airo_cs and got
Code:

modprobe -v airo_cs
WARNING: Deprecated config file /etc/modprobe.conf, all config files belong into /etc/modprobe.d/.
insmod /lib/modules/2.6.32.7-37.fc12.i686.PAE/kernel/drivers/net/wireless/airo.ko
insmod /lib/modules/2.6.32.7-37.fc12.i686.PAE/kernel/drivers/net/wireless/airo_cs.ko
You have mail in /var/spool/mail/root

Which, again, I guess is ok. It warned me about the deprecated modprobe file, but performed the insmod on both drivers anyway.

Well upon reboot and a run of dmesg reveals that the airo_cs driver was not loaded. I was under the assumption that the work we performed here was to force install the driver so that it would show up as installed.

I rechecked the /var/log/boot.log file, and those errors we encountered before did not come back.

Running dmesg while looking only for stuff relating to airo produces this:
Code:

dmesg | grep airo
airo(): Probing for PCI adapters
airo 0000:02:02.0: PCI INT A -> Link[LNKC] -> GSI 11 (level, low) -> IRQ 11
airo(): Found an MPI350 card
airo(eth0): Firmware version 5.60.08
airo(eth0): WPA supported.
airo(eth0): MAC enabled 00:0e:9b:68:c7:fc
airo(): Finished probing for PCI adapters
airo(eth0): set_wep_key: key length to set was zero
airo(eth0): failed to set WEP key at index 0: -1.
airo(eth0): set_wep_key: key length to set was zero
airo(eth0): failed to set WEP key at index 1: -1.
airo(eth0): set_wep_key: key length to set was zero
airo(eth0): failed to set WEP key at index 2: -1.
airo(eth0): set_wep_key: key length to set was zero
airo(eth0): failed to set WEP key at index 3: -1.
airo(eth0): cmd:1 status:7f01 rsp0:88 rsp1:ff10 rsp2:c0f0
airo(eth0): Bad MAC enable reason=88, rid=ff10, offset=49392
airo(eth0): cmd:103 status:7f03 rsp0:0 rsp1:ff10 rsp2:c0f0
airo(eth0): cmd:103 status:7f03 rsp0:0 rsp1:ff10 rsp2:c0f0
airo(eth0): cmd:103 status:7f03 rsp0:0 rsp1:ff10 rsp2:c0f0
airo(eth0): cmd:103 status:7f03 rsp0:0 rsp1:ff10 rsp2:c0f0
airo(eth0): cmd:103 status:7f03 rsp0:0 rsp1:ff10 rsp2:c0f0
airo(eth0): cmd:2 status:7f02 rsp0:0 rsp1:ff10 rsp2:c0f0
airo(eth0): cmd:1 status:7f01 rsp0:88 rsp1:ff10 rsp2:c0f0
airo(eth0): Bad MAC enable reason=88, rid=ff10, offset=49392
airo(eth0): cmd:2 status:7f02 rsp0:0 rsp1:ff10 rsp2:c0f0
airo(eth0): cmd:1 status:7f01 rsp0:88 rsp1:ff10 rsp2:c0f0
airo(eth0): Bad MAC enable reason=88, rid=ff10, offset=49392
airo(eth0): cmd:2 status:7f02 rsp0:0 rsp1:ff10 rsp2:c0f0
airo(eth0): cmd:1 status:7f01 rsp0:88 rsp1:ff10 rsp2:c0f0
airo(eth0): Bad MAC enable reason=88, rid=ff10, offset=49392
airo(eth0): cmd:2 status:7f02 rsp0:0 rsp1:ff10 rsp2:c0f0
airo(eth0): link lost (local choice)
airo(eth0): set_wep_key: key length to set was zero
airo(eth0): failed to set WEP key at index 0: -1.
airo(eth0): set_wep_key: key length to set was zero
airo(eth0): failed to set WEP key at index 1: -1.
airo(eth0): set_wep_key: key length to set was zero
airo(eth0): failed to set WEP key at index 2: -1.
airo(eth0): set_wep_key: key length to set was zero
airo(eth0): failed to set WEP key at index 3: -1.
airo(eth0): set_wep_key: key length to set was zero
airo(eth0): failed to set WEP key at index 0: -1.
airo(eth0): cmd:1 status:7f01 rsp0:88 rsp1:ff10 rsp2:c0f0
airo(eth0): Bad MAC enable reason=88, rid=ff10, offset=49392
airo(eth0): cmd:2 status:7f02 rsp0:0 rsp1:ff10 rsp2:c0f0
airo(eth0): cmd:1 status:7f01 rsp0:88 rsp1:ff10 rsp2:c0f0
airo(eth0): Bad MAC enable reason=88, rid=ff10, offset=49392
airo(eth0): cmd:2 status:7f02 rsp0:0 rsp1:ff10 rsp2:c0f0
airo(eth0): link lost (local choice)
airo(eth0): link lost (local choice)
airo(eth0): link lost (local choice)
airo(eth0): link lost (local choice)
airo(eth0): link lost (local choice)
airo(eth0): link lost (local choice)
airo(eth0): link lost (local choice)
airo(eth0): link lost (local choice)
airo(eth0): link lost (local choice)

Again, no mention of the airo_cs driver. And again, I have a few questions about this output.

I suppose the airo driver is configured to look for WEP netorks, but why does it keep looking, or am I interpreting this output incorrectly?

Here's an interesting line, which I haven't found a reason for when searching on the internet:
Code:

airo(eth0): Bad MAC enable reason=88, rid=ff10, offset=49392
What does "Bad MAC enable reason=88" mean?

Here's another question from an "iwlist scan" output on a previous post. What's the difference between "eth0" and "wifi0"?

I'm still a bit confused, and I think there has been no connection progress, but education progress has definately been made. I learn something new every time you respond.

Thanks

PTrenholme 02-19-2010 04:45 PM

Yes, well, it would be nice if someone familiar with the airo driver could offer some input.

As I explained, I'm only offering the "standard solution to WIFI connection problems" advice, with little specifics.

Anyhow, to answer your question re eth0 and wifi0, both are just names that you've assigned to various Ethernet connections. (Actually, those are "default" names, but, since they're arbitrary, you've "assigned" them by accepting the defaults.) Conventionally, names starting with eth are used for wired connections and those starting with wifi are used for wireless ones. But it really is quite arbitrary, and drivers will often name the connection for which they're responsible in some mnemonic fashion. (For example, my wife's Wireless-N connection is called ra, and my Atheros connection calls itself ath0.)

Now, about the failure to set the four WEP key values, I suspect that system-config-network was used to set up wifi0 some time ago. That program doesn't "understand" WPA protection, so it insists on setting up a WEP key scheme. If you set the wifi0 check-box option to "Active on boot," which you should never (well, hardly ever) do for a non-wired connection, you'll see those messages.

But, does the NetworkManager icon show you any scan results? Are the WPA connections un-grayed? If so, have you tried one?

BorisTheSpider 02-22-2010 06:54 AM

No, nothing new. Well actually, something new, but very undesirable.

I unchecked that box next to "Activate device when computer starts" in the system-config-network gui, and now when I restart network services, my wireless card does not turn on like it used to:
Code:

service network restart
Shutting down interface eth0:                              [  OK  ]
Shutting down interface eth1:                              [  OK  ]
Shutting down loopback interface:                          [  OK  ]
Bringing up loopback interface:                            [  OK  ]
Bringing up interface eth1: 
Determining IP information for eth1...RTNETLINK answers: File exists
 done.
                                                          [  OK  ]

The goofy part is that last line. As you can see from my 15 Feb post, both eth0 and eth1 usually report failed, even though they will still connect to the "path of least resistance" network (home=wired, work=a nearby open wireless network). I can only draw one conclusion to the change. Some recent updates including a new kernel, SELinux policies and so forth.

So, I rechecked that box, and restarted my computer. Performed a service network restart, the output for my wireless card was failed
Code:

Bringing up interface eth0: 
Determining IP information for eth0.../etc/sysconfig/network-scripts/ifup-eth: line 298:  2316 Terminated              /sbin/dhclient ${DHCLIENTARGS} ${DEVICE}
 failed.
                                                          [FAILED]

, but it still connected to the nearest open network.

I'm still a bit miffed that after all the work to force the airo_cs driver to load, the driver still does not appear to be loaded.

In answer to your question, all WPA encrypted networks are still greyed. And, I never heard back from that guy who wrote the driver. Perhaps he busy teaching the third world how to use Linux.

BorisTheSpider 03-03-2010 06:54 AM

Hey, Matthieu Castet wrote me back after all. It seems he has been working on an airo driver that works with today's kernels. Unfortunately for me, it's source. I don't know much of how to use the software he asked me to download.

Here is the email thread: (The list of files follow)

Dear Matthieu,

I hope it is appropriate to write to you. My name is John Bouras. I live in Arlington, Virginia, USA. I started using Linux last year with Fedora 9, and I'm very happy to continue. I'm using Fedora 12 today.

I got your email from the HP webpage "The devices, the drivers - 802.11b" by Jean Tourrilhes. On that page, under the heading of: " 3.14 Aironet ARLAN 4500, 4800, Cisco 340 and Cisco 350 series" you are listed as a contributor to the driver airo.o and airo_cs.o, specifically WPA support.

As I mentioned, I wonder if it is appropriate to write to you to ask for help. I have an IBM ThinkPad R40 with an Aironet MPI350 wireless card. It works fine with open and WEP encrypted networks, but not with WPA. I have scoured the internet and found quite a few unhappy owners of this card.

As I have embraced Linux as my operating system, I am not interested in using ndiswrapper to make the card work, and will only use it as a last resort.

Is there any insight you can give me? Would you be willing to work with me to get this card to work?

John

...and his reply:

Hi John,


John Bouras a écrit :
- Show quoted text -
The driver from http://gna.org/projects/airo-wpa (svn version branches/kernel/) should work.
To enable wpa, you should add "wpa_enabled=1" module option.

I am using it with 2.6.32.


Matthieu

...and the list of files:

[Folder]airo-wpa
airo.c
Makefile
wpa_supplicant_wpa-EAP.conf
wpa_supplicant_wpa-PSK.conf
[Folder]doc
airo.rid
ndiswrapper.diff
README


Now, I tried to look on the internet on how to use source, but I'm confused about what "branches/kernel/" means. Plus, I don't know where to add the "wpa_enabled=1" module option. Do you, by any chance?

PTrenholme 03-03-2010 01:27 PM

Theoretically the instructions are in the README file, but I'll have to look at the files. The "SVN version information ("branches/kernel") is just telling you where the code is located in the development code repository.

More later. (One of my drives just failed, and I need to deal with that first.)

BorisTheSpider 03-03-2010 01:46 PM

Take your time. I have other issues besides the wireless card. My USB ports no longer work, and I am contemplating whether to install yet another motherboard, or simply buy another computer and keep this 6 year old laptop as simply an internet portal. Our service writer has a VAIO that he is willing to sell for $250. Unfortunately for me, it has no trackpoint (love my ole' IBM), but it's newer with a faster processor so it may perform better than my Pentium 4M IBM ThinkPad. I still wanna solve this issue so others can look at this thread and be saved (maybe that's too dramatic).

PTrenholme 03-09-2010 02:55 PM

O.K., here's how I did it on my system, except, of course, I can't try out the driver since I don't have that device installed.
Code:

$ mkdir tmp
$ cd tmp
$ svn co http://svn.gna.org/svn/airo-wpa/branches/kernel airo-wpa

A    airo-wpa/airo.h
A    airo-wpa/airo_cs.c
A    airo-wpa/airo.c
A    airo-wpa/Makefile
Checked out revision 49.
$ ls
airo-wpa
$ cd airo-wpa/
$ make

make -C /lib/modules/2.6.32.9-67.fc12.x86_64/build M=/home/Peter/tmp/airo-wpa EXTRA_CFLAGS=-DDEBUG
make[1]: Entering directory `/usr/src/kernels/2.6.32.9-67.fc12.x86_64'
  LD      /home/Peter/tmp/airo-wpa/built-in.o
  CC [M]  /home/Peter/tmp/airo-wpa/airo.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /home/Peter/tmp/airo-wpa/airo.mod.o
  LD [M]  /home/Peter/tmp/airo-wpa/airo.ko
make[1]: Leaving directory `/usr/src/kernels/2.6.32.9-67.fc12.x86_64'
$ ls
airo.c  airo_cs.c  airo.h  airo.ko  airo.mod.c  airo.mod.o  airo.o  built-in.o  Makefile  modules.order  Module.symvers
sudo modprobe -r airo
Password:
sudo cp -b airo.ko /lib/modules/2.6.32.9-67.fc12.x86_64/kernel/drivers/net/wireless/airo
sudo depmod
sudo modprobe airo

Of course your kernel version may differ from mine, and you may need to do a yum install svn kernel-devel to install the files you need to compile the driver as a kernel module.

Note that everything from the last ls on down is my guess of what you need to do, since I didn't want to actually install a driver I couldn't use.

BorisTheSpider 03-09-2010 11:24 PM

First, Thank you for replying. I hope your drive incident was not too costly. Second, Thanks for leaving some stuff out. How else am I gonna learn?

Since I run the PAE kernel, I had to run
Code:

yum install kernel-PAE-devel
. After that, I ran the make, and I got lines that said
Code:

/usr/src/kernels/2.6.32.9-70.fc12.i686.PAE/scripts/gcc-version.sh: line 25: gcc: command not found
After looking over the internet, I found that gcc needed to be installed. Afterwhich, the make ran successfully.

But, the modprobe stuff is confusing. Fedora's handling of modprobe differs from other distros, as we learned earlier in this thread. I sorta went on my own and wrote a .conf file called airo.conf with a single line
Code:

install airo.c
I don't know if this was correct or not.

I restarted, and restarted network services, and my wpa network is still grey, but shouldn't it still be grey?

I remember in Matthieu's reply, he said
Quote:

To enable wpa, you should add "wpa_enabled=1" module option.
Where the heck do I do this?

I believe we are really close to solving this puzzle.....

PTrenholme 03-10-2010 10:16 AM

After a lot of searching, I discovered that the problem with my drive was that the connector was loose. So, no, it wasn't very expensive, just strange. I hadn't realized that laptop drive connectors could come loose. (Connectors are the first thing I check when I have drive problems on desktop systems, but the laptop didn't appear to have any cable, so I never thought to check until I found that the drive worked fine in a USB enclosure.)

Returning to your problem, when he said to add "wpa_enabled=1" module option, I believe he means "Add it to the modprobe command line." I'd forgotten that comment. Anyhow, what you need to do is add that to the modprobe command. So, instead of modprobe airo you should use modprobe airo wpa_enabled=1.

Note that, as you discovered before, the install configuration file requires three arguments, not two. In any case, using the modprobe command should eliminate the need for you to create the configuration file, but, if you wish to do so, look at the files already in modprobe.d to see how it's done.

BorisTheSpider 03-16-2010 08:14 AM

Sorry I haven't written in a while. Changes.

Well I hope I wrote this correctly. It doesn't work, but I don't get any error messages in /var/log/boot.log so I'm not sure if I did anything wrong or not. I created a new airo.conf file in the /etc/modprobe.d directory, here's the line:

Code:

install airo.c /sbin/modprobe wpa_enabled=1
I still have to service network restart to turn on my wireless card. My WPA network is still grey.


All times are GMT -5. The time now is 02:10 AM.