Creo identificar al menos dos soluciones:
- Cambiar de hardware por alguno que soporte al menos la conexión a dos dispositivos, esto es que el mismo hardware pueda recordar las credenciales de conexión con al menos dos dispositivos.
- Compartir las credenciales de conexión entre los dos sistemas operativos, para el caso son Windows 10 y Ubuntu Mate 17.04.
Como la primera solución no requiere de mayor detalle, vamos a detallar los pasos para la segunda solución:
- Instalar tanto el mouse como el teclado en el equipo con Ubuntu y luego en el equipo con Windows 10, finalmente regresar a Ubuntu y seguir con los pasos.
- Ya estando en Ubuntu instalar la aplicación chntpw, con el siguiente comando en la terminal:
sudo apt-get install chntpw - Montar la unidad de disco donde se encuentra en sistema operativo Windows 10.
- Dirigirse a la siguiente ruta
cd /media/<usuario>/<id dispositivo>/Windows/System32/config - Una vez en la ubicación ejecutar lo siguiente:
chntpw -e SYSTEM - Haciendo uso de ls y cd, llegar a la siguiente ruta, o a la más aproximada
ControlSet001\Services\BTHPORT\Parameters\Keys - Finalmente con ls y la instrucción hex visualizar lo siguiente:
(...)\Services\BTHPORT\Parameters\Keys> ls
Node has 1 subkeys and 0 values
key name
<mac bluetooth del equipo> - La entrada encontrada corresponde al número mac de la interfaz bluetooth del equipo anfitrión, en este caso se trata de la interfaz bluetooth de mi laptop.
- Para este caso, internamente deben haber al menos dos entradas, cada una corresponde a la mac de los dispositivos (teclado y mouse) los cuales necesito exportar a Ubuntu para su uso, veamos uno de los casos.
(...)\Parameters\Keys\<mac host>\<mac dispositivo>> ls
Node has 0 subkeys and 9 values
size type value name [value if type DWORD]
16 3 REG_BINARY <LTK>
4 4 REG_DWORD <KeyLength> 0 [0x0]
8 b REG_QWORD <ERand>
4 4 REG_DWORD <EDIV> 5908 [0x1714]
16 3 REG_BINARY <IRK>
8 b REG_QWORD <Address>
4 4 REG_DWORD <AddressType> 1 [0x1]
16 3 REG_BINARY <CSRK>
4 4 REG_DWORD <AuthReq> 5 [0x5] - Para ver cada una de las entradas a estos elementos basta con el comando hex, su uso es sel siguiente:
(...)\Parameters\Keys\<mac host>\<mac dispositivo>> hex LTK
Value <LTK> of type REG_BINARY (3), data length 16 [0x10]
:00000 DC FF 0B 6E 68 89 66 CE 7B 47 59 49 DF F7 ED A0 ...nh.f.{GYI.... - La parte importante son los 16 pares de números hexadecimales que definen el valor de la entrada.
- Ahora, a transferir la data, para eso en otra terminal
cd /var/lib/bluetooth
sudo su - Necesitamos acceso administrativo (root) para poder seguir adelante:
cd <mac host>
ls - Acá es donde podemos ver las macs de los dispositivos como nombres de carpetas, lean bien los números y comparenlos con los consignados en el registro de windows, ya que existen ligeras diferencias, que serán corregidas así:
mv <mac dispositivo linux> <mac dispositivo windows> - Luego entramos a la carpeta renombrada (mac dispositivo windows) y vemos que sólo hay dos archivos, uno es info y el otro es attributes, nos interesa info.
- Editamos el contenido de info por consola con:
nano info - De lo siguiente nos interesa modificar varias cosas:
[IdentityResolvingKey]
Key=15A6A585B495F4AD799016629C9EAB0F
[LocalSignatureKey]
Key=732CB4C379E52E795C5F0F4DA98A1993
Counter=0
Authenticated=true
[LongTermKey]
Key=DCFF0B6E688966CE7B475949DFF7EDA0
Authenticated=1
EncSize=16
EDiv=5908
Rand=12270735187039466977 - Ya estamos cuesta abajo, lo que debemos hacer ahora es mapear lo siguiente:
- El valor IRK se coloca sin espacios en el valor de [IdentityResolvingKey]
- El valor LTK se coloca sin espacios en el valor de [LongTermKey]
- El valor CSRK se coloca sin espacios en el valor de [LocalSignatureKey]
- El valor EDIV se coloca en el valor de EDiv
- Ya casi... ahora con mucho cuidado reemplazar el valor de Rand.
- Para el valor Rand, se usa el valor de ERand, el cual está en hexadecimal y debe ser invertido en pares (A5 32 C4...) pasa a ser (...C432A5), y se calcula su valor decimal, dicho número decimal se coloca en Rand.
- Finalmente reiniciar Ubuntu y se deberían emparejar solos ambos dispositivos, claro que hay que seguir los pasos desde el 14 dos veces para ambos dispositovos.
Listo, con esto tenemos nuestro hardware bluetooth conectado a dos sistemas operativos en la misma máquina, la verdad no lo he probado con parlantes, sólo con el mouse y teclado de Microsoft Designer Bluetooth Desktop. No olviden escribir para saber como les fué.
Fuentes:
- https://unix.stackexchange.com/questions/255509/bluetooth-pairing-on-dual-boot-of-windows-linux-mint-ubuntu-stop-having-to-p
- http://console.systems/2014/09/how-to-pair-low-energy-le-bluetooth.html
No hay comentarios:
Publicar un comentario