Intel wireless card (iwn) firmware error

Hello,

after doing my best trying to find a solution to this problem with no luck, I decided to ask for help here.
I hope there is a solution for this since it's driving me crazy.
I recently installed FreeBSD 10.0-RELEASE, everything worked fine out of the box, including the wireless card (I only had to change DHCP to SYNCDHCP) but yesterday it started to give me problems.
At boot I get this error (not always but let's say 90% of the time):

Code:
iwn0: iwn_intr: fatal firmware error
firmware error log:
  error type      = "NMI_INTERRUPT_WDG" (0x00000004)
  program counter = 0x0000046C
  source line     = 0x000000D0
  error data      = 0x0000000207030000
  branch link     = 0x00008370000004C2
  interrupt link  = 0x000006DE000018B8
  time            = 2093492740
driver status:
  tx ring  0: qid=0  cur=0   queued=0  
  tx ring  1: qid=1  cur=0   queued=0  
  tx ring  2: qid=2  cur=0   queued=0  
  tx ring  3: qid=3  cur=4   queued=1  
  tx ring  4: qid=4  cur=94  queued=0  
  tx ring  5: qid=5  cur=0   queued=0  
  tx ring  6: qid=6  cur=0   queued=0  
  tx ring  7: qid=7  cur=0   queued=0  
  tx ring  8: qid=8  cur=0   queued=0  
  tx ring  9: qid=9  cur=0   queued=0  
  tx ring 10: qid=10 cur=0   queued=0  
  tx ring 11: qid=11 cur=0   queued=0  
  tx ring 12: qid=12 cur=0   queued=0  
  tx ring 13: qid=13 cur=0   queued=0  
  tx ring 14: qid=14 cur=0   queued=0  
  tx ring 15: qid=15 cur=0   queued=0  
  rx ring: cur=17
drm0: <Intel i965GM> on vgapci0
info: [drm] MSI enabled 1 message(s)
info: [drm] AGP at 0xe0000000 256MB
info: [drm] Initialized i915 1.6.0 20080730
wlan0: Ethernet address: 00:1f:3b:97:08:9d
iwn0: iwn_intr: fatal firmware error
firmware error log:
  error type      = "NMI_INTERRUPT_WDG" (0x00000004)
  program counter = 0x0000046C
  source line     = 0x000000D0
  error data      = 0x0000000207030000
  branch link     = 0x00008370000004C2
  interrupt link  = 0x000006DA000018B8
  time            = 12034221
driver status:
  tx ring  0: qid=0  cur=0   queued=0  
  tx ring  1: qid=1  cur=0   queued=0  
  tx ring  2: qid=2  cur=0   queued=0  
  tx ring  3: qid=3  cur=1   queued=0  
  tx ring  4: qid=4  cur=56  queued=0  
  tx ring  5: qid=5  cur=0   queued=0  
  tx ring  6: qid=6  cur=0   queued=0  
  tx ring  7: qid=7  cur=0   queued=0  
  tx ring  8: qid=8  cur=0   queued=0  
  tx ring  9: qid=9  cur=0   queued=0  
  tx ring 10: qid=10 cur=0   queued=0  
  tx ring 11: qid=11 cur=0   queued=0  
  tx ring 12: qid=12 cur=0   queued=0  
  tx ring 13: qid=13 cur=0   queued=0  
  tx ring 14: qid=14 cur=0   queued=0  
  tx ring 15: qid=15 cur=0   queued=0  
  rx ring: cur=27
wlan0: Ethernet address: 00:1f:3b:97:08:9d
wlan0: link state changed to UP

As you can see in this case it manages to turn the wireless UP but that's an exception, most of the time it fails and keeps giving error messages even after I log in which makes it hard to work unless I start X and open a terminal there.
To configure it I followed the handbook.

My /boot/loader.conf:
Code:
if_iwn_load="YES"
iwn4965fw_load="YES"

My /etc/rc.conf:

Code:
wlans_iwn0="wlan0"
ifconfig_wlan0="WPA DHCP"

My /etc/wpa_supplicant.conf:

Code:
network={
        ssid="Telecom-59719715"
        psk="**********"
}

After it fails, I wait for the login prompt, then login and restart it:

# service netif restart

Code:
Stopping Network: lo0 em0 iwn0.
lo0: flags=8048<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 
	nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
em0: flags=8c02<BROADCAST,OACTIVE,SIMPLEX,MULTICAST> metric 0 mtu 1500
	options=4219b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MAGIC,VLAN_HWTSO>
	ether 00:1d:72:90:66:ee
	nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
	media: Ethernet autoselect
	status: no carrier
iwn0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 2290
	ether 00:1f:3b:97:08:9d
	nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
	media: IEEE 802.11 Wireless Ethernet autoselect (autoselect)
	status: no carrier
Starting wpa_supplicant.
Starting dhclient.
Starting Network: lo0 em0 iwn0.
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>
em0: flags=8c02<BROADCAST,OACTIVE,SIMPLEX,MULTICAST> metric 0 mtu 1500
	options=4219b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MAGIC,VLAN_HWTSO>
	ether 00:1d:72:90:66:ee
	nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
	media: Ethernet autoselect
	status: no carrier
iwn0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 2290
	ether 00:1f:3b:97:08:9d
	nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
	media: IEEE 802.11 Wireless Ethernet autoselect mode 11a
	status: associated

it usually takes 1-4 restarts before it starts working. I also noticed that sometimes it turns off and I have to restart again.

That's it, I really hope you can help me.

Thank you,
Rob
 
When I get drop outs like you are getting, it is down to my wifi router, which seems to keep losing internet connectivity at times.
 
Back
Top