Skip to contentSkip to conversation

ar9170usb slow / poor performance

DISCUSSION Wade Fitzpatrick 3 participants 6 messages Dec 6, 2010 1 message not in the archive

lore
Share & tools
lore
#0 lore 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?

#1 lore raw
Quoted 301 lines · Wade Fitzpatrick

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
Quoted 3 lines

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 you please try with ath9k driver with the same compat wireless.Are you still seeing poor performance?

Quoted 7 lines

Can somebody help me debug it further please?
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

#2 lore raw
Quoted 303 lines · Mohammed Shafi
Quoted 301 lines · Wade Fitzpatrick

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
Quoted 6 lines
Quoted 3 lines

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 you please try with ath9k driver with the same compat wireless.Are you still seeing poor performance?

ath9k has no relation with this. ..mistaken by ar9170

Quoted 8 lines
Quoted 7 lines

Can somebody help me debug it further please?
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo at vger.kernel.org
More majordomo info at ?http://vger.kernel.org/majordomo-info.html

#3 lore raw
In reply to Wade Fitzpatrick
Quoted 7 lines · On Monday 06 December 2010 09:51:34 Wade Fitzpatrick wrote:

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

here's a list of all changes to ar9170usb during 2.6.35-2.6.36:

git log v2.6.35..v2.6.36 --format=oneline drivers/net/wireless/ath/ar9170/ -> 5db5584441c drivers/net/wireless: Restore upper case words in wiphy_<level> messages a55427e8284 ar9170: add get_survey callback in order to get channel noise c96c31e499b drivers/net/wireless: Use wiphy_<level>

I don't think any of these changes would cause such problems.

Quoted 1 line
# iwconfig

Don't use iwconfig. iwconfig and other tools like iwlist, iwspy and iwevent are obsolete and deprecated.

What you want is: "iw dev wlanX link" instead.
<http://wireless.kernel.org/en/users/Documentation/iw/replace-iwconfig>
<http://wireless.kernel.org/en/users/Documentation/iw>

Quoted 4 lines

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
           Link Quality=34/70  Signal level=-76 dBm

117 MBits/s, so ar9170usb? must be sending with 802.11n MCS rates.

Quoted 4 lines

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
Link Quality=44/70 Signal level=-66 dBm

where as rtl8187 only sticks to b/g rates.

for a fair comparison, I would recommend that both drivers should stick to b/g. So you could either disable minstrel_ht, or patch the driver (patch attached... just scroll down).

Or is it the other way round and ar9170usb is wlan1?

Quoted 3 lines

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.

ath0? neither ar9170usb nor carl9170 (in fact no mac80211 driver) names the interface "ath0". Only the original vendor driver "otus" did that.

Regards,
Chr

---

drivers/net/wireless/ath/ar9170/main.c +1 -1
index 32bf79e..cb2d1a7 100644
@@ -145,7 +145,7 @@ static struct ieee80211_channel ar9170_5ghz_chantable[] = {
 
 #define AR9170_HT_CAP							\
 {									\
-	.ht_supported	= true,						\
+	.ht_supported	= false,					\
 	.cap		= IEEE80211_HT_CAP_MAX_AMSDU |			\
 			  IEEE80211_HT_CAP_SUP_WIDTH_20_40 |		\
 			  IEEE80211_HT_CAP_SGI_40 |			\
#4 lore raw

Thanks for the response, Christian. Here is what I am seeing now, using ar9170usb from compat-wireless (2010_12_02):

usb 2-5: new high speed USB device using ehci_hcd and address 5
usb 2-5: reset high speed USB device using ehci_hcd and address 5
usbcore: registered new interface driver ar9170usb
arusb_lnx: module is from the staging directory, the quality is unknown, you have been warned. arusb - version 0.0.0.999
usbcore: registered new interface driver Otus
ath: EEPROM regdomain: 0x0
ath: EEPROM indicates default country code should be used
ath: doing EEPROM country->regdmn map search
ath: country maps to regdmn code: 0x3a
ath: Country alpha2 being used: US
ath: Regpair used: 0x3a
ieee80211 phy1: Selected rate control algorithm 'minstrel_ht'
Registered led device: ar9170-phy1::tx
Registered led device: ar9170-phy1::assoc
usb 2-5: Atheros AR9170 is registered as 'phy1'

# iw dev wlan0 link
Connected to 00:22:3f:07:42:f3 (on wlan0)
        SSID: waddles
        freq: 2412
        RX: 2627575 bytes (16028 packets)
        TX: 127342 bytes (600 packets)
        signal: -62 dBm
        tx bitrate: 54.0 MBit/s
# iw dev wlan1 link
Connected to 00:22:3f:07:42:f3 (on wlan1)
        SSID: waddles
        freq: 2412
        RX: 6208 bytes (43 packets)
        TX: 522 bytes (5 packets)
        signal: -61 dBm
        tx bitrate: 6.5 MBit/s MCS 0
# iw event -f
wlan1 (phy #1): deauth 00:22:3f:07:42:f3 -> 00:22:3f:8d:7b:05 reason 2: Previous authentication no longer valid [frame: c0 00 40 01 00 22 3f 8d 7b 05 00 22 3f 07 42 f3 00 22 3f 07 42 f3 70 00 02 00]
wlan1 (phy #1): disconnected (by AP) reason: 2: Previous authentication no longer valid
wlan1 (phy #1): scan started
wlan1 (phy #1): scan finished: 2412 2417 2422 2427 2432 2437 2442 2447 2452 2457 2462, ""
wlan1 (phy #1): auth 00:22:3f:07:42:f3 -> 00:22:3f:8d:7b:05 status: 0: Successful [frame: b0 00 40 01 00 22 3f 8d 7b 05 00 22 3f 07 42 f3 00 22 3f 07 42 f3 00 00 00 00 02 00 00 00]
wlan1: new station 00:22:3f:07:42:f3
wlan1 (phy #1): assoc 00:22:3f:07:42:f3 -> 00:22:3f:8d:7b:05 status: 0: Successful [frame: 10 00 40 01 00 22 3f 8d 7b 05 00 22 3f 07 42 f3 00 22 3f 07 42 f3 10 00 31 04 00 00 03 c0 01 08 82 84 8b 0c 12 96 18 24 32 04 30 48 60 6c dd 18 00 50 f2 02 01 01 82 00 03 a4 00 00 27 a4 00 00 42 43 5e 00 62 32 2f 00 dd 09 00 03 7f 01 01 00 00 ff 7f dd 0a 00 03 7f 04 01 00 00 00 00 00 dd 1e 00 90 4c 33 4c 10 1b ff ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2d 1a 4c 10 1b ff ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 dd 1a 00 90 4c 34 01 00 1b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 3d 16 01 00 1b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00]
wlan1 (phy #1): connected to 00:22:3f:07:42:f3
wlan1 (phy #1): deauth 00:22:3f:07:42:f3 -> 00:22:3f:8d:7b:05 reason 2: Previous authentication no longer valid [frame: c0 00 40 01 00 22 3f 8d 7b 05 00 22 3f 07 42 f3 00 22 3f 07 42 f3 70 00 02 00]
wlan1 (phy #1): disconnected (by AP) reason: 2: Previous authentication no longer valid
wlan1 (phy #1): scan started
wlan1 (phy #1): scan finished: 2412 2417 2422 2427 2432 2437 2442 2447 2452 2457 2462, ""
wlan1 (phy #1): auth 00:22:3f:07:42:f3 -> 00:22:3f:8d:7b:05 status: 0: Successful [frame: b0 00 40 01 00 22 3f 8d 7b 05 00 22 3f 07 42 f3 00 22 3f 07 42 f3 00 00 00 00 02 00 00 00]
wlan1: new station 00:22:3f:07:42:f3
wlan1 (phy #1): assoc 00:22:3f:07:42:f3 -> 00:22:3f:8d:7b:05 status: 0: Successful [frame: 10 00 40 01 00 22 3f 8d 7b 05 00 22 3f 07 42 f3 00 22 3f 07 42 f3 10 00 31 04 00 00 03 c0 01 08 82 84 8b 0c 12 96 18 24 32 04 30 48 60 6c dd 18 00 50 f2 02 01 01 82 00 03 a4 00 00 27 a4 00 00 42 43 5e 00 62 32 2f 00 dd 09 00 03 7f 01 01 00 00 ff 7f dd 0a 00 03 7f 04 01 00 00 00 00 00 dd 1e 00 90 4c 33 4c 10 1b ff ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2d 1a 4c 10 1b ff ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 dd 1a 00 90 4c 34 01 00 1b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 3d 16 01 00 1b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00]
wlan1 (phy #1): connected to 00:22:3f:07:42:f3
wlan1 (phy #1): deauth 00:22:3f:07:42:f3 -> 00:22:3f:8d:7b:05 reason 2: Previous authentication no longer valid [frame: c0 00 40 01 00 22 3f 8d 7b 05 00 22 3f 07 42 f3 00 22 3f 07 42 f3 70 00 02 00]
wlan1 (phy #1): disconnected (by AP) reason: 2: Previous authentication no longer valid

The wlan1 link is unusable. If I create a host route and ping the modem over wlan1, all I get is 'Destination Host Unreachable' messages.

Note that wlan0 (the RTL8187) also has updated drivers but is stable throughout this.

Any more suggestions?

Regards,
Wade.

Quoted 65 lines · Christian Lamparter
Quoted 7 lines · On Monday 06 December 2010 09:51:34 Wade Fitzpatrick wrote:

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

here's a list of all changes to ar9170usb during 2.6.35-2.6.36:

git log v2.6.35..v2.6.36 --format=oneline drivers/net/wireless/ath/ar9170/ -> 5db5584441c drivers/net/wireless: Restore upper case words in wiphy_<level> messages a55427e8284 ar9170: add get_survey callback in order to get channel noise c96c31e499b drivers/net/wireless: Use wiphy_<level>

I don't think any of these changes would cause such problems.

Quoted 1 line
# iwconfig

Don't use iwconfig. iwconfig and other tools like iwlist, iwspy and iwevent are obsolete and deprecated.

What you want is: "iw dev wlanX link" instead.
<http://wireless.kernel.org/en/users/Documentation/iw/replace-iwconfig>
<http://wireless.kernel.org/en/users/Documentation/iw>

Quoted 4 lines

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
            Link Quality=34/70  Signal level=-76 dBm

117 MBits/s, so ar9170usb? must be sending with 802.11n MCS rates.

Quoted 4 lines

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
Link Quality=44/70 Signal level=-66 dBm

where as rtl8187 only sticks to b/g rates.

for a fair comparison, I would recommend that both drivers should stick to b/g. So you could either disable minstrel_ht, or patch the driver (patch attached... just scroll down).

Or is it the other way round and ar9170usb is wlan1?

Quoted 3 lines

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.

ath0? neither ar9170usb nor carl9170 (in fact no mac80211 driver) names the interface "ath0". Only the original vendor driver "otus" did that.

Regards,
Chr

---

drivers/net/wireless/ath/ar9170/main.c +1 -1
index 32bf79e..cb2d1a7 100644
@@ -145,7 +145,7 @@ static struct ieee80211_channel ar9170_5ghz_chantable[] = {
 
  #define AR9170_HT_CAP							\
  {									\
-	.ht_supported	= true,						\
+	.ht_supported	= false,					\
  	.cap		= IEEE80211_HT_CAP_MAX_AMSDU |			\
  			  IEEE80211_HT_CAP_SUP_WIDTH_20_40 |		\
  			  IEEE80211_HT_CAP_SGI_40 |			\

A message that is not in the archive (sent off-list or not yet received): [email protected]

#6 lore raw
Quoted 2 lines · On Monday 06 December 2010 16:12:42 Wade Fitzpatrick wrote:

Thanks for the response, Christian. Here is what I am seeing now, using ar9170usb from compat-wireless (2010_12_02):

what happened to carl9170?

Quoted 7 lines

usb 2-5: new high speed USB device using ehci_hcd and address 5 usb 2-5: reset high speed USB device using ehci_hcd and address 5
usbcore: registered new interface driver ar9170usb
arusb_lnx: module is from the staging directory, the quality is unknown, you have been warned.
arusb - version 0.0.0.999
usbcore: registered new interface driver Otus

kill otus. Unless you really want it to steal the device.

Quoted 11 lines

ath: EEPROM regdomain: 0x0
ath: EEPROM indicates default country code should be used
ath: doing EEPROM country->regdmn map search
ath: country maps to regdmn code: 0x3a
ath: Country alpha2 being used: US
ath: Regpair used: 0x3a
ieee80211 phy1: Selected rate control algorithm 'minstrel_ht' Registered led device: ar9170-phy1::tx
Registered led device: ar9170-phy1::assoc
usb 2-5: Atheros AR9170 is registered as 'phy1'

Quoted 16 lines
# iw dev wlan0 link
Connected to 00:22:3f:07:42:f3 (on wlan0)
         SSID: waddles
         freq: 2412
         RX: 2627575 bytes (16028 packets)
         TX: 127342 bytes (600 packets)
         signal: -62 dBm
         tx bitrate: 54.0 MBit/s
# iw dev wlan1 link
Connected to 00:22:3f:07:42:f3 (on wlan1)
         SSID: waddles
         freq: 2412
         RX: 6208 bytes (43 packets)
         TX: 522 bytes (5 packets)
         signal: -61 dBm
         tx bitrate: 6.5 MBit/s MCS 0

^^ again MCS.
Have you actually patched the driver?

Quoted 4 lines
# iw event -f
wlan1 (phy #1): deauth 00:22:3f:07:42:f3 -> 00:22:3f:8d:7b:05 reason 2: 
Previous authentication no longer valid [frame: c0 00 40 01 00 22 3f 8d 
7b 05 00 22 3f 07 42 f3 00 22 3f 07 42 f3 70 00 02 00]
Quoted 8 lines
wlan1 (phy #1): disconnected (by AP) reason: 2: Previous authentication 
no longer valid
[...]
wlan1 (phy #1): deauth 00:22:3f:07:42:f3 -> 00:22:3f:8d:7b:05 reason 2: 
Previous authentication no longer valid [frame: c0 00 40 01 00 22 3f 8d 
7b 05 00 22 3f 07 42 f3 00 22 3f 07 42 f3 70 00 02 00]
wlan1 (phy #1): disconnected (by AP) reason: 2: Previous authentication 
no longer valid

and? your ap (what is it btw?) has (silently) kicked you... you would need to put one interface into monitor mode and sniff what really happens.

Quoted 7 lines

The wlan1 link is unusable. If I create a host route and ping the modem over wlan1, all I get is 'Destination Host Unreachable' messages.

Note that wlan0 (the RTL8187) also has updated drivers but is stable throughout this.

Any more suggestions?

again same as before, patch the driver (or migrate to carl9170). If you are unfamiliar with the procedure you could also reload mac80211.

modprobe mac80211 ieee80211_default_rc_algo=minstrel (note, other drivers might depend on mac80211, you have to unload them first.

	lsmod | grep ^mac80211

will tell you which).

Afterwards, verify that the system really loads the new module. Or took the new default_rc settings(see /sys/module/mac80211/parameters/ieee80211_default_rc_algo )

Regards,
Chr
---

Quoted 15 lines
Quoted 14 lines

---

drivers/net/wireless/ath/ar9170/main.c +1 -1
index 32bf79e..cb2d1a7 100644
@@ -145,7 +145,7 @@ static struct ieee80211_channel ar9170_5ghz_chantable[] = {
 
  #define AR9170_HT_CAP							\
  {									\
-	.ht_supported	= true,						\
+	.ht_supported	= false,					\
  	.cap		= IEEE80211_HT_CAP_MAX_AMSDU |			\
  			  IEEE80211_HT_CAP_SUP_WIDTH_20_40 |		\
  			  IEEE80211_HT_CAP_SGI_40 |			\