#671: STA mode: resume doesn't restart ath0 device
-----------------------------------+----------------------------------------
 Reporter:  [EMAIL PROTECTED]        |            Owner:     
     Type:  defect                 |           Status:  new
 Priority:  major                  |        Milestone:     
Component:  madwifi: 802.11 stack  |          Version:     
 Keywords:                         |   Patch_attached:  0  
-----------------------------------+----------------------------------------
 If a 2.6.x system running the latest madwifi driver (snapshot: 1630) with
 a PCI wifi card is put to sleep (S3) and then resumed (S0), the
 IFF_RUNNING flag is not reset in the ''net_device.flags'' of ''ath0''.

 If the IFF_RUNNING flag is not set for ''ath0'', then scanning doesn't
 work due to the fact that the device is not considered ''UP'' ( see
 ''ieee80211_ioctl_siwscan()'' ).  If the system in question is also
 running wpa_supplicant, it won't re-associate due to the fact that
 scanning doesn't work.

 The interesting thing is that if you're manually controlling association
 via ''iwconfig'', the act of setting the '''essid''' kicks the devices and
 causes IFF_RUNNING to be set ( see ''ieee80211_ioctl_siwessid()'' ) and
 everything works just fine.

 I added some debug statements to the code and clearly watch IFF_RUNNING
 cleared for ''wifi0'' by ''ath_stop_locked()'' and for ''ath0'' by
 ''ieee80211_stop()''.  On resume ''ath_init()'' restores IFF_RUNNING for
 ''wifi0''.  ''ath_init()'' in turn calls ''ieee80211_start_running()''
 which is supposed to start all VAPs.  Unfortunately, it only calls
 ''ieee80211_open(dev)'' if the IFF_RUNNING flag is already set for the
 device, which in this case it clearly is not.

 I also checked and ''ieee80211_start_running()'' is only called from
 ''ath_init()''.

 Also I did search for other suspend resume bugs.  Ticket #201 originally
 describes what sounds like a hardware problem with resetting the card on
 resume, although one of the comments does mention using ''ifconfig
 up/down'' to resolve problems.  Ticket #494 also mentions that
 suspend/resume doesn't work if there are VAPs however due to the lack of
 detail supplied I decided that creating a new ticket was the best thing to
 do.

 Here are the specifics of my system:
 {{{
 * AMD Geode processor running on a Pepper prototype system
 * Distribution: Pepper / FC4-based
 * Kernel: 2.6.12 w/AMD Geode specific patches
 * Wireless Extensions v17
 * WiFi Hw: mini-PCI b/g card using an AR2413 chip ( PCI Device ID: 0x001a
 )
 * wpa_supplicant v0.4.7 w/Pepper-specific patches
 }}}

-- 
Ticket URL: <http://madwifi.org/ticket/671>
MadWifi <http://madwifi.org/>
Multiband Atheros Driver for Wireless Fidelity
_______________________________________________
Madwifi-tickets mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/madwifi-tickets

Reply via email to