当 hostapd 运行时,AP 会随机变得无法被客户端访问

当 hostapd 运行时,AP 会随机变得无法被客户端访问

hostapd我使用 Debian Wheezy等将一台旧 PC 设置为路由器。dhcpd它有 3 个网卡和 1 个 WiFi PCI 卡(TP-Link L-WN751ND)。

问题在于,当 hostapd 运行且其接口已启动时,客户端会随机无法访问 AP。从我设置到昨天,这个路由器已经工作了 6 天,没有出现任何问题。我不明白为什么hostapd变得无法使用。

我到底有哪些接口

eth0 is down (3Com)
eth1 gets IP from ISP DHCP (Realtek)
eth2 takes IP for my LAN over DHCPD
ppp0 - it's an ISP VPN over PPTP

配置

$ cat /etc/debian_version
wheezy/sid

$ uname -r
3.2.0-2-686-pae

$ dpkg -l | grep linux-image
ii  linux-image-2.6-686                  3.2+44 Linux for modern PCs (dummy package)
ii  linux-image-3.2.0-2-686-pae          3.2.17-1 Linux 3.2 for modern PCs
ii  linux-image-686-pae                  3.2+44 Linux for modern PCs (meta-package)

$ hostapd -v
hostapd v1.0
User space daemon for IEEE 802.11 AP management,
IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator
Copyright (c) 2002-2010, Jouni Malinen <[email protected]> and contributors

$ lspci
00:00.0 Host bridge: Intel Corporation 82810E DC-133 (GMCH) Graphics Memory Controller Hub (rev 03)
00:01.0 VGA compatible controller: Intel Corporation 82810E DC-133 (CGC) Chipset Graphics Controller (rev 03)
00:1e.0 PCI bridge: Intel Corporation 82801AA PCI Bridge (rev 02) 00:1f.0 ISA bridge: Intel Corporation 82801AA ISA Bridge (LPC) (rev 02)
00:1f.1 IDE interface: Intel Corporation 82801AA IDE Controller (rev 02)
00:1f.2 USB controller: Intel Corporation 82801AA USB Controller (rev 02)
00:1f.3 SMBus: Intel Corporation 82801AA SMBus Controller (rev 02)
01:07.0 Multimedia audio controller: Ensoniq ES1371 [AudioPCI-97] (rev 06)
01:08.0 Network controller: Atheros Communications Inc. AR9227 Wireless Network Adapter (rev 01)
01:09.0 Ethernet controller: Sundance Technology Inc / IC Plus Corp IC Plus IP100A Integrated 10/100 Ethernet MAC + PHY (rev 31)
01:0a.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
01:0b.0 Ethernet controller: 3Com Corporation 3c905 100BaseTX [Boomerang]

$ ifconfig    
eth1      Link encap:Ethernet  HWaddr 00:60:97:d8:dd:ea
             inet addr:192.168.120.184  Bcast:192.168.120.255  Mask:255.255.255.0
             inet6 addr: fe80::260:97ff:fed8:ddea/64 Scope:Link
             UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
             RX packets:431713 errors:74 dropped:682 overruns:59 frame:0
             TX packets:171981 errors:0 dropped:0 overruns:0 carrier:0
             collisions:0 txqueuelen:1000
             RX bytes:283031893 (269.9 MiB)  TX bytes:21389936 (20.3 MiB)
             Interrupt:10 Base address:0xd800


eth2      Link encap:Ethernet  HWaddr 14:da:e9:a7:21:33
             inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
             inet6 addr: fe80::16da:e9ff:fea7:2133/64 Scope:Link
             UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
             RX packets:276872 errors:0 dropped:0 overruns:0 frame:0
             TX packets:338010 errors:1 dropped:30 overruns:0 carrier:0
             collisions:0 txqueuelen:1000
             RX bytes:23357782 (22.2 MiB)  TX bytes:278728804 (265.8 MiB)
             Interrupt:11 Base address:0xdc00


lo        Link encap:Local Loopback
             inet addr:127.0.0.1  Mask:255.0.0.0
             inet6 addr: ::1/128 Scope:Host
             UP LOOPBACK RUNNING  MTU:16436  Metric:1
             RX packets:4 errors:0 dropped:0 overruns:0 frame:0
             TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
             collisions:0 txqueuelen:0
             RX bytes:436 (436.0 B)  TX bytes:436 (436.0 B)


mon.wlan0 Link encap:UNSPEC  HWaddr
    B0-48-7A-E3-AE-0F-00-00-00-00-00-00-00-00-00-00
             UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
             RX packets:0 errors:0 dropped:0 overruns:0 frame:0
             TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
             collisions:0 txqueuelen:1000
             RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)


ppp0      Link encap:Point-to-Point Protocol
             inet addr:80.242.96.16  P-t-P:195.66.139.23  Mask:255.255.255.255
             UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1400  Metric:1
             RX packets:225471 errors:0 dropped:0 overruns:0 frame:0
             TX packets:142471 errors:0 dropped:0 overruns:0 carrier:0
             collisions:0 txqueuelen:3
             RX bytes:252918981 (241.2 MiB)  TX bytes:11957326 (11.4 MiB)


wlan0     Link encap:Ethernet  HWaddr b0:48:7a:e3:ae:0f
             inet addr:192.168.2.1  Bcast:192.168.2.255  Mask:255.255.255.0
             inet6 addr: fe80::b248:7aff:fee3:ae0f/64 Scope:Link
             UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
             RX packets:252 errors:0 dropped:0 overruns:0 frame:0
             TX packets:420 errors:0 dropped:0 overruns:0 carrier:0
             collisions:0 txqueuelen:1000
             RX bytes:31491 (30.7 KiB)  TX bytes:240068 (234.4 KiB)



$ iwconfig            
wlan0     IEEE 802.11bgn  Mode:Master  Frequency:2.437 GHz  Tx-Power=13 dBm
                 Retry  long limit:7   RTS thr:off   Fragment thr:off
                 Power Management:on


mon.wlan0  IEEE 802.11bgn  Mode:Monitor  Tx-Power=13 dBm
                 Retry  long limit:7   RTS thr:off   Fragment thr:off
                 Power Management:on

我的系统日志的内容

这部分/var/log/messages引起了我的注意:

May 26 03:19:01 debian kernel: [10947.008116] ------------[ cut here ]------------
May 26 03:19:01 debian kernel: [10947.008167] WARNING: at /build/buildd-linux-2.6_3.2.17-1-i386-rPdRhH/linux-2.6-3.2.17/debian/build/source_i386_none/net/sched/sch_generic.c:255 dev_watchdog+0xb1/0x104()
May 26 03:19:01 debian kernel: [10947.008181] Hardware name:
May 26 03:19:01 debian kernel: [10947.008190] NETDEV WATCHDOG: eth2 (sundance): transmit queue 0 timed out
May 26 03:19:01 debian kernel: [10947.008199] Modules linked in: cryptd aes_i586 aes_generic ppp_async crc_ccitt ppp_generic slhc ipt_MASQUERADE xt_TCPMSS xt_limit xt_pkttype ipt_REJECT xt_tcpudp xt_state ipt_LOG iptable_mangle iptable_nat iptable_filter nf_conntrack_irc nf_nat_ftp nf_conntrack_ftp nf_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_conntrack ip_tables x_tables 8021q garp stp loop arc4 ath9k ath9k_common ath9k_hw snd_ens1371 ath snd_ac97_codec mac80211
snd_rawmidi snd_seq_device cfg80211 snd_pcm evdev snd_page_alloc snd_timer fkill snd soundcore ac97_bus pcspkr serio_raw i2c_i801 gameport i2c_core iTCO_wdt iTCO_vendor_support rng_core shpchp parport_pc parport processor button thermal_sys ext4 crc16 jbd2 mbcache dm_mod sr_mod sd_mod cdrom crc_t10dif ata_generic ata_piix libata 8139too uhci_hcd ehci_hcd scsi_mod usbcore sb_common 3c59x 8139cp floppy sundance mii [last unloaded: scsi_wait_scan]
May 26 03:19:01 debian kernel: [10947.008476] Pid: 1705, comm: rs:main Q:Reg Not tainted 3.2.0-2-686-pae #1
May 26 03:19:01 debian kernel: [10947.008486] Call Trace: May 26 03:19:01 debian kernel: [10947.008513]  [<c103845c>] ? warn_slowpath_common+0x68/0x79
May 26 03:19:01 debian kernel: [10947.008528]  [<c1231444>] ?     dev_watchdog+0xb1/0x104
May 26 03:19:01 debian kernel: [10947.008545]  [<c10384d5>] ?     warn_slowpath_fmt+0x29/0x2d
May 26 03:19:01 debian kernel: [10947.008560]  [<c1231444>] ?     dev_watchdog+0xb1/0x104
May 26 03:19:01 debian kernel: [10947.008613]  [<c103ce5d>] ?     local_bh_enable+0x2/0x2
May 26 03:19:01 debian kernel: [10947.008641]  [<c1042010>] ?     run_timer_softirq+0x150/0x1f3
May 26 03:19:01 debian kernel: [10947.008656]  [<c1231393>] ?     netif_tx_unlock+0x3a/0x3a
May 26 03:19:01 debian kernel: [10947.008672]  [<c103ce5d>] ?     local_bh_enable+0x2/0x2
May 26 03:19:01 debian kernel: [10947.008687]  [<c103cef1>] ?     __do_softirq+0x94/0x12f
May 26 03:19:01 debian kernel: [10947.008702]  [<c103ce5d>] ?     local_bh_enable+0x2/0x2
May 26 03:19:01 debian kernel: [10947.008710]  <IRQ>  [<c103d0e2>] ?     irq_exit+0x32/0x80
May 26 03:19:01 debian kernel: [10947.008762]  [<c100cd7a>] ? o_IRQ+0x65/0x76
May 26 03:19:01 debian kernel: [10947.008787]  [<c12c5bf0>] ?     common_interrupt+0x30/0x38
May 26 03:19:01 debian kernel: [10947.008825]  [<c10f1dc1>] ?     __fsnotify_parent+0x80/0x87
May 26 03:19:01 debian kernel: [10947.008844]  [<c10cb955>] ?     wait_on_retry_sync_kiocb+0x3c/0x3c
May 26 03:19:01 debian kernel: [10947.008858]  [<c10cb955>] ?     wait_on_retry_sync_kiocb+0x3c/0x3c
May 26 03:19:01 debian kernel: [10947.008872]  [<c10cb901>] ?     fsnotify_modify+0x37/0x4f
May 26 03:19:01 debian kernel: [10947.008887]  [<c10cc1c8>] ?     vfs_write+0xa4/0xd4
May 26 03:19:01 debian kernel: [10947.008901]  [<c10cc367>] ?     sys_write+0x3d/0x61
May 26 03:19:01 debian kernel: [10947.008916]  [<c12c565f>] ?     sysenter_do_call+0x12/0x28
May 26 03:19:01 debian kernel: [10947.008927] ---[ end trace d751668d50ee9171 ]---
May 26 03:19:01 debian kernel: [10947.008943] eth2: Transmit timed out, TxStatus 00 TxFrameId bc, resetting...

上面/var/log/syslog堆满了这样的消息:

May 26 16:37:35 debian kernel: [58861.160666] ath: Could not stop RX, we could be confusing the DMA engine when we start RX up
May 26 16:37:36 debian kernel: [58861.514885] ath: DMA failed to stop in 10 ms AR_CR=0x00000024 AR_DIAG_SW=0x42000020 DMADBG_7=0x00008040
May 26 16:37:36 debian kernel: [58861.514987] ath: Could not stop RX, we could be confusing the DMA engine when we start RX up
May 26 16:37:36 debian kernel: [58861.869302] ath: DMA failed to stop in 10 ms AR_CR=0x00000024 AR_DIAG_SW=0x42000020 DMADBG_7=0x00008040
May 26 16:37:36 debian kernel: [58861.869398] ath: Could not stop RX, we could be confusing the DMA engine when we start RX up
May 26 16:37:37 debian kernel: [58862.223665] ath: DMA failed to stop in 10 ms AR_CR=0x00000024 AR_DIAG_SW=0x42000020 DMADBG_7=0x00008040
May 26 16:37:37 debian kernel: [58862.223769] ath: Could not stop RX, we could be confusing the DMA engine when we start RX up
May 26 16:37:37 debian kernel: [58862.578063] ath: DMA failed to stop in 10 ms AR_CR=0x00000024 AR_DIAG_SW=0x42000020 DMADBG_7=0x00006040
May 26 16:37:37 debian kernel: [58862.578163] ath: Could not stop RX, we could be confusing the DMA engine when we start RX up

我对这个问题的原因感到困惑,但日志让我怀疑该ath9k模块。因此,我一直在系统日志中按主题进行谷歌搜索,发现这是一个古老的众所周知的错误。 Google 建议的解决方法是关闭 WiFi 卡的电源管理系统:

# iwconfig wlan power off

但我尝试了这种解决方法,但它对我不起作用。

答案1

解决办法是,编辑

sudo vi /etc/modprobe.d/ath9k.conf

和:

options ath9k nohwcrypt=1

然后重新启动。

根据“如何修复 Ubuntu Natty Narwhal 中的 Atheros AR9285 / AR9287 无线问题?”

http://www.htpcbeginner.com/how-to-fix-atheros-ar9285-ar9287-wireless-problems-in-ubuntu-1104/

我注意到我的无线卡无法工作。无线问题包括连接频繁丢失或下降,即使连接后速度也非常慢。

答案2

这里不可能给出准确的答案,因为您没有提供所需的所有信息。

然而,对我来说这听起来像是一个中断问题。我通过确保 ath9k 不与 [eux]hci_hcd 或其他人共享中断来解决这个问题。

要解决中断共享问题,首先查看 /proc/interrupts。如果你看到 ath9k 共享一个这样的中断:

18:272716296 IO-APIC-fasteoi ath9k,uhci_hcd:usb4

解绑usb4就可以了

echo 4 > /sys/bus/pci/drivers/uhci_hcd/unbind

相关内容