jyoung ... well, for the sake of being able to debug this I would suggest you use just one. Now, wasn't there some issue with the kernel module not being able to load due to it being already compiled in kernel? This should never happen, and I think you should decide if the driver and firmware are to be in kernel or not as I'm inclined to think this issue is due to mistake on your part (possibly not running make && make modules, or not copying the kernel to boot, or your bootloader pointing to a previously compiled kernel ... something of that nature).jyoung wrote:Which kernel config do you want? I've got the one for the kernel that I primarily use with the iwlwifi driver compiled into the kernel, and the other experimental one that's the same except the iwlwifi driver is a module. I'd be happy to post either (or both).
Code: Select all
# cp .config ~/dot-config
# make clean
# cp ~/dot-config .config
# make oldconfig
# make menuconfig # make sure the driver =m
# make && make modules_install
# mount /boot
# cp arch/x86/boot/bzImage /boot/vmlinuz-{version}Code: Select all
net.lo | boot
net.wlan0 | default
netmount | default
local | default nonetwork Looking at this thread is worth it, as it's full of iwlwifi details discussed by long time users, and one Gentoo dev.It sees your wireless, just iwconfig needs the legacy wireless extensions which are disabled by default for any modern nl80211 based driver.
Use iw instead of iwconfig, or if you depend on wireless-tools for whatever reason enable CONFIG_CFG80211_WEXT in your kernel. wpa_supplicant should be passed the -Dnl80211 parameter.
Code: Select all
grep CONFIG_MODULES /usr/src/linux/.config
grep CONFIG_CFG80211 /usr/src/linux/.config
grep b43 /lib/modules/$(uname -r)/modules.dep
modinfo cfg80211
ls -lh /boot
What's the content of ls -l /lib/modules/$(uname -r)modinfo cfg80211
Error: Module cfg80211 not found.
grep b43 /lib/modules/3.4.4-gentoo/modules.dep
<no output returned>
jyoung ... yes, as I've said this is definitely not the normal. When running 'make modules_install', 'depmod' is called, and this should create a list of module dependencies (modules.dep). Why this would be subseqently missing information about available modules, and why then the kernel would think they are 'in kernel', I really can't say, but something is amiss.jyoung wrote:It's starting to look like I've done something horribly wrong that's preventing my operating system from correctly identifying which modules exist and are loaded. I think that I need to resolve this issue before I move forward with the wpa_supplicant situation; any ideas? I could see if there's a new kernel available and emerge gentoo-sources and start from scratch; maybe that would wipe out whatever's causing this issue.
Code: Select all
ls -l /lib/modules/$(uname -r)
total 72
lrwxrwxrwx 1 root root 27 Jul 26 15:59 build -> /usr/src/linux-3.4.4-gentoo
drwxr-xr-x 6 root root 4096 Oct 9 19:52 kernel
-rw-r--r-- 1 root root 514 Aug 1 21:15 modules.alias
-rw-r--r-- 1 root root 1052 Aug 1 21:15 modules.alias.bin
-rw-r--r-- 1 root root 9265 Oct 9 19:52 modules.builtin
-rw-r--r-- 1 root root 12744 Aug 1 21:15 modules.builtin.bin
-rw-r--r-- 1 root root 231 Aug 1 21:15 modules.dep
-rw-r--r-- 1 root root 564 Aug 1 21:15 modules.dep.bin
-rw-r--r-- 1 root root 52 Aug 1 21:15 modules.devname
-rw-r--r-- 1 root root 1189 Oct 9 19:52 modules.order
-rw-r--r-- 1 root root 131 Aug 1 21:15 modules.softdep
-rw-r--r-- 1 root root 269 Aug 1 21:15 modules.symbols
-rw-r--r-- 1 root root 225 Aug 1 21:15 modules.symbols.bin
lrwxrwxrwx 1 root root 27 Oct 9 19:52 source -> /usr/src/linux-3.4.4-gentoo
drwxr-xr-x 2 root root 4096 Aug 1 21:15 video
Code: Select all
find /lib/modules/$(uname -r) -iname '*ko' |wc -l
38
Code: Select all
lsmod|wc -l
2
Code: Select all
* Environment mismatch from previous run, deleting temporary files...
Code: Select all
* Checking dynamic linking consistency
[ 53% ] grep: write error: Broken pipe
[ 96% ] * broken /usr/libexec/geoclue-localnet (requires libnm-glib.so.4
libnm-util.so.2)
* broken /usr/libexec/geoclue-master (requires libnm-glib.so.4
libnm-util.so.2)
[ 100% ]
* Generated new 3_broken.rr
* Assigning files to packages
* /usr/libexec/geoclue-localnet -> app-misc/geoclue
* /usr/libexec/geoclue-master -> app-misc/geoclue
* Generated new 4_raw.rr and 4_owners.rr
jyoung ... and the Changelog for kmod-9-r2.ebuild (17 Jul 2012) states "remove broken version". So, this package has been out of tree for some time, probably this is the cause as the other packages (bar gcc which is ~arch), and the output of revdep-rebuild, are fairly sane (though you should probably revdep-rebuild and fix geoclue).jyoung wrote:kmod-9-r2
jyoung ... no, I said that particular package-version was removed, kmod is still in tree with kmod-10 being the current version (note kmod isn't stablised, so these packages are keyworded ~arch). I made it clear that the package could be updated when I wrote "edit /etc/portage/package.accept_keywords if your keywording on that particular version, and emerge --update --oneshot kmod" ... I suspect you have '=sys-apps/kmod=9-r2' in package.accept_keywords which would explain why you still have the broken package and why it wasn't updated after it was removed.jyoung wrote:I'm happy to make those changes, but if kmod is not longer in the tree then maybe I should switch to something else - you mentioned module-init-tools? I'm not actually aware of what the merits of either one are; I'll look them up today when I get to work.
jyoung ... ok, good.jyoung wrote:Hey, thanks folks for the fix! With the update to kmod I recompiled my kernel and, after rebooting, iwlwifi loaded just fine as a module.
This suggests that the issue isn't with powersave, this would effect all connections and not simply one network. Is the problem AP's ESSID hidden, or are there multiple AP's with the same ESSID (some sort of WDS setup)? If so try adding "ap_scan=2" to wpa_supplicant.conf. Also, what sort of network is this (A,G,N ... A,G ... N only), some AP's have issues with N clients. You can disable N by passing "11n_disable=1"jyoung wrote:With that more serious problem out of the way, I'm interested in the wpa_supplicant issue. With iwlwifi as a module, I was able to use the '-Dnl80211' option instead of '-Dwext'. Unfortunately, that doesn't seem to have affected my connectivity. I'm still getting a spotty connection that drops after a few minutes on the secured network (at work). With the modifications to wpa_supplicant.conf that khayyam suggested last week (thanks), I did the experiment of connecting to other secured networks. Surprisingly, that worked just fine. It seems like it's just this one network (or kind of network) that's giving me trouble.
Code: Select all
options iwlwifi 11n_disable=1Code: Select all
# modprobe -r iwlwifi && modprobe iwlwifi 11n_disable=1If you are talking about kernel options re powersave then this is looking less likely. I'm inclined to think the issue is something specific to the AP.jyoung wrote:There's a couple of ideas that some of you posted about on October 7th. I'm planning on exploring those this afternoon, and I'll post back when I have results.
jyoung ... in my case (ath5k) with CFG80211_DEFAULT_PS the card isn't put into powesave mode automatically:jyoung wrote:I agree; yesterday and today I tried first disabling CONFIG_CFG80211_DEFAULT_PS and then disabling CONFIG_CFG80211_WEXT. There might be a *slight* improvement, but with spotty connections, it's hard to say. I'd have to collect data for a few days on how long I remain connected before I get dropped, but in any case the connectivity isn't great and it certainly isn't much of an inprovement over what it was before.
Code: Select all
# iw dev wlan0 get power_save
Power save: offOK, I'm fairly certain this is whats causing the disassoc. 0 = no scanning, 1 = wpa_supplicant requests scan and uses the results to select the AP, 2 = wpa_supplicant does not scan but just requests to associate. When the AP doesn't broadcast its ESSID or there are multiple BSSID's for the same ESSID, then scanning either isn't going to provide any usefull information (as in the case of a hidden ESSID), or in the case of WDS the BSSID will not allow wpa_supplicant to disambiguate the network. I'm not altogether sure what happens but I believe that with ap_scan=2 wpa_supplicant will be less likely to get confused when the BSSID doesn't match the ESSID. Its actually an area I need to do more research on.jyoung wrote:I'm in a situation where there are multiple AP with the same ESSID. What is the functional meaning of 'ap_scan=2'?
You mean if the AP is set for N only or mixed A,G,N? Well, I imagine you would see "HT40" for 802.11n and "HT20/HT40" for mixed, in the output of 'iw dev wlan0 scan'. Anyhow, you should really read a little about how 802.11n produces the high throughput, and the reality of the claims being made for it.jyoung wrote:I'm actually not sure what kind of network it is - can I tell from iwlist? I found the thread from the October 7 post really interesting. It would be too bad if I couldn't take advantage of N speed, but at this point I'm more interested in having a reliable connection.
jyoung ... ok, well, hopefully that is the case.jyoung wrote:I think disabling N did it.
I see, I should have perhaps also mentioned providing 'scan_ssid=1' in the 'network={}' block. This should make wpa_supplicant omit the broadcast, and skip straight to associate (note if doing this you need to provide 'key-mgmt=', 'group=', 'pairwise=', and 'proto=' for that network). As I said, this is an area I need to research more, but the above should work (at least it has for me), though I tend to keep only one network 'enabled' (meaning, the AP I intend to connect to is 'disabled=0' and the others are 'disabled=1' which may play some role in the matter).jyoung wrote:I also tried 'ap_scan=2' on Monday. Oddly enough, this prevented me from connecting at all.
No idea, I don't have anything installed that uses NetworkManager, *kit, dbus, etc, etc.jyoung wrote:Also, before we close this out, wrc1944 mentioned a while back having issues with wicd or networkmanager configuration files around. I should probably ask, has anyone had issues with high-level packages depending on networkmanager? During my last world update, networkmanager kept getting pulled in because things like banshee depend on it. This kind of baffles me, and it's rather annoying since I don't really like networkmanager. Nothing against it, but it can't run without X (last time I checked), and I have had issues involving it interfering with other software (iwconfig, in that case).