# Wireless issue with iwn0



## kitman (May 30, 2015)

Hi all,

I have two models of HP laptops with 10.1-RELEASE and a hidden wireless AP. I set up the configs etc to use the
AP as per the handbook and at wblock@'s web site.

On the first model HP using wpi(4) everything is fine and wireless access works. On the second model HP which uses iwn(4), the dhclient gives up.


```
# dhclient wlan0
wlan0: no link .............. giving up
```

My /etc/rc.conf extract is


```
wlans_iwn0="wlan0"
ifconfig_wlan0="WPA SYNCDHCP"
```

My /etc/wpa_supplicant.conf is


```
network={
  scan_ssid=1
  ssid="xxxxxxx"
  psk="xxxxxxxxxxx"
}
```

It must be seeing the AP because it is seen when scanned.


```
# ifconfig wlan0 up scan
SSID/MESH ID  BSSID  CHAN RATE  S:N  INT CAPS
  00:60:64:74:a3:7c  1  54M -70:-95  100 EP  HTCAP RSN WME
```

Running ifconfig(8) -


```
# ifconfig
re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
  options=8209b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC,LINKSTATE>
  ether 68:b5:99:e2:0d:1a
  inet 10.1.1.3 netmask 0xffffff00 broadcast 10.1.1.255
  nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
  media: Ethernet autoselect (100baseTX <full-duplex>)
  status: active
iwn0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 2290
  ether 8c:a9:82:31:c8:c0
  nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
  media: IEEE 802.11 Wireless Ethernet autoselect mode 11g
  status: associated
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
  options=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6>
  inet6 ::1 prefixlen 128
  inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3
  inet 127.0.0.1 netmask 0xff000000
  nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
  ether 8c:a9:82:31:c8:c0
  nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
  media: IEEE 802.11 Wireless Ethernet autoselect (autoselect)
  status: no carrier
  ssid "" channel 12 (2467 MHz 11g)
  country US authmode WPA1+WPA2/802.11i privacy MIXED deftxkey UNDEF
  txpower 14 bmiss 10 scanvalid 60 bgscan bgscanintvl 300 bgscanidle 250
  roam:rssi 7 roam:rate 5 protmode CTS wme roaming MANUAL bintval 0
```


The problem is not unlike Thread wireless-usage-issue-under-iwn0.40700/ but I just not sure where to go from here or what else to check.

Any thoughts?

Thanks,
Chris.


----------



## wblock@ (May 30, 2015)

Hidden SSID?  Those are often a problem, and have little benefit.


----------



## kitman (May 30, 2015)

EDIT: I have discovered that my first laptop's wireless no longer works. Seeing the AP is very fickle now so I guess I was just lucky yesterday getting a connection. At least I now know it has nothing to do with hidden SSIDs.

Even with the "scan_ssid=1"? It made it work for the first laptop.

OK, I have turned on second unhidden AP called godzilla and edited /etc/wpa_supplicant.conf to suit.


```
network={
  scan_ssid=0
  ssid="godzilla"
  psk="xxxxxxxxx"
}
```

Now I get -


```
# ifconfig wlan0 up scan
SSID/MESH ID  BSSID  CHAN RATE  S:N  INT CAPS
  00:60:64:74:a3:7c  1  54M -65:-95  100 EP  HTCAP RSN WME
godzilla  00:22:75:3a:b7:7b  9  54M -90:-95  100 EPS  RSN WPA WME
```


```
root@hpdv6:/usr/home/chris # ifconfig
re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
  options=8209b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC,LINKSTATE>
  ether 68:b5:99:e2:0d:1a
  inet 10.1.1.3 netmask 0xffffff00 broadcast 10.1.1.255
  nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
  media: Ethernet autoselect (100baseTX <full-duplex>)
  status: active
iwn0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 2290
  ether 8c:a9:82:31:c8:c0
  nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
  media: IEEE 802.11 Wireless Ethernet autoselect mode 11g
  status: associated
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
  options=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6>
  inet6 ::1 prefixlen 128
  inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3
  inet 127.0.0.1 netmask 0xff000000
  nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
  ether 8c:a9:82:31:c8:c0
  nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
  media: IEEE 802.11 Wireless Ethernet autoselect (autoselect)
  status: no carrier
  ssid godzilla channel 9 (2452 MHz 11g)
  country US authmode WPA2/802.11i privacy ON deftxkey UNDEF txpower 14
  bmiss 10 scanvalid 60 bgscan bgscanintvl 300 bgscanidle 250
  roam:rssi 7 roam:rate 5 protmode CTS wme roaming MANUAL
```

But still no connection. Why does it say country US when I am in Australia? Is there another config somewhere?

Thanks...


----------



## junovitch@ (May 30, 2015)

The country is an ifconfig(8) option.  I'm not sure the regulatory differences in this case matter enough to prevent the connection however you should be able to pass it as part of the rc.conf options.


```
ifconfig_wlan0="WPA SYNCDHCP country AU"
```


----------



## kitman (May 31, 2015)

Thanks junovitch, but it didn't make any difference.

However, /var/log/messages is plastered with iwn0 device timeout kernel messages.


```
May 31 11:32:54 hpdv6 kernel: iwn0: device timeout
May 31 11:32:59 hpdv6 wpa_supplicant[338]: wlan0: Authentication with 00:22:75:3a:b7:7b timed
out.
May 31 11:32:59 hpdv6 wpa_supplicant[338]: wlan0: CTRL-EVENT-DISCONNECTED bssid=00:22:75:3a:b
7:7b reason=3 locally_generated=1
```

That leads me to believe the problem is more fundamental than any config settings since it's related to the kernel?

As an act of desperation, I added the all the various drivers as a module at boot time into /boot/loader.conf  as per iwn(4) but I still get the kernel messages.

Since I have now set up a second AP as unhidden I am tempted to reinstall the system from scratch and let bsdinstall add the AP and see if that works and if so hunt the config files for the clue to success. Or is that a waste of time?

Thanks,
Chris.


----------



## wblock@ (May 31, 2015)

As far as I know, bsdinstall(8) does not do anything special for wireless configuration.  Likewise, loading modules in loader.conf does not make them act any differently than loading them later.  Upgrading to 10-STABLE might help.  There have been some updates to the iwn(4) firmware since 10.1-RELEASE.


----------



## kitman (Jun 1, 2015)

Actually using bsdinstall(8) did help for my laptop using wpi0. It created a /etc/wpa_supplicant.conf file that had the global parameters set as per wpa_supplicant.conf(5).


```
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=wheel
eapol_version=1
ap_scan=1
fast_reauth=1
```

though I had to set ctrl_interface_group manually as it wasn't generated. These global parameters weren't mentioned in the handbook or your website. Now that laptop's wifi connection using wpi0 is rock solid though I seem to get non-fatal(?) console messages like Thread wpi0-need-multicast-update-callback.41346/


```
wpi0: need multicast update callback
```

But when it came to the laptop with the iwn0 and repeating the install - nix. Still problems with lots of the "iwn0: device timeout" messages which as I infer from iwn(4) is a fundamental driver problem that no amount of configuring will help.

So you suggest going up to STABLE? OK, I'll look at it since my laptop is wiped.

Thanks.


----------



## kitman (Jun 1, 2015)

wblock@ said:


> Upgrading to 10-STABLE might help



Should I use `freebsd-update fetch` or `freebsd-update upgrade`?


----------



## wblock@ (Jun 1, 2015)

freebsd-update(8) only handles releases.  -STABLE must be built from source.  See Upgrading FreeBSD To -STABLE and Building FreeBSD World And Kernel: The Short Form.


----------



## kitman (Jun 1, 2015)

Ok, thanks. Still reading my way through the handbook etc


----------



## kitman (Jun 2, 2015)

Well, I went through the exercise to go to -STABLE as per your web notes.


```
# uname -a
FreeBSD hpdv6 10.1-RELEASE-p10 FreeBSD 10.1-RELEASE-p10 #0 r283897M: Tue Jun  2 10:53:21 AWST 2015  chris@hpdv6:/usr/obj/usr/src/sys/GENERIC  amd64
```

The /var/log/messages is still littered with 'timeout' messages -


```
Jun  2 11:14:34 hpdv6 kernel: iwn0: device timeout
```

Also, after reading last night that FreeBSD doesn't support OpenCL I think I am going to have to abandon using FreeBSD on this HP DV6 laptop for graphics/darktable.  I'd really like to stay in the FreeBSD world but I need to get back into some productivity in photo editing. I know openSUSE+KDE4 works so its back to linux for now.

Thanks for your help none the less.
Chris.

PS. your list of subversion mirrors on your web site is dead.


----------



## wblock@ (Jun 2, 2015)

That is still -RELEASE: 10.1-RELEASE-p10.  -STABLE shows the revision number: FreeBSD 10.1-STABLE #0 r283750.

Link to the Subversion mirrors fixed, thanks!


----------



## kitman (Jun 3, 2015)

ok, that is odd. I followed your web guide. Unfortunately my HP DV6 is now running under openSUSE and darktable is up and running along with the wifi. I won't do a dual boot system (yet) on this laptop but will build a FreeBSD under virtualbox on another box and repeat your steps.

Out of curiosity, how do I track what has been done to iwn(4) or any other bit I could be interested in? I did a search in the wiki but that only returned two finds dated in 2013. 

For what it is worth, the laptop using wifi with wpi0 has been rock solid on both the hidden and unhidden SSID since I setup networking via bsdinstall(8) and it wrote the verbose /etc/wpa_supplicant.conf file.

Regards...


----------



## wblock@ (Jun 3, 2015)

The repository is online, and the different branches can be checked.  First, locate the file of interest.  iwn.c is in /usr/src/sys/dev/iwn/if_iwn.c.  For 10-STABLE, the history is at https://svnweb.freebsd.org/base/stable/10/sys/dev/iwn/.  Click on the file names to see a commit log.

This can be done from the command line also, with `svn log`.


----------



## kitman (Jun 3, 2015)

Well upgrading to -STABLE on my virtualbox using your "really short version" worked (after 7 hours processing). I can only assume I did something wrong the first time.


```
#uname -a
FreeBSD freebsd10 10.1-STABLE FreeBSD 10.1-STABLE #0 r283937: Wed Jun 3 16:55:18 AWST 2015    root@freebsd10:/usr/obj/usr/src/sys/GENERIC  amd64
```


----------



## palik (Jul 3, 2015)

Hi,
I'm a user of HP Folio 9470m with FreeBSD 11.0-CURRENT and faced same "timed out" issue while connecting 54M network. With in #7 mentioned global wpa_supplicant.conf configurations  the problem could be solved.


```
iwn0@pci0:3:0:0:    class=0x028000 card=0x40608086 chip=0x088e8086 rev=0x24 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'Centrino Advanced-N 6235'
    class      = network
```
/etc/wpa_supplicant.conf

```
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=wheel
eapol_version=1
ap_scan=1
fast_reauth=1

network={
  ssid="***"
  scan_ssid=1
  key_mgmt=WPA-EAP
  eap=PEAP
  identity="***"
  password="***"
  phase1="peaplabel=0"
  phase2="auth=MSCHAPV2"
}
```

BR,
palik


----------

