viernes, 9 de noviembre de 2018

Antena USB AC 1200 mbps (chip realtek 8812bu) en Ubuntu 18.04 (Linux kernel >= 4.12)

Hola :), hace poco me compré por amazon una antena wifi usb para aprovechar mejor los 600mb de fibra que tengo contratado. Como podeis ver en la imagen de abajo, antes me llegaban unos 50 mbps (a 2.4 ghz) de descarga al pc y con la nueva me llegan unos 180-200 mbps (a 5 ghz, una mejora sustancial, antes una imagen torrent de ubuntu me descargaba a unos 5 mb/s y ahora a unos 18-20 mb/s 😁) y eso que la tengo conectada a un usb 2.0, está a unos 9 metros del router y hay de por medio 2 muros gruesos.

  • Los drivers que vienen en el CD no valen para linux, ya que no compilan bien en los últimos kernels

Instalación:

Lo primero es comprobar el tipo de chipset que trae vuestra antena, lo conectais al usb y en una terminal escribid
  • lsusb
Debes fijaros que salga lo siguiente:



Si nos aparece ID 0bda:b812 significa que el driver a instalar es el de este tutorial, el "rtl8812bu".


Prerequisitos:

  • sudo apt-get install linux-headers-$(uname -r) build-essential git
  • sudo apt install dpkg-dev
  • sudo apt install -y libelf-dev
  • sudo apt install dkms
Para instalarlo usaremos DKMS (método automático) para que así cada vez que se actualice el kernel el driver se reinstale también, así no tendríamos que repetir el tutorial cada vez que actualicemos el sistema:

  • sudo git clone https://github.com/FomalhautWeisszwerg/rtl8822bu /usr/src/rtl8822bu-4.15
  • sudo dkms add rtl8822bu/4.15
  • sudo dkms build rtl8822bu/4.15
  • sudo dkms install rtl8822bu/4.15
Listo, ahora solo nos queda reniciar y tendremos la tarjeta wifi funcionando.



Agradecimiento a:


  1. https://github.com/brandon-bailey (primero en hacer un github del driver para nuevos kernels)
  2. https://github.com/FomalhautWeisszwerg (dueño del github que usamos en el tutorial, fork del primero)
  3. https://github.com/alecdotninja (contribuyente)
  4. https://github.com/meshr-net (contribuyente)
  5. https://github.com/yujinshin90 (contribuyente)

domingo, 23 de septiembre de 2018

Ipad 2017 en Ubuntu (versiones 16.04 y 18.04)

Recientemente he querido pasar música a mi Ipad utilizando mi pc con linux, sin embargo me he topado con varias trabas a la hora de hacerlo, consiguiendo sólo poder navegar a través de las carpetas de IOS 11.4.3 disponibles a nivel de usuario (ya que no tengo jailbreak hecho, pero si lo hacéis también podréis montar las carpetas a nivel root)


AVISO: NO HE LOGRADO SINCRONIZAR NUEVA MÚSICA CON NINGÚN PROGRAMA, PERO SÍ SUSTITUIR LAS CANCIONES QUE YA TENGO POR OTRAS (leedlo todo para entenderlo mejor)


Os presento, las carpetas de mi Ipad modelo 2017, con ios 11.4.3 vistas desde Linux Mint 18.3 (64 bits):


En ellas podreís copiar y escribir archivos y carpetas nuevas, aunque tocad con cuidado :). Esto es perfecto para hacer backups de vuestro contenido.


Para que vuestro ordenador detecte el dispositivo de apple, tendréis que seguir los siguientes pasos:


Preparación para Ubuntu 18.04:



Ejecutar en una terminal el siguiente comando:
  • sudo apt-get install libimobiledevice* libgpod* ifuse*
Y ya os detectará el dispositivo cuando los conectéis, para comprobarlo, podéis escribir en una terminal "ideviceinfo" y os deberá salir algo como esto:


Donde podréis ver el modelo, el número de serie, etc.

Preparación para Ubuntu 16.04:

Lo primero es eliminar cualquier versión anterior de libimobile y libgpod, para instalar la última version desde github.

Ejecutamos desde una terminal lo siguiente:
  • sudo apt-get purge libimobiledevice* libgpod* ifuse*
Y ahora procedemos a los siguientes puntos:

1. Clonamos el repositorio de Github:

Este comando crea una carpeta "src" en "~" , es decir, en la carpeta "home" crea la carpeta "src" (por si luego queréis eliminarla, ya que solo son archivos de instalación)
  • mkdir -p ~/src
Vamos a la carpeta creada
  •  cd ~/src
Descargamos los archivos (clonamos el repositorio)
  • git clone https://github.com/libimobiledevice/libimobiledevice.git 
Añadido: si habeis hecho el proceso antes, lo estais volviendo a realizar y os sale un error como este:


Simplemente escribimos en la terminal: "sudo rm -r ~/src/" y repetimos el proceso desde el principio.

Entramos en la carpeta que acabamos de descargar
  • cd libimobiledevice 
2. Instalamos algunas librerías de desarrollo necesarias:

  • sudo apt-get install libusbmuxd-dev libplist-dev  libplist++-dev libgnutls-dev libssl-dev python-dev
3. Instalamos software adicional para compilar e instalar:
  • sudo apt-get install usbmuxd make automake autoconf libtool pkg-config gcc cython doxygen
4. Instalamos este paquete para crear un .deb, más fácil de gestionar por el gestor de paquetes de nuestro sistema:
  •  sudo apt-get install checkinstall
  5. Configuramos y construimos:
  • ./autogen.sh
  • make
6. Instalamos:

Con este comando creamos un .deb llamado libimobiledevice y se autoinstala
  • sudo checkinstall 
Nos aparecerá el siguiente mensaje: 


Escribimos "y" y pulsamos "Enter", entonces nos saldrá lo siguiente:


Simplemente presionamos "Enter" y sadrá esto:


De nuevo volvemos a presionar "Enter" y nos pedirá escribir un número, escribimos "3" y pulsamos "Enter"


Nos pedirá introducir la nueva versión, escribimos "1.2.1" y "Enter"


Entonces nos aparecerá algo como esto:


Volvemos a presionar "Enter"  y esperamos a que el proceso termine, cuando haya finalizado os deberá salir algo como esto:



Último paso, ejecutar:
  • sudo apt-get install ifuse*
Listo, última versión de libimobiledevice (digamos que es como el driver para que el sistema operativo detecte el iPad o el dispositivo de apple que uses). Reinicia el pc y ya te debería de detectar el iPad como una cámara de fotos.

Si quieres ver las carpetas a nivel de usuario, tales como las de música, libros, etc lee el siguiente punto.

Ver carpetas modo lectura/escritura (16.04 y 18.04)

Conectamos nuestro dispositivo, en mi caso un iPad, al PC por usb, abrimos la terminal y escribimos:
  • mkdir /media/iPad
El comando que acabamos de introducir es para crear una carpeta dentro de "media" para poder montar nuestro teléfono o tablet

  • sudo chmod 777 /media/iPad/
Con ese comando damos permisos de escritura, lectura y ejecución para todos los usuarios de nuestro PC a la carpeta que acabamos de crear.

Por último escribimos:
  •  ifuse /media/iPad
Para desmontar el iPad, simplemente escribir:

  • sudo umount /media/iPad #Importante desmontarlo cuando dejemos de usarlo, si no, no nos dejará montarlo la proxima vez que lo conectemos porque el pc se creerá que sigue conectado de la vez anterior.

Si miras en los dispositivos montados, verás que ya te aparece tu teléfono o tablet y podrás navegar por las carpetas a nivel usuario, si tienes jailbreak y quieres navegar a nivel root, entonces ejecuta el siguiente comando:

  • ifuse --root /media/iPad
Siempre que conectemos el dispositivo tendremos que montarlo con "ifuse /media/iPad" y desmontarlo con "sudo umount /media/iPad", por supuesto, este proceso se puede automatizar para que ocurra automáticamente, aunque yo no he investigado el cómo, ni lo voy a hacer :P
 
 ¿Se puede sincronizar nueva música con algún programa?

De momento NO, aunque copies las canciones en la carpeta correspondiente. Esto se debe a que ios para saber la música tiene una base de datos itunesDB, en las últimas versiones se llama itunesCDB, que está encriptada. Lo que se necesitaría para añadir música es hacer lo mismo que hace iTunes, desenciptar esta base de datos, añadir los nombres de las canciones nuevas y volverla a encriptar de forma que cuando el iPad la lea sepa que existen nuevas canciones.

Hay programas como banshee, gtkpod, amarok, etc que hacían este proceso de la base de datos con versiones antiguas de ios, sin embargo a partir de la 6 si mal no recuerdo, dejaron de dar soporte.

Por si alguien se anima a desencriptar la base de datos de las últimas verisiones, aquí os dejo una guía de cómo hacerlo más o menos:

https://www.linuxjournal.com/article/6334

¿Se puede sustituir la música que ya tengo con otras canciones si las renombro igual que las que tengo en el iPhone/iPod/iPad?

La respuesta es SÍ. He sustituido una canción de mi biblioteca por otra nueva, sin embargo, no se puede cambiar su nombre ni la imagen que le acompaña (lo de la imagen si averiguais en quçe carpeta está y la sustituis de la misma manera quizás sí se pueda.

Bibliografía: 

  1. https://github.com/libimobiledevice/ifuse 
  2. https://askubuntu.com/questions/598940/libimobiledevice-1-2-ios-8-support-for-ubuntu-14-04-trusty
  3. https://www.linuxjournal.com/article/6334 
  4. YO xddd

 

martes, 28 de agosto de 2018

Review. Unos meses usando Google Pay (cartera virtual)

Hoy quiero hablarles de una app llamada Google Pay (no me pagan. Google, si leéis esto, a mi con un jamoncito Navidul me ponéis super contento 😁). Aunque el propósito principal de esta app es realizar pagos con el móvil, en España debido a la robusta infraestructura financiera es una opción que no creo que llegue a ser la elegida por la mayoría de usuarios; me explico mejor: casi todos los bancos españoles cuentan con sus propias apps, que hacen bajo los estándares de la propia entidad, por lo que teóricamente ha de contar con mayor seguridad y mejor soporte por parte de nuestro banco. Estas apps a menudo vienen complementadas por alguna otra app llamada "wallet" que nos permite realizar pagos con el móvil como si de nuestra tarjeta de débito se tratase y personalmente prefiero el uso de estas aplicaciones oficiales antes que las de terceros. Aún así, hubo un tiempo que estuve pagando con google pay y he de decir que magnífico todo, nunca tuve ningún problema 😃.

Aunque el pago móvil es su fuerte, otra de las características (y es por la que uso la app) es que se pueden guardar las tarjetas de fidelización en ella (si, todas esas tarjetas que ni caben en tu cartera :P), además de las tarjetas regalo de los típicos sitios (Mediamarkt, El Corte Inglés, etc).

Tarjetas de puntos GPay


Sé que existen apps similares desde hace mucho tiempo, tales como "WalletPasses", "Stocard", "Pass2UWallet"... Sin embargo, la confianza que da una empresa como Google en temas de seguridad me hacen decantarme por su GPay (además que no muestra publicidad durante su uso, como hacen las otras si no pagas).

¿Por qué no usar las tarjetas de puntos virtuales en vez de en plástico? Así ayudaríamos al medio ambiente (se dice que tardan hasta 600 años en degradarse), nunca nos olvidaríamos de llevarlas en la cartera (si nunca se te olvida el móvil como me ocurre a mí), el no usar plásticos también beneficiaría mucho a las empresas ya que ahorrarían dinero. Todo con un simple cambio de hábitos (tan sencillo como abrir una app, ir a pases y seleccionar la tarjeta deseada, proceso que no lleva ni medio minuto; además si activas en la tarjeta la opción de que te avise cuando se pueda usar en las cercanías, te saldrá una notificación cuando estés en la tienda a modo de recordatorio para que la uses).

Mejoras que incluiría en GPay:

1. Poder Editar toda la información de las tarjetas de fidelización, como el nombre y si deseamos que se muestre un código QR, de barras, el numero, etc. (El truco que yo tengo es escribir el número de la tarjeta en alguna web que convierta a QR, o código de barras y luego escanearlo con la app)

2. Catálogo de tarjetas más completo (La tarjeta 5 de Cine Sur por ejemplo, que es completamente virtual, no está en la base de tarjetas de Google entre muchas otras)

3. Posibilidad de añadir información extra a cada tarjeta, como fotografía del anverso y reverso, ya que algunos sitios piden verla físicamente.

Si hay algo que echéis en falta sea lo que sea, dejadlo en los comentarios 👍 (También respondo dudas sobre el uso de la app)

domingo, 1 de julio de 2018

DNIe UBUNTU 18.04 y 16.04 tutorial para Firefox y Chrome

Buenas :D. En esta entrada voy a simplificaros lo máximo posible la instalación del DNI electrónico en Ubuntu (que entre tanto tutorial parece hasta complicado, siendo en realidad muy sencillo).

Instalación


Lo primero es Descargar lo que vamos a necesitar:


Descargáis el correspondiente a vuestra versión y lo instaláis con doble click. En caso de que tengáis Ubuntu 18.04 descargad la última del todo la amd64, no importa que ponga que es para la 17.04.


Una vez instalado puede ocurrir que se os abra una web en firefox con los siguientes pasos a seguir, entonces la instalación no finalizará hasta que no cerréis el navegador completamente o que directamente os diga instalación finalizada como es mi caso.

Configurando Navegadores

Firefox


Vamos a Preferencias>Privacidad & Seguridad>Dispositivos de seguridad>Cargar


Como podéis comprobar a mí ya me sale DNIe a la izquierda porque ya lo he hecho antes, pero a vosotros no os debería salir hasta realizar el siguiente paso y dar aceptar

Y ahora tenemos que poner lo siguiente:



Nombre del módulo (lo que queráis, yo le he puesto): "DNIe"

Nombre del archivo del módulo: "/usr/lib/libpkcs11-dnie.so"


Damos en aceptar y vamos con el siguiente paso (y último), pulsamos en Ver certificados



Miramos que estemos en la pestaña Autoridades:



Y pulsamos en Importar, nos vamos a la siguiente ruta y seleccionamos el archivo ac_raiz_dnie.crt: "/usr/share/libpkcs11-dnie/ac_raiz_dnie.crt"



Damos en abrir y nos aparecerá la siguiente ventana donde seleccionaremos todas las opciones (a veces salen dos y otras tres, independientemente las seleccionamos todas) y pulsaremos aceptar:



Listo, ya tenemos firefox configurado para aceptar nuestro certificado de DNI electrónico, para comprobarlo, ir de nuevo a Dispositivos de seguridad, seleccionar DNIe (o el nombre que le hayáis puesto), e Iniciar sesión, introducimos nuestro pin y si en estado sale sesión iniciada es que todo estará bien 😁.



Chrome/Chromium

Lo primero que debeis hacer es ejecutar el siguiente comando en una terminal, o bien descargar este script.sh que hace lo mismo pero es más sencillo de ejecutar (recordad darle permisos de ejecución):

  • sudo apt-get install libnss3-tools && modutil -dbdir sql:$HOME/.pki/nssdb -add "DNI-e" -libfile /usr/lib/libpkcs11-dnie.so
El comando u script que ejecutéis os pedirá presionar enter, lo hacéis cuando lo pida y listo, ya podemos cargar los certificados en chrome/chromium.

Vamos a Configuración>Configuración avanzada>Privacidad y seguridad>Gestionar certificados>Entidades emisoras>Importar


Nos vamos a la siguiente ruta y seleccionamos el archivo ac_raiz_dnie.crt: "/usr/share/libpkcs11-dnie/ac_raiz_dnie.crt" y seleccionamos todas las casillas que nos salgan (en mi caso las tres de la imagen de abajo)


Reiniciamos el navegador (cerramos y abrimos) y una vez hecho esto ya tenemos listo el navegador para usar el DNIe, podéis comprobarlo en cualquier web que acepte DNIe, en mi caso probé con la web de la casa de la moneda y timbre, esta de aquí:


VÍDEOS DEL PROCESO:

Lo primero que hay que hacer es realizar los pasos de la instalación que se explica arriba (solo lo realizo en el primer vídeo ya que para el segundo ya lo tengo instalado)


Firefox


Chrome/Chromium


Cómo firmar documentos digitalmente con DNIe y autofirma:

Gracias a los certificados electrónicos expedidos junto a nuestro DNI podemos firmar documentos de forma digital con la misma validez que si lo hiciéramos in situ (más información aquí).

Os dejo aquí un enlace que está super bien explicado sobre qué es y cómo usar autofirma en Ubuntu, además de  enseñar a firmarlos también con libreoffice: https://www.atareao.es/como/firma-digital-en-ubuntu/

 

sábado, 16 de junio de 2018

Programar ESP8266 con PyFlasher en Ubuntu

Buenas :). Hace poco me compré un módulo wifi ESP8266 para la play 4, y me vi con un problemilla, era un verdadero coñazo programarlo desde ubuntu. Y lo peor, no encontraba PyFlasher para Linux!!!😨, ningún blog ni ningún foro (español o inglés) que explicara cómo usarlo en nuestro sistema operativo favorito. Es por ello que me emprendí en la aventura de explorarlo, entenderlo y portarlo a este OS.

Breve explicación

Vamos a explicar cómo funciona. PyFlasher solo es una GUI para el programa esptool que es el que se encarga de programar nuestra placa, pero claro, a mi por ejemplo que casi siempre voy con el tiempo justo hasta para comer, no me da tiempo de investigar las instrucciones a usar en la terminal por lo que se agradece mucho este tipo de herramientas. Esta GUI se programó en python, usando wxPython, que no es más que una suite de librerías de interfaces gráficas que permite el uso desde Python de wxWidgets (bibliotecas multiplataforma que a partir de un solo código en C++ genera interfaces gráficas en Windows, Linux y Mac). Entonces, como python también es multiplataforma, de alguna forma debía funcionar en Linux.
  
Parte entretenida (hacerlo andar en Linux)

Qué necesitamos:

  • Python 3.X
  • wxPython 4.X
  • Esptool
  • PyFlasher v3.0


Instalar Python 3 es fácil, de hecho hoy día ya suele venir instalado por defecto en Linux. El Esptool también es sencillo de instalar con pip. Pero wxPython!!! 😨, PARA NADA, es un quebradero de cabeza.

Entonces para que el proceso sea lo más sencillo posible, he creado un script para Ubuntu y es posible que funcione en algunos derivados (lo podéis descargar abajo donde pone "Descargas"), que automáticamente instalará todo lo que he dicho que necesitamos. Los scripts los he probado en instalaciones totalmente nuevas de Ubuntu (recién instalado sin nada, solo las actualizaciones hasta la fecha) y funcionan correctamente, de todas formas cualquier error, no dudéis en dejármelo en los comentarios.

Descargas:

Elige el script de preinstalación para tu correcta versión del sistema:


Script preinstalación Ubuntu 18.04: MEGA

Script preinstalación Ubuntu 16.04: MEGA

PyFlasher v3.0 Ubuntu (Zip único): MEGA

Cómo ejecutar PyFlasher

Acordaos de darle a los scripts que bajáis permisos de ejecución (botón derecho sobre éste, propiedades, permisos y marcar la casilla de permitir ejecutar como un programa).

Una vez ejecutado el script de preinstalación y terminado el procesos automático, vais a la carpeta del programa PyFlasher y ejecutáis el archivo "SETUP.sh", otro script que he hecho para que ejecute todo correctamente. Y listo :D, el programa se os iniciaría como lo hace en Windows y Mac.

VIDEO DE TODO EL PROCESO DESDE UBUNTU 18.04 RECIÉN INSTALADO:


VIDEO FLASHEANDO EL ESP8266 CON UNA IMAGEN BIN EN UBUNTU:



miércoles, 14 de febrero de 2018

Ajustar descalcificador lavavajillas/lavadora con un medidor TDS

Buenas 😁, hacía tiempo que no escribía entradas nuevas, así que aquí va una :P.

¿Has comprado un lavavajillas o una lavadora y necesitas saber más o menos cuán dura o blanda es el agua del grifo? Pues os voy a contar cómo lo hice yo para mi lavavajillas usando un medidor TDS.

Parte aburrida, para gente aburrida

Antes de nada quiero aclarar que con esto es imposible relacionar de forma exacta la dureza del agua y los TDS, ya que un medidor TDS, estima la cantidad de sólidos disueltos en el agua (en realidad, mide la conductividad del agua debida a las sales disueltas y lo convierte a ppm multiplicándolo por un factor de conversión). Cuando una sal se disuelve, se disocia en moléculas más pequeñas, llamadas iones o radicales libres, que pueden volver a unirse con otros radicales libres presentes en la misma disolución. En este caso, la disolución es nuestra agua procedente de embalses, ríos, montañas, etc. Este agua viene con muchas sales diferentes disueltas, por tanto existen distintos tipos de iones presentes en nuestra disolución.

La dureza del agua, indica la cantidad total de iones alcalinotérreos presentes en el agua. En las aguas de procedencia natural (mineral) como la nuestra, la concentración de calcio y magnesio es habitualmente muy superior a la del resto de alcalinotérreos. Por eso decimos que la dureza depende en mayor medida de la concentración de iones calcio (Ca2+) y magnesio (Mg2+). Normalmente se suele expresar como una cantidad equivalente de carbonato de calcio (CaCO3), aunque esta sal no se encuentre directamente presente en el agua (pulsa aquí para más información).

La dureza no se puede conocer sabiendo únicamente los TDS del agua, aunque sí podemos hacernos una pequeña idea de esta si medimos un agua que no haya sido tratada con un descalcificador salino (exacto, como el de tu lavavajillas o lavadora).


Si el agua ya ha sido tratada, el medidor TDS no nos va a servir para esta tarea, a continuación explico el por qué:

Antes de pasar el agua por el descalcificador salino, esta llega con las distintas sales disueltas, entre ellas aniones Ca2+, Mg2+ y cationes HCO3-, buscando como locos formar nuevos compuestos entre sí. Lo que hace el descalcificador es poner en contacto el agua y la sal (NaCl), para que esta se disocie en iones Na+ y Cl-, de forma que los iones de magnesio sean reemplazados por iones de sodio, Ca+ ⇌ 2Na+, consiguiendo que no se forme el compuesto CaCO3 (o dicho de otra forma, cal) que es el que se pega a las tuberías y el que estropea nuestros aparatos). Como podéis observar, lo único que se hace es añadir más iones al agua, por lo que si medimos antes y después el agua no notaremos una disminución de los TDS, es más, puede ser que incluso suban notablemente, por eso dije antes que no sirve de nada comprobar con estos aparatitos si un descalcificador salino está haciendo su trabajo.

Vamos con lo "divertido"

 Materiales necesarios:

- Un vaso de agua normal del grifo. 

- Un medidor TDS, en mi caso usé el de xiaomi que podéis comprarlo aquí (las medidas varían con cada marca, así que comprad uno bueno)

- Descargar la app TDSconverter que he creado para esto desde Aptoide (si no queréis usar la tienda de aplicaciones Aptoide, os dejo la apk por mega, la he creado totalmente desde 0, y solo le he incluido un banner pequeñito no intrusivo de publicidad abajo, si le pulsáis contribuiréis a invitarme a una CocaCola :D, así que muchas gracias).

Procedimiento:

Llenamos el vaso con agua corriente del grifo e introducir el medidor TDS en él:


Ahí vemos que marca 314 ppm de sólidos disueltos (todos los tipos de sales disociadas que hacen conductiva al agua). Pues bien, ahora, ese valor aunque no sea lo correcto por lo que expliqué en la parte aburrida de arriba, es el que vamos a tomar como ppm de CaCO3 (no me linchéis a palos los químicos 😢 por favó) y lo vamos a introducir en la app que os he dejado en los requisitos:


Ahora vamos al manual del lavavajillas o máquina correspondiente y buscamos cómo configurar el descalcificador, en mi caso para un lavavajillas balay de España es:


Como podemos ver, en los resultados que me arrojó la app, mi agua es de 17,6 ºdH (o grados alemanes) y de 3,14 mmol/L. Si localizamos ambos números en la tabla de durezas (la de arriba en mi caso) tendría que ajustar en mi máquina el valor H05 correspondiente a un agua dura. Vuelvo a repetir que ESTO NO ES EXACTO, SOLO SIRVE PARA HACERSE UNA IDEA aunque funciona para situaciones como esta, si quieres saber el valor de dureza exacto, llama a la compañía que te surte el agua, o busca el valor en internet a ver si tienes suerte y encuentras los análisis.


FIN, dejad un comentario y puntuad la app en Aptoide si os ha gustado :D.