All of lore.kernel.org
 help / color / mirror / Atom feed
From: Wade Fitzpatrick <wade.fitzpatrick@gmail.com>
To: linux-wireless@vger.kernel.org
Subject: ar9170usb slow / poor performance
Date: Mon, 06 Dec 2010 19:51:34 +1100	[thread overview]
Message-ID: <4CFCA416.1010505@gmail.com> (raw)

I have 2 USB wireless dongles:
  - Generic Realtek RTL8187 using rtl8187 driver
  - Netgear WN111v2 [Atheros AR9001-U(2)NG] using ar9170usb driver

Performance of the Netgear has degraded severely since updating to Arch 
Linux kernel 2.6.36.1-3 from 2.6.35.4-2, also reported by 
http://article.gmane.org/gmane.linux.kernel.wireless.general/59911

Note that I only installed and enabled wlan1 because wlan0 was 
performing so badly.

# lsusb -v -d 0bda:8187

Bus 002 Device 005: ID 0bda:8187 Realtek Semiconductor Corp. RTL8187 
Wireless Adapter
Device Descriptor:
   bLength                18
   bDescriptorType         1
   bcdUSB               2.00
   bDeviceClass            0 (Defined at Interface level)
   bDeviceSubClass         0
   bDeviceProtocol         0
   bMaxPacketSize0        64
   idVendor           0x0bda Realtek Semiconductor Corp.
   idProduct          0x8187 RTL8187 Wireless Adapter
   bcdDevice            1.00
   iManufacturer           1 Manufacturer_Realtek_RTL8187_
   iProduct                2 RTL8187_Wireless_LAN_Adapter
   iSerial                 3 001AEF0050E6
   bNumConfigurations      1
   Configuration Descriptor:
     bLength                 9
     bDescriptorType         2
     wTotalLength           39
     bNumInterfaces          1
     bConfigurationValue     1
     iConfiguration          4 Wireless Network Card
     bmAttributes         0x80
       (Bus Powered)
     MaxPower              500mA
     Interface Descriptor:
       bLength                 9
       bDescriptorType         4
       bInterfaceNumber        0
       bAlternateSetting       0
       bNumEndpoints           3
       bInterfaceClass         0 (Defined at Interface level)
       bInterfaceSubClass      0
       bInterfaceProtocol      0
       iInterface              5 Bulk-IN,Bulk-OUT,Bulk-OUT
       Endpoint Descriptor:
         bLength                 7
         bDescriptorType         5
         bEndpointAddress     0x81  EP 1 IN
         bmAttributes            2
           Transfer Type            Bulk
           Synch Type               None
           Usage Type               Data
         wMaxPacketSize     0x0200  1x 512 bytes
         bInterval               0
       Endpoint Descriptor:
         bLength                 7
         bDescriptorType         5
         bEndpointAddress     0x02  EP 2 OUT
         bmAttributes            2
           Transfer Type            Bulk
           Synch Type               None
           Usage Type               Data
         wMaxPacketSize     0x0200  1x 512 bytes
         bInterval               0
       Endpoint Descriptor:
         bLength                 7
         bDescriptorType         5
         bEndpointAddress     0x03  EP 3 OUT
         bmAttributes            2
           Transfer Type            Bulk
           Synch Type               None
           Usage Type               Data
         wMaxPacketSize     0x0200  1x 512 bytes
         bInterval               0
Device Qualifier (for other device speed):
   bLength                10
   bDescriptorType         6
   bcdUSB               2.00
   bDeviceClass            0 (Defined at Interface level)
   bDeviceSubClass         0
   bDeviceProtocol         0
   bMaxPacketSize0        64
   bNumConfigurations      1
Device Status:     0x0000
   (Bus Powered)

# lsusb -v -d 0846:9001

Bus 002 Device 004: ID 0846:9001 NetGear, Inc. WN111(v2) RangeMax Next 
Wireless [Atheros AR9001U-(2)NG]
Device Descriptor:
   bLength                18
   bDescriptorType         1
   bcdUSB               2.00
   bDeviceClass          255 Vendor Specific Class
   bDeviceSubClass       255 Vendor Specific Subclass
   bDeviceProtocol       255 Vendor Specific Protocol
   bMaxPacketSize0        64
   idVendor           0x0846 NetGear, Inc.
   idProduct          0x9001 WN111(v2) RangeMax Next Wireless [Atheros 
AR9001U-(2)NG]
   bcdDevice            1.06
   iManufacturer          16 ATHER
   iProduct               32 USB2.0 WLAN
   iSerial                48 12345
   bNumConfigurations      1
   Configuration Descriptor:
     bLength                 9
     bDescriptorType         2
     wTotalLength           46
     bNumInterfaces          1
     bConfigurationValue     1
     iConfiguration          0
     bmAttributes         0x80
       (Bus Powered)
     MaxPower              500mA
     Interface Descriptor:
       bLength                 9
       bDescriptorType         4
       bInterfaceNumber        0
       bAlternateSetting       0
       bNumEndpoints           4
       bInterfaceClass       255 Vendor Specific Class
       bInterfaceSubClass      0
       bInterfaceProtocol      0
       iInterface              0
       Endpoint Descriptor:
         bLength                 7
         bDescriptorType         5
         bEndpointAddress     0x01  EP 1 OUT
         bmAttributes            2
           Transfer Type            Bulk
           Synch Type               None
           Usage Type               Data
         wMaxPacketSize     0x0200  1x 512 bytes
         bInterval               0
       Endpoint Descriptor:
         bLength                 7
         bDescriptorType         5
         bEndpointAddress     0x82  EP 2 IN
         bmAttributes            2
           Transfer Type            Bulk
           Synch Type               None
           Usage Type               Data
         wMaxPacketSize     0x0200  1x 512 bytes
         bInterval               0
       Endpoint Descriptor:
         bLength                 7
         bDescriptorType         5
         bEndpointAddress     0x83  EP 3 IN
         bmAttributes            3
           Transfer Type            Interrupt
           Synch Type               None
           Usage Type               Data
         wMaxPacketSize     0x0040  1x 64 bytes
         bInterval               1
       Endpoint Descriptor:
         bLength                 7
         bDescriptorType         5
         bEndpointAddress     0x04  EP 4 OUT
         bmAttributes            3
           Transfer Type            Interrupt
           Synch Type               None
           Usage Type               Data
         wMaxPacketSize     0x0040  1x 64 bytes
         bInterval               1
Device Qualifier (for other device speed):
   bLength                10
   bDescriptorType         6
   bcdUSB               2.00
   bDeviceClass          255 Vendor Specific Class
   bDeviceSubClass       255 Vendor Specific Subclass
   bDeviceProtocol       255 Vendor Specific Protocol
   bMaxPacketSize0        64
   bNumConfigurations      1
Device Status:     0x0000
   (Bus Powered)

# iwconfig
lo        no wireless extensions.

eth0      no wireless extensions.

wlan0     IEEE 802.11bgn  ESSID:"waddles"
           Mode:Managed  Frequency:2.412 GHz  Access Point: 
00:22:3F:07:42:F3
           Bit Rate=117 Mb/s   Tx-Power=20 dBm
           Retry  long limit:7   RTS thr:off   Fragment thr:off
           Encryption key:off
           Power Management:off
           Link Quality=34/70  Signal level=-76 dBm
           Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
           Tx excessive retries:0  Invalid misc:0   Missed beacon:0

wlan1     IEEE 802.11bg  ESSID:"waddles"
           Mode:Managed  Frequency:2.412 GHz  Access Point: 
00:22:3F:07:42:F3
           Bit Rate=36 Mb/s   Tx-Power=20 dBm
           Retry  long limit:7   RTS thr:off   Fragment thr:off
           Encryption key:off
           Power Management:off
           Link Quality=44/70  Signal level=-66 dBm
           Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
           Tx excessive retries:0  Invalid misc:0   Missed beacon:0

tun0      no wireless extensions.

My network looks like this:

Linux                          Router/AP       DSL Modem
(wlan0) 192.168.1.57 ---/--- 192.168.1.1 --- 192.168.0.1 --- Internet
(wlan1) 192.168.1.4  ---/---

Between the router and the modem is an ethernet crossover cable.

# ping 192.168.0.1
PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.
64 bytes from 192.168.0.1: icmp_seq=1 ttl=63 time=2.23 ms
64 bytes from 192.168.0.1: icmp_seq=2 ttl=63 time=2.11 ms
64 bytes from 192.168.0.1: icmp_seq=3 ttl=63 time=1.88 ms
^C
--- 192.168.0.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 1.882/2.076/2.235/0.146 ms

# route add -host 192.168.0.1 gw 192.168.1.1 dev wlan0

# netstat -nr
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt 
Iface
192.168.0.1     192.168.1.1     255.255.255.255 UGH       0 0          0 
wlan0
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 
wlan1
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 
wlan0
0.0.0.0         192.168.1.1     0.0.0.0         UG        0 0          0 
wlan1

# ping 192.168.0.1
PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.
64 bytes from 192.168.0.1: icmp_seq=1 ttl=63 time=158 ms
64 bytes from 192.168.0.1: icmp_seq=2 ttl=63 time=168 ms
64 bytes from 192.168.0.1: icmp_seq=3 ttl=63 time=162 ms
64 bytes from 192.168.0.1: icmp_seq=4 ttl=63 time=170 ms
64 bytes from 192.168.0.1: icmp_seq=5 ttl=63 time=178 ms
64 bytes from 192.168.0.1: icmp_seq=6 ttl=63 time=166 ms
64 bytes from 192.168.0.1: icmp_seq=7 ttl=63 time=166 ms
64 bytes from 192.168.0.1: icmp_seq=8 ttl=63 time=155 ms
64 bytes from 192.168.0.1: icmp_seq=9 ttl=63 time=434 ms
64 bytes from 192.168.0.1: icmp_seq=10 ttl=63 time=154 ms
64 bytes from 192.168.0.1: icmp_seq=11 ttl=63 time=174 ms
64 bytes from 192.168.0.1: icmp_seq=12 ttl=63 time=161 ms
64 bytes from 192.168.0.1: icmp_seq=13 ttl=63 time=147 ms
64 bytes from 192.168.0.1: icmp_seq=14 ttl=63 time=170 ms
64 bytes from 192.168.0.1: icmp_seq=15 ttl=63 time=161 ms
64 bytes from 192.168.0.1: icmp_seq=16 ttl=63 time=190 ms
64 bytes from 192.168.0.1: icmp_seq=17 ttl=63 time=218 ms
64 bytes from 192.168.0.1: icmp_seq=18 ttl=63 time=166 ms
64 bytes from 192.168.0.1: icmp_seq=19 ttl=63 time=514 ms
64 bytes from 192.168.0.1: icmp_seq=20 ttl=63 time=177 ms
64 bytes from 192.168.0.1: icmp_seq=21 ttl=63 time=144 ms
64 bytes from 192.168.0.1: icmp_seq=22 ttl=63 time=191 ms
64 bytes from 192.168.0.1: icmp_seq=23 ttl=63 time=175 ms
64 bytes from 192.168.0.1: icmp_seq=24 ttl=63 time=156 ms
64 bytes from 192.168.0.1: icmp_seq=25 ttl=63 time=947 ms
64 bytes from 192.168.0.1: icmp_seq=26 ttl=63 time=1833 ms
64 bytes from 192.168.0.1: icmp_seq=27 ttl=63 time=2196 ms
64 bytes from 192.168.0.1: icmp_seq=28 ttl=63 time=1542 ms
64 bytes from 192.168.0.1: icmp_seq=29 ttl=63 time=816 ms
64 bytes from 192.168.0.1: icmp_seq=30 ttl=63 time=3045 ms
64 bytes from 192.168.0.1: icmp_seq=31 ttl=63 time=3181 ms
64 bytes from 192.168.0.1: icmp_seq=32 ttl=63 time=2287 ms
64 bytes from 192.168.0.1: icmp_seq=33 ttl=63 time=1496 ms
64 bytes from 192.168.0.1: icmp_seq=34 ttl=63 time=687 ms
64 bytes from 192.168.0.1: icmp_seq=35 ttl=63 time=173 ms
^C
--- 192.168.0.1 ping statistics ---
35 packets transmitted, 35 received, 0% packet loss, time 34037ms
rtt min/avg/max/mdev = 144.678/653.604/3181.758/855.953 ms, pipe 4

NOTE --- The higher ping times occurred when downloading a 39kB image file.

# route del -host 192.168.0.1 gw 192.168.1.1 dev wlan0

# ping 192.168.0.1
PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.
64 bytes from 192.168.0.1: icmp_seq=1 ttl=63 time=2.37 ms
64 bytes from 192.168.0.1: icmp_seq=2 ttl=63 time=2.10 ms
64 bytes from 192.168.0.1: icmp_seq=3 ttl=63 time=1.96 ms
64 bytes from 192.168.0.1: icmp_seq=4 ttl=63 time=2.38 ms
^C
--- 192.168.0.1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3003ms
rtt min/avg/max/mdev = 1.964/2.206/2.388/0.187 ms

I have also tried using the carl9170 driver (2010_12_02) with 
compat-wireless and carl9170-fw (1.9.1-1) but I found 'iwconfig' would 
segfault when it tried to display ath0.

Can somebody help me debug it further please?

             reply	other threads:[~2010-12-06  8:51 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-12-06  8:51 Wade Fitzpatrick [this message]
2010-12-06  9:39 ` ar9170usb slow / poor performance Mohammed Shafi
2010-12-06 13:38   ` [ath9k-devel] " Mohammed Shafi
2010-12-06 13:14 ` Christian Lamparter
2010-12-06 15:15   ` Wade Fitzpatrick
     [not found]   ` <4CFCFD6A.8040700@gmail.com>
2010-12-06 15:32     ` Christian Lamparter

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4CFCA416.1010505@gmail.com \
    --to=wade.fitzpatrick@gmail.com \
    --cc=linux-wireless@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.