DaemonForums  

Go Back   DaemonForums > OpenBSD > OpenBSD General

OpenBSD General Other questions regarding OpenBSD which do not fit in any of the categories below.

Reply
 
Thread Tools Display Modes
  #1   (View Single Post)  
Old 10th June 2013
daemonfowl daemonfowl is offline
bsdstudent
 
Join Date: Jan 2012
Location: DaemonLand
Posts: 834
Default wpi get down after a while

Hi all !
Frequently enough , wpi gets down after a while and I have to ifconfig it up and netstart .
Why does it occur ? is there any solution to this ?

I'm running OpenBSD -current
Thank you in advance !
Reply With Quote
  #2   (View Single Post)  
Old 10th June 2013
jggimi's Avatar
jggimi jggimi is offline
More noise than signal
 
Join Date: May 2008
Location: USA
Posts: 7,977
Default

  1. Post your dmesg. ALWAYS. WITH EVERY SINGLE PROBLEM REPORT YOU MAKE. EVERY PROBLEM REPORT, EVERY TIME. You can use dmesg(8) or the contents of the /var/run/dmesg.boot file.
  2. Post the output of ifconfig(8). The only thing you need to redact (change to xx.xx.xx.xx) are any "real" Internet addresses, if applicable.
  3. Post the output of netstat(8) when it fails and goes down. Before restoring the connection. Run netstat three different times: with options -ni, then with -ns, then with -nm, redacting any "real" Internet addresses as above.

Last edited by jggimi; 10th June 2013 at 01:08 PM. Reason: clarity on netstat(8), additional highlighting.
Reply With Quote
  #3   (View Single Post)  
Old 10th June 2013
daemonfowl daemonfowl is offline
bsdstudent
 
Join Date: Jan 2012
Location: DaemonLand
Posts: 834
Default

I'm terribly sorry , jggimi .
dmesg :
Code:
: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
uhidev0 at uhub2 port 1 configuration 1 interface 0 "vendor 0x1b1a USB Mouse" rev 1.10/1.10 addr 2
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
uhidev0: iclass 3/1
ums0 at uhidev0: 3 buttons, Z dir
wsmouse1 at ums0 mux 0
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
arpresolve: 192.168.1.1: route without link local address
wpi0: fatal firmware error
firmware error log (count=1):
  error type = "SYSASSERT" (0x00000005)
  error data      = 0x00000074
  branch link     = 0x000008B600000274
  interrupt link  = 0x0000031C00003564
  time            = 2192893784
driver status:
  tx ring  0: qid=0  cur=4   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=0   queued=0  
  tx ring  4: qid=4  cur=21  queued=0  
  tx ring  5: qid=5  cur=0   queued=0  
  rx ring: cur=57
  802.11 state 4
wpi0: fatal firmware error
firmware error log (count=1):
  error type = "SYSASSERT" (0x00000005)
  error data      = 0x00000074
  branch link     = 0x000008B600000274
  interrupt link  = 0x0000031C00003564
  time            = 2202324427
driver status:
  tx ring  0: qid=0  cur=3   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=0   queued=0  
  tx ring  4: qid=4  cur=21  queued=0  
  tx ring  5: qid=5  cur=0   queued=0  
  rx ring: cur=33
  802.11 state 4
linux: syscall epoll_create is obsolete or not implemented (pid=2819)
linux: syscall epoll_create is obsolete or not implemented (pid=31338)
wsmouse1 detached
ums0 detached
uhidev0 detached
uhidev0 at uhub2 port 1 configuration 1 interface 0 "vendor 0x1b1a USB Mouse" rev 1.10/1.10 addr 2
uhidev0: iclass 3/1
ums0 at uhidev0: 3 buttons, Z dir
wsmouse1 at ums0 mux 0
linux: syscall epoll_create is obsolete or not implemented (pid=23883)
linux: syscall epoll_create is obsolete or not implemented (pid=8586)
$ ifconfig -a
Code:
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 33196
        priority: 0
        groups: lo
        inet6 ::1 prefixlen 128
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4
        inet 127.0.0.1 netmask 0xff000000
wpi0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        lladdr 00:19:d2:28:eb:bc
        priority: 4
        groups: wlan egress
        media: IEEE802.11 autoselect (DS1 mode 11g)
        status: active
        ieee80211: nwid Conceptronic chan 6 bssid 00:80:5a:5a:36:33 16dB
        inet6 fe80::219:d2ff:fe28:ebbc%wpi0 prefixlen 64 scopeid 0x1
        inet 192.168.1.3 netmask 0xffffff00 broadcast 192.168.1.255
bce0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
        lladdr 00:16:d4:d2:d6:5e
        priority: 0
        media: Ethernet autoselect (none)
        status: no carrier
enc0: flags=0<>
        priority: 0
        groups: enc
        status: active
pflog0: flags=141<UP,RUNNING,PROMISC> mtu 33196
        priority: 0
        groups: pflog

Last edited by daemonfowl; 10th June 2013 at 05:01 PM.
Reply With Quote
  #4   (View Single Post)  
Old 10th June 2013
ocicat ocicat is offline
Administrator
 
Join Date: Apr 2008
Posts: 3,318
Default

daemonfowl, you have only posted the end of your dmesg(8) output. dmesg(8) output always begins with something akin to the following:
Code:
OpenBSD 5.3-beta (GENERIC.MP) #37: Wed Feb 20 09:29:22 CST 2013
    root@build.pricklyfish.org:/usr/src/sys/arch/amd64/compile/GENERIC.MP
real mem = 4004114432 (3818MB)
avail mem = 3875033088 (3695MB)
mainbus0 at root
bios0 at mainbus0: SMBIOS rev. 2.7 @ 0xdae9d000 (71 entries)
bios0: vendor LENOVO version "G6ET22WW (1.01 )" date 07/04/2012
...
The reason the entire dmesg(8) output is required is that it provides the kernel understanding of the hardware used. Without this information all anyone can do is guess what is going on. We need to see what devices are attached, & the output provided has this information clipped.

What should be posted is the output of the following command:

$ dmesg | more


Last edited by ocicat; 10th June 2013 at 05:13 PM.
Reply With Quote
  #5   (View Single Post)  
Old 10th June 2013
daemonfowl daemonfowl is offline
bsdstudent
 
Join Date: Jan 2012
Location: DaemonLand
Posts: 834
Default

Thank you ocicat !
I'm surprised it's all I get by issuing dmesg ..

uptime :
Code:
7:09PM  up 3 days,  6:59, 4 users, load averages: 0.44, 0.26, 0.24
Is there any possible command that twists dmesg to render partial output ?

I was playing with pf ..
Reply With Quote
  #6   (View Single Post)  
Old 10th June 2013
jggimi's Avatar
jggimi jggimi is offline
More noise than signal
 
Join Date: May 2008
Location: USA
Posts: 7,977
Default

The dmesg buffer in RAM wraps when it is full. Your dmesg in RAM is flooded with this kernel message:
Code:
arpresolve: 192.168.1.1: route without link local address
You have a route in your routing table for this address but no defined address to reach it. And then, below these errors, we can see:
Code:
wpi0: fatal firmware error firmware error log (count=1):
   error type = "SYSASSERT" (0x00000005)
   error data      = 0x00000074
   branch link     = 0x000008B600000274
   interrupt link  = 0x0000031C00003564
   time            = 2192893784
 driver status:
   tx ring  0: qid=0  cur=4   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=0   queued=0  
   tx ring  4: qid=4  cur=21  queued=0 
   tx ring  5: qid=5  cur=0   queued=0 
   rx ring: cur=57   802.11 state 4
Your wpi(4) firmware fails. This is either a firmware or a hardware problem. It is impossible to determine that from here.

We don't know which release of wpi(4) firmware you have installed, nor if it is in sync with the wpi(4) driver you are using.

For a complete dmesg, which might help us to determine this, you might look in /var/run/dmesg.boot, as that may have more information than the wrapped buffer in RAM.

Your ifconfig(8) output appears to have been taken after you restarted the failed NIC. The NIC is reported "UP", with an active Ethernet link, and with an assigned IP address.

There is no netstat(8) output reported.

Last edited by jggimi; 10th June 2013 at 06:07 PM. Reason: clarity of code block for firmware failure
Reply With Quote
  #7   (View Single Post)  
Old 10th June 2013
jggimi's Avatar
jggimi jggimi is offline
More noise than signal
 
Join Date: May 2008
Location: USA
Posts: 7,977
Default

A quick look in sysutils/firmware/wpi shows that this firmware has not been revised in two years. OpenBSD's package is version 3.2. Intel's version of firmware within the package is 15.32.2.9. Based on this stable firmware release, and with the limited information I've seen, I'm going to guess that your NIC has a hardware problem.
Reply With Quote
  #8   (View Single Post)  
Old 11th June 2013
jggimi's Avatar
jggimi jggimi is offline
More noise than signal
 
Join Date: May 2008
Location: USA
Posts: 7,977
Default

daemonfowl, if you are interested....

The Intel® PRO/Wireless 3945ABG microcode supplied by Intel is packaged and distributed by the Linux kernel Intel Wireless Legacy team. The website shows that 15.35.2.9 is the most recent released version of the microcode, and lists two Email contacts for technical support.

Last edited by jggimi; 11th June 2013 at 12:32 PM. Reason: clarity
Reply With Quote
  #9   (View Single Post)  
Old 11th June 2013
daemonfowl daemonfowl is offline
bsdstudent
 
Join Date: Jan 2012
Location: DaemonLand
Posts: 834
Default

Million Thanks to jggimi for supporting tips and for the link .. (sorry again for being dumb each time I report :-)
Reply With Quote
Old 9th February 2015
hanzer's Avatar
hanzer hanzer is offline
Real Name: Adam Jensen
just passing through
 
Join Date: Oct 2013
Location: EST USA
Posts: 314
Default

Quote:
Originally Posted by daemonfowl View Post
Hi all !
Frequently enough , wpi gets down after a while and I have to ifconfig it up and netstart .
Why does it occur ? is there any solution to this ?
I have a similar problem on an old Thinkpad.

$ uname -rv
5.5 GENERIC.MP#0

$ dmesg | grep wpi
wpi0 at pci3 dev 0 function 0 "Intel PRO/Wireless 3945ABG" rev 0x02: msi, MoW1, address 00:19:d2:07:a7:57

The Interface State daemon ifstated(8) might be useful in working around the hinky hardware/driver. My /etc/ifstated.conf looks like this:

Code:
init-state auto

net_check = '( "ping -q -c 1 -i 2 -w 1 www.google.com > /dev/null" every 120 )'

state auto {
        if $net_check {
              set-state if_online
        }
        if ! $net_check {
              set-state if_offline
        }
}

state if_online {
        if ! $net_check {
              set-state if_offline
        }
}

state if_offline {
        init {
             run "sh /etc/netstart wpi0"
         }
        if $net_check {
             set-state if_online
        }
}
To make ifstated start on reboot, edit your /etc/rc.conf.local and add the line
Code:
ifstated_flags=""
Google is ping'ed every two minutes; if/when the ping fails, the interface is restarted.
Reply With Quote
Old 10th February 2015
shep shep is offline
Real Name: Scott
Arp Constable
 
Join Date: May 2008
Location: Dry and Dusty
Posts: 1,503
Default

Quote:
Originally Posted by jggimi View Post
daemonfowl, if you are interested....

The Intel® PRO/Wireless 3945ABG microcode supplied by Intel is packaged and distributed by the Linux kernel Intel Wireless Legacy team. The website shows that 15.35.2.9 is the most recent released version of the microcode, and lists two Email contacts for technical support.
I think the wpi firmware is for 2200 devices. The 3.1 firmware was the last release before it was incorporated into the Linux Kernel. My source and the firmware download page. Unless someone pulls this out of the linux kernel, this looks like a wifi chip to avoid.
Quote:
This project was created by Intel to enable support for the Intel PRO/Wireless 2915ABG Network Connection and Intel PRO/Wireless 2200BG Network Connection mini PCI adapters. This work has since been merged into the kernel where is has been for a few years now. This project is considered stable and Intel is no longer maintaining it.

Please direct your questions to the general wireless mailing list at linux-wireless@vger.kernel.org. Bugs can be submitted to Kernel Bugzilla.

Other Intel wireless project pages:
Intel PRO/Wireless 2100 Network Connection (Unmaintained)
Intel PRO/Wireless 3945ABG Network Connection (Deprecated)
Intel Wireless WiFi Link Drivers (Supported)
Reply With Quote
Old 20th February 2015
hanzer's Avatar
hanzer hanzer is offline
Real Name: Adam Jensen
just passing through
 
Join Date: Oct 2013
Location: EST USA
Posts: 314
Default

When a firmware error occurs, /var/log/messages shows:
Code:
Feb 20 09:57:12 lucidrine dhclient[25153]: wpi0 down; exiting
Feb 20 09:57:14 lucidrine /bsd: wpi0: fatal firmware error
Feb 20 09:57:14 lucidrine /bsd: firmware error log (count=1):
Feb 20 09:57:14 lucidrine /bsd:   error type = "SYSASSERT" (0x00000005)
Feb 20 09:57:14 lucidrine /bsd:   error data      = 0x00000074
Feb 20 09:57:14 lucidrine /bsd:   branch link     = 0x000008B600000274
Feb 20 09:57:14 lucidrine /bsd:   interrupt link  = 0x0000032000004EC4
Feb 20 09:57:14 lucidrine /bsd:   time            = 3774846438
Feb 20 09:57:14 lucidrine /bsd: driver status:
Feb 20 09:57:14 lucidrine /bsd:   tx ring  0: qid=0  cur=4   queued=1  
Feb 20 09:57:14 lucidrine /bsd:   tx ring  1: qid=1  cur=0   queued=0  
Feb 20 09:57:14 lucidrine /bsd:   tx ring  2: qid=2  cur=0   queued=0  
Feb 20 09:57:14 lucidrine /bsd:   tx ring  3: qid=3  cur=0   queued=0  
Feb 20 09:57:14 lucidrine /bsd:   tx ring  4: qid=4  cur=19  queued=0  
Feb 20 09:57:14 lucidrine /bsd:   tx ring  5: qid=5  cur=0   queued=0  
Feb 20 09:57:14 lucidrine /bsd:   rx ring: cur=4
Feb 20 09:57:14 lucidrine /bsd:   802.11 state 4
Is there a way to catch/detect this error in a more convenient way than reading and interpreting /var/log/messages? In my current setup, ifstated(8) is used to ping(8) Google every two minutes (mentioned earlier in this thread) to verify network connectivity. It would be nicer not to generate that network chatter (that often) and do local checks (perhaps, much more often).

After a firmware crash, $ ifconfig wpi0 continues to report "status: active", so that's not a useful indicator.
Reply With Quote
Old 20th February 2015
jggimi's Avatar
jggimi jggimi is offline
More noise than signal
 
Join Date: May 2008
Location: USA
Posts: 7,977
Default

Quote:
Originally Posted by hanzer View Post
Code:
... wpi0 down; exiting
...
Is there a way to catch/detect this error in a more convenient way than reading and interpreting /var/log/messages?
If dhclient(8) is able to sense the NIC status is down, ifstated(8) should be able to obtain the same state information, and this should not require external scripting. Should.
Reply With Quote
Old 20th February 2015
hanzer's Avatar
hanzer hanzer is offline
Real Name: Adam Jensen
just passing through
 
Join Date: Oct 2013
Location: EST USA
Posts: 314
Default

Quote:
Originally Posted by jggimi View Post
If dhclient(8) is able to sense the NIC status is down, ifstated(8) should be able to obtain the same state information, and this should not require external scripting. Should.
Ooo, nice catch! /etc/ifstated.conf now reads:

Code:
init-state auto

wpi0_down = "wpi0.link.down"

state auto {
        if ! $wpi0_down {
              set-state if_online
        }
        if $wpi0_down {
              set-state if_offline
        }
}

state if_online {
        if $wpi0_down {
              set-state if_offline
        }
}

state if_offline {
        init {
             run "sh /etc/netstart wpi0"
         }
        if ! $wpi0_down {
             set-state if_online
        }
}
I'll live with it for a while and see how it works out
Reply With Quote
Old 21st February 2015
hanzer's Avatar
hanzer hanzer is offline
Real Name: Adam Jensen
just passing through
 
Join Date: Oct 2013
Location: EST USA
Posts: 314
Thumbs up

This method seems to work quite well. There was a firmware failure a few minutes ago:
/var/log/messages
Code:
Feb 21 10:00:01 lucidrine syslogd: restart
Feb 21 12:22:47 lucidrine /bsd: wpi0: fatal firmware error
Feb 21 12:22:47 lucidrine /bsd: firmware error log (count=1):
Feb 21 12:22:47 lucidrine /bsd:   error type = "SYSASSERT" (0x00000005)
Feb 21 12:22:47 lucidrine /bsd:   error data      = 0x00000074
Feb 21 12:22:47 lucidrine /bsd:   branch link     = 0x000008B600000274
Feb 21 12:22:47 lucidrine /bsd:   interrupt link  = 0x0000032000004EBC
Feb 21 12:22:47 lucidrine /bsd:   time            = 124235011
Feb 21 12:22:47 lucidrine /bsd: driver status:
Feb 21 12:22:47 lucidrine /bsd:   tx ring  0: qid=0  cur=179 queued=1  
Feb 21 12:22:47 lucidrine /bsd:   tx ring  1: qid=1  cur=0   queued=0  
Feb 21 12:22:47 lucidrine /bsd:   tx ring  2: qid=2  cur=0   queued=0  
Feb 21 12:22:47 lucidrine /bsd:   tx ring  3: qid=3  cur=0   queued=0  
Feb 21 12:22:47 lucidrine /bsd:   tx ring  4: qid=4  cur=27  queued=0  
Feb 21 12:22:47 lucidrine /bsd:   tx ring  5: qid=5  cur=0   queued=0  
Feb 21 12:22:47 lucidrine /bsd:   rx ring: cur=3
Feb 21 12:22:47 lucidrine /bsd:   802.11 state 4
Feb 21 12:22:47 lucidrine dhclient[6135]: wpi0 down; exiting
It was detected and the interface was restarted immediately.
/var/log/daemon
Code:
Feb 21 12:18:37 lucidrine ntpd[27581]: peer 38.229.71.1 now invalid
Feb 21 12:22:47 lucidrine ifstated[30239]: changing state to if_offline
Feb 21 12:22:47 lucidrine dhclient[6135]: wpi0 down; exiting
Feb 21 12:23:07 lucidrine ifstated[30239]: changing state to if_online
Feb 21 12:23:07 lucidrine dhclient[14155]: DHCPREQUEST on wpi0 to 255.255.255.255
Feb 21 12:23:07 lucidrine dhclient[14155]: DHCPACK from 192.168.48.1 (00:90:fb:43:57:51)
Feb 21 12:23:07 lucidrine dhclient[14155]: bound to 192.168.49.59 -- renewal in 21600 seconds.
Very nice!
Reply With Quote
Old 28th February 2015
hanzer's Avatar
hanzer hanzer is offline
Real Name: Adam Jensen
just passing through
 
Join Date: Oct 2013
Location: EST USA
Posts: 314
Default

Quote:
Originally Posted by hanzer View Post
This method seems to work quite well.
Well, not quite. After the first wpi0.link.down event, the state hangs in if_offline. The latest variation of my /etc/ifstated.conf is:
Code:
state alive {
        if wpi0.link.down || wpi0.link.unknown {
              set-state dead
        }
}
state dead {
        init {
             run "ifconfig wpi0 down"
             run "ifconfig wpi0 up"
             run "sleep 6"
        }
        if wpi0.link.up {
              set-state alive
        }
        if wpi0.link.down || wpi0.link.unknown {
              set-state purgatory
        }
}
state purgatory {
        init {
             run "sh /etc/netstart wpi0"
             run "sleep 66"
        }
        set-state alive
}
If tested with $ sudo ifstated -dvv then in a separate terminal $ sudo ifconfig wpi0 down, the results are:
Code:
initial state: alive
changing state to alive
started
changing state to dead
running ifconfig wpi0 down
running ifconfig wpi0 up
running sleep 6
changing state to purgatory
running sh /etc/netstart wpi0
DHCPREQUEST on wpi0 to 255.255.255.255
DHCPACK from 192.168.48.1 (00:90:fb:43:57:51)
bound to 192.168.49.63 -- renewal in 21600 seconds.
running sleep 66
changing state to alive
changing state to dead
running ifconfig wpi0 down
running ifconfig wpi0 up
running sleep 6
changing state to purgatory
running sh /etc/netstart wpi0
DHCPREQUEST on wpi0 to 255.255.255.255
DHCPACK from 192.168.48.1 (00:90:fb:43:57:51)
bound to 192.168.49.63 -- renewal in 21600 seconds.
running sleep 66
And that oscillation continues. During all of this, $ ifconfig wpi0 indicates that the interface is UP, RUNNING and active.

My current speculation is that the way ifstated monitors link state (e.g., wpi0.link.up) isn't really working for this hinky interface (driver/firmware/hardware).

Last edited by hanzer; 28th February 2015 at 04:40 PM. Reason: I'm a retard
Reply With Quote
Reply

Tags
wpi, wpi openbsd

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 06:17 PM.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Content copyright © 2007-2010, the authors
Daemon image copyright ©1988, Marshall Kirk McKusick