Hack: Como saber si Jazztel te está tomando el pelo con tu conexión adsl

EnglishFrenchGermanItalianPortugueseRussianSpanish

Tengo contratada una ADSL de 20 Mb con Jazztel. La primera vez que la use estaba bastante contento aparentemente me daba más de 12Mb de bajada. Pero la alegría me duró poco nunca ha dado los 20Mb ni en los mejores momentos.

La cuestión es que Jazztel te cobra 20 Mb incluso si te da menos y no te lo rebaja si no te da menos de 6Mb. Obviamente no hay ninguna forma sencilla de demostrarles que lo habitual son 4Mb de bajada y que ya sea por la distancia a la centralita o por que el router es una patata, casi siempre está por debajo de los 6Mb.

He probado a resetear el modem cuando está a 4MB, pero lo normal es que temporalmente suba a 9,5MB y luego vaya cayendo hasta 4MB.

Con un pequeño hack y algo de paciencia se puede obtener información suficiente para que te bajen el precio de la ADSL a lo que verdad te están dando y esperar a que ONO u otro proveedor te ofrezcan, y de verdad te lo puedan dar, fibra óptica.

Gracias a mi amigo José Luis Marina de Osmius, descubrí pachube y con un script en ruby es super fácil monitorizar la línea.

Los pasos son:

(1) Te creas una cuenta en pachube.

(2) Te creas un script en ruby o en lo que quieras como este:


require 'rubygems'
require 'mechanize'
require 'logger'
require 'json'

agent = Mechanize.new
agent.user_agent = 'Individueller User-Agent'
agent.user_agent_alias = 'Linux Mozilla'
agent.open_timeout = 3
agent.read_timeout = 4
agent.keep_alive = false
# agent.log = Logger.new(STDOUT)
agent.auth('admin', 'secreta')

url = 'http://192.168.1.1/info.html'
page = agent.get url

up = 0
down = 0

page.search('td').each do |td|

if up == 1
up = td.content
end

if td.content.match('Upstream')
up = 1
end

if down == 1
down = td.content
end

if td.content.match('Downstream')
down = 1
end
end

puts up
puts down

# mandamos la info a pachube

begin

http = Net::HTTP.new('api.pachube.com', 80)

http.start do |http|
req = Net::HTTP::Put.new("/v2/feeds/23385.csv", {'X-PachubeApiKey' => 'tu-api-del-feed'})
req.body = "0, #{up}\r\n1,#{down}\r\n"
resp = http.request(req)
puts resp.body
end
puts "Submitted to Pachube"

rescue
puts "Problem submitting results to Pachube"
puts $!
end

3) Lo metes en el cron:

*/10 * * * * /opt/local/bin/ruby /Users/juantomas/router.rb >> /tmp/router.log

4) En mi caso se va rellenado un gráfico como este:

 

5) Si tienes una cuenta en osmius, como pachube te exporta los datos en xml, json y csv lo puedes integrar con toda clase de alarmas y gráficos mucho mejores que con pachube 😉

 

El script es para el router comtrend que distribuye jazztel pero es muy fácil modificarlo para que obtenga los valores de otros routers.

 

 

Social Share Counters

3 Comments »

  1. Maki Said,

    April 18, 2011 @ 7:37 am

    Ops genial!!!

  2. Maki Said,

    April 18, 2011 @ 11:46 pm

    http://codebox.org.uk/pages/bitmeterOs

  3. Javier Aguirre Said,

    April 21, 2011 @ 9:25 pm

    Muy interesante, ya tengo pendiente probarlo.

RSS feed for comments on this post · TrackBack URI

Leave a Comment