miércoles, 11 de febrero de 2009

Tutoriales SKY: Modificacion de la BIOS de un portatil HP serie dv9500 para cambiar la Wifi

Todos los pasos en este tutorial han de seguirse al pie de la letra ya que las operaciones que vamos a llevar a cabo son sobre un elemento crítico del sistema como la BIOS y que puede provocar un fallo grave en el sistema. Este tutorial pretende ser una guía para poder añadir elementos que HP no permite de serie y que requiere una cierta habilidad y conocimientos para manejarse sin problema.

Aclaraciones previas

HP en sus BIOS de portátiles añade lo que se llama WhiteList en la que están listados solo algunos dispositivos que el portátil aceptará como válidos. Entre ellos están listadas una serie de tarjetas WIFI MiniPCI que el portátil acepta y si le metemos una tarjeta MINIPCI Express Wifi que no está en esa lista el portátil no arranca dando fallo 104 de que no soporta la tarjeta Wireless.

El truco es editar la BIOS, ir a la línea donde esta esa lis
ta de dispositivos admitidos y cambiarlos por los que queramos. Veamos cómo.

Todos los dispositivos que se instalan en los equipos tienen una serie de parámetros que los identifica. VendorID, DeviceID y SubsystemID. Son cadenas de valores en hexadecimal. Para saber estos valores, que son imprescindibles, ejecutamos MSINFO32, vamos a Red/Adaptador y buscamos los valores de la tarjeta que tenemos ahora instalada dentro del portátil.



En esta captura vemos que una tarjeta Intel WIFI ProLink 5100 tiene los siguientes datos:
Vendor: 8086 Device: 4232 Subsystem: 1201 8086

Por lo tanto tenemos que conocer los datos de los 2 dispositivos que queremos intercambiar. Yo tengo una tarjeta Intel 3945ABG que tiene los datos siguient
es: 8086 4222 135C 103C y quiero cambiarla por una Intel ProWireless 5100 que tiene los datos anteriormente mencionados, es decir, 8086 4232 1201 8086.

Entonces lo que haremos será buscar en nuestra bios la cadena que identifica a la 3945ABG y cambiaremos esos datos por los de la 5100AGN para que el portátil entonces la pueda reconocer.

Este ejemplo lo haremos con la ultima BIOS publicada por HP para la serie dv9500, en este caso la F59.

Descarga: ftp://ftp.hp.com/pub/softpaq/sp42001-42
500/sp42153.exe
Bajamos ese fichero y lo ejecutamos. Creara la carpeta c:\SWSETUP\sp42153 con estos ficheros:

Entre ellos se encuentra el fichero 30CCF59.WPH que es el de la BIOS.

Para poder editarlo necesitaremos utilizar 2 programas:
Phoenix BIOS Editor: http://w16.easy-share.com/17
00454260.html
XVI32 (Editor Hexadecimal): http://www.handshake.de/user/chmaas/delphi/download/xvi32.zip

Abrimos el Phoenix bios editor y cargamos el fiche
ro 30CCF59.WPH. Saldran un montón de ventanas. Lo minimizamos (NO LO CERRAMOS). Al leer la BIOS el programa extrae un montón de ficheros dentro de la carpeta "C:\Program Files\Phoenix Technologies Ltd\BIOS Editor\TEMP". El que contiene los datos de la tarjeta que nos interesa es el BIOSCOD4.ROM


Aclaración: Truncado de la cadena

Una aclaración necesaria es que los datos hexadecimales de los dispositivos en las bios aparecen truncados, es decir, cambiados por parejas.
Ejemplo:
Si nuestro VENDOR es 8086, dentro de la BIOS aparec
e como 86 80. Lo mismo ocurre con el DeviceID, pero no lo mismo con el Subsystem. En el caso del subsystem mi 3945ABG aparece asi:
Datos normales: 8086 4222 135C 103C
Dentro de BIOSCOD4.ROM: 8680 2242 3C10 5C13


Es decir, el subsystem va truncado por parejas y el grupo completo.


Captura donde se aprecia el valor de la Intel WIFI 3945ABG dentro de la BIOS

Pulsamos dentro del XVI32 CTRL+F o vamos a Search/Find y ponemos la cadena 86 80 22 42 3C 10 5C 13 a buscar. En el fichero aparece en el offset 2AE7 (mirad la captura de aquí arriba). Cambiamos esos valores y tecleamos los valores de la tarjeta 5100 pero truncados correctamente, es decir, pasamos de 80 86 42 32 12 01 80 86 y lo truncamos a 86 80 32 42 86 80 01 12. Tecleamos estos valores y le damos al botón SAVE.

Valores cambiados a los de una Intel Pro 5100

Ahora maximizamos el Phoenix BIOS que tenemos minimizado y lo que tenemos que hacer es hacer alguna modificación, ya que sino no nos deja el programa volver a crear la BIOS.

Yo lo que hago es, en la ventana BIOS Configuration Parameters en el menú POPDown que sale, elijo MultiBoot III y le activo el valor Boot Fail Recovery haciendo 2 clics. Vemos que aparece un asterisco. Es una opción que las ultimas BIOS de HP no tienen activado, de forma inexplicable, ya que en caso de fallo en el flaseo tener esta opción activada permitirá recuperar la BIOS.


Ahora que ya tenemos la modificación hecha creamos la BIOS yendo a File/Build BIOS…Si todo va bien saldrá una ventana que muestra que la construcción de la BIOS esta correcta y nos pedirá guardala. La vamos a guardar en la carpeta donde está el programa que se usa para flasear, es decir C:\SwSetup\sp42153\SWinFlash con el nombre BIOS.WPH (ya existe este fichero, lo sustituimos).

Ya tenemos todo listo para flasear el portátil. Cerramos XVI32 y el Phoenix BIOS Editor.
Ahora tenemos que ejecutar el programa SWinFlash.exe y flaseamos el portátil. Después de un momento apagará el portátil. Instalamos la tarjeta nueva y si todo ha ido bien Windows arrancará correctamente y tendremos que instalar los drivers para la tarjeta nueva.

5 comentarios:

albjb dijo...

Buen tuto, pero como obtienes los datos VendorID, DeviceID... de la tarjeta wifi no compatible? porque si no es compatible no puedo iniciar windows... Se me ocurre probar en otros portatiles que si la acepten pero no hay otra manera? en la etiqueta de la tarjeta no lo pone? porque hay muchos numeros...

LukeSky dijo...

La unica manera es ponerla en un PC que si la admita y sacar los datos.

Al-Serv dijo...

Hola! no se si aún te dedicas pero estoy interesado en cambiar mi tarjeta wifi y mi portátil HP Pavilion dv7-6b11ss no me lo permite, al cambiar me da error 702. viendo el foro y veo que tu sabias quitar todas las listas de wifi para que se pusiera cualquiera! me gustaría saber si me lo podrías hacer please? o darme un manual de como hacer un flash a la bios! la versión es la F.1C - Fichero sp60655.exe Y lo puedes descargado de http://ftp.hp.com/pub.softpaq/sp60501-61000/sp60655.exe

Me gustaría saber si me lo puedes hacer plese!! :)

ARL dijo...

Buenas... tengo una Hp Pavilion DV6 1375dx y no puedo encotrar la rom de la bios (Actualmente tiene Insyde f.42) para modificarla. Existe alguna web para bajarla?

carlos dijo...

alguien pudo descargar el phenix? a mi el link no me deja