#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