Description de la tâche
Bonjour,
Nous sommes clients de Free depuis très longtemps, mais lors du changement de notre ancienne Freebox (>5 ans) pour une Freebox Ultra, nous remarquons une perte de connexion. Depuis que nous avons reporté cet incident au support, nous avons changé 2 fois de Freebox Ultra, puis 4 fois de SFP, sans succès, le problème persiste.
La seule proposition du support est d’écrire sur ce forum…
J’ai écris un script qui ping la freebox (IP local), mais aussi google.com, toutes les secondes, depuis mon Mac, connecté en Ethernet à la Freebox. A noter que ma configuration (Mac, Ethernet, …) n’a pas changé depuis le changement de Freebox.
Je constate que: - le ping vers l’IP local ne drop jamais, ce n’est donc pas un problème avec mon Mac, le filaire entre mon Mac et la Box, … - le ping vers google.com a des échecs (au moment où je vois par exemple que mon video call freeze) de facon alétoire, mais souvent dans des intervalles de plusieurs minutes. Il semblerait que j’ai plus de drop quand je suis dans un video call, mais je ne comprends pas pourquoi.
Voici un exemple de drops de connexion Internet:
• 10:47:16 +0100 - Échec de la connexion à google.com. Début : 10:47:16 +0100. Durée : 0 secondes.
• 10:54:59 +0100 - Échec de la connexion à google.com. Début : 10:54:59 +0100. Durée : 0 secondes.
• 11:04:41 +0100 - Échec de la connexion à google.com. Début : 11:04:41 +0100. Durée : 0 secondes.
• 11:06:54 +0100 - Échec de la connexion à google.com. Début : 11:06:54 +0100. Durée : 0 secondes.
• 11:07:20 +0100 - Échec de la connexion à google.com. Début : 11:07:20 +0100. Durée : 0 secondes.
• 11:09:08 +0100 - Échec de la connexion à google.com. Début : 11:09:08 +0100. Durée : 0 secondes.
• 11:10:02 +0100 - Échec de la connexion à google.com. Début : 11:10:02 +0100. Durée : 0 secondes.
• 11:12:06 +0100 - Échec de la connexion à google.com. Début : 11:12:06 +0100. Durée : 0 secondes.
• 11:13:31 +0100 - Échec de la connexion à google.com. Début : 11:13:31 +0100. Durée : 0 secondes.
• 11:14:34 +0100 - Échec de la connexion à google.com. Début : 11:14:34 +0100. Durée : 0 secondes.
• 11:14:58 +0100 - Échec de la connexion à google.com. Début : 11:14:58 +0100. Durée : 0 secondes.
• 11:16:25 +0100 - Échec de la connexion à google.com. Début : 11:16:25 +0100. Durée : 0 secondes.
• 11:19:37 +0100 - Échec de la connexion à google.com. Début : 11:19:37 +0100. Durée : 0 secondes.
De plus, je vous fournis le script que j’ai écris :
require ‘net/ping’ require ‘time’
# Configuration # WIFI_SERVER = ‘192.168.1.54’ # Serveur WiFi LAN_SERVER = ‘192.168.1.78’ # Serveur LAN GOOGLE_SERVER = ‘google.com’ # Serveur Google LOG_FILE = ‘network_failures.log’ CHECK_INTERVAL = 1 # Intervalle en secondes entre chaque vérification
# Fonction pour vérifier la connectivité def server_reachable?(server)
Net::Ping::External.new(server).ping?
end
# Fonction pour écrire dans le fichier log def end_log_failure(server, start_time, duration)
File.open(LOG_FILE, 'a') do |file|
file.puts "#{Time.now} - Échec de la connexion à #{server}. Début : #{start_time}, Durée : #{duration} secondes."
end
end
def start_log_failure(server, start_time)
File.open(LOG_FILE, 'a') do |file|
file.puts "#{Time.now} - Échec de la connexion à #{server}. Début : #{start_time}."
end
end
# Boucle principale loop do
[LAN_SERVER, GOOGLE_SERVER].each do |server|
print '.'
next if server_reachable?(server)
start_time = Time.now
puts "Connexion à #{server} échouée à #{start_time}. Surveillance en cours..."
start_log_failure(server, start_time)
# Attente jusqu'à rétablissement de la connexion
sleep(CHECK_INTERVAL) until server_reachable?(server)
# Connexion rétablie
end_time = Time.now
duration = (end_time - start_time).to_i
puts "Connexion rétablie à #{server} à #{end_time}. Durée de l'échec : #{duration} secondes."
end_log_failure(server, start_time, duration)
end
sleep(CHECK_INTERVAL)
end
Merci,
|