viernes, 30 de octubre de 2020

SensaMe: Esta aplicación puede salvarte la vida


QUÉ ES SENSAME

SensaMe es una aplicación gratuita que 'siente' los movimientos de tu teléfono.

La mayoría de smartphones incorporan sensores que permiten medir entre otras cosas la posición, rotación, ángulo de giro y aceleración del dispositivo, y se utilizan en aplicaciones como realidad aumentada o juegos. SensaMe utiliza esta información para determinar si tu dispositivo ha recibido un fuerte impacto y en caso de que así sea, envía por SMS un mensaje con tú ubicación a las personas que hubieras indicado.

sábado, 24 de octubre de 2020

Cómo instalar driver para Realtek RTL8812BU en Ubuntu

Recientemente he adquirido un dispositivo WiFi en formato USB 3.0 el cual indica ser compatible con Linux.
Aunque en los sistemas operativos soportados de la caja no lo especifica, en el manual que le acompaña así lo afirma y en el CD de drivers existe una carpeta específica para Linux.
Existen dos carpetas en función del chip utilizado y aunque no hay referencia alguna a cúal es el que monta este, se trata de un Realtek RTL8812BU.
Le acompaña un readme.txt el cual explica de manera no muy sencilla el proceso de instalación, pero esta no funciona. En su lugar este enlace da pistas de cómo proceder.

Estos son los pasos para Ubuntu -probado en 20.04-:
  • Necesitamos conexión a Internet para obtener los archivos necesarios.
  • Abrimos una terminal y nos vamos a una carpeta cualquiera de /home, por ejemplo /home/rtl8812bu
  • Entramos en esa carpeta y tecleamos lo siguiente:
    • sudo apt-get update
    • git clone https://github.com/cilynx/rtl88x2BU_WiFi_linux_v5.3.1_27678.20180430_COEX20180427-5959
    • cd rtl88x2BU_WiFi_linux_v5.3.1_27678.20180430_COEX20180427-5959
    • VER=5.3.1
    • sudo rsync -rvhP ./ /usr/src/rtl88x2bu-${VER}
    • sudo dkms add -m rtl88x2bu -v ${VER}
    • sudo dkms build -m rtl88x2bu -v ${VER}
    • sudo dkms install -m rtl88x2bu -v ${VER}
    • sudo modprobe 88x2bu
  • Si conectamos el USB deberá detectarlo y en conectividad aparecerá el módulo WiFi desde el cual podremos conectarnos a reder 2.4 y 5 GHz
Para acabar de verificar que todo funciona, solo tenemos que reiniciar el equipo y verificar que sigue siendo detectado por Linux

Nota: después de actualizar a Ubuntu 20.10, el driver deja de funcionar por lo que debe ser reinstalado

Para ello, primero deberemos limpiar del sistema el driver anterior:
  1. Nos vamos a la carpeta /var/lib/dkms y borramos la subcarpeta rtl****
  2. Nos vamos a la carpeta lib/modules/KERNEL_VERSION/updates/dkms/ y borramos el archivo rtl***.ko
  3. Finalmente: sudo /sbin/depmod -a 
  4. Reiniciamos

Otra fuente probada en Ubuntu 20.10 con kernel 5.8.0-25- generic es esta
sudo apt update
sudo apt -y install dkms git bc
git clone https://github.com/fastoe/RTL8812BU.git
cd RTL8812BU
VER=$(sed -n 's/\PACKAGE_VERSION="\(.*\)"/\1/p' dkms.conf)
sudo rsync -rvhP ./ /usr/src/rtl88x2bu-${VER}
sudo dkms add -m rtl88x2bu -v ${VER}
sudo dkms build -m rtl88x2bu -v ${VER}
sudo dkms install -m rtl88x2bu -v ${VER}
sudo modprobe 88x2bu
sudo reboot
Pero NO funciona, dando errores de compilación.
Es necesario modificar las siguientes líneas de código:
  • /usr/src/rtl88x2bu-5.6.1/include/rtw_security.h
    /*struct sha256_state {
    u64 length;
    u32 state[8], curlen;
    u8 buf[64];
    };*/

  • /usr/src/rtl88x2bu-5.6.1/os_dep/linux/ioctl_cfg80211.c
            //.mgmt_frame_register = cfg80211_rtw_mgmt_frame_register,