Categoría: tethering

  • Guía Completa: Cómo usar Bluetooth Tethering en Linux (en 2025)

    No solo de wifi vive el computador

    Una solución paso a paso basada en experiencia real con mi Xiaomi Redmi Note 13 Pro + Debian GNU/Linux

    El Problema Original

    Necesitábamos internet para reinstalar un driver WiFi, pero:

    • USB tethering estaba deshabilitado en el teléfono
    • Sin acceso Ethernet
    • Driver WiFi no funcionaba

    Solución: Bluetooth Tethering

    Paso 1: Preparar el sistema Linux

    bash

    # Instalar herramientas Bluetooth
    sudo apt install bluetooth bluez-tools net-tools
    
    # Iniciar y habilitar el servicio
    sudo systemctl start bluetooth
    sudo systemctl enable bluetooth

    Paso 2: Configurar el teléfono Redmi

    Descubrimientos clave:

    1. Activar datos móviles – El tethering Bluetooth requiere datos activos
    2. Ir a: Ajustes > Conexión y uso compartido > Anclaje a red y zona Wi-Fi
    3. Activar «Anclaje a red Bluetooth»ANTES de emparejar
    4. Cambiar nombre del dispositivo a algo identificable ayuda

    Paso 3: Emparejamiento desde Linux

    bash

    # Iniciar bluetoothctl
    bluetoothctl
    
    # Dentro de bluetoothctl:
    power on
    agent on
    scan on
    # Esperar a ver el dispositivo...
    
    devices
    # Buscar tu teléfono en la lista
    
    pair [MAC_ADDRESS]
    trust [MAC_ADDRESS]  
    connect [MAC_ADDRESS]

    Paso 4: El truco crucial – bt-network

    Problema común: Bluetooth se conecta pero no crea interfaz de red.

    bash

    # Mientras está conectado en bluetoothctl, en otra terminal:
    sudo bt-network -c [MAC_ADDRESS] nap
    
    # Verificar interfaz
    ip link show
    # Deberías ver bnep0 o similar
    
    # Configurar DHCP
    sudo dhclient bnep0

    Paso 5: Verificar conexión

    bash

    ip addr show bnep0
    ping -c 3 8.8.8.8

    Problemas Comunes y Soluciones

    1. «Network service is connected, and then disconnected»

    • Causa: Anclaje Bluetooth no activado en el teléfono
    • Solución: Activar antes de conectar

    2. No se crea interfaz bnep0

    • Causa: Falta servicio PAN
    • Solución: Usar bt-network o pand

    3. No se puede identificar el dispositivo

    • Truco: Apagar/encender Bluetooth del teléfono durante scan on
    • Identificar por MAC: Ver en ajustes del teléfono

    4. Conexión muy lenta

    • Normal: Bluetooth 2.1-3.0 ~ 3 Mbps
    • Solución: Paciencia para updates pequeños

    Comandos Útiles para Diagnóstico

    bash

    # Ver estado Bluetooth
    sudo systemctl status bluetooth
    rfkill list all
    
    # Ver dispositivos emparejados
    bluetoothctl devices
    
    # Ver información de conexión
    bluetoothctl info [MAC]
    
    # Forzar reconexión
    sudo systemctl restart bluetooth

    Flujo de Trabajo Optimizado

    1. Teléfono: Activar datos + anclaje Bluetooth
    2. Linux: bluetoothctl → pair → trust → connect
    3. Linux: bt-network -c [MAC] nap
    4. Linux: dhclient bnep0
    5. Verificar: ping 8.8.8.8

    Conclusión

    El Bluetooth tethering es una herramienta de rescate que es como oro en paño cuando fallan otros métodos de conexión. La clave está en:

    • Pre-configurar el teléfono correctamente
    • Usar bt-network en lugar de confiar solo en bluetoothctl
    • Tener paciencia con la velocidad limitada

    Esta solución nos permitió descargar paquetes críticos y resolver el problema real del driver WiFi, demostrando que incluso conexiones lentas pueden ser suficientes para tareas administrativas esenciales.

  • Conectar tu ordenador a Internet haciendo USB Tethering con Android.

    USB Tether Android con Linux

     

    Lo que nos hace falta es la aplicación para Android: AziLink app,  el programa «adb»  del Android SDK, y OpenVPN. Con éste metodo no se necesita «root» en el teléfono.

    Instalar openvpn.

    # apt-get install openvpn 

    Instalar el Android SDK para obtener el programa adb.

    # cd /usr/local/
    # wget http://dl.google.com/android/android-sdk_r10-linux_x86.tgz
    # tar xzvf android-sdk_r10-linux_86.tgz # ln -s android-sdk-linux_86/tools/adb /usr/local/bin/

    Notificar a udev  el USB vendor ID del teléfono. Esto se hace creando un fichero de reglas de udev. Cambia USERNAME por el nombre de tu usuario.

    El USB vendor ID de tu teléfono puedes saberlo, tecleando «lsusb» cuando hayas conectado el teléfono por el cable USB. En el caso del Spica es «04e8»

    /etc/udev/rules.d/51-android.rules

    SUBSYSTEM=="usb", ATTRS{idVendor}=="04e8", SYMLINK+="android_adb", MODE="0666", OWNER="USERNAME"

     

    # /etc/init.d/udev restart

    Habilitar la «Depuración de USB» en el teléfono en el menú Ajustes -> Aplicaciones -> Desarrollo -> Depuración de USB . Conectar ahora el cable USB.

    Comprobar que el teléfono ha sido reconocido

    $ adb devices

    Instalar AziLink en el teléfono a traves de adb:

    # cd /usr/local/bin/
    # wget http://azilink.googlecode.com/files/azilink-2.0.2.apk
    # wget http://azilink.googlecode.com/files/azilink.ovpn
    # adb install -r azilink-2.0.2.apk

    Crear una configuración de dns para la conexión.

    /etc/resolv.conf.azilink

    domain lan
    search lan
    nameserver 192.168.56.1

    Crear un shell script para arrancar adb y openvpn.

    /usr/local/bin/azilink.sh

    adb forward tcp:41927 tcp:41927
    sudo cp /etc/resolv.conf.azilink /etc/resolv.conf
    sudo openvpn --config /usr/local/bin/azilink.ovpn

    Convertir el script en ejecutable:

    # chmod +x /usr/local/bin/azilink.sh

    Dar acceso de sudo a tu usuario añadiendo la siguiente línea en /etc/sudoers, reemplazando USERNAME con tu login.

    USERNAME     ALL=(ALL)       ALL

     

    Despues de todo esto, sólo hay que desconectar cualquier otra conexión por cable o wifi que pudiera tener el ordenador y arrancar Azilink en el teléfono.  Ejecutar azilink.sh en el ordenador con tu usuario habitual.

     

    Fuente: http://idolinux.blogspot.com/2010/06/usb-tether-android-with-linux.html

Creative Commons License
Except where otherwise noted, the content on this site is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.