pppdlogger

Quanto spendo per una connessione gprs/umts ?

saranno state ... eh quattro, mi ricordo che ero in una stanza squallida in quel di Pisa, un letto, un piccolo armadio blu con degli adesivi sopra, una finestra fatiscente, qualche mensola di troppo nel posto sbagliato e una lampada alla Edison attaccata ad un filo e porta lampada come lampadario. Decisi di fare qualcosa per quella situazione. Uscii di casa e andai a cercare qualcosa per mettere a posto la finestra, pensai a lucidarla con dell'olio, pensai bene anche di comprare una scrivania, perché era decisamente il caso.

Presi l'olio per legno, carta vetrata, e un pennello. Era un sabato di inizio maggio, ma faceva ancora abbastanza freddo. Lasciai tutto sopra il mobiletto blu.

Mi sedetti sul letto col mio portatile PIII 600MHz sulle ginocchia, attaccai l'adattatore bluetooth per usb della digicom e feci un innocuo "pon gprs_vodafone" da terminale. Pensai: "mi scarico la posta e faccio un giro tra siti porno ... anche se non credo che la velocità sia sufficiente per i filmati". Così feci. Era vero, la velocità non era sufficiente. Sulla posta niente di nuovo, usavo scrivere ad un amico lamentando qualcosa che mi infastidiva che io, ora, francamente, non ricordo proprio cos'era, ma era da un po' che non lo facevo ... forse non ricordo neanche quello. Oppure arrivavano email dal datore di lavoro che dicevano come bisognava compilare il foglio delle ore e che era importante comunicare quello che si faceva al lavoro sempre, anche se dopo un po' arrivavano email che dicevano che non c'era bisogno di dire proprio tutto tutto ...

Forse avrei chiamato una ragazza sul tardi, ma non ero sicuro della situazione che c'era e non mi andava proprio molto. Sarei uscito, forse sarei uscito.

Forse la stanza non era un granché e si sarebbe detto che la situazione era squallida, ma venivo da una peggiore e così andava più che bene. Ero fiducioso del fatto che sarebbe andato sempre meglio. Ricordo che ero un po' chiuso e stressato per via di troppi consigli, che sebbene sembrino piaceri da parte di chi li fa, ho imparato sono la cosa più odiosa che può esistere nei rapporti sociali: tutti i consigli sono necessariamente sbagliati, non servono a niente, sono impossibili da seguirsi, ma se qualcuno ti ha dato un consiglio sta sicuro che, qualunque cosa succeda, sarà sempre pronto a dirti "te l'avevo detto", anche quando non c'entra assolutamente niente.

Che dire? ... forse un giorno avrei comprato anche la scrivania.

La connessione GPRS non era così male. Decisi che avrei fatto la promozione Vodafone di 500MBytes di traffico GPRS al mese per 20 euro.

Così feci. Ma dopo un mese scopro che mi addebitano 25 euro per traffico GPRS. Non nascondo che ero un po' incazzato per questa faccenda. Tra l'altro lavoravo per la Wind e giù a dirmi che non dovevo usare Vodafone perché con Wind questo non sarebbe successo.

Beh, chiamo il centro servizi e chiedo spiegazioni. Mi fa "ha superato il traffico telefonico limite", e io "cosa? 500 mega? con una connessione GPRS? guardi che sbaglia", "no". Ebbi a che fare con diversi operatori (telefonisti). Le risposte erano varianti casuali.

Capitava che al tempo avessi su una Debian sul laptop .. decisi di fare qualcosa per risolvere quest'arcano ... /var/log/messages? esatto

Diedi un'occhiata col less ...

Jul  3 12:34:29 fincos pppd[27733]: Sent 39566 bytes, received 415222 bytes.

No, forse è meglio "grep -e 'pppd.*Sent' messages|less"

4133 + 20392 + 39566 ...

... vabbè, ma non sono una calcolatrice, non io.

#!/usr/bin/perl -w

open(FILE,") {
    if ($line =~ /pppd.*Sent\ ([0-9]+).*received\ ([0-9]+)/) {
	$bytes += $1 +$2;
    }
}

print "$bytes\n";
print $bytes/1024 ."\n";
print $bytes/1000 . "\n";
...
114166219
111490.448242188
114166.219

.. beh non si può dire che non mi sono dato da fare a scaricare .. ma sono 114 Mega ... facciamo 115. Richiamo il 190, controllo anche nel sito 190.it ...

Dopo un po' di sbattimenti vengo a scoprire che mi avevano addebitato il traffico fatto a Febbraio, mentre ero in treno, a navigare col browser wap del mio Nokia 3650 (fu quello il giorno in cui scoprii il motore wap di google)... Ma perché non l'avete detto?

Nel frattempo Fernando se ne era andato, io recuperai un modem ADSL e lo collegai al computer, ma la connessione era a tempo, l'ADSL, e a consumo, la GPRS. Per di più il lavoro per la wind era finito e dovevo lavorare ad un sito web: ora la connessione era necessaria e i soldi andavano scemando, dovevo controllare i consumi.

Mi venne in mente di far fare tutto in automatico di modo di poter sapere quanto stavo spendendo, non superare il limite dei 500 mega della vodafone, e limitare i costi della ADSL a tempo (che erano una vera mazzata): la GPRS sempre attaccata, quando avevo bisogno di scaricare avviavo l'adsl...

ppplogger versione 0.2

Decisi di usare questo programmino C che all'avvio della connessione inseriva in un db MySQL i dati della connessione, e alla fine segnava tutti i consumi (tempo e traffico). Il primo problema è che tale ppplogger è un programma che era solo nella mia fantasia, quindi dovevo scriverlo. Poi avevo bisogno di una qualche interfaccia per fare facilmente le interrogazioni, l'avrei scritta in php, anzi, l'ho scritta in php, ma poi mi accorsi che faceva schifo e non mi piaceva, quindi decisi di scriverla in GTK.

Il pppd

Mi capita di sapere che sui *nix ci sono le pagine di manuale, quindi leggendo quella del pppd vedo che posso impostare script di ip-up e di ip-down (tipicamente nella distribuzione c'è già e chiama tutti i programmi presenti nelle directories /etc/ppp/ip-up.d/ e /etc/ppp/ip-down.d/), e vedo anche che tali script vengono chiamante con delle variabili d'ambiente che riportano lo stato rispettivamente dell'avvio e delle terminazione del demone pppd. Beh, nulla di più banale.

Ok. Scrivo. Compilo. Le cose funzionano. L'interfaccia php fa schifo.

Il programma GTK ... do' un'occhiata al tutorial del sito gtk.org .. questa libreria fa un po' schifo a dir la verità ... ma forse sono un tipo difficile di natura. Provo libglade... non funziona .. segnali non connessi .. funzioni non trovate ... Ho speso un pomeriggio per capire che quei simpaticoni della libglade le cose le scrivono tra le righe: bisogna aggiungere -export-dynamic alle opzioni di compilazione: `pkg-config --cflags --libs libglade-2.0` non lo fa!

Potrei usare una libreria per collegarmi al db mysql, la libgda, ma ho già letto troppa documentazione, userò la libmysql come i comuni mortali idioti come me.

Le cose che devo fare sono semplici:

  • connessioni ADSL
    • tempo dei consumi da giorno-ora a giorno-ora
    • costo (moltiplicare per costo a minuto o a secondo)
  • connessioni GPRS
    • traffico da giorno-ora a giorno-ora
    • costo (moltiplicare per costo a 1024 bytes o a 1000 bytes)

Deve esserci una finestra, deve esserci un selettore di connessione (gprs, adsl .. una combo box), devono esserci 2 selettori di data-ora (datetime picker), deve esserci due textbox per i costo e due combo per decidere a che unità applicarlo, voglio un report totale e una column view per la lista delle connessioni nel periodo scelto, voglio un tasto per collegarsi al db, una finestra di dialogo per mettere i parametri di connessione, un tasto per aggiornare la richiesta. Cioè:

Ora ho un po' di log salvati (messages.?) vorrei parsarli e metter dentro le connessioni effettuate nel db. Lo faccio col perl che per il parsing va piuttosto bene.

Ok, il file reportcon.pl è in http://repository.smartango.com/parsing_log/

Ora il resto è alla rinfusa in http://repository.smartango.com/debian/

Ci sono i pacchetti debianizzati, sarebbe il caso di fare un repository debian.

Home pppd-logger

Me ne vado e ciao.

Syndicate content