gippy

Mi sono imbattuto da poco nella problematica in oggetto: una stampante multifunzione Epson ET-2850 ha smesso di stampare perché lamentava il serbatoio dell'inchiostro di pulizia pieno (Errore E-11).

Schermata d'errore

Parte hardware

Su consiglio di un amico / collega che ha un'attività di rivendita di stampanti ho ordinato il serbatoio di ricambio (originale Epson).

Per sostituirlo basta svitare due viti esterne e una che lo tiene fermo all'interno, è davvero semplicissimo. Nel farlo mi sono però accorto che né quello che stavo togliendo (e che si potrebbe anche pulire, in realtà), né quello nuovo avevano alcun chip o contatto elettrico. Da una parte è un bene, ho pensato, ma dall'altra immaginavo già che questa assenza avrebbe fatto sì che la stampante non sapesse della sostituzione. E infatti, una volta richiuso il vano col nuovo tampone inserito, l'errore era ancora lì.

Parte software

È a questo punto che è cominciata la ricerca su come far sparire l'errore e quindi far tornare la stampante a fare il suo lavoro (completamente, perché in realtà le scansioni credo le potesse fare).

Per chi avesse fretta E fosse in grado di intuire i passaggi senza tanti dettagli, ho fatto un riassunto alla fine dell'articolo.

Non è stato facile e mi sono imbattuto in varie strade che elencherò di seguito, ma prima mi preme evidenziare che la via ufficiale sarebbe quella di portare la macchina ad un centro autorizzato Epson che ti fa tutto il lavoro, ma non ho idea di quanto possa chiedere.

Facendo un po' di ricerche nel web, i primi risultati li ho trovati su YouTube: ci sono alcuni video che mostrano come fare attraverso un software (inizialmente solo per Windows, ma mi sembra lo abbiano rilasciato anche per MacOs e Linux) che ti fa fare una (e una sola!) prova gratuita, per vedere se effettivamente è efficace, portandoti il valore all'80% (dicono). Se questa va a buon fine ti propongono l'acquisto di un codice per sbloccare completamente il programmino e far sì che possa azzerare il contatore della stampante.

La chiave mi pare costasse una decina di dollari o euro, per cui sarebbe anche una cifra accettabile, ma io sono un attivista sfegatato del Software Libero e pertanto mi sono chiesto: possibile mai che nessuno abbia analizzato la cosa, facendo un po' di sniffing e/o reverse engineering per capire quali sequenze mandare alla stampante per azzerare tale contatore?

Così mi sono messo giù di punta a leggere i vari post nei diversi forum, dove ho trovato altre strade, la maggior parte delle quali (se non tutte) in questo utilissimo thread:

https://www.reddit.com/r/Epson/comments/ndv32v/comment/lgberp9

Nei vari post ho trovato dapprima un altro software, sempre a pagamento, ma a importo libero, poi un form sul sito Epson dove potrebbe essere che ti mandino il loro software ufficiale (ma non ho provato, questa la URL: https://epson.com/epsonstorefront/orbeon/fr/us_regular_s03/us_ServiceInk_Pad_Reset/new) e alla fine un meraviglioso progetto FLOSS!

Soluzione con software libero

Il programma che ho trovato è in Python ed è quindi eseguibile su qualunque sistema operativo, e a differenza dei programmini citati sopra, che richiedono il collegamento in USB e in alcuni casi l'installazione del driver originale Epson (chiudendo però lo Status Monitor), questo software agisce via rete, senza necessità di collegarsi fisicamente alla stampante.

È però necessario, pertanto, collegare la stampante alla rete col cavo (se possibile) o in Wi-Fi (come ho fatto io), e sapere l'IP che ha ottenuto, se non impostato staticamente sulla macchina stessa.

Per sapere tale IP, si potrebbe chiedere alla macchina, ma questa che ho non te lo dice sullo schermino, bensì te ne propone la stampa su carta... peccato che non possa (voglia) stampare..!

Quindi io ho risolto chiedendo al mio router l'elenco dei lease e lì in mezzo ho riconosciuto la stampante e letto l'IP assegnatole.

Questo dato servirà tra poco nel programma, da scaricare al seguente indirizzo:

https://github.com/Ircama/epson_print_conf/releases

Una volta scaricato il file zip va naturalmente scompattato (consiglio vivamente 7-Zip) e poi è necessario entrare nella directory che si viene a creare.

Nel caso di sistemi operativi Linux o MacOs, consiglio di lanciare il programma come segue: python ui.py Per Windows credo sia necessario scaricare Python se non tutto il sottosistema Linux, ma ci sono istruzioni più dettagliate nella pagina home del progetto:

https://github.com/Ircama/epson_print_conf

Dall'interfaccia del programma è possibile notare che il primo widget che si incontra è una drop down che elenca le stampanti che il programma conosce. Se lì in mezzo non c'è la Epson che si deve sbloccare, è possibile scaricare un altro file che contiene le “definizioni” di molti altri modelli, tra cui il mio. Questa la URL da cui scaricarlo:

https://codeberg.org/attachments/147f41a3-a6ea-45f6-8c2a-25bac4495a1d

Per salvarlo sarà sufficiente fare Salva dal menu File del browser (se visibile, se no premere ALT) o più semplicemente premere CTRL + S.

Una volta salvato, si potrà importare dal software dal suo menu File scegliendo la voce Import a XML printer configuration... e andando a puntare il file scaricato e salvato poco fa.

ScreenShot del software FLOSS

Dopo qualche istante di elaborazione, l'elenco dei modelli si allungherà a dismisura, portando ottime possibilità di incontrare il modello desiderato.

A questo punto va inserito l'indirizzo IP nella casella a fianco del modello e premuto uno dei tasti Get dei controlli successivi, per verificare che il software riesca effettivamente a parlare con la stampante e leggerne qualche dato.

Se queste interrogazioni vanno a buon fine, si può finalmente premere il fatidico tasto Reset Waste Ink Levels. Dopo qualche altro istante nella zona sottostante (Status) comparirà l'esito delle operazioni (in inglese) che esorterà a riavviare la stampante.

Incrociando le dita, sarà necessario premere il pulsante di spegnimento, attendere che la macchina si spenga e poi riaccenderla dopo qualche secondo.

Rullo di tamburi... se tutto è andato bene l'errore sarà sparito!

Riassumendo

  1. Collegare la stampante in rete e trovarne l'IP
  2. Scaricare il software da qui: https://github.com/Ircama/epson_print_conf/releases
  3. Lanciare il programma (dopo averlo scompattato ed entrando nella sua directory): python ui.py (o lanciare l'eseguibile se si sta usando Windows)
  4. Verificare se il modello desiderato è in elenco, altrimenti scaricare e salvare questo file: https://codeberg.org/attachments/147f41a3-a6ea-45f6-8c2a-25bac4495a1d
  5. Se necessario importare il file scaricato nel programma
  6. Selezionare il modello di stampante e inserirne l'IP nella casella accanto
  7. Premere uno dei tasti Get per vedere se riesce a parlarci e a leggere dati
  8. Premere il tasto Reset Waste Ink Levels
  9. Incrociare le dita e riavviare la stampante.

Voglio precisare che io ho fatto tutto da Linux, dove Python è presente “di serie”. Per Windows si può provare a scaricare una versione eseguibile (EXE) dalla pagina del progetto, che però non ho provato, oppure scaricare Python.

Spero di aver fatto cosa gradita per chi legge, alla prossima.

Ci saranno sicuramente dei siti per confrontare le tariffe di ricarica delle Auto Elettriche (EV), uno dei quali ho visto che ha anche una App, che però, a mio avviso, non è proprio chiarissima.

In ogni caso ho pensato questa volta di utilizzare questo blog per fare questo post che possa fare da riferimento ai miei concittadini o anche a chi fosse di passaggio.

La situazione a Terni è di circa una cinquantina di colonnine di ricarica, elencate di seguito senza un ordine particolare e a memoria.

  • la stragrande maggioranza 2 Type2 da 22kW SCAME di Acea / Umbria Energy;
  • UNA fast dello stesso operatore (non ricordo la marca della colonnina ma è abbastanza scadente perché spesso non funziona) con 1 Type2 da 40kW, 1 CCS2 DC da 50kW (mi pare) e 1 ChaDeMo sempre da 50kW, posizionata vicino ala Coop di Gabelletta;
  • alcune Enel (di proprietà alcune del Comune altre della Regione, in entrambi i casi NON MANUTENUTE) con 1 Type2 da 22kW (quando ci arriva(va)no) e 1 Type 3A 3,7kW. A memoria ne ricordo una alla stazione, 2 alla fine di via Garibaldi, una presso il parcheggio de “La Passeggiata”, una al parcheggio del belvedere inferiore della Cascata delle Marmore, una al parcheggio “Canottieri” di Piediluco;
  • UNA fast ABB (mi pare) di PlugSurfing con 1 Type2 da 40kW, 1 CCS2 DC da 50kW (mi pare) e 1 ChaDeMo sempre da 50kW, presso il rivenditore di auto accanto al Globo (a Maratta Bassa);
  • DUE UltraFast e una quick Atlante presso il parcheggio del supermercato MD;
  • UNA BeCharge con 2 Type2 da 22kW presso il parcheggio sotterraneo della IperCoop a via Gramsci;
  • DUE Quick GRATUITE con una presa Type2 da 11kW (di solito ne erogano 9) presso il parcheggio del supermercato Lidl (in via Romagna);
  • DUE Quick RePower presso il distributore IS e una presso Fashion Market, entrambi a Maratta Bassa;
  • alcune e-Motion con 2 Type2 da 22kW: presso ASM Terni a Maratta Bassa, al belvedere inferiore della Cascata delle Marmore e a Narni scalo, nel parcheggio dietro all'edicola.
  • Svariate BeCharge con 2 Type2 da 22kW tra Narni (scalo e città), San Gemini, Acquasparta e altri comuni in provincia, e una fast a Narni scalo (fast solo in DC come tutte le BeC!).

Spero di non averne dimenticate altre, ma conto di aggiornare il post di quando in quando, quanto meno per le tariffe, e con l'occasione potrei correggere o aggiungere punti di ricarica.

Venendo alle tariffe, al momento c'è una discreta giungla, com'è noto, ma viva la concorrenza!

Quello che vorrei fare qui è restringere il campo ai soli operatori applicabili alle colonnine che abbiamo in conca, quindi quelli che possano fare Roaming con:

ACEA (Umbria Energy); Atlante; BeCharge; Enel; PlugSurfing.

Oltre, ovviamente, ai rispettivi operatori delle colonnine (che vendono anche energia) vediamo quali altri operatori si possono usare in Conca, su quali colonnine e a quali prezzi e anche quali possono emettere fattura.

Ho configurato un UPS della Elsist su una macchina Linux e volevo condividere il lavoro svolto con potenziali altri utilizzatori di questi UPS.

Veniamo al dunque. Collegando tale UPS via usb e indagando otteniamo:

     lsusb

    Bus 008 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
    Bus 007 Device 002: ID 0001:0000 Fry's Electronics

Pertanto vediamo che Fry's Electronics è il nome con cui viene (non meglio) identificato l'UPS. A questo punto procediamo come segue:

    sudo apt-get install nut

    sudo ne /etc/nut/ups.conf

Aggiungiamo questa sezione in fondo al file:

    [myUPS]
        driver = nutdrv_qx
        desc   = "Elsist"
        port   = auto

Poi modifichiamo le regole di udev per assegnare il dispositivo a NUT:

    sudo nano /etc/udev/rules.d/90-nut-ups.rules

Aggiungendo queste righe:

    # /etc/udev/rules.d/90-nut-ups.rules
    ACTION=="add", \
    SUBSYSTEM=="usb", \
    ATTR{idVendor}=="0001", ATTR{idProduct}=="0000", \
    MODE="0660", GROUP="nut"

Quindi stacchiamo e riattacchiamo la USB dell'UPS.

Per fare un test possiamo fare:

    sudo lib/nut/nutdrv_qx -DD -a myUPS

Dovremmo ottenere molte righe riportanti i dati inviati dall'UPS. Se non vediamo errori possiamo procedere con i passi successivi.

Se invece, come è successo a me, dovesse darvi un errore di file inesistente in /var/run/nut, non dovrete far altro che creare tale directory come segue:

    sudo mkdir /var/run/nut

indi poi cambiargli gli owners in root:nut

    sudo chown root:nut /var/run/nut 

ed i permessi rw solo per user e group:

    sudo chmod o-r /var/run/nut

I passi successivi sono questi:

Modifichiamo il file /etc/nut/nut.conf

    sudo nano /etc/nut/nut.conf

Aggiungiamo questa riga

    MODE=standalone 

Quindi impostiamo l'utente per nut :

    sudo nano /etc/nut/upsd.users

Aggiungiamo quanto segue al file:

    [ups_admin]
    password = 12345678
    upsmon master

Configuriamo per il monitoraggio:

    sudo nano /etc/nut/upsmon.conf

Aggiungiamo al file:

    MONITOR myUPS@localhost 1 ups_admin 12345678

Infine lanciamo il servizio:

    sudo service nut-server start

E collaudiamo con:

    upsc myUPS@localhost

Poi, se ci piace avere un'interfaccia GUI installiamo nut-monitor:

    sudo apt-get install nut-monitor

Occhio che l'eseguibile si chiama NUT-Monitor (con i primi caratteri maiuscoli).

Manca qualche dato, a dir la verità, quindi potrebbe forse esserci qualche driver migliore di questo (qx), farò qualche prova (spero) presto e aggiornerò qui.

Spero di essere stato utile a qualcuno, oltre me stesso :)