Debian 8 Jessie RAID 1 software: boot di un sistema con RAID 1 compromesso.

Il riavvio di un sistema Debian 8 con raid software compromesso non funziona. La causa è in uno script che viene eseguito al boot da initramfs che in caso di errori nel raid non provvede a risolvere il problema ma si limita ad un “failed to assemble all arrays”. Si risolve tutto con questa patch:

cd /etc/initramfs-tools/scripts/local-top
cp /usr/share/initramfs-tools/scripts/local-top/mdadm .
patch --verbose --ignore-whitespace <<'EndOfPatch'
--- mdadm
+++ mdadm
@@ -76,7 +76,15 @@
   if $MDADM --assemble --scan --run --auto=yes${extra_args:+ $extra_args}; then
     verbose && log_success_msg "assembled all arrays."
   else
-    log_failure_msg "failed to assemble all arrays."
+    log_warning_msg "failed to assemble all arrays...attempting individual starts"
+    for dev in $(cat /proc/mdstat | grep md | cut -d ' ' -f 1); do
+      log_begin_msg "attempting mdadm --run $dev"
+      if $MDADM --run $dev; then
+        verbose && log_success_msg "started $dev"
+      else
+        log_failure_msg "failed to start $dev"
+      fi
+    done
   fi
   verbose && log_end_msg

EndOfPatch
update-initramfs -u

La fonte della soluzione è questa.

Pubblicato in Senza categoria | Lascia un commento

Debian 8 Jessie: disabilitare l’ avvio automatico dei gnome.

Per disabilitare l’ avvio automatico di gnome, o di qualsiasi desktop, bisogna disabilitare il login grafico gdm3. Grazie a (per colpa di) Systemd il comando da lanciare sarà:

# systemctl set-default multi-user.target

Per il momento ignoro il significato di tale comando, so solo che funziona. Prima o poi riuscirò a capirci qualcosa di questo Systemd perchè vuoi o non vuoi questo sarà lo standard.

Pubblicato in Senza categoria | Lascia un commento

Raspbian su Banana PI: impostare la tastiera italiana.

Aprire il file /home/bananapi/.profile e aggiungere la riga:

setxkbmap it

Pubblicato in Senza categoria | Lascia un commento

ESP8266 IoT again #2: firmware alternativo NodeMCU ovvero interprete LUA.

Come già detto il modulo wifi ESP8266 è molto di più di un modulo wifi in quanto è un chip che contiene al suo interno un microcontrollore e un modulo wifi, tutto in uno. Il microcontrollore insieme al suo firmware, è il ponte tra il modulo e il resto della circuiteria. Di default, l’ ESP8266 viene venduto con un firmware che permette la gestione del wifi e dei socket mediante un set di comandi AT inviati al modulo via seriale. A queste condizioni, serve un altro microcontrollore per gestire il modulo con un firmware che gestisca i comandi AT. Questo approccio, seppur funzionante, pone appunto il limite di dover utilizzare un altro microcontrollore. Fortunatamente la programmazione del microcontrollore interno all’ESP8266 è diventata semplice grazie al firmware alternativo open source NodeMCU. Grazie a questo firmware, il modulo ESP8266 diventa una sorta di Arduino. Quelli che in arduino chiamiamo sketch, in NodeMCU sono degli script in linguaggio LUA. Chi è già pratico di programmazione non avrà problemi ad apprendere questo linguaggio. Da notare che con il firmware NodeMCU, si dispone immediatamente di un interprete LUA semplicemente collegando il modulo via seriale: un prompt del linguaggio LUA proprio alla stregua di Python, PHP, ecc. I punti necessari per poter iniziare a sviluppare progetti con questo approccio sono: inserire il nuovo firmware nel modulo ESP, utilizzare l’IDE ESPlorer. La procedura per flashiare l’ ESP8266 con windows è spiegata qui mentre per linux occore utilizzare esptool, tutto chiarito qui. Credo che NodeMCU sia la soluzione se non definitiva ma al momento migliore per usare al massimo i moduli ESP8266.

Pubblicato in Senza categoria | Lascia un commento

ESP8266 IoT again #1: modifica del firmware originale.

L’economico e microscopico modulo wifi ESP8266 dispone, di fatto, di un microcontroller e di un modulo wifi. Il firmware contenuto nel micro è il software che permette di interfacciarsi al modulo wifi via seriale, è quindi una sorta di ponte. Di default, il firmware mette a disposizione un set di comandi AT con la quale è possibile stabilire una connessione ad un router, aprire connessioni TCP o UDP sia client che server, ecc. Il firmware di default è molto criticato, semplificando esiste di meglio. Fortunatamente la comunita è molto attiva e diversi firmware alternativi stanno venendo fuori. Per aggiornare il firmware ci servirà un interfaccia hardware molto semplice, spiegata abbondantemente qui. Per quanto riguarda il firmware modificato, consiglio di dare un occhiata a questo.

Pubblicato in Senza categoria | Lascia un commento

Considerazioni estemporanee sull’ Internet of Things.

Internet delle cose, si ma cosa? Nel senso, cosa creare? Parrebbe che il limite sia solo la fantasia, credo che il limite sia l’ effettiva utilità. Girovagando nel web si trova qualche implementazione che però per la vita di tutti i giorni non hanno un effettiva utilità. L’invenzione effettivamente utile è quella che genera una comodità in più. Ho trovato ad esempio un sensore che ti ricorda di aver lasciato su la tavoletta del wc, nella vita di tutti i giorni ci sono già troppe rotture, anche la tavoletta del cesso, e no! Ok funziona ma è inapplicabile. I vari sensori e sensorini, attuatori ecc, hanno bisogno di energia per funzionare: mi sono appena ricordato che devo cambiare la batteria del sensore della tavoletta del wc. Quindi il problema energia. Due giorni fa giunge la notizia che i finlandesi abbiano inventato una nuova tecnologia per stampare pannelli solari su un supporto di 0,2mm quindi già si pensa a una parta da parati che genera energia, sarà questo il futuro?

Pubblicato in Senza categoria | Lascia un commento

Modulo wifi ESP8266 IoT programmazione stand-alone (senza arduino)

L’ ESP8266 è un modulo wifi dalle dimensioni molto compatte che permette di aggiungere caratteristiche di connettività wifi ai progetti arduino based. La logica a 3,3v si interfaccia con una seriale. E’ possibile interagire mediante un set di comandi AT: impostazione SSID e password di rete, apertura è gestione di un socket TCP o UDP (lo stack TCP è incluso). Poichè l’ ESP8266 è dotato di CPU e di porte GPIO è possible interfacciarsi a sensori è attuatori senza disporre di arduino nel mezzo. E’ possiblie utilizzando l’ SDK riscrivere il firmware per gestire l’intera applicazione. La programmazione avviene in C ed esiste un API per gestire wifi, timer, GPIO ecc. Lo sviluppo è più complesso rispetto ad arduino. Questà è l’installazione dell’ SDKQuesto è il primo programma da comprendere è semplicemente un LED che lampeggia su una GPIO. Questo è un progetto più complesso che permette di capire la gestione del wifi e dei socket. Il tutto è relativamente complesso, almeno inizialmente, c’è da sbatterci la testa.

Pubblicato in Senza categoria | 1 commento