Looking for a freeware utility to track wifi uptime
I've been searching around the innertubes for a simple piece of software that logs the wifi state of my connections. Everything I see seems to be based on actively pinging some website to see if there's a connection. What I want is something that logs status of the actual wifi network in my home. When my signal goes into trouble or offline, my icon in the system tray changes its state to signify that the wifi signal is faulty or not available. I'd simply like to have a logging utility that copies that event to a csv file that I can use to monitor performance over the long term. Any suggestions?
ChromeFoundry
(3,270 posts)by using Performance Monitor in the Administrative Tools...
Clear all counters.
Add \\Local Machine -> Network Interface -> Current Bandwidth
Select your Wireless Network Interface
Set your scale to 0.0000001
If you really need the Signal Strength in decibels and the connection state, this can be gotten from the WMI object. Would probably be very simple to write in VBScript, PowerShell or .Net
Let me know if you can't find anything good... I'd write one for you if you are not in any rush.
Old and In the Way
(37,540 posts)OK, I'm tracking the current bandwidth in the monitor....basically, it's flatlined. 54M last / 54M average / 54M minimum / 54M Maximum. Duration 1:40 (??) I right click on the counter and check the source file for data collection, but I see no .csv file logging the data. Any suggestions?
If I understand what I'm tracking, the computer is checking to see if the internet connection is "on"? Looks like once per second? The data log would be capturing start "on or off" with time stamp, "off or on" with timestamp, back "on or off" with timestamp, etc....am I correct?
If so, I guess I just need to know how to set up the log file and I can have a permanent record tracking wifi "on/off" signal performance.
Thanks!
ChromeFoundry
(3,270 posts)I will assume you are using Windows 7.
Define your properties and sample rate in the Performance Monitor window.
Right-Click Performance Monitor tree node. New -> Data Collector Set...
Name: "Bandwidth" -> Next
Root Dir: "C:\Users\username\Desktop\Bandwidth\" (or where ever) -> Next
Run As: <Default>, x - Start this data collector set now -> Finish
Find the "Bandwidth" node in the tree under "Data Collector Sets", "User Defined"
In the Right Panel, Find "System monitor Log"
Right-Click "System monitor Log" -> Properties
Log Format: Comma Separated
File Tab -> Log file name: "Bandwidth"
Log Mode: Append
Button: Apply -> Ok
Right-Click "Bandwidth" -> "Stop"
Right-Click "Bandwidth" -> "Start"
You will now be logging your available bandwidth for every second... May want to change it to every 15 seconds if you plan on keeping several days of data. The CSV file will contain a DateTimeStamp column and the Current Bandwidth of the adapter you selected. If you see 54Mbs, that means you are probably on an 802.11g network and you have fill signal. As the signal gets lower, you will see your current bandwidth drop... could get as low as 1.2M before it drops down to zero... meaning no signal.
Hope this helps.
Old and In the Way
(37,540 posts)I think I got about the first 1/2 of these instructions figured out, but I couldn't figure how to set-up the log. Will try it out and see how it works. I am using Win7. I've hardly ever ventured into this part of Win7 software...there's probably a lot of built-in tools for those who know what they are doing. And probably a lot of trouble for those that don't.
ChromeFoundry
(3,270 posts)I wrote a quick PowerShell script that will extract a few key pieces of data every 30 seconds. you can pipe it out to a file. PowerShell also has the ability to format it in CSV.
Here is what I came up with:
[div class='excerpt']$objInterface = "" | Select-Object Timestamp,Description,SSID,BSSID,Signal,Speed
while(1)
{
foreach ($strLine in (netsh wlan show interfaces))
{
if ($strLine -match "^\s+Description"
{
$objInterface.Description = $strLine -Replace "^\s+Description\s+:\s+",""
}
elseif ($strLine -match "^\s+SSID"
{
$objInterface.SSID = $strLine -Replace "^\s+SSID\s+:\s+",""
}
elseif ($strLine -match "^\s+BSSID"
{
$objInterface.BSSID = $strLine -Replace "^\s+BSSID\s+:\s+",""
}
elseif ($strLine -match "^\s+Signal"
{
$objInterface.Signal = $strLine -Replace "^\s+Signal\s+:\s+",""
}
}
$objInterface.Timestamp = Get-Date -Format 'yyyy-mm-dd hh:mm:ss'
$objInterface.Speed = (Get-wmiobject win32_NetworkAdapter | where {$_.Name.Contains($objInterface.Description)}).Speed
$objInterface | format-table
Start-Sleep -Seconds 30
}
Here is the output:
[div class='excerpt']Timestamp Description SSID BSSID Signal Speed
--------- ----------- ---- ----- ------ -----
2012-35-28 11:35:53 Intel(R) WiFi Link 5150 linksys 00:55:55:55:55:e8 83% 270000000
Timestamp Description SSID BSSID Signal Speed
--------- ----------- ---- ----- ------ -----
2012-36-28 11:36:25 Intel(R) WiFi Link 5150 linksys 00:55:55:55:5:e8 83% 243000000
Response to ChromeFoundry (Reply #5)
mick.bobin This message was self-deleted by its author.