Quest’estate mi sono portato il portatile in montagna, pensando di collegarmi in tethering usando il telefono. Non ci sono riuscito. Rientrato a Milano, ho fatto ancora qualche prova e mi sono accorto che il problema non era tanto il tethering quanto la connessione wifi: si connetteva ma indicava “limited”, e se provavo a pingare un qualunque sito, anche semplicemente il router che mi aveva assegnato l’indirizzo IP e quindi era sicuramente visibile, mi arrivava come risposta “General Failure”. In effetti mi sono ricordato che era qualche mese che mi arrivava quel “limited”, ma non ci avevo fatto caso: il mio pc se ne sta sempre in studio, a due passi dal router e collegato via cavo ethernet alla rete.
Spegnere e riaccendere il pc, la prima regola dell’informatico, non serviva a nulla. Disinstallare e reinstallare il driver non ha dato risultati. Ho provato a cercare un driver più aggiornato ma il sistema mi ha detto che quella che avevo era la versione più recente. Ho guardato su internet e provato tutti i rimedi suggeriti, dal far ripartire winsock (e io che pensavo fosse defunto dalla versione 3.1!) all’eliminare l’interfaccia: nulla. Ho portato il pc in ufficio per fare qualche altra prova con un collega – la seconda regola dell’informatico dice “se non funziona spegnendo o riaccendendo il guaio può essere una cazzata che hai fatto: controlla con qualcun altro” – ma nulla da fare.
A questo punto ho chiamato l’assistenza: dopo un’ora al telefono per la parte software, nella quale mi hanno anche fatto aggiornare il BIOS, si è concluso che forse il problema era hardware. Ma la situazione era un po’ strana: come dicevo, il computer prendeva l’indirizzo IP dal router e tirava su l’interfaccia, ma poi non faceva nulla. Il giorno dopo è arrivato il tecnico con la schedina nuova: cambiata la schedina, sempre lo stesso risultato. A questo punto però il tecnico ha tirato fuori una chiavetta USB con una Ubuntu live, e la connessione appariva magicamente: giudizio finale, “il problema è software, reinstalli da zero il PC usando la partizione fantasma”.
Il pensiero di ripartire da Windows 7 e fare tutti gli aggiornamenti mi ha terrorizzato, così ieri sera, tornato a casa, mi ci sono rimesso di buzzo buono. Ho provato a fare un clean boot, togliendo tutti i servizi: a parte che qualcuno è comunque partito, la situazione era identica. Poi ho di nuovo disinstallato il driver: vedendo però che mi chiedeva “vuoi anche cancellare il file relativo?” ho provato a dire di sì, tanto peggio di così non poteva andare. A questo punto ho fatto una ricerca di nuovo hardware e mi ha rivisto la schedina; ho fatto un aggiornamento software che mi ha recuperato la stessa versione del driver che avevo già; e il wifi ora funziona di nuovo.
La mia ipotesi è che il file del driver fosse corrotto, e forzandone il download io sia riuscito ad avere una versione corretta. Ma se è così c’è un grave problema di base. I driver sono la parte più delicata di un sistema operativo. Possibile che per controllare il driver il sistema legga solo la versione e la data? Perché all’interno del file non c’è un checksum per verificarne l’integrità? Mah. Il risultato finale è sempre lo stesso, però: l’informatica non è una scienza ma un’arte.
Ultimo aggiornamento: 2015-09-02 09:16
Possibile che per controllare il driver il sistema legga solo la versione e la data? Perché all’interno del file non c’è un checksum per verificarne l’integrità?
No, non fa solo quello. In particolare da W7 in avanti i driver sono firmati (signed), quindi sono sicuramente integri (nel senso di non corrotti) all’installazione. A seconda dei tipi di driver (e della buona volontà di chi li fa) ci sono anche controlli analoghi ogni volta che il sistema fa un bootstrap (alias controlla che non siano stati cambiati fra un boot e l’altro). In alcuni casi draconiani (driver di scheda grafica in primis) suddetto controllo viene fatto anche runtime durante il funzinamento normale.
Nel tuo caso il problema è secondo me relativo al fatto che per un bug è entrato in una configurazione inconsistente (i driver di rete sono stateful, cioè mantengono in un file lo stato attuale per sapere in quale stato portarsi ad un evento successivo) e non era in grado di uscirne se non ripartendo dallo stadio iniziale.
L’informatica non è scienza ma arte.
É bellissima e te la rubo
Dopo alcune decine di anni che la pratico, pensa sia più corretto parlare di alchimia…