Upgraded from gentoo-sources 2.6.26 to 2.6.27-r2 yesterday. Discovered that kernel module "iwl4965" is no longer, replaced by new module "iwlagn". Ok, sure, whatever, but now using NetworkManager & `nm-applet` don't work, because networkmanager now thinks it is a wired device! `iwconfig` and things like `iwlist wlan0 scan` work fine. Dig, dig... and talking with johnny in #gentoo-desktop, he guessed it might be a HAL problem. Sure enough, `hal-device` shows it to be 802.3, not 802.11. I manually upgraded app-misc/hal-info to 20081022 on the guess that maybe the data there is wrong. Didn't help. As you'll see, this is NOT the signature of a wireless device! # hal-device 0: udi = '/org/freedesktop/Hal/devices/net_00_13_e8_14_d1_f1_0' linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlan0' (string) info.category = 'net.80203' (string) net.linux.ifindex = 13 (0xd) (int) info.subsystem = 'net' (string) info.parent = '/org/freedesktop/Hal/devices/pci_8086_4229' (string) info.capabilities = { 'net', 'net.80203', 'wake_on_lan' } (string list) net.arp_proto_hw_id = 1 (0x1) (int) info.product = 'Networking Interface' (string) net.80203.mac_address = 85498057201 (0x13e814d1f1) (uint64) info.udi = '/org/freedesktop/Hal/devices/net_00_13_e8_14_d1_f1_0' (string) linux.hotplug_type = 2 (0x2) (int) org.freedesktop.Hal.Device.WakeOnLan.method_names = { 'GetSupported', 'GetEnabled', 'SetEnabled' } (string list) linux.subsystem = 'net' (string) org.freedesktop.Hal.Device.WakeOnLan.method_signatures = { '', '', 'b' } (string list) org.freedesktop.Hal.Device.WakeOnLan.method_argnames = { '', '', 'enable' } (string list) org.freedesktop.Hal.Device.WakeOnLan.method_execpaths = { 'hal-system-wol-supported', 'hal-system-wol-enabled', 'hal-system-wol-enable' } (string list) info.interfaces = { 'org.freedesktop.Hal.Device.WakeOnLan' } (string list) net.originating_device = '/org/freedesktop/Hal/devices/pci_8086_4229' (string) net.interface = 'wlan0' (string) net.address = '00:13:e8:14:d1:f1' (string) ... # # emerge --infoPortage 2.2_rc13 (default/linux/x86/2008.0/desktop, gcc-4.2.4, glibc-2.6.1-r0, 2.6.27-gentoo-r2 i686) ================================================================= System uname: Linux-2.6.27-gentoo-r2-i686-Intel-R-_Core-TM-2_Duo_CPU_T7100_@_1.80GHz-with-glibc2.0 Timestamp of tree: Sat, 08 Nov 2008 02:46:01 +0000 distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] ccache version 2.4 [disabled] app-shells/bash: 3.2_p33 dev-java/java-config: 1.3.7, 2.1.6 dev-lang/python: 2.4.4-r13, 2.5.2-r7 dev-python/pycrypto: 2.0.1-r6 dev-util/ccache: 2.4-r7 dev-util/cmake: 2.4.6-r1 sys-apps/baselayout: 1.12.11.1 sys-apps/sandbox: 1.2.18.1-r2 sys-devel/autoconf: 2.13, 2.61-r2 sys-devel/automake: 1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1-r1 sys-devel/binutils: 2.18-r3 sys-devel/gcc-config: 1.4.0-r4 sys-devel/libtool: 1.5.26 virtual/os-headers: 2.6.23-r3 ACCEPT_KEYWORDS="x86" CBUILD="i686-pc-linux-gnu" CFLAGS="-ggdb -O2 -march=nocona -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /var/lib/hsqldb" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sound/events /etc/splash /etc/terminfo /etc/udev/rules.d" CXXFLAGS="-ggdb -O2 -march=nocona -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="buildpkg distlocks preserve-libs protect-owned sandbox sfperms splitdebug strict unmerge-orphans userfetch" GENTOO_MIRRORS="http://mirror.internode.on.net/pub/gentoo/" LANG="en_CA.UTF-8" LDFLAGS="-Wl,-O1" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.au.gentoo.org/gentoo-portage" USE="X acl acpi alsa apache2 avahi berkdb bluetooth branding bzip2 cairo cdr cli cracklib crypt cups dbus dri dvd dvdr dvdread eds emboss encode esd evo fam fbsplash firefox fortran gdbm gif gnome gstreamer gtk hal iconv isdnlog java jpeg libnotify mad midi mikmod mp3 mpeg mudflap ncurses networkmanager nls nptl nptlonly ogg opengl openmp pam pcre pdf perl png ppds pppd python qt3support quicktime readline reflection sdl session spell spl ssl startup-notification svg sysfs tcpd tiff truetype unicode usb vorbis win32codecs x86 xml xorg xulrunner xv zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic auth_digest authz_default authz_owner authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires file_cache filter headers log_config mem_cache mime mime_magic negotiation rewrite setenvif so unique_id userdir vhost_alias" CAMERAS="canon" ELIBC="glibc" INPUT_DEVICES="synaptics evdev keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="nv nvidia" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS # Obviously I could downgrade to a 2.6.26 kernel, but that's not really solving the problem. I don't think it's a kernel bug, per se, but the fact the driver changed is obviously suspect. AfC
I bet the new driver uses phy80211 and needs this HAL patch (not yet in a released version): http://gitweb.freedesktop.org/?p=hal.git&a=search&h=HEAD&s=wext
Hm. I gave it a go, but as is, that patch doesn't cleanly apply against the 0.5.11 that's in our tree, which is a shame. Someone a bit closer to this code is going to have to figure out how to backport it. Wish I could have done better here, sorry. AfC
Hmm.. Interesting. I don't have such problem on ANY of my machines with 4965 uname -a Linux g1s 2.6.27-gentoo-r2 #2 SMP PREEMPT Wed Nov 12 15:32:57 GMT 2008 x86_64 Intel(R) Core(TM)2 Duo CPU T7500 @ 2.20GHz GenuineIntel GNU/Linux g1s ~ # paludis -q hal * sys-apps/hal gentoo: 0.5.7.1-r5 0.5.9-r1 0.5.9.1-r1 0.5.9.1-r2 0.5.9.1-r3 0.5.10 0.5.11 0.5.11-r1 0.5.11-r2 0.5.11-r3 0.5.11-r4 {:0} installed: 0.5.11-r4* {:0} Description: Hardware Abstraction Layer Homepage: http://www.freedesktop.org/Software/hal Relevant USE flags: (X) (acpi) (-apm) (crypt) (-debug) (-dell) (-disk-partition) (-doc) (-kernel_FreeBSD) (kernel_linux) (laptop) (-selinux) License: || ( GPL-2 AFL-2.0 ) Installed time: Sun Oct 26 20:16:11 2008 From repositories: gentoo Installed using: paludis-0.30.3 * app-misc/hal-info gentoo: 20070425 20070516 20070618 20071011 20071030 20080310 20080508 {:0} installed: 20080508* {:0} Description: The fdi scripts that HAL uses Homepage: http://hal.freedesktop.org/ Relevant USE flags: License: GPL-2 Installed time: Fri Jul 11 13:39:10 2008 From repositories: gentoo Installed using: paludis-0.28.0 g1s ~ # paludis -q udev * sys-fs/udev gentoo: 114 115-r1 119 122-r1 124-r1 125-r2 130-r1 (130-r2)R {:0} installed: 130-r1* {:0} Description: Linux dynamic and persistent device naming support (aka userspace devfs) Homepage: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html Relevant USE flags: (-selinux) License: GPL-2 Installed time: Thu Oct 9 11:35:03 2008 From repositories: gentoo Installed using: paludis-0.30.1 lsmod | grep iwlagn iwlagn 71620 0 iwlcore 86148 1 iwlagn mac80211 163560 2 iwlagn,iwlcore cfg80211 26192 3 iwlagn,iwlcore,mac80211 g1s ~ # lshal | grep wlan0 -A10 -B48 udi = '/org/freedesktop/Hal/devices/pci_8086_4229' info.linux.driver = 'iwlagn' (string) info.parent = '/org/freedesktop/Hal/devices/pci_8086_2841' (string) info.product = 'PRO/Wireless 4965 AG or AGN Network Connection' (string) info.subsystem = 'pci' (string) info.udi = '/org/freedesktop/Hal/devices/pci_8086_4229' (string) info.vendor = 'Intel Corporation' (string) linux.hotplug_type = 2 (0x2) (int) linux.subsystem = 'pci' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0' (string) pci.device_class = 2 (0x2) (int) pci.device_protocol = 0 (0x0) (int) pci.device_subclass = 128 (0x80) (int) pci.linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0' (string) pci.product = 'PRO/Wireless 4965 AG or AGN Network Connection' (string) pci.product_id = 16937 (0x4229) (int) pci.subsys_product_id = 4353 (0x1101) (int) pci.subsys_vendor = 'Intel Corporation' (string) pci.subsys_vendor_id = 32902 (0x8086) (int) pci.vendor = 'Intel Corporation' (string) pci.vendor_id = 32902 (0x8086) (int) udi = '/org/freedesktop/Hal/devices/net_00_13_e8_15_64_05_0' info.capabilities = {'net', 'net.80211control'} (string list) info.category = 'net.80211control' (string) info.parent = '/org/freedesktop/Hal/devices/pci_8086_4229' (string) info.product = 'Networking Wireless Control Interface' (string) info.subsystem = 'net' (string) info.udi = '/org/freedesktop/Hal/devices/net_00_13_e8_15_64_05_0' (string) linux.hotplug_type = 2 (0x2) (int) linux.subsystem = 'net' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wmaster0' (string) net.address = '00:13:e8:15:64:05' (string) net.arp_proto_hw_id = 801 (0x321) (int) net.interface = 'wmaster0' (string) net.linux.ifindex = 3 (0x3) (int) net.originating_device = '/org/freedesktop/Hal/devices/pci_8086_4229' (string) udi = '/org/freedesktop/Hal/devices/net_00_13_e8_15_64_05' info.capabilities = {'net', 'net.80211'} (string list) info.category = 'net.80211' (string) info.parent = '/org/freedesktop/Hal/devices/pci_8086_4229' (string) info.product = 'WLAN Interface' (string) info.subsystem = 'net' (string) info.udi = '/org/freedesktop/Hal/devices/net_00_13_e8_15_64_05' (string) linux.hotplug_type = 2 (0x2) (int) linux.subsystem = 'net' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlan0' (string) net.80211.mac_address = 85498094597 (0x13e8156405) (uint64) net.address = '00:13:e8:15:64:05' (string) net.arp_proto_hw_id = 1 (0x1) (int) net.interface = 'wlan0' (string) net.linux.ifindex = 4 (0x4) (int) net.originating_device = '/org/freedesktop/Hal/devices/pci_8086_4229' (string) udi = '/org/freedesktop/Hal/devices/pci_8086_283f' info.linux.driver = 'pcieport-driver' (string) info.parent = '/org/freedesktop/Hal/devices/computer' (string) info.product = '82801H (ICH8 Family) PCI Express Port 1' (string) info.subsystem = 'pci' (string) info.udi = '/org/freedesktop/Hal/devices/pci_8086_283f' (string) info.vendor = 'Intel Corporation' (string)
The only divergence on my system was udev; I upgraded that; no change. AfC
Got the same problem here but with a different hardware. After I upgraded to 2.6.27-r3 and started using the new ath9k module for my Atheros AR5418, hal started to think that my ath0 interface is wired one: udi = '/org/freedesktop/Hal/devices/net_00_1c_b3_c5_35_73' info.capabilities = {'net', 'net.80203', 'wake_on_lan'} (string list) info.category = 'net.80203' (string) info.interfaces = {'org.freedesktop.Hal.Device.WakeOnLan'} (string list) info.parent = '/org/freedesktop/Hal/devices/pci_168c_24' (string) info.product = 'Networking Interface' (string) info.subsystem = 'net' (string) info.udi = '/org/freedesktop/Hal/devices/net_00_1c_b3_c5_35_73' (string) linux.hotplug_type = 2 (0x2) (int) linux.subsystem = 'net' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1c.4/0000:0b:00.0/net/ath0' (string) net.80203.mac_address = 123275130227 (0x1cb3c53573) (uint64) net.address = '00:1c:b3:c5:35:73' (string) net.arp_proto_hw_id = 1 (0x1) (int) net.interface = 'ath0' (string) net.linux.ifindex = 6 (0x6) (int) net.originating_device = '/org/freedesktop/Hal/devices/pci_168c_24' (string) org.freedesktop.Hal.Device.WakeOnLan.method_argnames = {'', '', 'enable'} (string list) org.freedesktop.Hal.Device.WakeOnLan.method_execpaths = {'hal-system-wol-supported', 'hal-system-wol-enabled', 'hal-system-wol-enable'} (string list) org.freedesktop.Hal.Device.WakeOnLan.method_names = {'GetSupported', 'GetEnabled', 'SetEnabled'} (string list) org.freedesktop.Hal.Device.WakeOnLan.method_signatures = {'', '', 'b'} (string list) My packages: sys-apps/hal-0.5.11-r1 USE="X acpi apm crypt -debug -dell -disk-partition -doc -laptop (-selinux)" app-misc/hal-info-20080508 sys-fs/udev-124-r1 USE="(-selinux)" evamac ~ # modinfo ath9k filename: /lib/modules/2.6.27-gentoo-r3/kernel/drivers/net/wireless/ath9k/ath9k.ko license: Dual BSD/GPL description: Support for Atheros 802.11n wireless LAN cards. author: Atheros Communications
Wow. Same problem as mine, but on a *different* driver. Yikes. So maybe it's not in the kernel? (Or, alternately, some common kernel subsystem has changed the way it reports information, and that's what is tricking out HAL). Incidentally, for people without much hands-on knowledge, to get a wireless connection (assuming you are able to skip encryption and know an SSID to use), # modprobe iwlagn # ifconfig wlan0 up # iwconfig wlan0 essid "$insert_ssid_here" # dhcp -L wlan0 and while this "works" it is a right royal pain. I hope someone can figure out what the underlying problem is. AfC
Created attachment 173293 [details, diff] hal wireless extension fix Hal fix to identify when a device has wireless extension. Patch based on: http://cgit.freedesktop.org/hal/commit/?id=d5d0b8cd48d07b5854565d9ad2c4dcc92fdda2e7 http://cgit.freedesktop.org/hal/commit/?id=41073645ea95e0bb478d6b26871a1bc4ccf832d1 After applying the patch hal is able to identify the ath0 device as a wireless one: udi = '/org/freedesktop/Hal/devices/net_00_1c_b3_c5_35_73' info.capabilities = {'net', 'net.80211'} (string list) info.category = 'net.80211' (string) info.parent = '/org/freedesktop/Hal/devices/pci_168c_24' (string) info.product = 'WLAN Interface' (string) info.subsystem = 'net' (string) info.udi = '/org/freedesktop/Hal/devices/net_00_1c_b3_c5_35_73' (string) linux.hotplug_type = 2 (0x2) (int) linux.subsystem = 'net' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1c.4/0000:0b:00.0/net/ath0' (string) net.80211.mac_address = 123275130227 (0x1cb3c53573) (uint64) net.address = '00:1c:b3:c5:35:73' (string) net.arp_proto_hw_id = 1 (0x1) (int) net.interface = 'ath0' (string) net.linux.ifindex = 6 (0x6) (int) net.originating_device = '/org/freedesktop/Hal/devices/pci_168c_24' (string) And, network manager started to work again :-)
Sorry, I forgot to mention that the patch is for hal-0.5.11-r4.
Sweetness! I added your patch to a local sys-apps/hal-0.5.11-r4 (just added an epatch line to apply it) and emerged it. Restarted hald, and then loaded the iwlagn module. Success! # lshal ... udi = '/org/freedesktop/Hal/devices/net_00_13_e8_14_d1_f1_0' info.capabilities = {'net', 'net.80211'} (string list) info.category = 'net.80211' (string) info.parent = '/org/freedesktop/Hal/devices/pci_8086_4229' (string) info.product = 'WLAN Interface' (string) info.subsystem = 'net' (string) info.udi = '/org/freedesktop/Hal/devices/net_00_13_e8_14_d1_f1_0' (string) linux.hotplug_type = 2 (0x2) (int) linux.subsystem = 'net' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/net/wlan0' ( string) net.80211.mac_address = 85498057201 (0x13e814d1f1) (uint64) net.address = '00:13:e8:14:d1:f1' (string) net.arp_proto_hw_id = 1 (0x1) (int) net.interface = 'wlan0' (string) net.linux.ifindex = 9 (0x9) (int) net.originating_device = '/org/freedesktop/Hal/devices/pci_8086_4229' (string) ... and so indeed NetworkManager now sees the device as a wireless one and does the right thing from there. Gentoo package maintainers: recommend adding patch at comment #7 to sys-apps/hal and bumping to hal-0.5.11-r5. Ricardo, I owe you a beer. AfC
The patch fixes the problem also with iwl3945. Nice job!
Saleem, do you need any other additional information before adding this patch to gentoo? Is there anything else we could do? Thanks
is this patch applied?
(In reply to comment #12) > is this patch applied? Nops, not yet
This was a problem for me also, using iwl3945, 2.6.28 and hal-0.5.11-r4. Not sure when this occured as I just switch to NetworkManager. The patch in comment #7 fixed it for me.
The Patch fixed it for me to.
Patch in #7 fixed this issue for me on two systems, one x86 one amd64, both running tuxonice-sources-2.6.28, iwl3945, hal-0.5.11-r5, and networkmanager-0.7.0. Thanks for the good patch work Ricardo!
Thanks, patching hal 0.5.11-r1 with attachment #173293 [details, diff] also fixes the problem for me!
(In reply to comment #17) > Thanks, patching hal 0.5.11-r1 with attachment #173293 [details, diff] [edit] also fixes the problem > for me! > Confirmed problem on kernel 2.6.28-gentoo, with ath5k driver, and HAL 0.5.11-r6. Also confirming that the patch in Comment #7 fixes this problem.
Also want to confirm this solves this nasty "oops, where did my WLAN interface go?" error for the b43 driver and Networkmanager under 2.6.28.
I confirm that attachment #173293 [details, diff] fixes the same problem (wlan0 recognized as 802.3) for hal-0.5.11-r6, gentoo-sources-2.6.28 (the rt61pci module) and networkmanager-0.6.6.
Sorry guys, I think this got overlooked due to the very long subject line. Let me fix that and reassign so it at least gets looked at. If -r6 didn't fix it, it's very unlikely that -r7 will. (But please do upgrade anyway)
-r7 did not fix it. Patch still needed with hal-0.5.11-r7 and hal-info-20090202. Please apply in -r8!
+*hal-0.5.11-r8 (04 Feb 2009) + + 04 Feb 2009; <chainsaw@gentoo.org> +hal-0.5.11-r8.ebuild: + Revive a patch by Cardoe to fix test failures, closes bug #176535. Enable + support for MacBook/MacBook Pro if USE="laptop", closes bug #200643. Patch + from Ambroz Bizjak <ambro@b4ever.net> removes ill-conceived UID checks so + NTFS volumes can be automounted, closes bug #205901. Upstream commits + scavenged by Ricardo Salveti <ricardo.salveti@openbossa.org> allow + mac80211-based wireless devices to be detected properly, closes bug + #246026. Reverted partition unhiding from bug #247025, it was already + controversial but has been proven to automount recovery partitions.