[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#684352: phy0/hp-wifi problems after kernel update from 2.6 to 3.2



Hi,

02.10.2012 17:28, David Smith kirjoitti:
> 
> Hello, I'm having a problem with my Intel 2200 wireless on my Compaq
> Presario V4000T (made by HP) that has started happening after I upgraded
> my kernel from 2.6 to 3.2.
> 
> Problem: phy0 wireless state is incorrect.
> 
> Steps to reproduce problem:
> 1. Upgrade kernel from 2.6 to 3.2
> 2. rfkill now reports that I have two wireless devices but I only have
> the Intel 2200 wireless:
> 
>  Miho:/home/david# rfkill list all
>  0: hp-wifi: Wireless LAN
>          Soft blocked: yes
>          Hard blocked: no
>  1: phy0: Wireless LAN
>          Soft blocked: yes
>          Hard blocked: yes
> 
> 3.  The wireless simply doesn't work anymore because all software
> believes the wireless is blocked with a hardware switch, which is not
> the case.
> 
> After many many hours of searching, I discovered that running "rfkill
> unblock all" is able to remove the "Hard Block" from phy0 and put the
> wireless into this state:

Sounds like the "hp-wifi" soft block status affects "phy0" hard block
status. So if some management program softblocks "hp-wifi", the "phy0"
will become hardblocked and the program doesn't understand that it needs
to unblock "hp-wifi" again to undo what it just did.

I have no idea what is the proper course of action here, though, but
hopefully someone else on the lists has an idea.



> 
> Miho:/home/david# rfkill unblock all
> Miho:/home/david# rfkill list all
> 0: hp-wifi: Wireless LAN
>         Soft blocked: no
>         Hard blocked: no
> 1: phy0: Wireless LAN
>         Soft blocked: no
>         Hard blocked: no
> Miho:/home/david#
> 
> 
> However, I find that I have to keep dropping to a console and running
> "sudo rfkill unblock all" because the hardware keeps going back into the
> first state where phy0 is reporting that it is hard blocked, when it
> really isn't.
> 
> 
> 
> Workaround #1: Set "ACPI=off" on 3.2 kernel. After which, the wireless
> appears to be correctly reported:
> Miho:/home/david# rfkill list all
> 0: phy0: Wireless LAN
>         Soft blocked: no
>         Hard blocked: no
> 
> This causes phy0 to accurately reflect the state of the hardware.
> 
> Workaround #2: Add hp-wmi to modprobe blacklist.  Again, this causes
> only phy0 wireless to be reported and phy0 always accurately reflects
> the state of the hardware (both soft and hard blocked).
> 
> Expected Results;
> Both phy0 and hp-wifi refer to the same hardware device so they should
> accurately report the correct state of that hardware device.
> 
> Actual Results:
> Phy0 reports it is hard blocked when there is no hard block on the
> wireless.  Further, phy0 keeps going into this "hard blocked" state from
> regular usage of the wireless with networkmanager, while the hp-wmi does
> not.  If I remove the hp-wmi then the phy0 works properly.  When I have
> hp-wmi, then phy0's state is often incorrect.  It seems there may be
> some conflict here between phy0 and hp-wmi.
> 
> 
>   
> Kernel versions tested:
> linux-image-3.2.0-3-686-pae: Wireless regularly gets into this "bad
> state" of reporting it's hard blocked when it isn't. Unable to recover
> from it without using "sudo rfkill unblock all".
> 
> linux-image-2.6.32-5-686: No problem at all
>  
> 
>  PCI registers from the only wireless device I have in this PC:
>  
>  Miho:/home/david# lspci -vv -s06:05.0
> 06:05.0 Network controller: Intel Corporation PRO/Wireless 2200BG
> [Calexico2] Network Connection (rev 05)
>         Subsystem: Hewlett-Packard Company Device 12f5
>         Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop-
> ParErr- Stepping- SERR+ FastB2B- DisINTx-
>         Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
> <TAbort- <MAbort- >SERR- <PERR- INTx-
>         Latency: 128 (750ns min, 6000ns max), Cache Line Size: 32 bytes
>         Interrupt: pin A routed to IRQ 20
>         Region 0: Memory at c8206000 (32-bit, non-prefetchable) [size=4K]
>         Capabilities: [dc] Power Management version 2
>                 Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA
> PME(D0+,D1-,D2-,D3hot+,D3cold+)
>                 Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=1 PME-
>         Kernel driver in use: ipw2200
> 
> Miho:/home/david#
> 
> 
> Somehow network manager is putting phy0 into a "hard blocked" state, but
> the hardware is not really hardblocked. After going into this hard
> blocked state, the wireless cannot be used anymore unless dropping to a
> console and running sudo rfkill unblock all which removes the "hard
> block" from phy0. Networkmanager alone is not able to bring the wireless
> back up.
> 
> Also, sometimes when I turn on the PC, or resume from hibernate the
> rfkill reports phy0 as hard blocked, when it isn't. Which again, forces
> me to drop to console and run a "sudo rfkill unblock all"
> 
> I am currently using Workaround #2 and am very happy with it. The
> wireless no longer goes into "hard blocked" through normal usage of the
> hardware with network manager.
> 
> Thank you for your time.

-- 
Anssi Hannula


Reply to: