LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (http://www.linuxquestions.org/questions/slackware-14/)
-   -   Help making Atheros AR9287 Chipset with ath9k module work properly with Slackware 14 (http://www.linuxquestions.org/questions/slackware-14/help-making-atheros-ar9287-chipset-with-ath9k-module-work-properly-with-slackware-14-a-4175431238/)

raphaeldavidf 10-08-2012 09:47 PM

Help making Atheros AR9287 Chipset with ath9k module work properly with Slackware 14
 
Hey guys,

These days I started feeling that the wireless connection in my notebook wasn't working correctly, the connection oscillates a lot(especially when I'm using ktorrent). At first I thought my internet provider that was unstable, but when my girlfriend arrived at home I tried with her notebook and everything was fine. Then I tried to ping my router and this was the output(this is when the conection is quite bad, some times the time response is pretty normal, around 1~5 ms):
Code:

64 bytes from 192.168.88.1: icmp_req=497 ttl=64 time=4577 ms
64 bytes from 192.168.88.1: icmp_req=498 ttl=64 time=3922 ms
64 bytes from 192.168.88.1: icmp_req=499 ttl=64 time=4179 ms
64 bytes from 192.168.88.1: icmp_req=500 ttl=64 time=3708 ms
64 bytes from 192.168.88.1: icmp_req=501 ttl=64 time=2263 ms
64 bytes from 192.168.88.1: icmp_req=502 ttl=64 time=1266 ms
64 bytes from 192.168.88.1: icmp_req=503 ttl=64 time=1038 ms
64 bytes from 192.168.88.1: icmp_req=504 ttl=64 time=969 ms
64 bytes from 192.168.88.1: icmp_req=505 ttl=64 time=3399 ms
64 bytes from 192.168.88.1: icmp_req=506 ttl=64 time=3740 ms
64 bytes from 192.168.88.1: icmp_req=507 ttl=64 time=4658 ms
64 bytes from 192.168.88.1: icmp_req=508 ttl=64 time=4030 ms
64 bytes from 192.168.88.1: icmp_req=509 ttl=64 time=3294 ms
64 bytes from 192.168.88.1: icmp_req=510 ttl=64 time=3090 ms
64 bytes from 192.168.88.1: icmp_req=511 ttl=64 time=4063 ms
64 bytes from 192.168.88.1: icmp_req=512 ttl=64 time=4382 ms
64 bytes from 192.168.88.1: icmp_req=513 ttl=64 time=3560 ms
64 bytes from 192.168.88.1: icmp_req=514 ttl=64 time=3413 ms
64 bytes from 192.168.88.1: icmp_req=515 ttl=64 time=2330 ms
64 bytes from 192.168.88.1: icmp_req=516 ttl=64 time=1499 ms
64 bytes from 192.168.88.1: icmp_req=517 ttl=64 time=2404 ms
64 bytes from 192.168.88.1: icmp_req=518 ttl=64 time=2295 ms
64 bytes from 192.168.88.1: icmp_req=519 ttl=64 time=1726 ms
64 bytes from 192.168.88.1: icmp_req=520 ttl=64 time=1038 ms
64 bytes from 192.168.88.1: icmp_req=521 ttl=64 time=1324 ms
64 bytes from 192.168.88.1: icmp_req=522 ttl=64 time=2383 ms
64 bytes from 192.168.88.1: icmp_req=523 ttl=64 time=2170 ms
64 bytes from 192.168.88.1: icmp_req=524 ttl=64 time=1861 ms
64 bytes from 192.168.88.1: icmp_req=525 ttl=64 time=1198 ms
64 bytes from 192.168.88.1: icmp_req=526 ttl=64 time=1177 ms
64 bytes from 192.168.88.1: icmp_req=527 ttl=64 time=560 ms
64 bytes from 192.168.88.1: icmp_req=528 ttl=64 time=320 ms
64 bytes from 192.168.88.1: icmp_req=529 ttl=64 time=3111 ms
64 bytes from 192.168.88.1: icmp_req=530 ttl=64 time=3438 ms
64 bytes from 192.168.88.1: icmp_req=531 ttl=64 time=2549 ms
64 bytes from 192.168.88.1: icmp_req=532 ttl=64 time=2295 ms
64 bytes from 192.168.88.1: icmp_req=533 ttl=64 time=1946 ms
64 bytes from 192.168.88.1: icmp_req=534 ttl=64 time=2221 ms
64 bytes from 192.168.88.1: icmp_req=535 ttl=64 time=1553 ms
64 bytes from 192.168.88.1: icmp_req=536 ttl=64 time=1186 ms
64 bytes from 192.168.88.1: icmp_req=537 ttl=64 time=1328 ms
64 bytes from 192.168.88.1: icmp_req=538 ttl=64 time=1584 ms
64 bytes from 192.168.88.1: icmp_req=539 ttl=64 time=1641 ms
64 bytes from 192.168.88.1: icmp_req=540 ttl=64 time=1393 ms
64 bytes from 192.168.88.1: icmp_req=541 ttl=64 time=4914 ms
64 bytes from 192.168.88.1: icmp_req=542 ttl=64 time=6462 ms
64 bytes from 192.168.88.1: icmp_req=543 ttl=64 time=6155 ms
64 bytes from 192.168.88.1: icmp_req=544 ttl=64 time=6083 ms
64 bytes from 192.168.88.1: icmp_req=545 ttl=64 time=4871 ms
64 bytes from 192.168.88.1: icmp_req=546 ttl=64 time=3684 ms
64 bytes from 192.168.88.1: icmp_req=547 ttl=64 time=3093 ms
64 bytes from 192.168.88.1: icmp_req=548 ttl=64 time=2798 ms
64 bytes from 192.168.88.1: icmp_req=549 ttl=64 time=4742 ms
64 bytes from 192.168.88.1: icmp_req=550 ttl=64 time=4396 ms
64 bytes from 192.168.88.1: icmp_req=551 ttl=64 time=3954 ms
64 bytes from 192.168.88.1: icmp_req=552 ttl=64 time=4202 ms
64 bytes from 192.168.88.1: icmp_req=553 ttl=64 time=5065 ms
64 bytes from 192.168.88.1: icmp_req=554 ttl=64 time=4345 ms
64 bytes from 192.168.88.1: icmp_req=555 ttl=64 time=3444 ms
64 bytes from 192.168.88.1: icmp_req=556 ttl=64 time=2465 ms
64 bytes from 192.168.88.1: icmp_req=557 ttl=64 time=58.2 ms
64 bytes from 192.168.88.1: icmp_req=558 ttl=64 time=277 ms
64 bytes from 192.168.88.1: icmp_req=559 ttl=64 time=25.7 ms
64 bytes from 192.168.88.1: icmp_req=560 ttl=64 time=40.6 ms
64 bytes from 192.168.88.1: icmp_req=561 ttl=64 time=482 ms
64 bytes from 192.168.88.1: icmp_req=562 ttl=64 time=1353 ms
64 bytes from 192.168.88.1: icmp_req=563 ttl=64 time=2268 ms
64 bytes from 192.168.88.1: icmp_req=564 ttl=64 time=1932 ms
64 bytes from 192.168.88.1: icmp_req=565 ttl=64 time=1393 ms
64 bytes from 192.168.88.1: icmp_req=566 ttl=64 time=768 ms
64 bytes from 192.168.88.1: icmp_req=567 ttl=64 time=1.94 ms
64 bytes from 192.168.88.1: icmp_req=568 ttl=64 time=49.2 ms
64 bytes from 192.168.88.1: icmp_req=569 ttl=64 time=2505 ms
64 bytes from 192.168.88.1: icmp_req=570 ttl=64 time=1770 ms
64 bytes from 192.168.88.1: icmp_req=571 ttl=64 time=1435 ms
64 bytes from 192.168.88.1: icmp_req=572 ttl=64 time=2030 ms
64 bytes from 192.168.88.1: icmp_req=573 ttl=64 time=2869 ms
64 bytes from 192.168.88.1: icmp_req=574 ttl=64 time=2934 ms
64 bytes from 192.168.88.1: icmp_req=575 ttl=64 time=3875 ms
64 bytes from 192.168.88.1: icmp_req=576 ttl=64 time=2911 ms
64 bytes from 192.168.88.1: icmp_req=577 ttl=64 time=3463 ms
64 bytes from 192.168.88.1: icmp_req=578 ttl=64 time=2707 ms
64 bytes from 192.168.88.1: icmp_req=579 ttl=64 time=1722 ms

After some google research I found that my wireless chipset(AR9287) had some bugs in the newer kernel modules (higher than 2.2.x I guess). In this research I found a lot of fixes, but none of then worked. Here goes some of the ones that I've already tried

from http://ubuntuforums.org/showthread.php?t=1798972
Code:

su
rmmod -f acer-wmi
echo "blacklist acer-wmi" >> /etc/modprobe.d/blacklist.conf

and
from http://pleph.appspot.com/init/posts/view/2657865
Code:

sudo ifconfig wlan0 down
sudo rmmod -f ath9k
sudo modprobe ath9k nohwcrypt=1
sudo ifconfig wlan0 up

I've found one(http://fir3net.com/Debian-/-Ubuntu/c...rack-4-r2.html) that involved compiling and install an older ath9k module, but I couldn't make things work. When I tried to compile the module I got those errors:
Code:

/bin/sh: line 0: [: 38: esperado operador unário
/bin/sh: line 0: test: número excessivo de argumentos
/sbin/modprobe: invalid option -- 'l'
/sbin/modprobe: invalid option -- 'l'
make -C /lib/modules/3.2.29/build M=/mnt/Arquivos/Downloads/compat-wireless-2.6.38-rc4-1 modules
make[1]: Entrando no diretório `/usr/src/linux-3.2.29'
/sbin/modprobe: invalid option -- 'l'
/sbin/modprobe: invalid option -- 'l'
/sbin/modprobe: invalid option -- 'l'
/sbin/modprobe: invalid option -- 'l'
  CC [M]  /mnt/Arquivos/Downloads/compat-wireless-2.6.38-rc4-1/drivers/net/wireless/ath/ath9k/beacon.o
In file included from /mnt/Arquivos/Downloads/compat-wireless-2.6.38-rc4-1/drivers/net/wireless/ath/ath9k/ath9k.h:24:0,
                from /mnt/Arquivos/Downloads/compat-wireless-2.6.38-rc4-1/drivers/net/wireless/ath/ath9k/beacon.c:17:
/mnt/Arquivos/Downloads/compat-wireless-2.6.38-rc4-1/include/linux/pm_qos_params.h:7:38: fatal error: linux/pm_qos_params.h: Arquivo ou diretório não encontrado
compilation terminated.
make[5]: ** [/mnt/Arquivos/Downloads/compat-wireless-2.6.38-rc4-1/drivers/net/wireless/ath/ath9k/beacon.o] Erro 1
make[4]: ** [/mnt/Arquivos/Downloads/compat-wireless-2.6.38-rc4-1/drivers/net/wireless/ath/ath9k] Erro 2
make[3]: ** [/mnt/Arquivos/Downloads/compat-wireless-2.6.38-rc4-1/drivers/net/wireless/ath] Erro 2
make[2]: ** [/mnt/Arquivos/Downloads/compat-wireless-2.6.38-rc4-1/drivers/net/wireless] Erro 2
make[1]: ** [_module_/mnt/Arquivos/Downloads/compat-wireless-2.6.38-rc4-1] Erro 2
make[1]: Saindo do diretório `/usr/src/linux-3.2.29'
make: ** [modules] Erro 2

so this is it, if anyone could give me some light on this problem I would really appreciate!

Thanks!

PS: the output to some commands

Code:

root@DeathStar:/home/raphael $ lspci | grep Network
03:00.0 Network controller: Atheros Communications Inc. AR9287 Wireless Network Adapter (PCI-Express) (rev 01)

Code:

root@DeathStar:/home/raphael $ rfkill list all
0: acer-wireless: Wireless LAN
        Soft blocked: no
        Hard blocked: no
1: phy0: Wireless LAN
        Soft blocked: no
        Hard blocked: no

Code:

root@DeathStar:/home/raphael/ $ iwconfig wlan0
wlan0    IEEE 802.11bgn  ESSID:"hld3" 
          Mode:Managed  Frequency:2.437 GHz  Access Point: 00:21:29:77:77:43 
          Bit Rate=54 Mb/s  Tx-Power=13 dBm 
          Retry  long limit:7  RTS thr:off  Fragment thr:off
          Encryption key:off
          Power Management:off
          Link Quality=49/70  Signal level=-61 dBm 
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:535  Invalid misc:2710  Missed beacon:0


raphaeldavidf 10-10-2012 12:04 PM

Anyone? =(

STDOUBT 10-10-2012 03:27 PM

Sometimes it's better to punt...

I have had similar issues with a different 802.11 card, "supported, but not quite well enough", and have found that's it's easier on my nerves and schedule to just replace the little bugger with something solid.

I recommend Intel's 5100 or 5300 agn mini-PCI cards. Less than $10 on the ebay. If it's true about a buggy kernel module, you can either wait to see if it gets fixed, downgrade to 2.2/6.x, or learn to hack the drivers/modules. I prefer the nuclear option ;-) "chuck it!".

Also see here:http://www.linuxquestions.org/questi...87-4175415456/

raphaeldavidf 10-14-2012 12:22 AM

It has been some days now and I think the problem is gone. All that i did was pick one of the more recent modules from http://linuxwireless.org/en/users/Download/stable/ and installed it. For me the compat-wireless-3.5.4-1 worked pretty well, so I'm sticking with it. My ping average time is 3~10 ms now, and the max time is never higher than 900 ms!

;D


All times are GMT -5. The time now is 02:42 PM.