Translate

lunes, septiembre 24, 2018

x96 tv box, instalar un servidor proxy squid

Configuración del proxy squid:

1.modificar /etc/squid/squid.conf:

#Recommended minimum configuration:
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8
acl localnet src 0.0.0.0/8 192.168.100.0/24 192.168.101.0/24
acl SSL_ports port 443
acl Safe_ports port 80   # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http

acl CONNECT method CONNECT

http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports

http_access deny to_localhost
icp_access deny all
htcp_access deny all

http_port 3128

#Aqui definimos la salida de los logs,
#podemos poner la salida a una MicroSD
access_log /etc/squid/log/access.log squid
cache_log /etc/squid/log/cache.log

#Suggested default:
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320
# Leave coredumps in the first cache dir
coredump_dir /var/spool/squid3

# Allow all machines to all sites

http_access allow all


2.Crear el directorio  /etc/squid/log/ y cambiar de propietario a proxy:

chown -Rv proxy:proxy  /etc/squid/log/

3. Podemos reinicar el servicio squid "service squid restart" y configurar un navegador,
con  tail -f  /etc/squid/log/access.log vemos como funciona el proxy

3-para una vista visual de la navegacion en el proxy:
   primero instalar apache: apt install apache2
   segundo: seguir tutorial:
https://www.tecmint.com/sarg-squid-analysis-report-generator-and-internet-bandwidth-monitoring-tool/

4- Los logs generados pesan bastante sobre todo access.log, squid tiene una funcion para rotar los logs:
    4.1 :Editamos /etc/logrotate.d/squid y ponemos la hubicación correcta de los logs (/etc/squid/log/)
     4.2: Usamos crontab para llamar a logrotate y borrar logs de mas de 10 dias:
                #Rotado diario de logs squid
                #Todos los dias a las 23:55
                 55 23  * * *  su -l root -c '/usr/sbin/logrotate /etc/logrotate.conf  -f'
                 #Borramos todos aquellos logs *.gz que tienen mas de 10 dias


                55 23  * * *  su -l root -c '/usr/bin/find /etc/squid/log/*.gz -mtime +10 -type f -exec rm -f \{\} \;'

jueves, agosto 16, 2018

PiVPN: Configura una VPN casera en una Raspberry Pi utilizando OpenVPN



Esta nueva entrada del blog es relativa al grupo de publicaciones que pretenden demostrar que una Raspberry Pi se puede utilizar como una herramienta de seguridad. En ella vamos a crear un servidor VPN en nuestra Raspberry Pi, pero antes de nada vamos a explicar que es una VPN.
Una VPN (Virtual Private Network) es una tecnología de red que permite extender de forma segura una red LAN sobre una red pública (Internet), es decir, podemos conectarnos a la red local LAN de nuestra casa desde el exterior y a través de Internet, de la misma forma que si estuviésemos dentro de nuestra casa. Como se muestra en la siguiente imagen, gracias a esta tecnología se crea un tunel seguro entre el cliente VPN (Smartphone, Ordenador, etc.) y el servidor VPN para que toda la comunicación que existe sea segura.
Tanto el cliente VPN como el servidor VPN podrían ser routers con el objetivo de interconectar 2 redes de comunicaciones, pero en el caso que nos ocupa nos vamos a centrar en el esquema anterior.
Las principales ventajas que ofrece esta tecnología son las siguientes:
  • Permite interconectar redes geográficamente separadas sin necesidad de una línea dedicada.
  • Permite acceder a los recursos de la red de destino: impresoras, discos en red, carpetas compartidas, intranets, etc.
  • Asegura que la información intercambiada entre ambas redes es confidencial.
  • Permite la navegación segura a través de Internet aunque la red origen sea insegura, ya que todo el tráfico estará cifrado.
  • Permiten anonimizar direcciones origen, ya que va todo encaminado por la VPN y el origen de nuestras peticiones a diferentes servidores de Internet sería la red a la que nos conectamos donde está el servidor VPN.
Todas las ventajas son importantes, pero en este caso concreto nos vamos a centrar en la parte de navegación segura a través de Internet. Esto es muy importante, ya que a lo largo de la ciudad existen:
  • Redes abiertas.
  • Redes con un cifrado inseguro como WEP.
  • Redes vulnerables al tener configurado WPS.
  • Redes con un punto de acceso falso (fake AP).
Si navegáramos por estas redes sin una VPN toda la información podría ser obtenida por un atacante y descubrir cuáles son nuestras contraseñas, por qué paginas navegamos, cuáles son nuestros gustos de navegación o qué aplicaciones móviles utilizamos.
Por otra parte, los protocolos que se pueden utilizar para montar una VPN son:
  • PPTP (Point to Point Tunneling Protocol): Es un protocolo de capa 2 para crear conexiones VPN. Fué desarrollado en 1999 por un grupo de empresas entre las que se encontraba Microsoft. Este protocolo encapsula y encripta tráfico PPP. Actualmente no se recomienda su utilización, ya que han sido encontradas algunas vulnerabilidades relacionadas con la implementación de los algoritmos criptográficos utilizados y con la longitud máxima del tamaño de clave (128 bits).
  • IPSec/L2TP (Layer 2 Tunneling Protocol): Por un lado, L2TP se encarga de establecer un tunel entre el origen y el destino encapsulando una trama L2TP dentro de un datagrama UDP y que posteriormente irá encapsulado en un paquete IP. L2TP no proporciona por sí mismo ningún mecanismo de seguridad y utiliza IPSec para ello. Por otro lado, IPSec es un conjunto de protocolos utilizados para asegurar las comunicaciones en el nivel IP de la pila de protocolos TCP/IP.
  • SSTP (Secure Software Tunneling Protocol): Este protocolo encapsula tráfico PPP sobre una conexión SSL (actualmente SSL v3), por tanto, tiene la ventaja de poder atravesar firewalls con mayor facilidad. Fue introducido por Microsoft con la aparición del Windows Vista, pero actualmente tiene soporte para distintos sistemas operativos.
  • IKEv2: Es un tunel VPN basado en IPSec, el cual fue desarrollado por Microsoft y Cisco. No es tan extendido como IPSec/L2TP, pero es considerado tan bueno o incluso superior que IPSec/L2TP en términos de seguridad, rendimiento y estabilidad.
  • OpenVPN: Es una solución de software libre con licencia GNU (creada por Jame Yonan) que es capaz de crear VPNs, utilizando SSL/TLS para el intercambio de claves. Además, es capaz de atravesar NATs y firewalls. La librería criptográfica que utiliza este software es OpenSSL. Permite seleccionar entre 2 opciones de funcionamiento: TAP que es una VPN de capa 2 (la cual, encapsula tramas Ethernet 802.3), y TUN que es una VPN de capa 3 (que encapsula paquetes IP). Esta es la opción que se va a utilizar para configurar una VPN casera en una raspberry pi.
Para configurar nuestro servidor VPN vamos a utilizar un proyecto llamado PiVPN, el cual permite configurar OpenVPN de manera sencilla en una raspberry.
A continuación se muestran los pasos que hemos dado para montar OpenVPN en nuestra raspberry, utilizando el proyecto PiVPN:
  1. El primer paso para crear este proyecto será cargar el sistema operativo raspbian en una tarjeta micro SD (en este caso de 16GB), para ello es posible utilizar la siguiente publicación de éste mismo blog:
    Además, el sistema operativo raspbian se puede descargar de la página oficial de raspberry (la versión LITE será suficiente):
  2. A continuación, se deberá insertar la tarjeta micro SD en la raspberry, y asegurarnos que tenemos un cable de red conectado hacia el router y que por tanto, la raspberry tiene Internet. Además, será necesario conectar un cable HDMI a un monitor y el cable de alimentación de la raspberry.
  3. Tras iniciar la Raspberry Pi 3 será necesario realizar el login en el sistema con las contraseñas por defecto de raspbian:
    • usuario: pi
    • contraseña: raspberry
  4. En este punto, ya estaremos logados dentro del sistema operativo raspbian. Es importante tener en cuenta que el idioma del teclado es inglés, por tanto, en este punto tenemos 2 opciones: cambiar el teclado a español con el comando sudo dpkg-reconfigure keyboard-configuration y reiniciar para que se apliquen los cambios, o habilitar el acceso por SSH mediante el comando /etc/init.d/ssh start.
  5. Seguidamente, será necesario actualizar nuestro sistema operativo utilizando los siguientes comandos, de igual forma que se especifica en la página oficial de raspberry:
    • apt-get update
    • apt-get dist-upgrade
  6. Se deberá cambiar el password con el comando passwd, porque, como todos sabéis, es un gran agujero de seguridad dejar el password por defecto del sistema operativo instalado.
  7. Seguidamente, utilizaremos el siguiente comando para comenzar la instalación:
    • curl -L https://install.pivpn.io | bash 
    • NOTA: si da error ejecutar como root: 
    • curl -L https://install.pivpn.io | sed '2s/.*/set -x/' > install.sh; chmod a+x install.sh; ./install.sh
  8. Primero, el programa comprueba que el sistema operativo esté actualizado, pero como en nuestro caso estará actualizado, seguirá la instalación:
  9. En este punto nos informa que la aplicación transformará nuestra raspberry en un servidor OpenVPN:
  10. Además, nos indica que nuestra IP debe ser estática, lo cual es normal para que la dirección del servidor OpenVPN sea siempre la misma:
  11. En este momento, nos pide seleccionar una interfaz de red que será la que proporcione Internet:
  12. Y se asigna la IP que tiene la interfaz de red anterior como IP estática:
  13. Entonces, la instalación advierte que es posible que el router asigne esta IP a otro dispositivo y haya conflicto. En el caso de que haya problemas, puedes realizar la asignación de IPs manualmente:
  14. En este momento la instalación indica que será necesario seleccionar un usuario local. Por temas de seguridad, lo más recomendable es crear un usuario nuevo distinto del administrador.
  15. En nuestro caso, para realizar la prueba de concepto (PoC) utilizaremos el usuario que viene por defecto, aunque previamente hemos cambiado la contraseña del mismo:
  16. En este punto, nos informa de que sería recomendable habilitar las actualizaciones no-atendidas manualmente, ya que el servidor estará expuesto a Internet:
  17. Como es lógica la recomendación que nos da la instalación, habilitamos las actualizaciones no-atendidas:
  18. Ahora nos indica si el protocolo que queremos utilizar es TCP o UDP. Cada protocolo tiene sus ventajas y sus desventajas. En nuestro caso, hemos utilizado TCP porque asegura la entrega de paquetes y puede llegar a ser más recomendable para navegar por Internet que es lo que pretendemos. Si el objetivo fuese mejorar la velocidad, intercambiado vídeo, audio o ficheros pesados, lo más recomendable sería UDP:
  19. Seguidamente, tenemos que seleccionar un puerto donde se pondrá a la escucha el servidor OpenVPN. El puerto por defecto es el 443, pero como queremos que esté algo oculto y no sea un puerto conocido, seleccionaremos otro puerto (en nuestro caso 44344):
  20. Nos pide que confirmemos el puerto seleccionado para que no haya ningún error:
  21. En este punto, la instalación nos solicita seleccionar un tamaño de clave y seleccionamos 2048-bits:
  22. Seguidamente, la instalación nos indica que va a generar las claves necesarias:
  23. Y a continuación inicia la creación de las claves, el cual, es un proceso que tarda un rato:
  24. Cuando acaba de realizar la generación de claves, el programa pregunta la forma de acceder al servidor de VPN. En nuestro caso para la Prueba de Concepto (PoC), seleccionaremos la IP pública que nos proporciona nuestro proveedor de Internet (ISP), aunque la forma más correcta de hacerlo es utilizar un servicio como No-IP para que aunque cambie la IP nuestro proveedor de Internet (ISP), no se vea afectado el acceso:
    Cuando acaba de realizar la generación de claves, el programa pregunta la forma de acceder al servidor de VPN. En nuestro caso para la Prueba de Concepto (PoC), seleccionaremos la IP pública que nos proporciona nuestro proveedor de Internet (ISP), aunque la forma más correcta de hacerlo es utilizar un servicio como No-IP para que aunque cambie la IP nuestro proveedor de Internet (ISP), no se vea afectado el acceso:
  25. Seguidamente, seleccionamos el servidor DNS que utilizaremos para conectarnos a Internet. En este caso para la Prueba de Concepto (PoC) hemos seleccionado Google:
    Para la gente que esté interesada en seleccionar un DNS propio os remito a otra de las publicaciones de este blog donde enseñamos a montar Pi-Hole en una raspberry:
    En la siguiente imagen se muestra cómo seleccionar un DNS propio.

    Además, será necesario modificar el fichero /etc/dnsmasq.conf y añadir la siguiente línea para permitir la resolución DNS a la interfaz VPN:
    listen-address=127.0.0.1, 192.168.1.2, 10.8.0.1
    La primera IP es localhost, la segunda IP corresponde a la IP local donde está instalada la Pi-Hole (que puede ser la misma donde está instalado este mismo proyecto), y la tercera IP corresponde a la IP de la interfaz VPN en la parte del servidor.
    De esta forma, conseguimos el filtrado de publicidad y páginas fraudulentas a la hora de navegar, lo cual, en este proyecto concreto que estamos montando puede ser muy recomendable.
  26. A continuación muestra la forma de crear usuarios, cómo se accede a la ayuda y dónde se almacenan los logsgenerados:
  27. El último mensaje de instalación pide reiniciar el sistema operativo:

  28. A continuación, será necesario crear, al menos, un cliente para que se conecte al servidor. En la siguiente imagen se muestra un ejemplo de creación de un cliente con el nombre client:
  29. Tras insertar el comando anterior en un terminal, pedirá el nombre del usuario y la contraseña para completar la creación del usuario. Además, paralelamente se creará un fichero con la extensión ovpn (en nuestro caso, client.ovpn), el cual se encuentra en la carpeta /home/pi que es el usuario del sistema seleccionado previamente. Éste es el fichero que deberemos cargar en el cliente OpenVPN para conectarnos a nuestro servidor. Si no lo queremos con password (mejor para el iphone pero menos seguro) ejecutar el comando pivpn add nopass
  30. Además, en el NAT de nuestro router casero deberemos añadir una regla para que todo el tráfico que nos llegue al puerto 44344 nos lo dirija al mismo puerto, pero de la ip interna configurada previamente (192.168.1.2).
  31. Por último, ya podemos probar que el servidor OpenVPN está correctamente configurado, utilizando un cliente OpenVPN.
Conexión de cliente OpenVPN en Windows
  1. En Windows será necesario instalar la aplicación openvpn-install-2.X.0.exe, de la siguiente página Web:
  2. Se importa el fichero de configuración obtenido previamente en el paso 29:
  3. Pulsamos en Connect:
  4. Introducimos la contraseña previamente introducida en el paso 29:
  5. Y ya estaríamos conectados a nuestro servidor VPN, y por tanto a nuestra red doméstica. Si verificamos la IP, podemos ver que es una de las IP de nuestra red doméstica, y que además podemos acceder a todos nuestros periféricos: impresoras, discos duros en red, etc.
  6. Para probar que realmente tenemos otra IP que es capaz de conectarse a nuestra red local, podemos utilizar el comando ipconfig de Windows como vemos en la siguiente imagen:
  7. Por último, para estar seguros que todo el tráfico está saliendo por la VPN y no por la otra interfaz de red, probamos el comando tracert que nos muestra los saltos hasta una dirección IP destino, y como se puede ver el tráfico va por la VPN:

Conexión de cliente OpenVPN en Linux
  1. Si utilizamos un sistema operativo Linux también podemos conectar un cliente OpenVPN a nuestro servidor:
  2. En la siguiente imagen se puede ver que se crea una nueva interfaz de red conectada a nuestra VPN:
  3. Además, se puede eliminar la conexión VPN únicamente cerrando el terminal abierto con la conexión o mediante el comando killall para eliminar el proceso:

Conexión de cliente OpenVPN en Iphone
  1. Por último, también se puede conectar un cliente de OpenVPN desde un terminal iphone al servidor configurado previamente. Primero será necesario descargar e instalar la aplicación OpenVPN desde Apple Store:
  2. Además, será necesario transferir mediante itunes el fichero ovpn generado anteriormente en el paso 29. La forma de incluir el fichero se realizará seleccionando la aplicación como se ve en la imagen inferior y utilizando el botón Añadir archivo…:
  3. Finalmente, pinchamos en el botón conectar dentro de la app OpenVPN instalada en el paso 1 e introducimos la contraseña. De esta forma, ya estaremos conectados al servidor VPN y podremos navegar de forma segura con nuestro terminal iphone, sin preocuparnos de estar conectado a una red wifi insegura.

miércoles, agosto 08, 2018

TV box x96 - Instalacion S.O, servidorVPN, libreelec `kodi + hyperion + domoticz

Mi x96 box tiene 2gb de ram y 16GB, tiene una CPU amlogic s905w.

-Descargar arbian para s905w:
https://mxqproject.com/tutorial-s905s905xs912-linux-ubuntu-mate-install-tutorial/

Una vez flasheada la SD (he usado de 16GB):

  -Usar fichero gxl_p212_2g.dtb, cogerlo de la freeelect, es el unico que nos deja arrancar desde la NAND y renombrarlo en la carpeta raiz como dtb.img.

  -Desconectar de la corriente el box, insertas la SD/Pen, metes un palillo por el agujero de reset y conectas     la fuente renuevo y debería iniciar el armbian(No sueltes el reset hasta que salga la pantalla de instalación     de libreelec)

-Boot: primero apretar con un palillo el boton que esta en el agujero AV
-Iniciar sesion con root, pass 1234
-el wifi esta desactivado iniciarlo con sudo modprobe wifi_dummy, tambier editar /etc/modules y agregar wifi_dummy
-para instalar en la NAND, como root ejecutar /root/install.sh


1 Configuración del proxy squid:

He creado la guía en el siguiente link:
http://surfero.blogspot.com/2018/09/x96-tv-box-instalar-un-servidor-proxy.html

2- Instalación domoticz y apple homebridge:

    2.1.Domoticz:
`sudo curl -L install.domoticz.com | bash'

Con este comando tendremos instalado domoticz y estará disponible tras el boot (url :8080, 443)
Podemos agregar un controlador esp8266 con dispositivos (dht22, sensor humedad, etc..).
Agregamos el firmware EspEasy en el dispositivo esp8266, configuramos los dispositivos a usar, y en config--> seleccionamos "protocol domoticz http" puerto 8080. Desde domoticz en setup--> hardware agregamos el controldor esp8266 como "Dummy does nothing..)"., en "setup--> devices" devemos anotar el IDX del dispositivo nuevo, es importante porque va a ser la unica forma de comunicar entre domoticz y easyesp el dispositivo nuevo.
Desde el firmware en "Devices" devemos agregar el IDX del despositivo que queremos agregar, pulsar "send" y aplicar, con esto domoticz ya recoge dsatos de nuestro sensor en esp8266.


   2.2 apple homebridge para domoticz

Seguir este tutorial y tendremos los dispositivos conectados a domoticz en nuestro iphone, ipad, etc..:
https://www.domoticz.com/wiki/Homekit_Siri

Si queremos meter nuestros dispositivos de domoticz deberemos crear un plan con todos ellos (setup -->more options-->plans)

3-Instalar un servidor vpn doméstico
Seguir este tutorial:
http://surfero.blogspot.com/2018/08/pivpn-configura-una-vpn-casera-en-una.html

4-: como alternativa a armbian podemos instar libreelec, funciona perfectamente como mediacenter kodi y Linux:

https://androidpc.es/tutorial-libreelec-guia-instalacion-tv-box-android/
https://medium.com/@tomac/how-to-install-libreelec-linux-on-cheap-android-tv-box-51f82cdf10c1

  4.1 Instalar ambilight casero , x96 + arduino leds ws2801
      -Comprobar el funcionamiento  de leds WS8201
       http://soloelectronicos.com/2017/02/20/como-probar-una-tira-de-leds-ws2801/
      -Guia howto: https://libreelec.wiki/hyperion
      -Habilitar "Allow remote control by programs on this system"
       y "Allow remote control by programs on other systems" (necesitamos ambos)
      -Configurar Arduino, sketch:
       https://hyperion-project.org/threads/diy-amblight-project-guide-hyperion-ws2801-ws2812b-apa102.8/
      -Instalar Hyperion en Libreelec para x96 (software que conecta kodi con arduino+leds):
          En libreelec hay que instalar el servicio de hyperion desde el repositorio de libreelec, despues                        deberemos configurar el siguente dfichero :
           /storage/.kodi/userdata/addon_data/service.hyperion/hyperion.config.json
                    Aqui decimos el driver de leds que usamos (adalight) el puerto que usa nuestro arduino (/dev/ttyUSB0) , la velocidad de conexion 115.200. Esta información sale del skecth que hemos progamado en nuestro arduino.

        "device" :
        {
                "name"       : "MyHyperionConfig",
                "type"       : "Adalight",
                "output"     : "/dev/ttyUSB0",
                "rate"       : 115200,
                "colorOrder" : "rgb"
        },


Posibles errores de hyperion, en codi y libreelec (util):

ver el log: cat /storage/logfiles/hyperion.log
In Kodi
navigate ->System->Services->Remote control

EDIT: Your Hyperion won´t run? You can´t access USB too,
Change hyperion user "osmc" to "root" and Group too under:
nano /etc/systemd/system/hyperion.service
reload servcie config after change
systemctl -q daemon-reload
and restart hyperion
service hyperion restart
You could scroll with up and down arrows on your keyboard through the log for control purposes
journalctl -u hyperion.service



viernes, abril 13, 2018

Instalación de control de velocidad CANM8 en Nissan Evalia 1.5 dci 110CV



Compra: www.canm8.com, Inglaterra:

He comparado este pack para reequipar mi furgo, lo he instalado y he realizado este artículo sobre todo para no olvidarme de cómo hice la instalación en todo caso YO NO ME HAGO RESPONSABLE de lo que cada uno haga con mi manual ni doy ningún soporte técnico, para las consultas de ese tipo mejor hablar con la empresa fabricante, tengo que recordar que en caso de no tener los conocimientos adecuados o tener dudas es mejor realizar esta instalación con un profesional adecuado.

Me costó unos 273€ y este es el contenido del paquete:


Listado del contenido del paquete (hacer click para ver a tamaño real):





Alimentación de la centralita:


Hay que desmontar los dos protectores que están detrás del volante, son 3 tornillos de estrella normales, únicamente uno de ellos tiene mas fondo, así que utilizar un destornillador lo mas largo posible, los desencajarlos .En  el manual hay que coger el positivo del cable de ignición de la llave, el negativo lo cogemos de la chapa, el negativo lo cogemos de cualquier tornllo que va a la chapa  (hacer click para ver a tamaño real):





Para poder abrir el cable y estañar el positivo de la centralita usé un "pelacables" (8€ en aliexpress) y lo hice así :





Instalación mando de control de velocidad:



Esta parte no tiene mucho misterio: marcamos primero con rotulador la posición donde queremos dejar nuestro control de velocidad y hacemos un agujero con broca del 10. Podemos ya pasar los 5 cables por el agujero y encajar correctamente el mando. Aplicamos los 5 cables en las posiciones correctas del conector que irá a la centralita .En es te punto y ya tras haber terminado con la conexión al cable de ignición ya  podemos pasar a cerrar todo y ver nuestro mando puesto en la posición definitiva:


Conexiones OBD y Pedal del acelerador:


Esta es la hoja del manual destinada a esta instalación. El la conexión OBD se realiza mediante dos cables, uno es de color ROJO que conecta con el cable de posicion 6 en el conector OBD y el otro es de color NEGRO  y va en la posición 14 en el conector OBD . Os dejo esta foto para localizar los conectores.
El fabricante recomienda estañarlos, eso depende de cada uno, los conectores rapidos "robacables" suelen ir bien, por mi experiencia he visto que los cables OBD son finos y están muy tensos por lo que es fácil partirlos, yo parti uno y tuve que empalmar cables para corregirlo, hubiese preferido no tocar esta parte y usar un "HUB" OBD y hacer una "T", he visto este por 4€ en aliexpress, tan solo tendíamos que estañar en los pines de este hub en las posiciones que manda el fabricante:

La conexión con el PEDAL DEL ACELERADOR parece algo liosa porque el conector al principio parece costoso de sacar, descubrí que metiendo un poco un destornillador plano entre las conexiones y apretando con la otra mano por la posición de anclaje que tiene arriba este conector va saliendo casi solo. Hay que recordar que cuando terminemos la instalación tras confirmar que todo va bien deberemos desconectar otra vez esta "T" para ordenar los cables (ver final de este articulo).


                FINALIZANDO Y PRIMERAS PRUEBAS


Antes de pensar en dejar todo correctamente instalado hay que hacer pruebas para comprobar que todo está correcto y ya funciona, el fabricante da una hoja de test (hacer click para ver a tamaño real):


Una vez que hemos comprobado que todo va bien podemos proceder a dejar bien ordenados los cables, que así sueltos son demasiados y dan la sensación de dar peligro por la ubicación de donde están (pedales) en todo caso se me ocurrió una buena solución que descubrí en su día montando mi primera impresora en 3D (son muchísimos cables) y es usar un tipo de ordenacables como este:

Con esto conseguiremos hacer un solo cable con una forma mas coherente de cara a poder dejarlos embridados por encima de los pedales (hay sitios de serie donde dejarlos bien), recomiento poner una brida al principio de este ordenacables y al final del mismo, así no tendrá a retraerse.


viernes, febrero 23, 2018

Como cambiar el CID en una Samsung Evo+

Como cambiar el CID en una Samsung Evo+

 1.1 Hardware y software:

  • Portátil con lector de tarjeta SD interno conectado a un bus IDE o PCI. NOsirven lectores USB internos o externos. También se puede usar un telefono o tablet android con lector de SD y con acceso ROOT.
  • Tarjeta Samsung Evo+ con CID cambiable.
  • Programa evoplus_cid que se descarga de: https://github.com/raburton/evoplus_cid
  • Si se usa un portátil necesitamos tener instalada una distribución linux de 64bits, aunque también sirve perfectamente un live disc, o un usb (www.slax.org).
  • Nota: para hacer un live usb con linux 64bits con almacenamiento persistente (para guardar los docuemntos y no se borren en el siguiente boot) usar: https://www.pendrivelinux.com/universal-usb-installer-easy-as-1-2-3/


Nota 1: No todas las Samsung Evo+ sirven, en 32GB estos son los modelos que funcionan:
MB-SC32D/EU
MB-MC32DA/EU
y en 64GB aparentemente son todos los modelos.

Nota 2: Según parece todas las tarjetas que se venden como Samsung y que no permiten el cambio, o son modelos importadas de otros mercados, o son directamente copias falsas. Las auténticas que se venden en el mercado europeo deberían soportar todas el cambio de CID.

1.2 Que es el CID.

El CID es el Card Identification Register, un registro interno de las SD que incorpora información sobre la tarjeta como el fabricante, nº de serie, fecha defabricación, etc. Es un registro de 16 bytes de longitud, en el que 15 bytes son datos y el último byte se usa como suma de control de los anteriores.
El CID se supone que se estampa en el proceso de fabricación, y es de solo lectura, pero recientemente se han descubierto una serie de comandos internos que permiten modificarlo a nuestro antojo.


2.1 Lectura del CID

Para la obtención del CID se busca en linux el fichero en la siguiente ruta:

/sys/class/mmc_host/mmc1/mmc1:0001/cid

se copia el contenido en un fichero txt "originalCID.txt" y se guarda en el disco duro.

Es posible, dependiendo del sistema, que parte de la ruta sea distinta, en vez de "mmc1" sea "mmc0", para averiguarlo, se entra dentro de la ruta /sys/class/mmc_host/  y en ese momento se mete y se saca en el lector la sd card y actualizando con F5 vemos aparecer/desaparecer el directorio "mmcX".

El CID tiene un tamaño de 15+1 bytes (32 caracteres), siendo el último una suma de control. Es habitual que en el último byte aparezca como 00, esto es un error en la mayoria de los firmwares de los lectores de tarjetas, y que no son capaces de mostrar el último byte y por defecto muestra 00. Esto no es muy importante ya que el programa evoplus_cid admite la escritura de los 15 primeros bytes, calculando y escribiendo por nosotros el último byte.


2.2 Compilación en Ubuntu 16.04 LTS 64b

Una vez descomprimido el fichero que hemos descargado de github, debemos abrir un terminal dentro de la carpeta jni y compilar con el siguiente comando:

"gcc -o evoplus_cid evoplus_cid.c"


2.3 Cambio del CID

En el mismo terminal ejecutamos el nuevo comando compilado, que tiene la siguiente sintaxis:

./evoplus_cid

Un ejemplo sería:

"./evoplus_cid /dev/block/mmcblk1 744a454e2f412020106c6d77470104c3"

Hecho esto ya deberíamos tener el nuevo CID cambiado. Si el último byte del CID es 00 (por probable error de lectura) podremos omitirlo, y con eso el programa calculará el último byte y lo escribirá por nosotros. El comando anterior en ese caso quedaría asi:

"./evoplus_cid /dev/block/mmcblk1 744a454e2f412020106c6d77470104"

La ruta del dispositivo puede no ser "mmcblk1", pudiendo ser "mmcblk0" u otra, dependiendo del hardware y de la distribución linux empleada, asi que antes de ejecutar el comando se debería ver en el explorador de archivos si la ruta es correcta, usando la misma tecnica que en el apartado 2.1 (meter y sacar la tarjeta y ver lo que aparece en "/dev/block/")

Bye.


Fuentes:
http://richard.burtons.org/2016/07/01/changing-the-cid-on-an-sd-card/
http://richard.burtons.org/2016/07/31/cid-change-on-sd-card-update-evoplus_cid/
http://www.cameramemoryspeed.com/sd-memory-card-faq/reading-sd-card-cid-serial-psn-internal-numbers/

miércoles, enero 17, 2018

Convertir ficheros *.svg (inkscape) y *.dxf (autocad) en piezas para imprimir




Convertir ficheros *.svg (inkscape) y *.dxf (autocad) en piezas para imprimir



Software que necesitamos:

-Google Scketchup PRO 8 (solo la version pro permite imporar dxf)
-Img2Cad
-Inkscape

Como usar:

1.Pieza svg en inkscape:
 -modos de trayecto (F2) y selecionar todos los lados de la pieza manteniendo shift presionado
-Menu trayecto --> borde a trayecto
-Archivo --> exportar imagen png:
                      -Boton seleccion
                      -Poner ruta y nombre de fichero a exporar
                      -boton exportar
2.Imporar el fichero png desde app img2cad:
  -boton add files
  -boton options:
             -center line
             -value 600
             -do not override,ok
             -browse desino y convert fichero dxf
3. sketchup pro 8:
          - File import e imporatamos el fichero dxf
          -Ya podemos trabajar en 3d con el fichero, para dar volumen hay que usar primero el lapiz