我设置了一台旧电脑作为路由器使用Debian喘息,hostapd
,dhcpd
等它有3个网卡和1张无线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 <j@w1.fi> 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
但是我尝试了这种解决方法,但它对我不起作用。