Summary: | sys-apps/hal-0.5.11-r6 fails to discern between 802.3 & 802.11 devices | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Andrew Cowie <andrew> |
Component: | New packages | Assignee: | Tony Vroon (RETIRED) <chainsaw> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | again, chrschmitt, freedesktop-bugs, gentoo, insanity5902, jakub.januszkiewicz, pacho, rsalveti, sac, steev, suertreus |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | hal wireless extension fix |
Description
Andrew Cowie
2008-11-08 03:37:29 UTC
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. |