# iwm - getting more performance out of it?



## tingo (Mar 7, 2018)

The performance of my iwm(4) wireless seems really bad. Example:

```
root@kg-z30b# speedtest --simple
Ping: 15.741 ms
Download: 5.02 Mbit/s
Upload: 0.59 Mbit/s
root@kg-z30b# speedtest --simple
Ping: 20.873 ms
Download: 3.63 Mbit/s
Upload: 0.60 Mbit/s
root@kg-z30b# speedtest --simple
Ping: 16.086 ms
Download: 2.46 Mbit/s
Upload: 0.54 Mbit/s
```
wireless info

```
root@kg-z30b# ifconfig wlan0
wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
    ether e4:f8:9c:50:6f:2c
    hwaddr e4:f8:9c:50:6f:2c
    inet 10.1.150.55 netmask 0xffff0000 broadcast 10.1.255.255
    nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
    media: IEEE 802.11 Wireless Ethernet DS/1Mbps mode 11g
    status: associated
    ssid kg5 channel 13 (2472 MHz 11g) bssid e0:cb:4e:86:81:0b
    regdomain ETSI country NO authmode WPA2/802.11i privacy ON
    deftxkey UNDEF TKIP 3:128-bit txpower 30 bmiss 10 scanvalid 60
    protmode CTS wme roaming MANUAL
    groups: wlan
```
Is there a way (settings perhaps?) to improve it a bit?
The laptop runs

```
tingo@kg-z30b$ uname -a
FreeBSD kg-z30b.kg4.no 11.1-STABLE FreeBSD 11.1-STABLE #1 r329829: Thu Feb 22 21:28:43 CET 2018     root@kg-z30b.kg4.no:/usr/obj/usr/src/sys/GENERIC  amd64
```
the wireless hardware is

```
root@kg-z30b# dmesg | egrep iwm\|wlan
iwm0: <Intel Dual Band Wireless AC 3160> mem 0xf1000000-0xf1001fff at device 0.0 on pci2
iwm0: hw rev 0x160, fw ver 16.242414.0, address e4:f8:9c:50:6f:2c
wlan0: Ethernet address: e4:f8:9c:50:6f:2c
iwm0: iwm_update_edca: called
iwm0: iwm_update_edca: called
wlan0: link state changed to UP
```
I'm not looking to match the speeds I get in Linux, but the difference is large. In Linux I get:

```
[tingo@localhost ~]$ speedtest --simple
Ping: 24.111 ms
Download: 36.13 Mbit/s
Upload: 11.07 Mbit/s
[tingo@localhost ~]$ speedtest --simple
Ping: 22.478 ms
Download: 19.16 Mbit/s
Upload: 12.42 Mbit/s
[tingo@localhost ~]$ speedtest --simple
Ping: 18.981 ms
Download: 23.01 Mbit/s
Upload: 7.43 Mbit/s
```
wireless info in Linux

```
[tingo@localhost ~]$ sudo iw wlp2s0 info
Interface wlp2s0
 ifindex 3
 wdev 0x1
 addr e4:f8:9c:50:6f:2c
 ssid kg5
 type managed
 wiphy 0
 channel 13 (2472 MHz), width: 40 MHz, center1: 2462 MHz
 txpower 20.00 dBm
[tingo@localhost ~]$ sudo iw wlp2s0 link
Connected to e0:cb:4e:86:81:0b (on wlp2s0)
 SSID: kg5
 freq: 2472
 RX: 187581025 bytes (165713 packets)
 TX: 22397063 bytes (101416 packets)
 signal: -53 dBm
 tx bitrate: 90.0 MBit/s MCS 4 40MHz short GI

 bss flags: short-slot-time
 dtim period: 1
 beacon int: 100
```
Or is the iwm driver really this bad when it comes to performance?


----------



## scottro (Mar 7, 2018)

On LAN transfers, I've managed to get between 2-4MB (that's bytes, a capital B, and it looks like you're getting bits.)  On CURRENT, I've sometimes gotten 11MB, but unfortunately, the performance is not as good as it is in Linux, which will get 30-50MB on my LAN.  (This is with a yoga2 and generic Clevo--errm, W420 something?) both with dual channel Intel 7260.


----------



## tingo (Mar 8, 2018)

Testing on a different network today, and on a 5 GHz channel:

```
root@kg-z30b# ifconfig wlan0
wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
    ether e4:f8:9c:50:6f:2c
    hwaddr e4:f8:9c:50:6f:2c
    inet 10.13.37.73 netmask 0xffffff00 broadcast 10.13.37.255 
    nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
    media: IEEE 802.11 Wireless Ethernet OFDM/54Mbps mode 11a
    status: associated
    ssid bitraf channel 116 (5580 MHz 11a) bssid a4:2b:b0:a5:b4:56
    regdomain ETSI country NO authmode WPA2/802.11i privacy ON
    deftxkey UNDEF AES-CCM 2:128-bit AES-CCM 3:128-bit txpower 23 bmiss 10
    mcastrate 6 mgmtrate 6 scanvalid 60 wme roaming MANUAL
    groups: wlan
```
performance is better

```
root@kg-z30b# speedtest --simple
Ping: 12.464 ms
Download: 19.65 Mbit/s
Upload: 20.27 Mbit/s
root@kg-z30b# speedtest --simple
Ping: 12.527 ms
Download: 20.89 Mbit/s
Upload: 20.11 Mbit/s
root@kg-z30b# speedtest --simple
Ping: 12.558 ms
Download: 20.86 Mbit/s
Upload: 20.35 Mbit/s
```


----------



## tingo (Mar 8, 2018)

I managed to do a test on the 2.4 GHz network as well.

```
root@kg-z30b# ifconfig wlan0
wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
    ether e4:f8:9c:50:6f:2c
    hwaddr e4:f8:9c:50:6f:2c
    inet 10.13.37.73 netmask 0xffffff00 broadcast 10.13.37.255 
    nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
    media: IEEE 802.11 Wireless Ethernet OFDM/54Mbps mode 11g
    status: associated
    ssid bitraf24 channel 13 (2472 MHz 11g) bssid 00:0c:43:76:20:58
    regdomain ETSI country NO authmode WPA2/802.11i privacy ON
    deftxkey UNDEF AES-CCM 3:128-bit txpower 30 bmiss 10 scanvalid 60
    protmode CTS wme roaming MANUAL
    groups: wlan
```
performance tests

```
root@kg-z30b# speedtest --simple
Ping: 11.994 ms
Download: 14.66 Mbit/s
Upload: 4.28 Mbit/s
root@kg-z30b# speedtest --simple
Ping: 12.891 ms
Download: 8.13 Mbit/s
Upload: 6.69 Mbit/s
root@kg-z30b# speedtest --simple
Ping: 29.981 ms
Download: 10.03 Mbit/s
Upload: 2.88 Mbit/s
```
so better than my 2.4 GHz network at home. But 5 GHz is even better.


----------



## ralphbsz (Mar 8, 2018)

You are aware that by using [PMAN=]speedtest[/PMAN], you are testing both the performance of the wireless adapter in your machine, and the performance of the network connection to the outside world (something like DSL, cable modem, or such)?  And that the measured number is likely to be simply the minimum of those two?  And that the performance of the outside connection can be variable?

For a better test, you should run the test not to the external machine speedtest.net, but to an internal server that's connected via a high-speed link (probably easiest wired Ethernet) to the wireless access point.


----------



## Minbari (Mar 8, 2018)

tingo edit your post and blur/remove the networks mac's & bssid as a precaution.


----------



## tingo (Mar 8, 2018)

Thanks for the advice, but in this case it is not needed. One of the networks is at my local hacker / makerspace, available to all who go there. The other one is my personal one and has ... good enough protection.


----------



## shepper (Mar 11, 2018)

tingo said:


> ssid bitraf24 channel 13 (2472 MHz 11g) bssid 00:0c:43:76:20:58


If you live in an apartment/dorm/condo/yuppie-breeding-hutch etc, nearby wifi users on the same channel can significantly slow your connection.
You can run a wifi scan and see if there are other access points using channel 13.   Channel 13 is a common default for many routers.  The channels overlap a little bit, so if your scan shows channel use at Channel 1 and 13, pick Channel 7.

Congestion can also come from cordless phones that use the 2.4GHz band, wireless printers in ad-hoc mode etc..

For more info, web search wifi + congestion + slow


----------



## Snurg (Mar 12, 2018)

You have txpower 30 (1W) for FreeBSD, but txpower 20 (100mW) for Linux.
Maybe 1W is just too much, overdriving the receiver?


----------



## chrbr (Mar 12, 2018)

Snurg said:


> You have txpower 30 (1W) for FreeBSD, but txpower 20 (100mW) for Linux.


Is "txpower 30" 30dBm? If yes it is 10dB more power. The 3rd order intermodulation products are 3x10dB up, but only in case the amplifier is not already in saturation. Then it would be even worse. Under this conditions I would not wonder if the transmitting signal is already heavily distorted.


----------

