Questo e' un tentativo di usare Intel Edison per creare un cloud file server.
Avevo iniziato con Apache, PHP e OwnCloud ma quest'ultimo e' particolarmente esigente in termini di estensioni di PHP e non avevo voglia di ricompilare tutto da zero. Per questo motivo sono passato a Pydio e Lighttpd per motivi di leggerezza
Installare i pacchetti per Pydio in Yocto e' piuttosto banale perche' basta digitare i seguenti comandi
opkg install lighttpd
opkg install lighttpd-module-rewrite
opkg install lighttpd-module-fastcgi
opkg install php
la home del web server si trovera' in /www/pages/ mentre il file di configurazione e' /etc/lighttpd.conf
A questo punto si nota che se si crea un file .php e lo si interroga via web, il server risponde sempre errore 403 (Forbidden). Questo perche' Lighttpd non e' stato istruito su come interpretare i file .PHP. Si vede quindi editare il file di configurazione (in giallo le modifiche)
-----------------------
# lighttpd configuration file
#
# use it as a base for lighttpd 1.0.0 and above
#
# $Id: lighttpd.conf,v 1.7 2004/11/03 22:26:05 weigon Exp $
############ Options you really have to take care of ####################
## modules to load
# at least mod_access and mod_accesslog should be loaded
# all other module should only be loaded if really neccesary
# - saves some time
# - saves memory
server.modules = (
# "mod_rewrite",
# "mod_redirect",
# "mod_alias",
"mod_access",
# "mod_cml",
# "mod_trigger_b4_dl",
# "mod_auth",
# "mod_status",
# "mod_setenv",
"mod_fastcgi",
# "mod_proxy",
# "mod_simple_vhost",
# "mod_evhost",
# "mod_userdir",
# "mod_cgi",
# "mod_compress",
# "mod_ssi",
# "mod_usertrack",
# "mod_expire",
# "mod_secdownload",
# "mod_rrdtool",
# "mod_webdav",
"mod_accesslog" )
## a static document-root, for virtual-hosting take look at the
## server.virtual-* options
server.document-root = "/www/pages/"
## where to send error-messages to
server.errorlog = "/www/logs/lighttpd.error.log"
# files to check for if .../ is requested
index-file.names = ( "index.php", "index.html",
"index.htm", "default.htm" )
## set the event-handler (read the performance section in the manual)
# server.event-handler = "freebsd-kqueue" # needed on OS X
# mimetype mapping
mimetype.assign = (
".pdf" => "application/pdf",
".sig" => "application/pgp-signature",
".spl" => "application/futuresplash",
".class" => "application/octet-stream",
".ps" => "application/postscript",
".torrent" => "application/x-bittorrent",
".dvi" => "application/x-dvi",
".gz" => "application/x-gzip",
".pac" => "application/x-ns-proxy-autoconfig",
".swf" => "application/x-shockwave-flash",
".tar.gz" => "application/x-tgz",
".tgz" => "application/x-tgz",
".tar" => "application/x-tar",
".zip" => "application/zip",
".mp3" => "audio/mpeg",
".m3u" => "audio/x-mpegurl",
".wma" => "audio/x-ms-wma",
".wax" => "audio/x-ms-wax",
".ogg" => "application/ogg",
".wav" => "audio/x-wav",
".gif" => "image/gif",
".jpg" => "image/jpeg",
".jpeg" => "image/jpeg",
".png" => "image/png",
".xbm" => "image/x-xbitmap",
".xpm" => "image/x-xpixmap",
".xwd" => "image/x-xwindowdump",
".css" => "text/css",
".html" => "text/html",
".htm" => "text/html",
".js" => "text/javascript",
".asc" => "text/plain",
".c" => "text/plain",
".cpp" => "text/plain",
".log" => "text/plain",
".conf" => "text/plain",
".text" => "text/plain",
".txt" => "text/plain",
".dtd" => "text/xml",
".xml" => "text/xml",
".mpeg" => "video/mpeg",
".mpg" => "video/mpeg",
".mov" => "video/quicktime",
".qt" => "video/quicktime",
".avi" => "video/x-msvideo",
".asf" => "video/x-ms-asf",
".asx" => "video/x-ms-asf",
".wmv" => "video/x-ms-wmv",
".bz2" => "application/x-bzip",
".tbz" => "application/x-bzip-compressed-tar",
".tar.bz2" => "application/x-bzip-compressed-tar"
)
# Use the "Content-Type" extended attribute to obtain mime type if possible
#mimetype.use-xattr = "enable"
## send a different Server: header
## be nice and keep it at lighttpd
# server.tag = "lighttpd"
#### accesslog module
accesslog.filename = "/www/logs/access.log"
debug.log-request-handling = "enable"
## deny access the file-extensions
#
# ~ is for backupfiles from vi, emacs, joe, ...
# .inc is often used for code includes which should in general not be part
# of the document-root
url.access-deny = ( "~", ".inc" )
$HTTP["url"] =~ "\.pdf$" {
server.range-requests = "disable"
}
##
# which extensions should not be handle via static-file transfer
#
# .php, .pl, .fcgi are most often handled by mod_fastcgi or mod_cgi
static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )
######### Options that are good to be but not neccesary to be changed #######
## bind to port (default: 80)
#server.port = 81
## bind to localhost (default: all interfaces)
#server.bind = "grisu.home.kneschke.de"
## error-handler for status 404
#server.error-handler-404 = "/error-handler.html"
#server.error-handler-404 = "/error-handler.php"
## to help the rc.scripts
#server.pid-file = "/var/run/lighttpd.pid"
###### virtual hosts
##
## If you want name-based virtual hosting add the next three settings and load
## mod_simple_vhost
##
## document-root =
## virtual-server-root + virtual-server-default-host + virtual-server-docroot
## or
## virtual-server-root + http-host + virtual-server-docroot
##
#simple-vhost.server-root = "/home/weigon/wwwroot/servers/"
#simple-vhost.default-host = "grisu.home.kneschke.de"
#simple-vhost.document-root = "/pages/"
##
## Format: <errorfile-prefix><status-code>.html
## -> ..../status-404.html for 'File not found'
#server.errorfile-prefix = "/home/weigon/projects/lighttpd/doc/status-"
## virtual directory listings
#dir-listing.activate = "enable"
## enable debugging
#debug.log-request-header = "enable"
#debug.log-response-header = "enable"
#debug.log-request-handling = "enable"
#debug.log-file-not-found = "enable"
### only root can use these options
#
# chroot() to directory (default: no chroot() )
#server.chroot = "/"
## change uid to <uid> (default: don't care)
#server.username = "wwwrun"
## change uid to <uid> (default: don't care)
#server.groupname = "wwwrun"
#### compress module
#compress.cache-dir = "/tmp/lighttpd/cache/compress/"
#compress.filetype = ("text/plain", "text/html")
#### proxy module
## read proxy.txt for more info
#proxy.server = ( ".php" =>
# ( "localhost" =>
# (
# "host" => "192.168.0.101",
# "port" => 80
# )
# )
# )
#### fastcgi module
## read fastcgi.txt for more info
## for PHP don't forget to set cgi.fix_pathinfo = 1 in the php.ini
fastcgi.server = ( ".php" =>
( "localhost" =>
(
"socket" => "/tmp/php-fastcgi.socket",
"bin-path" => "/usr/bin/php-cgi"
)
)
)
#### CGI module
#cgi.assign = ( ".pl" => "/usr/bin/perl",
# ".cgi" => "/usr/bin/perl" )
#
#### SSL engine
#ssl.engine = "enable"
#ssl.pemfile = "server.pem"
#### status module
#status.status-url = "/server-status"
#status.config-url = "/server-config"
#### auth module
## read authentication.txt for more info
#auth.backend = "plain"
#auth.backend.plain.userfile = "lighttpd.user"
#auth.backend.plain.groupfile = "lighttpd.group"
#auth.backend.ldap.hostname = "localhost"
#auth.backend.ldap.base-dn = "dc=my-domain,dc=com"
#auth.backend.ldap.filter = "(uid=$)"
#auth.require = ( "/server-status" =>
# (
# "method" => "digest",
# "realm" => "download archiv",
# "require" => "user=jan"
# ),
# "/server-config" =>
# (
# "method" => "digest",
# "realm" => "download archiv",
# "require" => "valid-user"
# )
# )
#### url handling modules (rewrite, redirect, access)
#url.rewrite = ( "^/$" => "/server-status" )
#url.redirect = ( "^/wishlist/(.+)" => "http://www.123.org/$1" )
#### both rewrite/redirect support back reference to regex conditional using %n
#$HTTP["host"] =~ "^www\.(.*)" {
# url.redirect = ( "^/(.*)" => "http://%1/$1" )
#}
#
# define a pattern for the host url finding
# %% => % sign
# %0 => domain name + tld
# %1 => tld
# %2 => domain name without tld
# %3 => subdomain 1 name
# %4 => subdomain 2 name
#
#evhost.path-pattern = "/home/storage/dev/www/%3/htdocs/"
#### expire module
#expire.url = ( "/buggy/" => "access 2 hours", "/asdhas/" => "access plus 1 seconds 2 minutes")
#### ssi
#ssi.extension = ( ".shtml" )
#### rrdtool
#rrdtool.binary = "/usr/bin/rrdtool"
#rrdtool.db-name = "/var/www/lighttpd.rrd"
#### setenv
#setenv.add-request-header = ( "TRAV_ENV" => "mysql://user@host/db" )
#setenv.add-response-header = ( "X-Secret-Message" => "42" )
## for mod_trigger_b4_dl
# trigger-before-download.gdbm-filename = "/home/weigon/testbase/trigger.db"
# trigger-before-download.memcache-hosts = ( "127.0.0.1:11211" )
# trigger-before-download.trigger-url = "^/trigger/"
# trigger-before-download.download-url = "^/download/"
# trigger-before-download.deny-url = "http://127.0.0.1/index.html"
# trigger-before-download.trigger-timeout = 10
## for mod_cml
## don't forget to add index.cml to server.indexfiles
# cml.extension = ".cml"
# cml.memcache-hosts = ( "127.0.0.1:11211" )
#### variable usage:
## variable name without "." is auto prefixed by "var." and becomes "var.bar"
#bar = 1
#var.mystring = "foo"
## integer add
#bar += 1
## string concat, with integer cast as string, result: "www.foo1.com"
#server.name = "www." + mystring + var.bar + ".com"
## array merge
#index-file.names = (foo + ".php") + index-file.names
#index-file.names += (foo + ".php")
#### include
#include /etc/lighttpd/lighttpd-inc.conf
## same as above if you run: "lighttpd -f /etc/lighttpd/lighttpd.conf"
#include "lighttpd-inc.conf"
#### include_shell
#include_shell "echo var.a=1"
## the above is same as:
#var.a=1
# include other config file fragments from lighttpd.d subdir
include_shell "find /etc/lighttpd.d -maxdepth 1 -name '*.conf' -exec cat {} \;"
----------------
A questo punto e' tutto pronto per Pydio.
Alla fine la macchina funziona ma non e' molto veloce ed inoltre non sono ancora configurate le API di Pydio per cui non e' possibile utilizzare i client desktop per sincronizzare i file
lunedì 27 marzo 2017
domenica 26 marzo 2017
venerdì 24 marzo 2017
mercoledì 22 marzo 2017
Retrocomputing estremo su Olivetti Programma 101
Retrocompunting "estremo" nel senso che piu' indietro di cosi' nel tempo si deve tirare fuori il regolo calcolatore.....
La prima volta che ho sentito parlare della Programma 101 e' stato leggendo un libro sulle missioni lunari Apollo in cui si parlava di un calcolatore prodotto da Olivetti in grado di calcolare le traiettorie e le orbite..un calcolatore delle dimensioni di una macchina da scrivere nell'epoca dei calcolatori grandi come stanze.
In molti siti viene definito come il primo personal computer ma forse la definizione piu' giusta e' la prima calcolatrice programmabile che si puo' tenere sul tavolo. Qualcuno ha definito che la programmazione e' simile all'assembler ed in effetti tutto si basa sulla manipolazione di registri
Ho provato a scrivere un paio di programmi ovvero il calcolo del teorema di Pitagora e la successione di Fibonacci utilizzando l'emulatore Unicas
Prima di avviare il programma viene mostrato il listato del programma
Teorema di Pitagora
Una volta avviato il programma si devono inserire i due argomenti e cosi' si ottiene il risultato.
Nel video sono stati calcolate due terne pitagoriche 3,4,5 e 5,12,13
Serie di Fibonacci
Il programma gira fino a quando la macchina va in overflow (intorno al 97° numero della successivo di Fibonacci)
PS: ops...nel test di Fibonacci ho lasciato il selettore delle posizioni decimali a 2 limitando quindi il numero di risultati calcolabili
La prima volta che ho sentito parlare della Programma 101 e' stato leggendo un libro sulle missioni lunari Apollo in cui si parlava di un calcolatore prodotto da Olivetti in grado di calcolare le traiettorie e le orbite..un calcolatore delle dimensioni di una macchina da scrivere nell'epoca dei calcolatori grandi come stanze.
In molti siti viene definito come il primo personal computer ma forse la definizione piu' giusta e' la prima calcolatrice programmabile che si puo' tenere sul tavolo. Qualcuno ha definito che la programmazione e' simile all'assembler ed in effetti tutto si basa sulla manipolazione di registri
Ho provato a scrivere un paio di programmi ovvero il calcolo del teorema di Pitagora e la successione di Fibonacci utilizzando l'emulatore Unicas
Prima di avviare il programma viene mostrato il listato del programma
Teorema di Pitagora
Una volta avviato il programma si devono inserire i due argomenti e cosi' si ottiene il risultato.
Nel video sono stati calcolate due terne pitagoriche 3,4,5 e 5,12,13
Serie di Fibonacci
Il programma gira fino a quando la macchina va in overflow (intorno al 97° numero della successivo di Fibonacci)
PS: ops...nel test di Fibonacci ho lasciato il selettore delle posizioni decimali a 2 limitando quindi il numero di risultati calcolabili
lunedì 20 marzo 2017
SSD su MacBook A1278
Mi sono stufato di aspettare il boot del mio Mac ed ho fatto la migrazione verso un disco SSD (passando da un disco rotante da 1 Tera ad un SSD da 250 Gb)
Si inizia con la parte hardware
Il disco e' fissato da due barrette di plastica. Basta smontare 2 viti della barrette piu' lontana dal bordo per rimuovere il disco (attenzione al flat cable che e' nascosto sotto il disco)
Prima di montare il nuovo disco si devono prendere le 4 viti dal bordo. Non sono riuscito a capire quale e' il tipo della testa della vite ma con una torx di piccolo diametro si puo' togliere
Il disco sostituto e' un Samsung 850 EVO....non un entry level...non un top di gamma
Si rimonta tutto e la parte hardaware e' finita.
In precedenza allo smontaggio e' bene crearsi un chiavetta USB di boot con il sistema operativo come indicato dalle indicazioni riportate a questo link
In estrema sintesi si scarica l'installer da Apple Store e poi si lancia il comando (per Sierra)
sudo /Applications/Install\ macOS\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/MyVolume --applicationpath /Applications/Install\ macOS\ Sierra.app
Al termine della copia si riavvia il computer con il tasto Shift premuto e si seleziona la chiavetta USB come dispositivo di boot
Al primo riavvio e' necessario avviare il trim da consolle
sudo trimforce enable
Adesso, essndo partiti da un disco di un Tera ed avendo un disco da 250 Gb, e' possibile ripristinare il tutto da Time Machine. Si puo' comunque connettere il disco Time Machine, montarlo come una normale unita' esterna e selezionare Latest per copuare i file
In definitiva una operazione abbastanza indolore risolta nel giro di un pomeriggio
Si inizia con la parte hardware
Il disco e' fissato da due barrette di plastica. Basta smontare 2 viti della barrette piu' lontana dal bordo per rimuovere il disco (attenzione al flat cable che e' nascosto sotto il disco)
Prima di montare il nuovo disco si devono prendere le 4 viti dal bordo. Non sono riuscito a capire quale e' il tipo della testa della vite ma con una torx di piccolo diametro si puo' togliere
Il disco sostituto e' un Samsung 850 EVO....non un entry level...non un top di gamma
Si rimonta tutto e la parte hardaware e' finita.
In precedenza allo smontaggio e' bene crearsi un chiavetta USB di boot con il sistema operativo come indicato dalle indicazioni riportate a questo link
In estrema sintesi si scarica l'installer da Apple Store e poi si lancia il comando (per Sierra)
sudo /Applications/Install\ macOS\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/MyVolume --applicationpath /Applications/Install\ macOS\ Sierra.app
Al termine della copia si riavvia il computer con il tasto Shift premuto e si seleziona la chiavetta USB come dispositivo di boot
Al primo riavvio e' necessario avviare il trim da consolle
sudo trimforce enable
Adesso, essndo partiti da un disco di un Tera ed avendo un disco da 250 Gb, e' possibile ripristinare il tutto da Time Machine. Si puo' comunque connettere il disco Time Machine, montarlo come una normale unita' esterna e selezionare Latest per copuare i file
In definitiva una operazione abbastanza indolore risolta nel giro di un pomeriggio
Riparazione Technics SL-BD21
Avendo un po' di tempo, ho ritirato fuori il vecchio progetto di convertire in digitale qualche LP in vinile che e' disponibile in altro formato.
Per questo motivo ho collegato la mia vecchia piastra giradischi Techinics SL-BD21(vecchia nel senso che e' stata comprata nel 1985.....) scoprendo che la trasmissione a nastro era oramai distrutta
La cinghia di trasmissione e' soltanto un elastico e, non pensando di ritrovarla nuova, ho provato a tagliare a misura un comune elastico. Esperimento fallito. Con gli elastici e' impossibile e' quasi impossibile ottenere la giusta tensione e quindi il disco suona od al di sotto di 33 rpm oppure procede a strappi. Oramai quasi rassegnato a comprare una nuova piastra ho trovato su Amazon il ricambio della cinghia
Sostituire la cinghia e' lavoro di 5 minuti e senza attrezzi. Basta prendere la piastra ruotante, sollevarla e ribaltarla. A questo punto si mette la cinghia sulla circonferenza intera
Si rimette il tutto a posto e si fa coincidere la finestrella con il pignoncino della trazione. Poi con molta cautela si tira la cinghia e la si fa scorrere sull'esterno del pignone.
Per questo motivo ho collegato la mia vecchia piastra giradischi Techinics SL-BD21(vecchia nel senso che e' stata comprata nel 1985.....) scoprendo che la trasmissione a nastro era oramai distrutta
La cinghia di trasmissione e' soltanto un elastico e, non pensando di ritrovarla nuova, ho provato a tagliare a misura un comune elastico. Esperimento fallito. Con gli elastici e' impossibile e' quasi impossibile ottenere la giusta tensione e quindi il disco suona od al di sotto di 33 rpm oppure procede a strappi. Oramai quasi rassegnato a comprare una nuova piastra ho trovato su Amazon il ricambio della cinghia
In verde l'elastico di prova, in nero la cinghia di trasmissione di fabbrica |
Sostituire la cinghia e' lavoro di 5 minuti e senza attrezzi. Basta prendere la piastra ruotante, sollevarla e ribaltarla. A questo punto si mette la cinghia sulla circonferenza intera
giovedì 16 marzo 2017
mercoledì 15 marzo 2017
Video per lezione di geologia a bambini di scuola elementare
Alla scuola non e' permesso l'utilizzo dell'acido cloridrico. Per questo motivo ho fatto questo video
Mini web server con Intel Edison
Una piccola guida per installare un web server con PHP su Intel Edison
Si parte connettendo la Edison alla WiFi interagendo prima con la connessione seriale via USB
configure_edison --wifi
si impostano poi il nome e la password
configure_edison --password
configure_edison --name
Per prima cosa deve essere evidenziato che nell'installazione standard di Yocto e' presente un web server basato su Node.JS. (si puo' verificare con netstat -tnpl)
Si deve quindi disattivare il web server su porta 80 (che peraltro non funziona) modificando il file /usr/lib/edison_config_tools/edison-config-server.js
e commentando la riga
http.createServer(requestHandler).listen(80)
a questo punto per installare Apache si modificano i repository con le istruzioni a questo link
/var/apache2/logs
opkg install ntpdate
domain lan
Si parte connettendo la Edison alla WiFi interagendo prima con la connessione seriale via USB
configure_edison --wifi
si impostano poi il nome e la password
configure_edison --password
configure_edison --name
Per prima cosa deve essere evidenziato che nell'installazione standard di Yocto e' presente un web server basato su Node.JS. (si puo' verificare con netstat -tnpl)
Si deve quindi disattivare il web server su porta 80 (che peraltro non funziona) modificando il file /usr/lib/edison_config_tools/edison-config-server.js
e commentando la riga
http.createServer(requestHandler).listen(80)
http://alextgalileo.altervista.org/edison-package-repo-configuration-instructions.html
modificando il file
nano /etc/opkg/base-feeds.conf
Dopo aver modificato i repository si puo' iniziare ad installa i pacchetti
opkg start apache2
opkg enable apache2
opkg update
opkg install apache2opkg start apache2
opkg enable apache2
opkg install php
A questo punto Apache funziona ma non interpreta le pagine php. Bisogna editare il file httpd.conf con le seguenti righe
LoadModule php5_module lib/apache2/modules/libphp5.so
Include /etc/apache2/modules.d/70_mod_php5.conf
<IfModule mime_module>
TypesConfig /etc/apache2/mime.types
e poi si edita /etc/httpd/conf/mime.types:
application/x-httpd-php php
la directory dove inserire i file html e'
/usr/share/apache2/htdocs
mentre i file di log sono
Per impostare la giusta timezone
opkg install ntpdate
ntpdate -v ntp1.inrim.it
timedatectl set-timezone "Europe/Paris"
timedatectl set-timezone "Europe/Paris"
Per modificare il DNS server di edita /etc/resolv.conf
domain lan
nameserver 8.8.8.8
infine, per effettuare il port forwarding e' necessario impostare un IP statico editando /etc/wpa_supplicant/wpa_cli-actions.sh
if [ "$CMD" = "CONNECTED" ]; then
kill_daemon udhcpc /var/run/udhcpc-$IFNAME.pid
# udhcpc -i $IFNAME -p /var/run/udhcpc-$IFNAME.pid -S
ifconfig $IFNAME 192.168.1.250 netmask 255.255.255.0
route add default gw 192.168.1.254
fi
La Edison ha un server SSH che supporta anche SFTP. L'unico problema e' che accetta di default connessioni dall'utente root (questo puo' diventare un problema di sicurezza su server di produzione)
martedì 14 marzo 2017
Meccanismo delle glaciazioni
Piu' o meno ogni geologo riesce ad identificare le forme del rilievo derivanti dalle glaciazioni ma e' molto meno chiaro il meccanismo che le innesca
Su Atmosfera: istruzioni per l'uso di P,Angela e L.Pinna (Mondadori De Agostini 1994) ho trovato questa sintesi
sono presenti tre cicli
1) ogni 100.000 anni variazioni dell'orbita terrestre intorno al Sole
2) ogni 40.000 anni variazioni dell'angolo di rotazione dell'asse terrestre sul piano dell'orbita
3) ogni 22.000 anni il movimento legato alla precessione degli equinozi
Questi cicli trovano riscontro nei log stratigrafici
Motorola M3688
A volte riemergono dal passato...in questo caso da un contenitore per batterie esaurite (e per ironia e' stato trovato senza il pacco batterie)
Questo Motorola M3688 del 1999 e' stato recuperato in condizioni non funzionanti. Nonostante l'assenza del pacco batterie originale era possibile utilizzare 4 batterie standard AA ma i contatti con il tempo si sono ossidati ed appena ho provato a sfiorarli si sono troncati.
Francamente non vale la pena mettere mano al saldatore .... ma rimane comunque un bell'oggetto
Questo Motorola M3688 del 1999 e' stato recuperato in condizioni non funzionanti. Nonostante l'assenza del pacco batterie originale era possibile utilizzare 4 batterie standard AA ma i contatti con il tempo si sono ossidati ed appena ho provato a sfiorarli si sono troncati.
Francamente non vale la pena mettere mano al saldatore .... ma rimane comunque un bell'oggetto
Server casalingo con FastWeb
Una breve guida su come impostare un server casalingo affacciato su Internet usando una connessione FastWeb
In dotazione con il contratto FastWeb mi e' stato fornito un router Epicentro raggiungibile all'indirizzo 192.168.1.254.
Per entrare in amministrazione
username : Fastweb
password : [lasciare vuoto]
come si vede l'indirizzo e' di tipo pubblico ma dinamico
Il primo passo e' quello di impostare il DNS dinamico
Tra le varie opzioni quella piu' comoda (e gratuita) e' stata quella di usare no-ip.com
Per configurare il servizio e' sufficiente inserire username e password dopo aver impostato il nome sull'interfaccia di NoIp
fatto cio' si pasa al port forwarding (port mapping sulla configurazione del router)
la porta 22 (SSH) e' riservata e non si puo' fare il port forwarding. Non e' un problema perche' basta impostare una porta alternativa (tipo 2222)
non ci sono problemi invece con il port forwarding della porta 80 HTTP
In dotazione con il contratto FastWeb mi e' stato fornito un router Epicentro raggiungibile all'indirizzo 192.168.1.254.
Per entrare in amministrazione
username : Fastweb
password : [lasciare vuoto]
come si vede l'indirizzo e' di tipo pubblico ma dinamico
Il primo passo e' quello di impostare il DNS dinamico
Tra le varie opzioni quella piu' comoda (e gratuita) e' stata quella di usare no-ip.com
Per configurare il servizio e' sufficiente inserire username e password dopo aver impostato il nome sull'interfaccia di NoIp
Interfaccia Web di NoIp |
Configurazione Dinamic DNS su router |
fatto cio' si pasa al port forwarding (port mapping sulla configurazione del router)
la porta 22 (SSH) e' riservata e non si puo' fare il port forwarding. Non e' un problema perche' basta impostare una porta alternativa (tipo 2222)
non ci sono problemi invece con il port forwarding della porta 80 HTTP
lunedì 13 marzo 2017
Lineage OS su Moto E X1022 (Condor)
Il vecchio Moto E ha mostrato un serio problema con il sistema operativo (Process com.Motorola.process.system Forced Close) che non riuscivo a risolvere, invece di ripristinare il sistema ho provato ad installare LineageOS.
Non e' stato un percoroso indolore.
Per prima cosa si deve sbloccare il bootloader con
fastboot oem get_unlock_data
Connettendosi via ADB con
Una piccola nota: essendo un sistema Android 7.1.1 la posizione del file degli SMS si trova in
/data/user_de/0/com.android.providers.telephony/databases
Non e' stato un percoroso indolore.
Per prima cosa si deve sbloccare il bootloader con
fastboot oem get_unlock_data
e recuperando il codice da questo link https://motorola-global-portal.custhelp.com/app/standalone%2Fbootloader%2Funlock-your-device-b
a questo punto si deve installare la recovery TWRP scaricandola da https://twrp.me/devices/motorolamotoe.html. SI avvia il telefono nel bootloader con la combinazione tasti Power+Vol- (oppure adb reboot bootloader) e si digita
fastboot flash recovery twrp-3.1.0-0-condor.img
a questo punto si deve installare la recovery TWRP scaricandola da https://twrp.me/devices/motorolamotoe.html. SI avvia il telefono nel bootloader con la combinazione tasti Power+Vol- (oppure adb reboot bootloader) e si digita
fastboot flash recovery twrp-3.1.0-0-condor.img
fastboot reboot
qui si deve fare attenzione .. non si deve far riavviare il sistema si deve di nuovo forzare il sistema ad andare in bootload con Power+Vol- altrimenti la TWRP non risulta installata
A questo punto sono inziati i problemi. La Night Build di LineageOS lineage-14.1-20170306-nightly-condor-signed.zip ha creato problemi perche' gia' il wizard di configurazione risulta bacato (va in loop..peraltro era anche impossibile abilitare la modalita' developer). Ho provato a tornare indietro ed installare una CyanogenMod 14.1 (cm-14.0-20160911-UNOFFICIAL-condor) ma in questo caso non funzionava il sistema radio.
Ho letto che il problema di Lineage era derivato da una regressione del codice cosi' alla fine ho installato lineage-14.1-20170130-nightly-condor-signed e tutto finalmente ha iniziato a funzionare.
Ho installato il pacchetto delle GApps pico open_gapps-arm-7.1-pico-20170313 (con il solo PlayStore)
L'ultimo passaggio e' stato quello di abilitare i permessi di root. Prima si abilita la modalita' da sviluppatore e poi da Opzioni Sviluppatore si seleziona Accesso Root (Solo ADB)
Connettendosi via ADB con
adb shell
ed elevandosi con
su
si osserva (whoami) di avere i privilegi di root.
Alla fine il telefono e' molto reattivo e sembra funzionare in tutte le sue funzionalita' (anche troppo perche' il led di notifica del telefono rimane sempre acceso)
Una piccola nota: essendo un sistema Android 7.1.1 la posizione del file degli SMS si trova in
/data/user_de/0/com.android.providers.telephony/databases
giovedì 9 marzo 2017
Vault 7: SublimeText vs CIA
SublimeText fara' mai causa alla CIA?? O a Wikileaks??
https://wikileaks.org/ciav7p1/cms/page_9535650.html
Giusto per la cronaca il codice e' effettivamente corretto e non c'e' limitazione alle 10 licenze indicate
https://wikileaks.org/ciav7p1/cms/page_9535650.html
Giusto per la cronaca il codice e' effettivamente corretto e non c'e' limitazione alle 10 licenze indicate
mercoledì 8 marzo 2017
Data General Corporation Nova 4
Nel dipartimento dell'Universita' in cui ho studiato avevo sentito delle storie di un calcolatore utilizzato per ricerca quando ancora a Firenze c'erano ancora pochi computer (forse addirittura degli anni 60).
Di questa macchina, programmata a schede perforate, non ero riuscito a trovare fino ad oggi nessun reperto ne' fotografia per identificare il modello quando da un cassetto di un ricercatore e' saltato fuori la scheda sottostante
L'attuale proprietario della scheda mi ha confermata che e' stata tenuta come ricordo al momento della dismissione del computer. C'e' quindi da capire il computer di riferimento....
Per prima cosa e' chiaro, guardando l'elettronica, che non si tratta di un PC anni 60. La scritta del copyright 1978 e la ditta Data General Corporation collocano inoltre il computer tra il 1978 ed i primi anni 80 (periodo in cui ls DGC e' praticamente scomparsa)
Il modulo e' chiaramente una memoria data la dicitura DGC (Data General Corporation) BBU Memory
gli integrati piu' numerosi sono MB8116E, delle Ram MOS da 16384 bit (attenzione bit..non byte!!). Considerando che si sono 128 integrati la memoria e' da 256 Kbytes
Su Internet ci sono relativamente poche informazioni disponibili ...dagli indizi sembrano che il piu' probabile candidato sia un esotico Nova 4 (serie C???)
Sulla pagina pubblicitaria di un numero di ComputerWorld del 1981 compare la seguente locandina in cui e' riportato il prezzo di un Nova 4/C da 64 Kb ed un Nova 4/C da 64Kb con BBU (a prezzi anche accessibili per il periodo). Giusto come riferimento pochi anni dopo, nel 1983, usciva Olivetti M24 con 256 Kb di memoria base con un costo all'uscita di 6.000.000 di lire (1 floppy, no HD)
Queste invece erano delle schede perforate probabilmente legate al medesimo calcolatore (una intonsa, le altre con comandi Fortran)
Di questa macchina, programmata a schede perforate, non ero riuscito a trovare fino ad oggi nessun reperto ne' fotografia per identificare il modello quando da un cassetto di un ricercatore e' saltato fuori la scheda sottostante
L'attuale proprietario della scheda mi ha confermata che e' stata tenuta come ricordo al momento della dismissione del computer. C'e' quindi da capire il computer di riferimento....
Per prima cosa e' chiaro, guardando l'elettronica, che non si tratta di un PC anni 60. La scritta del copyright 1978 e la ditta Data General Corporation collocano inoltre il computer tra il 1978 ed i primi anni 80 (periodo in cui ls DGC e' praticamente scomparsa)
Il modulo e' chiaramente una memoria data la dicitura DGC (Data General Corporation) BBU Memory
gli integrati piu' numerosi sono MB8116E, delle Ram MOS da 16384 bit (attenzione bit..non byte!!). Considerando che si sono 128 integrati la memoria e' da 256 Kbytes
Su Internet ci sono relativamente poche informazioni disponibili ...dagli indizi sembrano che il piu' probabile candidato sia un esotico Nova 4 (serie C???)
Sulla pagina pubblicitaria di un numero di ComputerWorld del 1981 compare la seguente locandina in cui e' riportato il prezzo di un Nova 4/C da 64 Kb ed un Nova 4/C da 64Kb con BBU (a prezzi anche accessibili per il periodo). Giusto come riferimento pochi anni dopo, nel 1983, usciva Olivetti M24 con 256 Kb di memoria base con un costo all'uscita di 6.000.000 di lire (1 floppy, no HD)
Queste invece erano delle schede perforate probabilmente legate al medesimo calcolatore (una intonsa, le altre con comandi Fortran)
Iscriviti a:
Post (Atom)
Debugger integrato ESP32S3
Aggiornamento In realta' il Jtag USB funziona anche sui moduli cinesi Il problema risiede nell'ID USB della porta Jtag. Nel modulo...
-
In questo post viene indicato come creare uno scatterplot dinamico basato da dati ripresi da un file csv (nel dettaglio il file csv e' c...
-
La scheda ESP32-2432S028R monta un Esp Dev Module con uno schermo TFT a driver ILI9341 di 320x240 pixels 16 bit colore.Il sito di riferiment...
-
Questo post e' a seguito di quanto gia' visto nella precedente prova Lo scopo e' sempre il solito: creare un sistema che permet...