Workaround for "fatal firmware error" iwn(4) problem.

Edward Tomasz Napierała trasz at FreeBSD.org
Fri May 16 18:06:06 UTC 2014


I've started using FreeBSD laptop and iwn(4) failing at random moments
like this...

May 16 17:11:54 brick kernel: iwn0: iwn_intr: fatal firmware error
May 16 17:11:54 brick kernel: firmware error log:
May 16 17:11:54 brick kernel: error type      = "NMI_INTERRUPT_WDG" (0x00000004)
May 16 17:11:54 brick kernel: program counter = 0x0000046C
May 16 17:11:54 brick kernel: source line     = 0x000000D0
May 16 17:11:54 brick kernel: error data      = 0x0000000207030000
May 16 17:11:54 brick kernel: branch link     = 0x0000D31A000004C2
May 16 17:11:54 brick kernel: interrupt link  = 0x000006DE0000D23A
May 16 17:11:54 brick kernel: time            = 2985537
May 16 17:11:54 brick kernel: driver status:
May 16 17:11:54 brick kernel: tx ring  0: qid=0  cur=0   queued=0  
May 16 17:11:54 brick kernel: tx ring  1: qid=1  cur=0   queued=0  
May 16 17:11:54 brick kernel: tx ring  2: qid=2  cur=0   queued=0  
May 16 17:11:54 brick kernel: tx ring  3: qid=3  cur=0   queued=0  
May 16 17:11:54 brick kernel: tx ring  4: qid=4  cur=33  queued=0  
May 16 17:11:54 brick kernel: tx ring  5: qid=5  cur=0   queued=0  
May 16 17:11:54 brick kernel: tx ring  6: qid=6  cur=0   queued=0  
May 16 17:11:54 brick kernel: tx ring  7: qid=7  cur=0   queued=0  
May 16 17:11:54 brick kernel: tx ring  8: qid=8  cur=0   queued=0  
May 16 17:11:54 brick kernel: tx ring  9: qid=9  cur=0   queued=0  
May 16 17:11:54 brick kernel: tx ring 10: qid=10 cur=0   queued=0  
May 16 17:11:54 brick kernel: tx ring 11: qid=11 cur=0   queued=0  
May 16 17:11:54 brick kernel: tx ring 12: qid=12 cur=0   queued=0  
May 16 17:11:54 brick kernel: tx ring 13: qid=13 cur=0   queued=0  
May 16 17:11:54 brick kernel: tx ring 14: qid=14 cur=0   queued=0  
May 16 17:11:54 brick kernel: tx ring 15: qid=15 cur=0   queued=0  
May 16 17:11:54 brick kernel: rx ring: cur=45

... has been driving me crazy, so I wrote a workaround.  The patch
can be found here:

http://people.freebsd.org/~trasz/iwn.diff

I think it's too ugly to commit it as is (I'd never release crap like this,
but I know nothing about WiFi and iwn(4) in particular, so I feel justified),
but feedback is still welcome.



More information about the freebsd-hackers mailing list