Salut,
Je suis nouveau sur ce forum qui contient pas mal d'infos intéressantes... Merci à tous ceux qui aident ceux qui ont des problèmes !
Il se trouve que j'ai moi aussi un problème de déconnexions parfois très fréquentes d'environ 35 secondes. Par exemple, j'ai eu 19 coupures en moins de 2 heures en début d'aprèm...
J'ai pondu ce week-end un petit script VB qui pingue ma freebox, mon DSLAM, et
www.free.fr pour logger toutes ces déconnexions. Le but était de voir si les coupures étaient dues à la connexion WIFI ou non, et aussi de le faire tourner chez les voisins pour voir s'ils ont les mêmes coupures (pas encore fait).
Voici mon log pour cette aprèm :
27/08/2006 12:18:42 - Début du log des déconnexions
27/08/2006 13:35:53 - Déconnexion
27/08/2006 13:36:27 - Reconnexion (34 s)
27/08/2006 13:38:21 - Déconnexion
27/08/2006 13:38:56 - Reconnexion (35 s)
27/08/2006 13:58:23 - Déconnexion
27/08/2006 13:58:57 - Reconnexion (34 s)
27/08/2006 14:04:32 - Déconnexion
27/08/2006 14:05:06 - Reconnexion (34 s)
27/08/2006 14:06:02 - Déconnexion
27/08/2006 14:06:07 - Reconnexion (5 s)
27/08/2006 14:08:15 - Déconnexion
27/08/2006 14:08:47 - Reconnexion (32 s)
27/08/2006 14:10:03 - Déconnexion WIFI
27/08/2006 14:10:06 - Déconnexion
27/08/2006 14:10:28 - Reconnexion WIFI (25 s)
27/08/2006 14:10:29 - Reconnexion (23 s)
27/08/2006 14:11:31 - Déconnexion
27/08/2006 14:12:09 - Reconnexion (38 s)
27/08/2006 14:18:06 - Début du log des déconnexions
27/08/2006 14:18:22 - Déconnexion
27/08/2006 14:18:57 - Reconnexion (35 s)
27/08/2006 14:25:49 - Déconnexion
27/08/2006 14:26:24 - Reconnexion (35 s)
27/08/2006 14:27:46 - Déconnexion
27/08/2006 14:28:21 - Reconnexion (35 s)
27/08/2006 14:30:57 - Déconnexion
27/08/2006 14:31:32 - Reconnexion (35 s)
27/08/2006 14:32:50 - Déconnexion
27/08/2006 14:33:24 - Reconnexion (34 s)
27/08/2006 14:35:18 - Déconnexion
27/08/2006 14:35:52 - Reconnexion (34 s)
27/08/2006 14:41:58 - Déconnexion
27/08/2006 14:42:33 - Reconnexion (35 s)
27/08/2006 14:44:32 - Déconnexion
27/08/2006 14:45:07 - Reconnexion (35 s)
27/08/2006 14:48:42 - Déconnexion
27/08/2006 14:49:18 - Reconnexion (36 s)
27/08/2006 14:53:38 - Déconnexion
27/08/2006 14:54:13 - Reconnexion (35 s)
27/08/2006 14:58:37 - Déconnexion
27/08/2006 14:59:16 - Reconnexion (39 s)
27/08/2006 15:00:07 - Déconnexion
27/08/2006 15:00:42 - Reconnexion (35 s)
27/08/2006 15:04:40 - Déconnexion
27/08/2006 15:05:18 - Reconnexion (38 s)
27/08/2006 17:22:38 - Début du log des déconnexions (note : j'ai ici rajouté le test du DSLAM dans mon script)
27/08/2006 17:31:22 - Déconnexion
WWW.FREE.FR27/08/2006 17:31:24 - Déconnexion DSLAM
27/08/2006 17:31:55 - Reconnexion
WWW.FREE.FR (33 s)
27/08/2006 17:31:55 - Reconnexion DSLAM (31 s)
27/08/2006 17:35:43 - Déconnexion DSLAM
27/08/2006 17:35:47 - Déconnexion
WWW.FREE.FR27/08/2006 17:36:18 - Reconnexion
WWW.FREE.FR (31 s)
27/08/2006 17:36:18 - Reconnexion DSLAM (35 s)
27/08/2006 17:48:53 - Déconnexion
WWW.FREE.FR27/08/2006 17:48:55 - Déconnexion DSLAM
27/08/2006 17:49:26 - Reconnexion DSLAM (31 s)
27/08/2006 17:49:29 - Reconnexion
WWW.FREE.FR (36 s)
27/08/2006 17:50:15 - Déconnexion
WWW.FREE.FR27/08/2006 17:50:16 - Déconnexion DSLAM
27/08/2006 17:50:48 - Reconnexion DSLAM (32 s)
27/08/2006 17:50:51 - Reconnexion
WWW.FREE.FR (36 s)
Bref, vous voyez que c'est la fête :]
Voici le script :
'----------------------------------------------------------------
g_LogText = "Début du log des déconnexions"
LogText
countinet = 0
countdslam = 0
countwifi = 0
Do
g_Host = "
www.free.fr"
ping = PingHost
If ping = false Then
countinet = countinet+1
If countinet = 2 Then
g_LogText = "Déconnexion
WWW.FREE.FR"
LogText
startDate = Now
End If
Else
If countinet >= 2 Then
g_LogText = "Reconnexion
WWW.FREE.FR (" & DateDiff( "s", startDate, Now ) & " s)"
LogText
End If
countinet = 0
End If
g_Host = "82.xxx.xxx.254"
ping = PingHost
If ping = false Then
countdslam = countdslam+1
If countdslam = 2 Then
g_LogText = "Déconnexion DSLAM"
LogText
startDateDslam = Now
End If
Else
If countdslam >= 2 Then
g_LogText = "Reconnexion DSLAM (" & DateDiff( "s", startDateDslam, Now ) & " s)"
LogText
End If
countdslam = 0
End If
For i = 0 To 1
g_Host = "192.168.0.254"
ping = PingHost
If ping = false Then
countwifi = countwifi+1
If countwifi = 2 Then
g_LogText = "Déconnexion FREEBOX (WIFI)"
LogText
startDateWifi = Now
End If
Else
If countwifi >= 2 Then
g_LogText = "Reconnexion FREEBOX (WIFI) (" & DateDiff( "s", startDateWifi, Now ) & " s)"
LogText
End If
countwifi = 0
End If
WScript.sleep 1000
Next
Loop
' ==================================================================
Function LogText
Const ForAppending = 8
Set FSO = CreateObject("Scripting.FileSystemObject")
Set TextFile = FSO.OpenTextFile("C:DecoLog.txt", ForAppending, True)
TextFile.Writeline Now & " - " & g_LogText
TextFile.close
Set TextFile = Nothing
Set FSO = Nothing
End Function
' ==================================================================
Function PingHost
Set objShell = CreateObject("WScript.Shell")
Set objExec = objShell.Exec("ping -n 1 -w 1000 " & g_Host)
strPingResults = LCase(objExec.StdOut.ReadAll)
If InStr(strPingResults, "perdus = 0") Then
PingHost = True
Else
PingHost = False
End If
End Function
'----------------------------------------------------------------
Copiez-collez ça dans un fichier texte nommé "logdeco.vbs" et sauvez-le par exemple sur votre bureau...
N'oubliez pas de modifier la ligne :
g_Host = "82.xxx.xxx.254"
en inscrivant à la place des "xxx" les nombres qui correspondent à votre dslam. Pour connaitre cette adresse, faites un "tracert
www.free.fr" dans une console msdos (démarrer->exécuter->"cmd") et regardez la deuxième ligne qui s'affiche.
Ensuite créez un autre fichier texte "logdeco.cmd" qui contient la ligne suivante :
cscript logdeco.vbs
(c'est nécessaire car sinon une fenêtre MSDOS poppe à chaque appel de la commande "ping", si on lance directement le script vbs depuis l'explorateur windows)
Vous pouvez maintenant lancer le loggeur en double cliquant sur "logdeco.cmd". (perso j'ai fait un raccourci vers ce .cmd en spécifiant "démarrer en fenêtre réduite" dans les options, puis j'ai placé ce raccourci dans mon menu "démarrage" pour que le script soit lancé à chaque démarrage de windows).
EDIT : J'ai oublié deux choses :
- Ce script pingue
www.free.fr et votre DSLAM toutes les 2 secondes, et votre freebox toutes les secondes. Il considère que la connexion est perdue si deux pings consécutifs ont échoué.
- Ce script ne marche que sous XP. Pour le faire tourner sous 2000 ou un Windows plus ancien, remplacez la fonction PingHost qui se trouve à la fin de logdeco.vbs par celle-ci :
' ==================================================================
Function PingHost
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objShell = CreateObject("Wscript.Shell")
objTempFile = objFSO.GetTempName
objShell.Run "cmd /c ping -n 1 -w 1000 " & g_Host & " >" & objTempFile, 0, True
Set objTextFile = objFSO.OpenTextFile(objTempFile, 1)
strPingResults = LCase(objTextFile.ReadAll)
If InStr(strPingResults, "perdus = 0") Then
PingHost = True
Else
PingHost = False
End If
objTextFile.Close
objFSO.DeleteFile(objTempFile)
End Function
' ==================================================================
(l'inconvénient de cette version est qu'elle écrit un fichier temporaire à chaque appel de la commande ping, soit en moyenne 2 fois par seconde).