viernes, 28 de diciembre de 2018

Horno microondas de seguridad

Con esto de la domotica y de los electrodomésticos conectados he descubierto que si mi horno micro-ondas también es capaz de integrarse con mi sistema de seguridad. ¿Qué se puede conseguir? Para explicarlo tendría que contar qué tenía montado primero.

Entre otros elementos que tengo controlados con la domótica están las luces y la calefacción. Esto ayuda mucho a decidir que parezca que estoy en casa si me voy de viaje o poner la temperatura óptima cuando regrese. Recordemos que conseguir esa temperatura llevará su tiempo. Y ahí es donde quiero llegar. Temperaturas.

Si puedo controlar la temperatura de la vivienda,  tengo la alarma asociada a la domótica y además puedo asociar también el micro-ondas... Sí, así es: el que intente entrar en mi casa y no tenga tanto el PIN como el 2FA asociado teminará bien churruscaito.

Y, nos os voy a negar, ya ha sucedido una vez. Tenía una foto pero como ahora no la encuentro, os muestro un ejemplo de cómo quedó:

Intruso churrucado
Intruso churrucado

La foto original procede del blog Dulce Muffin: imagen.

Si queréis que cuente con más detalle cómo hice toda la integración, avisadme en estos comentarios. ¡Pero sólo hoy! ¿eh?

martes, 4 de diciembre de 2018

Tethering conectado sin Internet: me aparece el triangulo amarillo.

Hacía tiempo que me pasó pero justo ahora que había mucha necesidad no conseguía hacer funcionar el tethering del móvil Androd. No sé cómo, en poco tiempo, he conseguido poner las palabras clave en Google y en poco tiempo he encontrado una solución. El problema es que aunque había conexión hacia el móvil no salía hacia Internet mostrando el típico triángulo amarillo junto al símbolo de conexión.

Para poder solucionarlo hace falta tener las herramientas de Android instaladas: adb. En mi caso lo tengo en el path pero llegado el caso habría que estar en la misma carpeta donde las tengamos descargadas.

Una vez tengamos en teléfono conectado al ordenador y con el modo debug activado (como es mi caso) ejecutaremos:

adb shell

Así podremos acceder a la shell de nuestro móvil Una vez nos encontremos en la misma obtendremos los datos necesarios para solucionar el problema. Todo sea dicho: con el emulador de consola no funciona este procedimiento.

settings get global tether_dun_required

Que nos podrá devolver tres valores:

  • null: nunca ha sido configurado
  • 0: no avisar al proveedor que se está usando tethering.
  • 1: no lo encuentro. 
En mi caso me devolvía null.

Por lo que siguiendo las instrucciones que indicaban para cambiar el valor, le he puesto cero (0):

settings put global tether_dun_required 0

Ahora, y en mi caso sin necesidad de reiniciar (aunque en las instrucciones indican que se haga) he conseguido volver a usar la conexión del móvil desde el ordenador.

La fuente ha sido una respuesta de un foro del OnePlus.

martes, 30 de octubre de 2018

VMWare: Acceder al POST de la máquina virtual

Cuando estuve montando la máquina virtual que tantos problemas me dio también tuve la necesidad de accede al POST de la BIOS. El famoso Power On Self-Test. Y es una tarea que en unas cuantas ocasiones me ha hecho falta y no he sido capaz de realizar o me ha costado mucho encontrar cómo se hace. Así, me encontré con el enlace en el que explican cómo forzar que la pantalla del POST permanezca un tiempo determinado (y que te tiempo a pulsar la tecla adecuada si te hace falta) o que una única vez se acceda directamente a esta pantalla sin necesidad de pulsar dicha tecla (por ejemplo, DEL/SUPR).

Así, editando el fichero .vmx con la máquina virtual apagada y añadiendo alguna de las siguientes opciones podremos obtener nuestro objetivo:


  • bios.forceSetupOnce = "TRUE" : la siguiente vez que se encienda se accede directamente a la BIOS. Sólo lo hará una única vez. Para el resto de ocasiones, tocará volver a elegir entre algunos de estos procedimientos.
  • bios.bootDelay = "xxxx" : Donde el parámetro son los milisegundos que se mostrará el POST. El máximo tiempo permitido son 10 segundos (luego, 10.000 milisegundos, acordándose de no poner el separador de millar).

Espero que este proceso nos sea de ayuda en un futuro, sobretodo cuando no nos acordemos de cómo se hacían estas cosas.

[Update]

Actualizo con la aportación del compañero en la que SytAdm nos explica muchísimas más opciones para el acceso a la BIOS desde una máquina virtual. Muchas gracias!

domingo, 26 de agosto de 2018

Windows no puede finalizar la configuración del sistema

Tal y como comenté recientemente, instalé una máquina virtual con Windows 10 a la que le conseguí hacer un sysprep después de varios problemas al intentar lanzarlo. El caso es que ahora me he encontrado con otro problema. Al reiniciar la máquina para probar la instalación, a mitad de camino, me da otro error:

Windows no puede finalizar la configuración del sistema. Para intentar reanudarla, reinicie el equipo
Windows no puede finalizar la configuración del sistema. Para intentar reanudarla, reinicie el equipo
Aunque voy a enumerar las distintas opciones que he encontrado, ya hago un aviso a navegantes de que sólo he podido averiguar qué es lo que ha hecho que salga este error volviendo a instalar la máquina virtual.

Las posibles soluciones que he encontrado son:

  1. Modificar el registro: si bien en pei.com indican que se modifique la clave del registro setup en Computer\HKEY_LOCAL_MACHINE\SYSTEM\Setup\Status\ChildCompletion no me ha funcionado. Para poder abrir el regedit.exe se accede a una consola pulsando Shift+F10 (puede que toque hacer otras combinaciones).
  2. Con una consola, ejecutar tracerpt c:\Windows\Panther\setup.etl -o c:\carpetaAux\setupLogfile.csv -of CSV. Esto permitirá poder abrir el fichero de salida con el notepad (ejecutándolo también desde la consola). Si se le añade el parámetro -of csv nos lo convierte a este formato. Si tuviese algunas herramientas en la misma máquina podría tirar de ellas directamente (como csvviewer de Nirsoft)
tracerpt c:\Windows\Panther\setup.etl -o c:\carpetaAux\setupLogfile.csv
tracerpt c:\Windows\Panther\setup.etl -o c:\carpetaAux\setupLogfile.csv
Lo malo es que son tantos datos que puede ser muy difícil encontrar el problema. 
  1. En troubleshooter.xyz también hay unas cuantas acciones que se pueden hacer. 
  2. En HowISolve proponen abrir desde la ventana del mismo error una consola y, o bien desde c:\Windows\System32\oobe ejecutar msoobe.exe y crear un usuario o abrir una consola mmc y activar alguno de los administradores que se encuentran en el sistema. En mi caso, no he tenido éxito. Corrijo: mientras escribía estas líneas sin ver resultados se ha producido un cambio, posiblemente al ejecutar la primera opción (ya había tirado previamente a por la segunda). Sin embargo, después de muchas horas, no me ha funcionado.

Ninguna de estas opciones me ha funcionado. Por lo que he decidido seguir el consejo del último post de este enlace:

I create a [...] technician VM just before sysprepping [...], run Windows Update and update installed software like browsers and Office, then remove all installers and run Disk Clean-up to remove temp files, sysprep again [...] to replace my old one.

Although Windows Update works in Audit Mode, build and feature upgrades do not work. When I want to upgrade my image I sysprep it once with /generalize, /oobe and /reboot switches, create a dummy local admin account in OOBE, sign in to desktop to upgrade for instance with latest Insider build, when done run sysprep with /audit and /reboot switches to boot back to Audit Mode, remove the dummy user and its profile folder, remove all installers and run Disk Clean-up to remove temp files, sysprep again[...] to replace my old one.

Por lo tanto, ¿qué hice?:
  1. Hice una instalación nueva. 
  2. Actualización completa.
  3. Limpieza de Appx desde powershell
  4. Dism-Clean desde powershell: dism /online /Cleanup-Image /StartComponentCleanup /ResetBase
  5. Instalación de software: 
    1. Navegadores
    2. Notepad ampliado: El "plusplus", sublime... Uno de estos
  6. Un editor gráfico: photoshop, gimp...
  7. Compresor  / Desompresor: Zip, 7zip, Rar
Seguro que me dejo algún programa y algún paso intermedio, pero lo más importante de todo: por cada una de estas hice una copia de seguridad para después lanzar:

sysprep /audit /reboot

Al reiniciar, sólo tuve que eliminar el usuario de la instalación y su perfil tal y como recomendaban en el texto parafraseado. Una vez eliminados: 

sysprep /generalize /oobe /shutdown.

Lo más importante de todo: como se puede ver no he incluido el antivirus. Y es porque antes de instalarlo me hice una copia de seguridad. Si repetía este proceso con el antivirus me volvía a salir el error descrito arriba. Por lo tanto, y de momento, me tocará hacer la instalación de esta herramienta una vez instalada la imagen. El día entero de instalación de parches y pequeños programas me lo ahorro. 

Siento mucho no haber podido ayudar a arreglar el error directamente sin tener que reinstalar. 

domingo, 19 de agosto de 2018

Montar davfs con fstab

A ver si consigo escribir esta entrada en poco tiempo y que se entienda.

Hace tiempo que tenía configurado en una raspberry un Kodi con la distribución raspbian. Una de las configuraciones que tenía era que fstab se tenía que conectar contra un servidor ftp montando así la carpeta en local. Pero de repente, dejó de funcionar. Y así se quedó. Hoy, he conseguido recuperar el montaje, con la diferencia de que ahora se conectará por webdav. Y es la primera vez que lo he hecho. Espero no dejarme ningún dato imprescindible.

Lo primero, instalar davfs2:

# apt-get davfs2

A mi me ha preguntado si quería configurar el setuid para que todos los usuarios pudieran utilizar este tipo de sistema de ficheros (al fin y al cabo es como se comporta). Por mi parte lo he aceptado.

Después, hay que editar el fichero /etc/davfs2/secrets, indicando el punto de montaje, usuario y contraseña (por lo tanto, estarán en claro):

/mnt/puntoDeMontaje miUsuario elChorroConLaContraseña

¡Mucho ojo! Aquí me he vuelto loco porque en varios manuales me he encontrado con que indican

https://laUrlAlRecursoDeRed miUsuario elChorroConLaContraseña

Pero no me terminaba de funcionar. Si no es por SleeplessBeastIE no hubiera probado la primera opción que he indicado.

Ahora toca modificar fstab. Intentaré poner tal y como lo tengo, porque a decir la verdad, además de las diferencias con el tipo de sistema de ficheros, los parámetros básicos estándares que antes funcionaban ya no lo hacen:

https://laUrlAlRecursoDeRed /mnt/puntoDeMontaje davfs defaults,auto,ro,uid=1000,gid=1000,_netdev 0 0

Así, si estando como root ejecutamos:

mount -a

Al buscar datos en nuestro punto de montaje deberíamos de poder ver los datos esperados. Por mi parte, he probado reiniciando y en efecto, los recursos se han montado automáticamente.

Como de costumbre, habrá otras maneras de hacerlo pero en mi caso, y para mis necesidades, esto es suficiente.

domingo, 29 de julio de 2018

Sysprep no pudo validar la instalación de Windows

Estaba montando una instalación en una máquina virtual y la quería "generalizar" con la herramienta sysprep para poder hacer la típica una imagen que después permite adelantar trabajo a la hora de hacer futuras instalaciones. 

Al ejercutar dese una consola con permisos administrativos:

sysprep /oobe /generalize /shutdown /unattend:rutaUnattend.xml

me salio una ventana informativa (con la "i" azul) con el mismo mensaje del título de este post:

Sysprep no pudo validar la instalación de Windows

Me forzaba a buscar en la ruta %windir%\Panther\setupact.log, pero la verdad, un fichero de texto tan largo y con tanto contenido iba a ser imposible saber qué tenía que buscar. Por lo tanto, una búsqueda rápida en Google me llevó a un vídeo de pantallazos.es en el que explicaban qué hacer. A saber:

  1. Arrancar una consola de powershell con permisos administrativos.
  2. Importar módulo: Import-Module appx
  3. Importar otro módulo: Import-Module dism
  4. Desinstalar programas que vienen al instalar Windows: Get-AppxPackage | Remove-AppxPackage
A pesar de que saldrán errores con este último comando, al finalizar, ya podremos lanzar una vez más sysprep sin problemas. 

miércoles, 11 de julio de 2018

FreePBX y downgrade (accidental)

Llevaba mucho tiempo sin escribir y quiero aprovechar que hace unos días metí la gamba a la hora de gestionar los módulos del FreePBX que muchos ya sabéis tengo instalada, quería escribir cómo lo he arreglado para acordarme la siguiente vez que vuelva a tropezar sobre esa piedra.

Lo que hice fue lanzar un downgrade del FreePBX Framework de la versión 14 a la 13. El resumen es que me arrepentí cuando vi lo que había hecho y cuando lo paré, ya era demasiado tarde.

Modulo FreePBX Framework - Upgrade
Modulo FreePBX Framework - Upgrade

En el botón que me indica "upgrade" me ponía "downgrade". ¡Y lo seleccioné!

¿Cómo conseguí solucionarlo?

Buscando primero el módulo en la imagen .img o .iso desde donde se volcó el sistema que instalamos en la tarjeta SD de la raspberry.

FTK para extraer el módulo framework para FreePBX.
FTK para extraer el módulo framework para FreePBX.

Una vez extraído, lo vamos a subir por SFTP a nuestra carpeta /home del sistema que vamos a reparar. Recordemos dónde se guardan los módulos:

/var/www/html/admin/modules/framework/

Lo primero: crearemos una carpeta de seguridad para copiar los ficheros que se encuentran en la ruta del módulo:

mkdir localModuleFramework
cp -fR /var/www/html/admin/modules/framework/*.* ./

Habrá que elevar privilegios.  Y ahora toca machacar los datos de la carpeta (creo recordar que lo copie así, ojo, que podría dejarme algún parámetro):

cp -fR./carpetaConFramework/*.* /var/www/html/admin/modules/framework/


Y ahora hay que hacer la reinstalación. Como con el desaguisado que hemos montado no podremos usar la interfaz web tocará solucionarlo con la consola. Para ello usaremos la herramienta fwconsole.

fwconsole ma install framework

Una vez ha terminado de instalarlo, lo mejor será hacer el reload desde la misma consola:

fwconsole reload

Así es como he conseguido reinstalar el framework que, dicho sea de paso, no encontré otra forma de reinstalarlo.