Jason wrote:
All,
I've discovered that my physical environment causes intermittent wifi
connectivity (drops for a few seconds, then returns). My program can
work through this, but needs to know that the connection has been
interrupted.
I've placed a watch on different files in /sys/class/net/ath0/* and
found that operstate changes (from 'up' to 'down') when I experience
these network drops. So, I used inotify to detect changes to the file
as a proof of concept:
# inotifywatch -v -r /sys/class/net/ath0/operstate
No go. It detects when I cat the file, but doesn't detect when the
kernel changes it (which make sense on an academic note, since it
doesn't have a value until it's read by userspace).
So, does anyone know of a good (hopefully select() based) method to
detect this change? It doesn't have to use sysfs, that's just the
dragon I'm chasing right now. ;-) I'd really prefer not to poll the
file...
Update since vger is backup. I tried netlink also, and it only reports
IFF_UP changes (I've only tried RTMGRP_LINK/NETLINK_ROUTE so far). So
it tells me when I do ifconfig ath0 [up|down], but doesn't trigger when
operstate changes and the interface is still up (IFF_UP).
Any ideas?
thx,
Jason.
--
To unsubscribe from this list: send the line "unsubscribe linux-c-programming" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html