周边环境:
OpenWrt Development Trunk:
svn co svn://svn.openwrt.org/openwrt/trunk/
BUG:
1. 无线无法建立连接.
2. 无线建立连接获取IP地址失败,断开连接.
出现故障的时候会伴随下面dmesg
[ 3702.380000] ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Dropping frame due to full tx queue 2
[ 3702.390000] ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Dropping frame due to full tx queue 2
[ 3702.400000] ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Dropping frame due to full tx queue 2
[ 3702.410000] ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Dropping frame due to full tx queue 2
[ 3702.420000] ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Dropping frame due to full tx queue 2
[97845.440000] ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Dropping frame due to full tx queue 2
[97845.450000] ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Dropping frame due to full tx queue 2
[97845.460000] ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Dropping frame due to full tx queue 2
[97845.470000] ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Dropping frame due to full tx queue 2
[97845.480000] ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Dropping frame due to full tx queue 2
[101808.120000] ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Dropping frame due to full tx queue 2
[101808.130000] ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Dropping frame due to full tx queue 2
[101808.140000] ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Dropping frame due to full tx queue 2
[101808.150000] ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Dropping frame due to full tx queue 2
[101808.160000] ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Dropping frame due to full tx queue 2
[102318.680000] ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Dropping frame due to full tx queue 2
[102318.690000] ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Dropping frame due to full tx queue 2
[102318.700000] ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Dropping frame due to full tx queue 2
[102318.710000] ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Dropping frame due to full tx queue 2
[102318.720000] ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Dropping frame due to full tx queue 2
使用wifi restart的时候,会出现下面debug信息。仍然不能正常上网,这个时候仅仅有重新启动路由器才干够解决问题。
[106572.440000] br-lan2: port 2(wlan0-1) entered disabled state
[106572.450000] device wlan0-1 left promiscuous mode
[106572.450000] br-lan2: port 2(wlan0-1) entered disabled state
[106572.490000] device wlan0 left promiscuous mode
[106572.490000] br-lan: port 2(wlan0) entered disabled state
[106572.720000] ieee80211 phy0: rt2x00queue_flush_queue: Warning - Queue 2 failed to flush
[106572.930000] ieee80211 phy0: rt2x00queue_flush_queue: Warning - Queue 2 failed to flush
[106573.440000] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[106573.440000] device wlan0 entered promiscuous mode
[106573.450000] br-lan: port 2(wlan0) entered forwarding state
[106573.460000] br-lan: port 2(wlan0) entered forwarding state
[106573.470000] br-lan: port 2(wlan0) entered disabled state
[106580.750000] br-lan: port 2(wlan0) entered forwarding state
[106580.750000] br-lan: port 2(wlan0) entered forwarding state
[106580.760000] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[106580.780000] device wlan0-1 entered promiscuous mode
[106580.790000] br-lan2: port 2(wlan0-1) entered forwarding state
[106580.790000] br-lan2: port 2(wlan0-1) entered forwarding state
[106580.800000] IPv6: ADDRCONF(NETDEV_UP): wlan0-1: link is not ready
[106581.040000] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0-1: link becomes ready
[106582.750000] br-lan: port 2(wlan0) entered forwarding state
[106582.790000] br-lan2: port 2(wlan0-1) entered forwarding state
[106591.120000] ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Arrived at non-free entry in the non-full queue 2
[106591.120000] Please file bug report to http://rt2x00.serialmonkey.com
[106591.220000] br-lan2: port 2(wlan0-1) entered disabled state
[106591.220000] device wlan0-1 left promiscuous mode
[106591.230000] br-lan2: port 2(wlan0-1) entered disabled state
[106591.280000] device wlan0 left promiscuous mode
[106591.280000] br-lan: port 2(wlan0) entered disabled state
[106591.750000] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[106591.750000] device wlan0 entered promiscuous mode
[106591.760000] br-lan: port 2(wlan0) entered forwarding state
[106591.770000] br-lan: port 2(wlan0) entered forwarding state
[106592.260000] br-lan: port 2(wlan0) entered disabled state
[106599.060000] br-lan: port 2(wlan0) entered forwarding state
[106599.060000] br-lan: port 2(wlan0) entered forwarding state
[106599.070000] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[106599.090000] device wlan0-1 entered promiscuous mode
[106599.100000] br-lan2: port 2(wlan0-1) entered forwarding state
[106599.100000] br-lan2: port 2(wlan0-1) entered forwarding state
[106599.110000] IPv6: ADDRCONF(NETDEV_UP): wlan0-1: link is not ready
[106599.340000] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0-1: link becomes ready
[106601.060000] br-lan: port 2(wlan0) entered forwarding state
[106601.100000] br-lan2: port 2(wlan0-1) entered forwarding state
[106655.040000] ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Arrived at non-free entry in the non-full queue 2
[106655.040000] Please file bug report to http://rt2x00.serialmonkey.com
个人分析:
这个问题出现drop frame事实上不是什么大问题。可是出现连接不上无线,这个玩笑就开大了。
遇到类似问题的人挺多的。能把这个问题搞定的人真的没有人给出详细答案。
https://dev.openwrt.org/ticket/14138
底下这个呢。是pci的,我的是soc所以不是我的菜啊,太可惜了,唯一一个解掉问题的居然是在pci方面做的手脚。
http://www.marc.info/?l=linux-wireless&m=137992749815360&w=2
Linux kernel patch
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/drivers/net/wireless/rt2x00/rt2x00pci.c?
id=9483f40d8d01918b399b4e24d0c1111db0afffeb
求助各方:
http://rt2x00.serialmonkey.com/phpBB/viewforum.php?f=5
http://www.right.com.cn/forum/thread-146943-1-1.html
https://dev.openwrt.org/ticket/17556
至今没有解决方式,须要细致学习wireless.kernel.org的驱动了。
版权声明:本文博客原创文章。博客,未经同意,不得转载。