Controller SATA Marvell e la rimozione sicura dei dischi inteni

Vivere in un mondo dominato dall'hot plug è una cosa positiva. Vorrei però avere il controllo su cosa è hot plug e su cosa non lo è. Ad esempio, in un semplice PC di casa, i dischi interni vorrei non fossero troppo hot plug. Il controller Marvell 91xx presente sulla mia piastra Asus però non è molto daccordo con il mio ragionamento. Per lui tutto è hot plug. Capita però che per rimuovere una pendrive usb in modo sicuro accidentalmente si sbagli e di rimuovano gli HD... Teoricamente Marvell avrebbe pensato a questo ed infatti in gestione dispositivi di Windows, alla voce Marvell 91xx SATA 6G Controller dovrebbe trovarsi una scheda "Policies" per disattivare il riconoscimento dei dischi interni come dischi rimovibili. L'opzione però è latitante in tutte le versioni dei driver che io abbia provato. Fortunatamente qualche buona anima pia in questo mondo si è messo a fare reverse engeneering ed ha scoperto la chiave del registra che disattiva questo comportamento. Ecco la chiave in questione: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E97B-E325-11CE-BFC1-08002BE10318}\0001 (oppure 0000 o 0002) The DriverPolicySet value is a string (REG_SZ) which can be set to: 0 - Disable all policies. 1 - Enable driver caching only. 2 - Enable safe removal

Continua a leggere >>>

Errore durante disinstallazione Kaspersky 6.0.3

Oggi in un vecchio PC Windows XP SP3 con antivirus Kaspersky version 6.0.3 mi sono in un problema abbastanza fastidioso. Nemmeno utilizzando il removal tool Kaspersky la disinstallazione va a buon fine. Un eventuale reinstallazione o riparazione provoca un errore di "la memoria non poteva essere written". Fortunatamente si tratta di un errore conosciuto dalla community Kaspersky, più precisamente è un problema che affligge la versione 6, e in maniera più specifica la versione 6.0.3. Per la disinstallazione basta utilizzare il tool: KisKav6Remove

Continua a leggere >>>

Tether USB su Mikrotik con Nexus 5

I Mikrotik sono router estremamente elastici, vederli però effettuare un tether USB LTE con il mio Nexus 5 mi ha sorpreso. La configurazione è banale e dovrebbe andare anche con altri telefoni Android. Per prima cosa bisogna configurare il telefono con lo storage in modalità MTP o PTP. Nel caso del Nexus se una di queste due impostazioni non è flaggata non vi farà attivare la modalità tethering USB. Colleghiamo il cavo USB - microUSB al Mikrotik e attiviamo il tethering. In Winbox comparirà una nuova interfaccia (lte1). Nel mio caso non è possibile effettuare uno scan o ottenere info sull'interfaccia. Magari con altri telefoni con modem diversi queste due funzionalità potrebbero andare. Per poter utilizzare l'interfaccia basterà attivare un DHCP client sull'interfaccia LTE. Nel giro di un secondo vi verrà assegnato un IP. A seconda del caso potete decidere di aggiungere una route automaticamente con una specifica distance, oppure non crearla e fare tutto manualmente. L'ultima cosa da fare, assolutamente necessaria per poter navigare è aggiungere una regola di NAT masquerade sul traffico in uscita dall'interfaccia lte1. La configurazione di base è servita. 🙂

Continua a leggere >>>

Rimuovere account SIP da un Nexus phone

Pochi giorni fa ho aggiunto un account SIP sul mio Nexus 5 per poi accorgermi che non vi è nessun modo di eliminarlo dall'interfaccia. Questo problema si presenta con Android 4.4, probabilmente su tutta la lineup di prodotti Nexus (non confermato). Il tutto è causato da un piccolo bug di visualizzazione che non rende visibile i 3 puntini del tasto menù nella modalità portrait. Se avete un tasto menù fisico questo non è un problema, ma i Nexus non li hanno... Mettendo in modalità landscape però è possibile eliminare l'account.

Continua a leggere >>>

Scaricare un certificato non trusted di un sito web

Può capitare di doverci imbattere in siti che mostrano un certificato self-signed e quindi non verificato da un autorità. Solitamente è una pessima mossa aggiungere certificati sconosciuti nella radice dei certificati trustati. Tuttavia se il servizio che espone questo certificato è di nostra "giurisdizione" possiamo anche fare uno strappo alla regola. Sempre meglio avere una connessione https con certificato self-signed che viaggiare su una connessione non protetta. =) Possiamo reperire il certificato semplicemente dando un comando OpenSSL. I binari per Windows sono disponibili a questo indirizzo, mentre su ambienti Linux è quasi onnipresente. Se avete delle installazioni di OpenVPN il comando openssl.exe sarà già disponibile. Su una macchina Linux potete usare questo comando: openssl s_client -showcerts -connect server.it:443 </dev/null 2>/dev/null | openssl x509 -outform PEM>mycert.pem Su una macchina Windows invece possiamo usare: openssl s_client -connect server.it:443 > mycert.pem Una volta ottenuto il file ci basterà editarlo con un qualsiasi editor di testo e lasciare solo la parte compresa tra BEGIN CERTIFICATE e END CERTIFICATE. Ora importiamo questo file nel gestore dei certificati di Windows (Win + R -> certmgr.msc) sotto autorità di certificazione radice attendibili. Mi raccomando state attenti a fare questa operazione, non è il massimo importare certificato a

Continua a leggere >>>

Bloccare molteplici .exe nel firewall di Windows

Se avete bisogno di bloccare sul firewall di Windows molteplici file .exe e non volete ripetere più e più volte la procedura per ogni singolo eseguibile questo semplice script batch farà al caso vostro. Salvate lo script sottostante con estensione .bat. Posizionatelo nella cartella che contiene l'elenco dei file .exe da bloccare e richiamatelo tramite prompt dei comandi (Win + R -> cmd) in questo modo: add-fw-rules.bat "rule-name" @echo off REM BATCH FILE CREATED BY CHARLES DE HAVILLAND 20/02/2012 cls If "%1"=="" GOTO :norulename SET RULENAME=%1 ECHO Create in/out firewall rules for all *.exe files with the rulename of "%RULENAME%" ? ECHO. ECHO. pause Echo. FOR /r %%G in ("*.exe") Do (@echo %%G NETSH advfirewall firewall add rule name="%RULENAME%-%%~nxG" dir=in program="%%G" action="block" enable="yes") FOR /r %%G in ("*.exe") Do (@echo %%G NETSH advfirewall firewall add rule name="%RULENAME%-%%~nxG" dir=out program="%%G" action="block" enable="yes") Echo. Echo done. Echo. GOTO :Finish :norulename Echo Error! - You did not specify a Rulename type - Addfwrs "Rulename" Echo. :Finish Echo Batch ended...

Continua a leggere >>>

Risoluzione problema double click su mouse con switch OMRON

Pochi giorni fa ho avuto a che fare con il problema per eccellenza dei mouse gaming: il double click. Semplicemente questo problema fa si che il sistema operativo interpreti un doppio click quando si effettua la singola pressione. Non è un problema software, bensì dello switch sottostante il pulsante del mouse. Buona parte dei mouse gaming usa switch fabbricati dalla OMRON. Esistono diversi modelli ma il principio di base è più o meno lo stesso. Lo switch si presenta come un piccolo involucro di plastica sul quale è presente una una piccola indentazione che alla pressione attiva lo switch sottostante. Una volta aperto l'involucro, servendosi di un cacciavite sottile con testa piana, si può vedere l'effettivo meccanismo che fa funzionare lo switch. Il tutto è basato su una sottile lamina metallica conduttiva. E' necessario riporre la massima attenzione a questo punto. Il meccanismo è abbastanza fragile e la scala ridotta rende abbastanza difficoltoso metterci le mani. La lamina di contatto è rimovibile e può essere piegata nel caso perso la sua forma originale con il tempo. Rimettere tale lamina nell'apposita sede può essere un procedimento abbastanza snervante, proprio per via della dimensione ridotta dei componenti. Nel mio caso ho impiegato

Continua a leggere >>>

Rimozione driver di una stampante in Windows

Seppure non sia un fan, la stampa resta una delle operazioni più comuni. Capita però che installando una nuova stampante i driver di quella precedente restino installati nel sistema. Windows mette a disposizione un'ottima utility per la gestione delle stampanti e relativi driver. Per accedervi basta digitare printmanagement.msc da Esegui (Win + R). Nella sezione "Tutti i driver" è disponibile l'elenco di tutti i driver installati nel sistema. Ci basterà selezionare il driver che vogliamo "killare" e selezionare "Rimuovi pacchetto driver...", au revoir. 😉

Continua a leggere >>>

Automatizzare il backup su Ghost

Dopo lo script di auto aggiornamento di Ghost (finchè questa funzionalità non verrà introdotta nel core) ecco a voi una guida per automatizzare il backup dei contenuti di un'installazione Ghost. Colgo l'occasione soprattutto per far un po' di "pubblicità" a questi due blog, che trattano al 100% il mondo Ghost. AllAboutGhost HowToInstallGhost

Continua a leggere >>>

Script di aggiornamento per Ghost su CentOS

Ghost è una piattaforma di blogging che mi ha preso veramente molto. Potete trovare tutto quello che penso su questo prodotto cercando il tag Ghost. Personalmente utilizzo un'installazione self-hosted di Ghost sotto VPS DigitalOcean ed ovviamente le operazioni di manutenzione e aggiornamento sono delegate all'utente. L'operazione di aggiornamento di Ghost non è complicata, e porta via in generale 10-15 minuti per ogni nuova release. Da bravo sistemista però bisogna cercare di automatizzare il più possibile tutte le operazioni ripetitive. Uno dei primi problemi da risolvere in un'installazione self-hosted di Ghost è il problema dell'autostart. Quale metodo utilizzare per far in modo che node avvii l'applicazione. Ce ne sono tanti, io personalmente ho preferito utilizzare uno startup scrip. Lo ho trovato cercando su Google "startup script for ghost". Non sarà una soluzione molto elegante ma funziona! Lo script va inserito nella cartella /etc/init: #/etc/init/ghost.conf description "blog.virho.it" author "Andrea Giacomin" start on runlevel [2345] stop on shutdown respawn script export HOME="/root" echo $$ > /var/run/ghost.pid cd exec /usr/bin/node /usr/bin/npm start --production >> /dev/null 2>&1 #for logging var/log/testjs.log 2>&1 end script pre-start script # Date format same as (new Date()).toISOString() for consistency #echo "[`date -u +%Y-%m-%dT%T.%3NZ`] (sys) Starting" >> /var/log/testjs.log end script pre-stop

Continua a leggere >>>