MeltIT
22Feb/140

VirtualBox: Conectar host a invitado

Estoy probando sistemas operativos por virtualización. Hoy estaba instalando Gentoo y quería conectarme mediante SSH (host: Arch Linux).

Aquí surgió un problema, obtenía un "Connection refused" al intentar conectarme. Lo mismo los pings no respondían.

Encontré el problema: La placa de red viene configurada en NAT por defecto. Con lo cual, desde el invitado (guest) si podía hacerle ping al host.

Hay dos opciones de configurar para hacer la conexión.

Reenvío de puertos:

Dentro de Configuración > Red.

El adaptador debe estar en "Conectado a: Nat". Luego en Avanzadas, está el botón Reenvío de puertos. Aquí se configura una redirección de un puerto del invitado hacía un puerto local para el Host (anfitrión):

  • Nombre: Una etiqueta para la regla.
  • Protocolo: TCP/UDP. Probablemente sea TCP (ej, SSH, httpd), pero dependé del programa que se quiera conectar.
  • IP anfitrión: La IP a la que apuntaremos en el Host para conectarnos. Utilizaremos: 127.0.0.1.
  • Puerto anfitrión: El puerto al que deberá conectarse el host, por ej 2222.
  • IP invitado: La dirección IP del invitado, a donde apuntará la conexión que se realize en el host, por ej 10.0.2.15.
  • Puerto invitado: El puerto destino. Ej. SSH es 22, o httpd 80.

Este método permite agregar reglas para puertos específicos. En el ejemplo utilizado para SSH, bastará luego conectarse desde el host mediante ssh -p 2222 root@127.0.0.1

Adaptador sólo-anfitrión:

Para mantener la conexión a internet, deberemos agregar un adaptador adicional. Este pondrá a ambas maquinas en una red, ambos sistemas tendrán un adaptador de red adicional.

Primero tendremos que crear una red para esta tarea. Dentro de Archivo > Configuración > Red > Redes solo-anfitrión. Allí, sobre la derecha el botón Agregar red sólo-anfitrión. Esto creará una nueva red y un adaptador de red virtual en el host, con mismo nombre, por ej vboxnet0. Se puede editar la red para asignarle una dirección IPv4 y/o IPv6 al host y configurar los parámetros del servidor DHCP que le servirá IPs al invitado.

Luego hay que ir a ConfiguraciónRed de la maquina virtual. Si se quiere preservar la conexión a internet, deberemos añadir un dispositivo adicional, dirigiéndonos a la solapa por ej. Adaptador 2. Allí cambios Conectado a: Adaptador sólo-anfitrión. En nombre hay que ingresar el de la red que creamos, por ej vboxnet0.

Cuando iniciemos la maquina está tendrá un adaptador de red adicional, con DHCP habilitado, la IP de está será la cual el host verá. Así mismo, el Host tendrá un dispositivo de red adicional bajo el mismo nombre de la red, y la IP de esté será la que usará el invitado para comunicarse.

Troubleshooting:

Para realizar el segundo método, se deberá haber cargado los módulos del Kernel vboxnetadp y vboxnetflt. O de lo contrarió aparece un error:

Fallo para crear la interfaz de red anfitrión.
VBoxNetAdpCtl: Error while adding new interface: failed to open /dev/vboxnetctl: No such file or directory.

Un método es cargarlos manualmente, ej. modprobe -a vboxnetadp vboxnetflt. O para que ya se carguen al inicio del sistema, se puede crear un archivo en /etc/modules-load.d/virtualbox.conf (el nombre del .conf es a elección), y dentro de este las líneas:

vboxdrv     #Este carga el driver the virtualbox
vboxnetadp  # Este y el de abajo son relacionados a la red sólo-anfitrión.
vboxnetflt

27Apr/130

Desactivar barras laterales (Charms y Aplicaciones) en Windows 8

Windows 8 introduce dos barras nuevas a los costados de la pantalla. Estas son activables mediante la ubicación del mouse en las esquinas derecha e izquierda de la pantalla. Si bien adhieren cierta funcionalidad al sistema, no son imprescindibles, y a falta de los accesos con el mouse uno puede acceder a estas mediante atajos de teclado.

Las Barras

La barra Charms, ubicada a la derecha, añade un conjunto de opciones más bien pensado para la interacción de las Windows 8 Apps, desde un control estilo tablet. Cabe destacar que la opción de Preferencias es bastante útil por los atajos que brinda, a por ejemplo el panel de control, apagado de sistema, etc.

El atajo de teclado para acceder es <Tecla de Windows> + C.

 

La barra de Aplicaciones, es una suerte de Alt+Tab (cambiador de ventanas), pero que muestra únicamente las aplicaciones de Windows 8 y el escritorio. Personalmente, suelo utilizar el atajo para cerrar una ventana de darle doble click al icono en el titulo de la ventana, que se encuentra sobre la izquierda. Lo cual esta nueva barra, me impedía la rápida ejecución, y su funcionalidad tampoco me era útil, por lo cual decidí sacarla.

El atajo de teclado para acceder es <Tecla de Windows> + <Tab>.

Como remover/quitar/desactivar las barras laterales

1) Para ambas vamos a necesitar utilizar el Editor del Registro. Puede acceder a este mediante:

Dialogo ejecutar: <Tecla de Windows> + R; allí escriben regedit y presionan enter.

Inicio: Abrir el menú inicio, y escribir regedit, lo cual hará que se genere una búsqueda, y luego presionar enter.

 

2) Una vez en el editor del registro, buscar la clave HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ImmersiveShell\

3) Boton derecho en ImmersiveShell -> Nuevo -> Clave, nombrarla "EdgeUI". Posicionarse dentro de esta clave.

 

Para desactivar la barra derecha "Charms":

4.a) Boton derecho en EdgeUI -> Nuevo DWORD (32-bit)

4.b) Le damos de nombre DisableCharmsHint.

4.c) Luego de creada, doble click a esta nueva DWORD, y le ponemos de valor 1. (Esto significa que deshabilita el atajo con el mouse)

 

Para desactivar la barra izquierda "Aplicaciones":

5.a) Boton derecho en EdgeUI -> Nuevo DWORD (32-bit)

5.b) Le damos de nombre DisableTLcorner.

5.c) Luego de creada, doble click a esta nueva DWORD, y le ponemos de valor 1. (Esto significa que deshabilita el atajo con el mouse)

 

6) Reinciar el sistema.

 

Nota: Se puede seguir accediendo a ambas barras mediante los atajos de teclado mencionados arriba.

27Apr/136

Registrar MSCOMCTL.OCX en Windows 8 x64

MSCOMCTL.OCX es un archivo de tiempo de ejecución, utilizado en aplicaciones de Visual Basic 6.

Un sistema Windows 8 no lo trae por defecto; aquí les dejo el archivo y su instalación.

 

Archivo MSCOMCTL.OCX

El archivo yo lo tenía de mi anterior sistema, se lo brindo aquí: MSCOMCTL.OCX.

 

Instalación:

Extraer del .rar descargado, el archivo MSCOMCTL.OCX y ubicarlo en C:\Windows\SysWOW64

Luego, abrir una Consola (cmd - Command Prompt) con permisos de administrador. En Windows 8, se puede abrir mediante: <Tecla de Windows>+X, y ahí seleccionar del menú, Consola con permisos de Administrador.

En el cmd, solo hace falta una línea: regsvr32.exe "C:\Windows\SysWOW64\MSCOMCTL.OCX"

Que lo que hace es registrar esta librería, así las aplicaciones la pueden utilizar.

Filed under: Windows 8 6 Comments
29Jun/100

How-to: iPhone iOS4 + Jailbreak @ iPhone 3GS [sn0wbreeze]

He terminado de actualizar mi iPhone 3GS al iPhone OS4 (iOS4). No tan fácil como con el Spirit, pero igual es simple.

Mini-analisis del iOS4:

Hasta ahora apenas lo he probado. Debo destacar que parece ser más veloz. Por otro lado, las carpetas son comodas. Eso, y sumado a todo lo nuevo, en teoría es para mejor.

Recordar que el contenido del iPhone es borrado, recomiendo hacer back-up. A mi la sincronización del iPhone, posterior a la instalación del nuevo sistema, me dejo todo como antes (programas, contactos, fotos, notas, etc).

Como hacer el Jailbreak:

Tenía mi iPhone 3GS con OS3.1.2 y jailbreak del blackra1n. En primera instancia, me baje el f0recast, programa el cual, al tener el iPhone conectado, te dice si, dependiendo tu versión de bootrom (el mio es de los primeros), si es posible actualizar+jailbreak. En mi caso:

(Dice Firmware: 4.0 porque ya actualice).

Si se puede entonces, el siguiente paso es descargar el sn0wbreeze (misma pagina que el f0recast) y el firmware del iOS4. Yo los descargue de esta web (son los links a los servers de Apple igual).

Parcheando el firmware con sn0wbreeze:

Abrimos el sn0wbreeze y nos va a mostrar una advertencia. Le damos OK y luego siguiente.

Seleccionamos Simple Modo (Modo Simple) y siguiente.

Luego nos pide que seleccionemos el firmware, le damos click a BROWSE y lo buscamos donde lo hemos descargado (ej, Escritorio). Nota: El firmware modificado se va a guardar en el escritorio. Procurar tener espacio libre disponible en el disco C:, ya que sino no va a haber errores pero el firmware va a estar mal, recomendado 1.5GB+. Despues de seleccionado el firmware, nos va a mostrar una advertencia. Basicamente, dice que necesita que el iPhone este previamente jailbreakeado. Y que no se puede usar sn0wbreeze con SPIRIT. Yo tenia blackra1n de jailbreak y verifique con f0recast que pueda realizar el jailbreak, asi que no tenía problema.

Clickeamos "I UNDERSTAND". Va a decir que el IPSW (archivo del firmware) fue verificado y que clickeemos next. Paso siguiente, nos pregunta si queremos hacerle hactivation. Yo le puse que si.

Ahora va a comenzar un proceso automatizado. No debemos hacer nada hasta que finaliza.

Restaurando el iPhone al iOS4 / Instalación del iOS4:

Nota: Yo tenia iTunes 9.0 y me fallaba el proceso (luego de que el iPhone entraba en modo recuperación). Procedi a instalar iTunes 9.1 y funciono perfectamente.
Conectamos el iPhone, de querer, hacer una sincronización, por lo menos a mi asi me guardo los datos a mi. Igual por las dudas si se quiere hacer backup de contactos.
Vamos sobre la barra izquierda al iPhone y le damos SHIFT+CLICK en el boton RESTAURAR. Navegamos hacía donde habíamos descargado el firmware, y deberia estar ahi el nuevo firmware con sn0wbreeze. En mi caso, sn0wbreeze_iPhone 3GS.ipsw.

Terminando

Luego de que se completa el proceso, en el iTunes aparecera si se desea restaurar el iPhone a algún backup (de haberlo), que serían las aplicaciones/contactos.

PoC:

Filed under: iPhone No Comments
30Mar/103

Windows Vista/7: Localhost web server slow access (apache, others)

El otro día instale un servidor HTTP Apache en Windows 7. A mi sorpresa, cada vez que intentaba acceder, demoraba unos segundos en resolver el nombre, y luego cargaba la página. Como no lo utilice mucho, no le preste demasiada atención, aunque era demasiado lento por ser un servidor en la misma computadora.

Ayer, un amigo instalo el WAMP y tuvo el mismo problema en un Windows 7 recien instalado.

Luego probe acceder mediante 127.0.0.1, ó, ya que tengo instalado un Adaptador Loopback de Microsoft, mi IP de internet. Para mi sorpresa, en ambos casos cargo instantaneamente (como debiera ser con localhost). Se me ocurrio que podía llegar a ser algo con la resolución del nombre. Me fui al archivo hosts, C:\Windows\system32\drivers\etc\hosts. A mi sorpresa, encontre que decía:

# localhost name resolution is handled within DNS itself.

Y la línea 127.0.0.1 localhost, estaba comentada, ya que como dice la línea anterior, el localhost lo maneja el DNS ahora, al parecer.

La solución:

Basta con DEScomentar la línea 127.0.0.1 localhost, esto es, borrarle el # al inicio, y el problema esta solucionado. Al parecer, el DNS se demora, y esto produce que el acceso sea lento.

17Mar/104

iPhone/RockApp: Uso de CPU alto – Se esta quedando sin espacio [high cpu usage sys]

Hoy por la tarde, venía escuchando música en el auto a traves del iPhone. En un momento me bajo del auto, y cuando vuelvo a subir, veo que no arranca la música. Al chequear, veo que el iPhone se había reiniciado, ya que estaba la manzana de Apple. Tardaba bastante en iniciar, pero finalmente lo hizo. Horas más tarde, cuando intente ver la hora, veo que me aparece que estaba descargado y que debía conectarlo. Un hecho raro ya que siempre me sobra bateria y no lo había usado practicamente al telefono en el día. Procedo a hacerlo, y nuevamente se demoraba en iniciar.

(La solución esta al final, precede el relato y explicación)

El problema de la bateria:

Procedo a conectarme por SSH, y utilizar top, ya que imagine que si la batería se había descargado, era por uso de CPU anormal (elevado). A mi sorpresa, veo que el mayor porcentaje era de sys, algo como el 75% y un 25% de user. Ningún proceso llegaba a tales numeros, el único era top con 5%. Luego veo en el telefono un mensaje (pop-up) que dice "Aviso" y que hay poco espacio disponible, que elimine fotos. Con df, me doy cuenta que el espacio utilizado de /private/var/ era del 100%, ergo el mensaje era correcto.

El problema del espacio y donde:

El uso de CPU en sys, me decía que por alguna razón estaba ligado a la falta de espacio en disco, ya que no era un proceso utilizando CPU. Mediante WinSCP, fui triangulando que carpetas podían tener el espacio utilizando. Primero elimine una serie de aplicaciones, ya que sino no podía encontrar la fuente donde crecía el/los archivos. Teniendo espacio disponible podía monitorear por cambios.

En WinSCP, mediante Properties (F9) y clickeando Calculate, obtengo el espacio utilizado por carpeta. Estando sobre /private/var, identifique mobile como la carpeta utilizando más espacio (Nota, es lógico, ya que el contenido como Aplicaciones y Media [música], se encuentra ahí, pero el resto de las carpetas tenía un tamaño muy chico como para ser la raíz del problema). Luego, carpeta por carpeta, y revisando dos veces cada una (ya que el tamaño crecia más de 1 vez por segundo, verificado con df), vi que era Library. Dentro de esta, realize lo mismo, y encontre que era la carpeta RYP (Rock Your Phone = RockApp). La primera carpeta que procedi a examinar era logs (si algo tiende a crecer, es un log). Y en efecto, vi un log que crecia a cada segundo.

Hecho intersante: Hacía bastante que no utilizaba RockApp, y de hecho no lo había utilizado hoy cuando sucedio el problema. De hecho, el log tenía fecha de hoy (rockapp_2010-03-16.log), una falla de un daemon seguramente, ya que no utilice la aplicación. El contenido del log era: "HORA: Wrote Zero Bytes".

La solución:

El log en /private/var/mobile/Library/RYP/logs/ y ahi el archivo es rockapp_FECHA.log es el cual crece en tamaño hasta que no hay más espacio. La solución consiste en eliminar este archivo y luego con espacio disponible, actualizar el RockApp. Por último, reiniciar el iPhone.

Tambien encontre en Google, el tema en BigBoss

Filed under: iPhone 4 Comments
3Mar/101

Linux/Debian 5: Realtek RTL8139D ethernet drivers (8139D)

Hoy estaba instalando Linux, Debian 5 Lenny (i386), en una PC vieja, una Vectra VE. En esta, tengo una placa de red PCI. Según lspci, Hangzhou Silan Microelectronics RTL8139 [REALTEK] (rev 01). Según observo el controlador (fisico), leo RTL8139D.

El problema fue que en el instalador no me reconocía la placa de red. Me ofrecía una lista para seleccionar. Lo primero que hice fue ver la placa fisicamente, a ver que controlador veía, encontre el que menciono arriba. En la lista, encuentro dos opciones para el 8139, el correcto parece ser 8139too, pero el mismo falla (sigue pidiendome el controlador).

Con ALT+F2, accedo a una consola. Procedo a utilizar lspci y me encuentro con que aparece la placa de red, como mencione al inicio del post. Realizo un modprobe 8139too, y observo el dmesg, y me encuentro con que carga el módulo, pero al parecer sigue sin funcionar.

Una busqueda en google (rtl8139D debian), encuentro un resultado, un tanto extraño, ya que al parecer esta explicado así nomás y no parece muy real. No obstante, lo que menciona en el título es, rtl8139D = sc92031. Al ver esto lo que pienso es que el módulo que debo buscar es sc92031, el problema es que no esta inclúido en el CD de Debian.

Obteniendo el .ko (kernel object, module):

(A continuación relato como lo obtuve, adaptando esto se puede encontrar como obtener el controlador para otras arquitecturas, de no interesar, más abajo proporciono el link directo al .ko [aunque para i386 (32bits) únicamente])

Siguiendo en el post ese que encontré, veo la línea deb http://debian.torredehanoi.org/debian lenny main contrib non-free, la cual hace referencia a un repositorio Debian (en este caso, replíca oficial). Deduzco que es posible que el archivo que estoy buscando se encuentre ahí.

(En un futuro hare una guía simple de como explorar manualmente estos archivos) Entro mediante el navegador web ( link ), y navego hacía la raíz. Veo el archivo Contents-i386.gz (que es un archivo comprimido y adentro tiene un archivo de texto), el cual hace referencía a la plataforma que estoy utilizando (x86 [32-bit]). Este archivo es el que indica en que paquete se encuentra cada archivo.

Busco sc92031 y encuentro lib/modules/2.6.26-2-486/kernel/drivers/net/sc92031.ko (.ko = kernel object, módulo, controlador/driver) en el archivo admin/linux-image-2.6.26-2-486. Necesito el linux-image ese.

Navego hacía main/binary-i386/, y encuentro el archivo Packages.gz, el cual son los paquetes, y estoy dentro de la arquitectura. Como en el caso anterior, extraígo y examino el archivo. Busco el paquete, (linux-image-2.6.26-2-486), y encuentro su ubicación en el repositorio (Filename: pool/main/l/linux-2.6/linux-image-2.6.26-2-486_2.6.26-21_i386.deb). El archivo entonces esta en http://debian.torredehanoi.org/debian/pool/main/l/linux-2.6/linux-image-2.6.26-2-486_2.6.26-21_i386.deb.

(Para obtener de otras arquitecturas, en vez de i386, debería bastar con buscar el .deb correto, dentro del Packages.gz de la arquitectura deseada en este link (o en cualquier otro repositorio que sea réplica oficial) ya que el paquete que estamos buscando es linux-image-2.6.26 (?) , o cualquiera sea la versión del kernel, y en este, extraer el mencionado .ko)

En Windows, con 7-zip, se puede extraer el .deb, y navegar por data.tar.gz, que son los archivos del paquete. Abro el .deb descargado, y navego hacía lib/modules/2.6.26-2-486/kernel/drivers/net/ (directorio de los modulos del kernel, lo subrayado es la versión del kernel) y encuentro el sc92031.ko, que estaba buscando. Lo extraígo y copio a un diskette para pasarlo a la otra PC (esto es porque probe inicialmente pasarlo con la opción de buscar en un medio extraíble y no funciono) (es posible hacer esto con un pendrive).

sc92031.ko, descarga directa.

Moviendo e "instalando" el módulo:

En mi caso, lo voy a realizar con un floppy disk (diskette), ya que es una PC vieja, es lo mismo para un PENDRIVE, solo cambia el mount, para más info, ver este articulo, que explica como encontrar cual es la unidad USB.

Para montar un floppy, basta con mount /dev/fd0 /mnt/undirectorio, siendo undirectorio, una carpeta ya creada (mkdir /mnt/undirectorio/). Procedo a copiar el .ko al sistema:
cd /mnt/undirectorio/
cp sc92031.ko /lib/modules/2.6.26-2-486/kernel/drivers/net/

Por último, modprobe sc92031, y no me muestra nada, lo cual me índica una carga satisfactoria.

Vuelvo a la instalación, ALT+F1, y luego de seleccionar uno cualquiera (ej, 8391too), salta a la configuración DHCP (que también se completa), con lo cual la instalación fue satisfactoria y continuo con la misma.

Otra opción es también terminar la instalación del sistema, y luego agregar el .ko, una vez en el sistema.

Filed under: Linux 1 Comment
2Mar/100

Notebook Destruction (i486 + Hammer + Drill)

You need to install or upgrade Flash Player to view this content, install or upgrade by clicking here.

MeltIT Productions Presents:

Notebook Destruction: What happens when your notebook doesn't work and how to make it work.

-----

La notebook se rompio, y no tubo más remedio que cargarsela.

Hardware:

i486 SL
-rest unknown-

Filed under: MeltIT Videos No Comments
17Feb/1012

Como agregar Javadoc en NetBeans (Java SDK, documentación)

El otro dia, mientras programa en NetBeans, me encontre con el siguiente problema:

Javadoc not found. Either Javadoc documentation for this item does not exist or you have not added specified Javadoc in the Java Platform Manager or the Library Manager.

Esto es en si, que la documentación no se encuentra, o no existe. Lo que se, es que si existe porque son las librerias oficiales de Java.

Descargando el Javadoc de Java SE 6:

El SDK no trae sus respectivos Javadoc, hay que descargarlos de la web de Sun. Donde dice Java SE 6 Documentation, a dia de hoy.

El archivo descargado, es un .zip. Realmente no hace diferencia donde se guarde, en mi caso lo pongo en la carpeta donde tengo el SDK en la carpeta docs, únicamente para que sea facil de encontrar.

Agregando el Javadoc al NetBeans:

En el NetBeans, vamos al menú:

Tools (Herramientas) ->Java Platform

Luego, en la versión del JDK correspondiente (en mi caso, JDK 1.6), solapa Javadoc, "Add ZIP/Folder..." y navegamos hacia el archivo .zip que descargamos (jdk-6u18-docs.zip, en mi caso) y lo agregamos.

Luego cerramos, y ya debería estar funcionando.

Nota: Esto funciona para cualquier Javadoc que se quiera agregar, no únicamente el del SDK.

31Jan/100

Wii Homebrew: Introducción


Introducción al homebrew:

El Homebrew se refiere a las nuevas utilizaciones que se le da al hardware que son distintas a las originales. Este desarrollo es claramente por gente que no pertenece a Nintendo. En si es insertar software de terceros en la Wii, software para modificar el funcionamiento de la Wii, y hacer cosas que no se pueden de fabrica. Desde desbloquear regiones, hasta cargar juegos por USB, update's parciales, custom IOS.

El Twilight Hack, fue lo primero que permitio la inserción de codigo en la Wii sin necesidad de que esta este chipeada.

Twilight Hack:

Este hack se basa en un exploit del juego Zelda Twilight Princess. Se inserta un save especial que esta modificado, y este produce un crash que continua con la carga de un archivo 'boot.elf' que se encuentre en la raiz de la tarjeta SD. Esto esta explicado completamente en el articulo Twilight Chainloader. Más explicacion de los ELF en el articulo.

Linux:

Por ahora es solo PoC (Proof of Concept - Prueba de concepto), esto significa que solo se quiere demostrar que es posible, pero no tiene ninguna utilidad por el momento. Se logro bootear un Linux, y se soporta SD, teclado USB, Wii Remote.

Instalación de canales:

Esto se ha podido debido al Twilight Hack y los .ELF, todo esto en detalle en el articulo de ELF's y WAD's.

Filed under: Homebrew, Wii No Comments