hostapd leaving out 'zombie' accesspoint after killing it with crtl+c
Wojciech Żyszczyński
zyszczynski at gmail.com
Mon Apr 24 04:30:07 PDT 2017
Hi Jouni,
Sorry for late reply, but I was away from computers for a long while.
AD1)
The hardware is
Qualcomm Atheros AR93xx Wireless Network Adapter (rev 01) and the
driver is ath9k. More details:
----------------------------------------------------------------------------------------------------------------------------------------
01:00.0 Network controller: Qualcomm Atheros AR93xx Wireless Network
Adapter (rev 01)
Subsystem: Qualcomm Atheros Device 3112
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 64 bytes
Interrupt: pin A routed to IRQ 16
Region 0: Memory at f0400000 (64-bit, non-prefetchable) [size=128K]
[virtual] Expansion ROM at f0420000 [disabled] [size=64K]
Capabilities: [40] Power Management version 3
Flags: PMEClk- DSI- D1+ D2- AuxCurrent=375mA PME(D0+,D1+,D2-,D3hot+,D3cold-)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [50] MSI: Enable- Count=1/4 Maskable+ 64bit+
Address: 0000000000000000 Data: 0000
Masking: 00000000 Pending: 00000000
Capabilities: [70] Express (v2) Endpoint, MSI 00
DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <1us, L1 <8us
ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset- SlotPowerLimit 75.000W
DevCtl: Report errors: Correctable- Non-Fatal- Fatal+ Unsupported-
RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop-
MaxPayload 128 bytes, MaxReadReq 512 bytes
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s L1, Exit Latency
L0s <2us, L1 <64us
ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp-
LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk+
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive-
BWMgmt- ABWMgmt-
DevCap2: Completion Timeout: Not Supported, TimeoutDis+, LTR-, OBFF
Not Supported
DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled
LnkCtl2: Target Link Speed: 2.5GT/s, EnterCompliance- SpeedDis-
Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
Compliance De-emphasis: -6dB
LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-,
EqualizationPhase1-
EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
Capabilities: [100 v1] Advanced Error Reporting
UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF-
MalfTLP- ECRC- UnsupReq- ACSViol-
UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF-
MalfTLP- ECRC- UnsupReq- ACSViol-
UESvrt: DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+
MalfTLP+ ECRC- UnsupReq- ACSViol-
CESta: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
CEMsk: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
AERCap: First Error Pointer: 00, GenCap- CGenEn- ChkCap- ChkEn-
Capabilities: [140 v1] Virtual Channel
Caps: LPEVC=0 RefClk=100ns PATEntryBits=1
Arb: Fixed- WRR32- WRR64- WRR128-
Ctrl: ArbSelect=Fixed
Status: InProgress-
VC0: Caps: PATOffset=00 MaxTimeSlots=1 RejSnoopTrans-
Arb: Fixed- WRR32- WRR64- WRR128- TWRR128- WRR256-
Ctrl: Enable+ ID=0 ArbSelect=Fixed TC/VC=01
Status: NegoPending- InProgress-
Capabilities: [300 v1] Device Serial Number 00-00-00-00-00-00-00-00
Kernel driver in use: ath9k
Kernel modules: ath9k
-------------------------------------------------------------------------------------------------------------------------
$ modinfo ath9k
filename:
/lib/modules/3.10.0-514.2.2.el7.x86_64/kernel/drivers/net/wireless/ath/ath9k/ath9k.ko
license: Dual BSD/GPL
description: Support for Atheros 802.11n wireless LAN cards.
author: Atheros Communications
rhelversion: 7.3
srcversion: 4E0EB3617FF465723B9BAEC
alias: platform:qca956x_wmac
alias: platform:qca953x_wmac
alias: platform:qca955x_wmac
alias: platform:ar934x_wmac
alias: platform:ar933x_wmac
alias: platform:ath9k
alias: pci:v0000168Cd00000036sv*sd*bc*sc*i*
alias: pci:v0000168Cd00000036sv00001028sd0000020Ebc*sc*i*
alias: pci:v0000168Cd00000036sv00001043sd000085F2bc*sc*i*
alias: pci:v0000168Cd00000036sv000017AAsd00004026bc*sc*i*
alias: pci:v0000168Cd00000036sv000017AAsd00003026bc*sc*i*
alias: pci:v0000168Cd00000036sv0000105Bsd0000E099bc*sc*i*
alias: pci:v0000168Cd00000036sv0000105Bsd0000E091bc*sc*i*
alias: pci:v0000168Cd00000036sv0000105Bsd0000E081bc*sc*i*
alias: pci:v0000168Cd00000036sv0000105Bsd0000E08Fbc*sc*i*
alias: pci:v0000168Cd00000036sv0000105Bsd0000E07Fbc*sc*i*
alias: pci:v0000168Cd00000036sv0000185Fsd0000A120bc*sc*i*
alias: pci:v0000168Cd00000036sv0000185Fsd00003027bc*sc*i*
alias: pci:v0000168Cd00000036sv00001B9Asd000028A4bc*sc*i*
alias: pci:v0000168Cd00000036sv00001B9Asd000028A2bc*sc*i*
alias: pci:v0000168Cd00000036sv00001B9Asd00002813bc*sc*i*
alias: pci:v0000168Cd00000036sv00001B9Asd00002810bc*sc*i*
alias: pci:v0000168Cd00000036sv0000144Fsd00007202bc*sc*i*
alias: pci:v0000168Cd00000036sv00001A3Bsd00002F82bc*sc*i*
alias: pci:v0000168Cd00000036sv00001A3Bsd0000218Cbc*sc*i*
alias: pci:v0000168Cd00000036sv00001A3Bsd0000218Bbc*sc*i*
alias: pci:v0000168Cd00000036sv00001A3Bsd00002182bc*sc*i*
alias: pci:v0000168Cd00000036sv00001A3Bsd0000213Bbc*sc*i*
alias: pci:v0000168Cd00000036sv00001A3Bsd00002130bc*sc*i*
alias: pci:v0000168Cd00000036sv000011ADsd00000813bc*sc*i*
alias: pci:v0000168Cd00000036sv000011ADsd00000803bc*sc*i*
alias: pci:v0000168Cd00000036sv000011ADsd00000692bc*sc*i*
alias: pci:v0000168Cd00000036sv000011ADsd00001832bc*sc*i*
alias: pci:v0000168Cd00000036sv000011ADsd00000832bc*sc*i*
alias: pci:v0000168Cd00000036sv000011ADsd00000612bc*sc*i*
alias: pci:v0000168Cd00000036sv000011ADsd00000652bc*sc*i*
alias: pci:v0000168Cd00000036sv000011ADsd00000642bc*sc*i*
alias: pci:v0000168Cd00000036sv0000168Csd0000302Cbc*sc*i*
alias: pci:v0000168Cd00000036sv0000168Csd00003027bc*sc*i*
alias: pci:v0000168Cd00000036sv0000144Dsd0000412Abc*sc*i*
alias: pci:v0000168Cd00000036sv0000144Dsd00004129bc*sc*i*
alias: pci:v0000168Cd00000036sv0000144Dsd0000411Ebc*sc*i*
alias: pci:v0000168Cd00000036sv0000144Dsd0000411Dbc*sc*i*
alias: pci:v0000168Cd00000036sv0000144Dsd0000411Cbc*sc*i*
alias: pci:v0000168Cd00000036sv0000144Dsd0000411Bbc*sc*i*
alias: pci:v0000168Cd00000036sv0000144Dsd0000411Abc*sc*i*
alias: pci:v0000168Cd00000036sv00001028sd0000020Cbc*sc*i*
alias: pci:v0000168Cd00000036sv0000103Csd00002005bc*sc*i*
alias: pci:v0000168Cd00000036sv0000103Csd0000217Fbc*sc*i*
alias: pci:v0000168Cd00000036sv0000103Csd000018E3bc*sc*i*
alias: pci:v0000168Cd00000036sv00001A3Bsd0000213Cbc*sc*i*
alias: pci:v0000168Cd00000036sv00001A3Bsd0000213Abc*sc*i*
alias: pci:v0000168Cd00000036sv000011ADsd00000682bc*sc*i*
alias: pci:v0000168Cd00000036sv000011ADsd000006A2bc*sc*i*
alias: pci:v0000168Cd00000036sv000011ADsd00000662bc*sc*i*
alias: pci:v0000168Cd00000036sv000011ADsd00000672bc*sc*i*
alias: pci:v0000168Cd00000036sv000011ADsd00000622bc*sc*i*
alias: pci:v0000168Cd00000036sv0000185Fsd00003028bc*sc*i*
alias: pci:v0000168Cd00000036sv0000105Bsd0000E069bc*sc*i*
alias: pci:v0000168Cd00000036sv0000168Csd0000302Bbc*sc*i*
alias: pci:v0000168Cd00000036sv0000168Csd00003026bc*sc*i*
alias: pci:v0000168Cd00000036sv0000168Csd00003025bc*sc*i*
alias: pci:v0000168Cd00000036sv00001A3Bsd00002F8Abc*sc*i*
alias: pci:v0000168Cd00000036sv00001A3Bsd0000218Abc*sc*i*
alias: pci:v0000168Cd00000036sv00001B9Asd000028A3bc*sc*i*
alias: pci:v0000168Cd00000036sv00001B9Asd000028A1bc*sc*i*
alias: pci:v0000168Cd00000036sv00001B9Asd00002812bc*sc*i*
alias: pci:v0000168Cd00000036sv00001B9Asd00002811bc*sc*i*
alias: pci:v0000168Cd00000036sv000011ADsd00006671bc*sc*i*
alias: pci:v0000168Cd00000036sv000011ADsd00001842bc*sc*i*
alias: pci:v0000168Cd00000036sv000011ADsd00000842bc*sc*i*
alias: pci:v0000168Cd00000036sv000011ADsd000006B2bc*sc*i*
alias: pci:v0000168Cd00000036sv000011ADsd00000632bc*sc*i*
alias: pci:v0000168Cd00000036sv0000185Fsd0000A119bc*sc*i*
alias: pci:v0000168Cd00000036sv0000105Bsd0000E068bc*sc*i*
alias: pci:v0000168Cd00000036sv00001A3Bsd00002176bc*sc*i*
alias: pci:v0000168Cd00000036sv0000168Csd00003028bc*sc*i*
alias: pci:v0000168Cd00000037sv*sd*bc*sc*i*
alias: pci:v0000168Cd00000034sv*sd*bc*sc*i*
alias: pci:v0000168Cd00000030sv00001A56sd00002003bc*sc*i*
alias: pci:v0000168Cd00000034sv000010CFsd00001783bc*sc*i*
alias: pci:v0000168Cd00000034sv000014CDsd00000064bc*sc*i*
alias: pci:v0000168Cd00000034sv000014CDsd00000063bc*sc*i*
alias: pci:v0000168Cd00000034sv0000103Csd00001864bc*sc*i*
alias: pci:v0000168Cd00000034sv000011ADsd00006641bc*sc*i*
alias: pci:v0000168Cd00000034sv000011ADsd00006631bc*sc*i*
alias: pci:v0000168Cd00000034sv00001043sd0000850Ebc*sc*i*
alias: pci:v0000168Cd00000034sv00001A3Bsd00002110bc*sc*i*
alias: pci:v0000168Cd00000034sv00001969sd00000091bc*sc*i*
alias: pci:v0000168Cd00000034sv000017AAsd00003214bc*sc*i*
alias: pci:v0000168Cd00000034sv0000168Csd00003117bc*sc*i*
alias: pci:v0000168Cd00000034sv000011ADsd00006661bc*sc*i*
alias: pci:v0000168Cd00000034sv00001A3Bsd00002116bc*sc*i*
alias: pci:v0000168Cd00000033sv*sd*bc*sc*i*
alias: pci:v0000168Cd00000032sv*sd*bc*sc*i*
alias: pci:v0000168Cd00000032sv00001043sd0000850Dbc*sc*i*
alias: pci:v0000168Cd00000032sv00001B9Asd00001C01bc*sc*i*
alias: pci:v0000168Cd00000032sv00001B9Asd00001C00bc*sc*i*
alias: pci:v0000168Cd00000032sv00001A3Bsd00001F95bc*sc*i*
alias: pci:v0000168Cd00000032sv00001A3Bsd00001195bc*sc*i*
alias: pci:v0000168Cd00000032sv00001A3Bsd00001F86bc*sc*i*
alias: pci:v0000168Cd00000032sv00001A3Bsd00001186bc*sc*i*
alias: pci:v0000168Cd00000032sv00001B9Asd00002001bc*sc*i*
alias: pci:v0000168Cd00000032sv00001B9Asd00002000bc*sc*i*
alias: pci:v0000168Cd00000032sv0000144Fsd00007197bc*sc*i*
alias: pci:v0000168Cd00000032sv0000105Bsd0000E04Fbc*sc*i*
alias: pci:v0000168Cd00000032sv0000105Bsd0000E04Ebc*sc*i*
alias: pci:v0000168Cd00000032sv000011ADsd00006628bc*sc*i*
alias: pci:v0000168Cd00000032sv000011ADsd00006627bc*sc*i*
alias: pci:v0000168Cd00000032sv00001C56sd00004001bc*sc*i*
alias: pci:v0000168Cd00000032sv00001A3Bsd00002100bc*sc*i*
alias: pci:v0000168Cd00000032sv00001A3Bsd00002C97bc*sc*i*
alias: pci:v0000168Cd00000032sv000017AAsd00003219bc*sc*i*
alias: pci:v0000168Cd00000032sv000017AAsd00003218bc*sc*i*
alias: pci:v0000168Cd00000032sv0000144Dsd0000C708bc*sc*i*
alias: pci:v0000168Cd00000032sv0000144Dsd0000C680bc*sc*i*
alias: pci:v0000168Cd00000032sv0000144Dsd0000C706bc*sc*i*
alias: pci:v0000168Cd00000032sv0000144Dsd0000410Fbc*sc*i*
alias: pci:v0000168Cd00000032sv0000144Dsd0000410Ebc*sc*i*
alias: pci:v0000168Cd00000032sv0000144Dsd0000410Dbc*sc*i*
alias: pci:v0000168Cd00000032sv0000144Dsd00004106bc*sc*i*
alias: pci:v0000168Cd00000032sv0000144Dsd00004105bc*sc*i*
alias: pci:v0000168Cd00000032sv0000185Fsd00003027bc*sc*i*
alias: pci:v0000168Cd00000032sv0000185Fsd00003119bc*sc*i*
alias: pci:v0000168Cd00000032sv0000168Csd00003122bc*sc*i*
alias: pci:v0000168Cd00000032sv0000168Csd00003119bc*sc*i*
alias: pci:v0000168Cd00000032sv0000105Bsd0000E075bc*sc*i*
alias: pci:v0000168Cd00000032sv00001A3Bsd00002152bc*sc*i*
alias: pci:v0000168Cd00000032sv00001A3Bsd0000126Abc*sc*i*
alias: pci:v0000168Cd00000032sv00001A3Bsd00002126bc*sc*i*
alias: pci:v0000168Cd00000032sv00001A3Bsd00001237bc*sc*i*
alias: pci:v0000168Cd00000032sv00001A3Bsd00002086bc*sc*i*
alias: pci:v0000168Cd00000030sv*sd*bc*sc*i*
alias: pci:v0000168Cd00000030sv00001A56sd00002001bc*sc*i*
alias: pci:v0000168Cd00000030sv00001A56sd00002000bc*sc*i*
alias: pci:v0000168Cd0000002Esv*sd*bc*sc*i*
alias: pci:v0000168Cd0000002Dsv*sd*bc*sc*i*
alias: pci:v0000168Cd0000002Csv*sd*bc*sc*i*
alias: pci:v0000168Cd0000002Bsv*sd*bc*sc*i*
alias: pci:v0000168Cd0000002Bsv00001A3Bsd00002C37bc*sc*i*
alias: pci:v0000168Cd0000002Asv000010CFsd00001536bc*sc*i*
alias: pci:v0000168Cd0000002Asv000010CFsd0000147Dbc*sc*i*
alias: pci:v0000168Cd0000002Asv000010CFsd0000147Cbc*sc*i*
alias: pci:v0000168Cd0000002Asv0000185Fsd0000309Dbc*sc*i*
alias: pci:v0000168Cd0000002Asv00001A32sd00000306bc*sc*i*
alias: pci:v0000168Cd0000002Asv000011ADsd00006642bc*sc*i*
alias: pci:v0000168Cd0000002Asv000011ADsd00006632bc*sc*i*
alias: pci:v0000168Cd0000002Asv0000105Bsd0000E01Fbc*sc*i*
alias: pci:v0000168Cd0000002Asv00001A3Bsd00001C71bc*sc*i*
alias: pci:v0000168Cd0000002Asv*sd*bc*sc*i*
alias: pci:v0000168Cd00000029sv0000168Csd00002096bc*sc*i*
alias: pci:v0000168Cd00000029sv*sd*bc*sc*i*
alias: pci:v0000168Cd00000027sv*sd*bc*sc*i*
alias: pci:v0000168Cd00000024sv*sd*bc*sc*i*
alias: pci:v0000168Cd00000023sv*sd*bc*sc*i*
depends: mac80211,ath9k_hw,ath9k_common,cfg80211,ath
intree: Y
vermagic: 3.10.0-514.2.2.el7.x86_64 SMP mod_unload modversions
signer: CentOS Linux kernel signing key
sig_key: 54:CE:18:D5:47:AB:70:33:F7:FE:23:16:22:13:74:77:98:1A:31:81
sig_hashalgo: sha256
parm: debug:Debugging mask (uint)
parm: nohwcrypt:Disable hardware encryption (int)
parm: blink:Enable LED blink on activity (int)
parm: led_active_high:Invert LED polarity (int)
parm: btcoex_enable:Enable wifi-BT coexistence (int)
parm: bt_ant_diversity:Enable WLAN/BT RX antenna diversity (int)
parm: ps_enable:Enable WLAN PowerSave (int)
-------------------------------------------------------------------------------------------------------------
AD2)
I have looked
The hostapd -dd log from such an event - and I see no related errors?
-------------------------------------------------------------------------------------------------------------
n=48
nl80211: Event message available
nl80211: BSS Event 59 (NL80211_CMD_FRAME) received for wlan0
nl80211: MLME event 59 (NL80211_CMD_FRAME) on wlan0(30:b5:c2:15:73:1c)
A1=ff:ff:ff:ff:ff:ff A2=40:f0:2f:c4:64:dd
nl80211: MLME event frame - hexdump(len=48): 40 00 00 00 ff ff ff ff
ff ff 40 f0 2f c4 64 dd ff ff ff ff ff ff 90 44 00 06 4f 70 65 6e 65
74 01 08 82 84 8b 96 0c 12 18 24 32 04 30 48 60 6c
nl80211: Frame event
nl80211: RX frame da=ff:ff:ff:ff:ff:ff sa=40:f0:2f:c4:64:dd
bssid=ff:ff:ff:ff:ff:ff freq=2442 ssi_signal=-58 fc=0x40
seq_ctrl=0x4490 stype=4 (WLAN_FC_STYPE_PROBE_REQ) len=48
^CSignal 2 received - terminating
hostapd_interface_deinit_free(0xdb6a70)
hostapd_interface_deinit_free: num_bss=1 conf->num_bss=1
hostapd_interface_deinit(0xdb6a70)
wlan0: interface state ENABLED->DISABLED
hostapd_bss_deinit: deinit bss wlan0
wlan0: Deauthenticate all stations
nl80211: send_mlme - da= ff:ff:ff:ff:ff:ff noack=0 freq=0 no_cck=0
offchanok=0 wait_time=0 fc=0xc0 (WLAN_FC_STYPE_DEAUTH) nlmode=3
nl80211: send_mlme -> send_frame
nl80211: send_frame - Use bss->freq=2442
nl80211: send_frame -> send_frame_cmd
nl80211: CMD_FRAME freq=2442 wait=0 no_cck=0 no_ack=0 offchanok=0
CMD_FRAME - hexdump(len=26): c0 00 00 00 ff ff ff ff ff ff 30 b5 c2 15
73 1c 30 b5 c2 15 73 1c 00 00 03 00
nl80211: Frame TX command accepted; cookie 0x9
wlan0: AP-DISABLED
hostapd_cleanup(hapd=0xdb99d0 (wlan0))
wlan0: CTRL-EVENT-TERMINATING
hostapd_free_hapd_data(wlan0)
hostapd_interface_deinit_free: driver=0x4a5200 drv_priv=0xdbab20 -> hapd_deinit
nl80211: deinit ifname=wlan0 disabled_11b_rates=0
nl80211: Remove monitor interface: refcount=0
nl80211: Remove beacon (ifindex=3)
netlink: Operstate: ifindex=3 linkmode=0 (kernel-control), operstate=6
(IF_OPER_UP)
nl80211: Set mode ifindex 3 iftype 2 (STATION)
nl80211: Teardown AP(wlan0) - device_ap_sme=0 use_monitor=0
nl80211: Unsubscribe mgmt frames handle 0x888888888853fd79 (AP teardown)
hostapd_interface_free(0xdb6a70)
hostapd_interface_free: free hapd 0xdb99d0
hostapd_cleanup_iface(0xdb6a70)
hostapd_cleanup_iface_partial(0xdb6a70)
hostapd_cleanup_iface: free iface=0xdb6a70
----------------------------------------------------------------------------------------------------------
Issue happens only sometimes/is intermittent.
Workaround - bring down and up the wlan interface.
Regards
Wojciech Żyszczyński
Pozdrawiam,
Wojciech Żyszczyński
2017-03-26 10:02 GMT+01:00 Jouni Malinen <j at w1.fi>:
> On Tue, Mar 21, 2017 at 02:30:43PM +0000, Wojciech Żyszczyński wrote:
>> I am running hostapd 2.6 on centos 7. I start it and the SSID is being
>> broadcasted.
>> What puzzles me, if I terminate the hostapd process with CTRL+C in the
>> console, the SSID is still being broadcasted.
>
> Which driver and Wi-Fi hardware are you using?
>
>> The zombie SSID is visible in the scan results and connection can be
>> attempted. It always fails though.
>> My guess is that 'hostapd does not shutdown the Access Point at the
>> wifi driver level'.
>
> hostapd does stop the AP when allowed to do so.. Ctrl-C in general
> should allow this (while SIGKILL would not). Can you share a hostapd
> debug log (-dd on command line) from an example where the beacon frames
> continued to be transmitted after Ctrl-C?
>
> --
> Jouni Malinen PGP id EFC895FA
More information about the Hostap
mailing list