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-manager%27s-strange-relationship-with-wpa_supplicant-787633/)

BorisTheSpider 02-07-2010 03:59 PM

Network Manager's strange relationship with wpa_supplicant?
 
I'm on Fedora 12, and upon every restart of my computer, Network Manager won't detect wireless networks until I run in terminal:
Code:

service network restart
.

After that, NM will detect all nearby wireless networks, and I can view them by left-clicking on the network icon in the tray. Any of them that are WEP encrypted will show up in the list as black text with signal strength showing. However, any of them that are WPA encrypted will be greyed.

I'm sure my wireless card supports WPA, at least I hope I can rely on those lines in [dmesg] that say so.

I have wpa_supplicant installed, and I'm pretty sure I have the /etc/wpa_supplicant/wpa_supplicant.conf and /etc/sysconfig/wpa_supplicant files edited correctly, but any WPA networks are still detected but grey.

Either at home, or at work, Network Manager detects the WPA networks by their SSID, but they are always greyed, as if there is something missing between Network Manager and wpa_supplicant. I wish I knew what the missing ingredient was.

Anyone?

repo 02-08-2010 10:57 AM

Try to use wicd.

BorisTheSpider 02-09-2010 02:08 PM

wicd installs strangely
 
I attempted to install wicd a few times months ago. wicd installs wierd. Using Gnome PackageKit, with the wicd for Fedora 12 repo, the download goes OK, but during the installation, the wicd daemon starts, which stops Network Manager, and the PackageKit installation progress never finishes.

Upon restart, popups inform me the the wicd daemon did not start properly, and has been shut down.

I'm not not sure how to resolve those wicd issues. By any chance have you run into these issues with wicd? Do you know what must be done to make it work?

PTrenholme 02-09-2010 03:55 PM

Stop the PackageKit from running. (You can always use yum directly, or yumex if you like a GUI.)

To "kill" the idiotic (my opinion) PackageKit, just go to the Preferences menu and set its time options to "Never."

<edit>
Both NM and wicd ignore any wpa_supplicant.conf settings you use, and use the wpa_cli program to configure wpa_supplicant "on the fly" when they start. I suspect your problem with WPA is that the NM (and wicd) conf file(s) are specifying the incorrect device type for your WIFI driver. (For most drivers, a type of wext works, even for drivers that are, nominally, supported by wpa_supplicant.)

Are you starting the wpa_supplicant service during your boot? If so, try not starting it, and let NM (or wicd) start it if they need it.
</edit>

BorisTheSpider 02-10-2010 07:26 AM

I really appreciate your reply. It has opened up an entire can-of-worms. Looking on the internet about the use of wpa_cli, and the use of command line switches have led me to the conclusion that I need to take a Unix class.

I removed wicd, and don't intend to reinstall it. According to the wicd website, wicd does not yet support mobile broadband, which I use quite frequently. I'm happy to continue to use Network Manager, and hope I can find the missing piece. Your reply has made things clearer and much unclearer at the same time.

I'm not exactly sure how to keep wpa_supplicant from starting at boot. I do know that the wext driver is specified in my /etc/sysconfig/wpa_supplicant file. Other than that, I'm not sure what to do next.

I'm looking through the internet while I await your helpful reply.

PTrenholme 02-10-2010 11:57 AM

Use sudo system-config-services to look at the various services you're running and to enable or disable those services. (For most systems, many of the services are just a waste of resources.)

Towards the end of the list you should find wpa_supplicant. I'm currently running wicd using a WPA-protected access point, and, when I highlight the wpa_supplicant entry, I see that the service isdisabled, but it's shown as "running" because wicd has started it for me.

Just a moment. Let me see what my wife's system says: She uses NetworkManager to access the same access point.

Yes, her system has the NetworkManager service enabled (and running) and the wpa_supplicant service disabled (and running).

<edit>
If sudo doesn't work for you, try su -c system-config-services, but consider using su -c 'gedit /etc/sudoers' to add yourself to the list of sudoers. (The comments in the file describe the changes you need to make.)
</edit>

BorisTheSpider 02-10-2010 01:09 PM

...and closer...
 
Well, you were right. I had wpa_supplicant running at boot. I have disabled it, but left it running.

The problems of my original post, however, are still there. Upon reboot, Network Manager does not detect any wireless networks, and my wireless card is off. If I run service network restart (or restart it from the Services gui), my wireless card turns on, and Network Manager detects nearby wireless networks. I can left click on the Network Manager tray icon to see a list of detected networks.

If the nearby wireless networks are open or WEP encrypted, they appear in black text, but any WPA encrypted network appears in greyed (un-clickable) text.

You said that Network Manager ignores wpa_supplicant.conf files, and does some "on-the-fly" configuration. How can I intervene to tell NM how to connect to the network I wish? I have a WPA network at home and at work to play with.

To be clear, as it is configured at this time, upon reboot:

Network Manager is Enabled, and Running
network is Disabled, and Running
wpa_supplicant is Disabled, and Running

Again, thank you for your replies.

PTrenholme 02-10-2010 05:21 PM

Briefly looking at this thread, I don't see where you've told us precisely which WIFI card you have in your system, nor which specific driver you're using. Your first post in the thread does mention that
Quote:

I'm sure my wireless card supports WPA, at least I hope I can rely on those lines in [dmesg] that say so.
but you don't display those messages.

Since all the WPA-protected APs your system identifies are "grayed-out," I'm wondering if you're using an older device driver that doesn't support WPA or WPA2 access.

On my laptop, I use the ath5k driver, so I'd list every line in the dmesg output generated by that driver like this:
Code:

$ dmesg | grep -i ^ath5k
ath5k 0000:03:00.0: PCI INT A -> Link[LK4E] -> GSI 19 (level, low) -> IRQ 19
ath5k 0000:03:00.0: setting latency timer to 64
ath5k 0000:03:00.0: registered as 'phy0'
ath5k phy0: Atheros AR2425 chip found (MAC: 0xe2, PHY: 0x70)
ath5k phy0: unsupported jumbo

Perhaps similar output from your system would be helpful. :scratch:

BorisTheSpider 02-10-2010 05:44 PM

You're correct. I was hoping to avoid that, since some websites claim my card does not support WPA, and some websites say it does support WPA. dmesg says it does:
Code:

dmesg | grep -i 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

lspci reports the card in question:
Code:

02:02.0 Network controller: AIRONET Wireless Communications Cisco Aironet Wireless 802.11b

PTrenholme 02-11-2010 03:46 PM

O.K., I just asked Google to tell me what Linux drivers were available for that device, and the Cisco-supported FOSS one listed here was this one:
Code:

3.16 Cisco/Aironet 802.11 (Cisco driver)
Driver status :        stable (rock solid)
Driver name :        ISA, PCI : airo.o
Pcmcia : airo_cs.o
Version :        2.1
Where :        http://www.cisco.com/public/sw-center/sw-wireless.shtml
Maintainer :        Cisco
Documentation :        Text files
Configuration :        Cisco utilities, Wireless Extensions
Statistics :        Cisco utilities, Wireless Extensions
Modes :        Managed, Ad-Hoc
Security :        WEP (hardware), AES (host), MIC
Scanning :        No
Monitor :        No
Multi-devices :        -
Interoperability :        802.11-DS and 802.11-b, interoperate with Windows
Other features :        -
Non implemented :        -
Bugs :        -
License :        Cisco open source license
Vendor web page :        http://www.aironet.com/

So, check to see if that's the driver you're using. I looked at the drivers the Fedora automatically installs, and both the airo and the airo_cs (see section 3.14 in the URL I referenced above) ones were in /lib/modules/`uname -r`/kernel/drivers/net/wireless/, and the airo_cs one is supposed to support WPA (but perhaps not WPA2).

If you've got the airo version installed, try this:
Code:

$ su -
Password:

# modprobe -r airo

# modprobe airo_cs

If that gets WPA working, you may need to add airo to the "blacklist" in /etc/modules.

BorisTheSpider 02-11-2010 04:25 PM

You may have already guessed that I am kinda new at this. Fedora 9 was my first Linux OS, and I ain't goin' back to windoze. The internet is a wonderful tool for learning, so every so often I run dmesg to see if there are any errors, and I copy them and paste them in a search to see if there are any solutions.

When I ran the first command, I got this, which I have seen before, and have been meaning to look into:
[CODE]# modprobe -r airo
WARNING: Deprecated config file /etc/modprobe.conf, all config files belong into /etc/modprobe.d/.[CODE/]

In /etc/modprobe.d/ folder is a blacklist.conf file. Within that file are 4 driver lists under which I can add the airo driver:
# watchdog drivers
# framebuffer drivers
# ISDN - see bugs 154799, 159068
# sound drivers

I can only assume that I can place the name of the driver I want to blacklist anywhere I want since the list headers are preceded by the "#". I'm simply gonna put it under "# watchdog" because it is at the top of the list so if it turns out not to be the correct solution, I won't have to scroll down to edit it.

I'll reply to myself with the result. Thanks again for your replies and help.

PTrenholme 02-11-2010 05:04 PM

Ah, no. I'd forgotten that Fedora had changed the way the modprobe stuff worked.

To blacklist airo, do this:
Code:

$ su -
Password:
# cd /etc/modprobe.d/
# echo blacklist airo > blacklist-airo.conf

And to have airo_cs installed, do an echo install airo_cs > airo_cs.conf in the modprobe.d directory.

See man modprobe.d for a description of the format to the conf files in /etc/modprobe.d

The warning you saw is generated when an actual /etc/modprobe.conf file is found in etc. Some installations still create that file, so you need to move the file to a correctly named file in /etc/modprobe.d/ to remove the warning. Just cat /etc/modprobe.conf to see what old kernel package you've installed that was using the older protocol.

BorisTheSpider 02-12-2010 07:18 AM

Well, the result was that airo_cs was not loaded. There is no mention of it in dmesg, and I have no wireless functionality in Network Manager. I will say that there are two airo_cs.ko files on my computer. One for each of the two kernels that reside on my system, in folder /lib/modules/[kernel version]/kernel/drivers/net/wireless. I know that linux is smart enough to know which kernel I chose at bootup, and to load the appropriate module, so I'm not sure why it wasn't loaded.

I double-checked for the presence of the blacklist-airo.conf file, and its contents "blacklist airo", the presence of airo-cs.conf file, and its contents "install airo_cs", in the /etc/modprobe.d folder. All is where it should be.

According to the HP page you found through Google, which incidentally I had seen before but was unable to make any sense of it without your help, the airo.o driver is for ISA and PCI cards, and the airo_cs.o is for PCMCIA cards. Does it matter that we are attempting to use a PCMCIA card driver on an PCI card?

I guess I never made that clear either, sorry. Lemme start with some info that may make things easier on both of us, since I was so unwilling to share, and you have been so gracious so far.

I have an IBM ThinkPad R40, 2.4 GHz Pentium M, 1028 MB RAM, Cisco Aironet MPI350 (MiniPCI) card, 2.6.32.7-32.f12.i686.PAE kernel.

Again, thanks for your replies, and your help.

PTrenholme 02-12-2010 02:00 PM

Perhaps. The PS Card (or PCMCIA card) is designed (for older laptops) as a peripheral device similar to a modern USB card, while the MiniPCI is an internal card designed for (relatively) permanent installation.

Did you do a dmesg | tail after you tried a modprobe airo_cs to see if there were any error messages generated?

If the airo_cs driver can't work with your card, then I'd suggest that you try the ndiswrapper route whuce uses the WINE libraries to "emulate" a Windows system for the Windows driver to work with. (You'll need to Windows driver code - which you can download from the Cisco site - to se up ndiswrapper)

BorisTheSpider 02-12-2010 02:34 PM

The very first thing I did is run dmesg to see if there were any errors. There isn't even a mention of any airo drivers, nor any mention of detected wireless cards. I did dmesg | tail, with no result (or of what we may be looking for).

Lspci does report that my wireless card is detected.

If the airo_cs driver is not mentioned in dmesg, does that mean we could have done something incorrectly? Should it show up as loaded somewhere?

I cannot tell you how I despise the use of wine, ndiswrapper, or anything remotely related to windoze, even if it will cure my condition. I was really hoping to find a solution without resorting to using windoze compatibility software.

I have read that some people are recompiling their kernel to achieve certain goals. This kind of procedure is, I'm assuming, out of my league. Could this be something that may force the kernel to load the airo_cs driver so that we may analyze the results?

Again, I have many questions.


All times are GMT -5. The time now is 11:07 PM.