-
NOTAS: Como punto de partida es importante tener conexión a internet directo por cable de Red ETHERNET RJ45, y por supuesto tener encendida la inalámbrica que será objeto de rebranding, esto antes de arrancar desde el live cd de Linux. Otro dato importante que se debe tener claro es que LOS DOS (2) VALORES ESENCIALES A CAMBIAR SON: Subsystem Product ID y Subsystem Vendor ID. Existe un 3ero que es estrictamente OPCIONAL.
-
Una vez que estamos dentro de Ubuntu, debemos buscar y abrir Terminal. Luego teclear (comienzo a ordenar alfabéticamente) los siguientes comandos, recomendable copiar y pegar el código:
A) Escanear los dispositivos PCI presentes:
Insertar CODE, HTML o PHP:
[COLOR="Purple"]lspci[/COLOR]
Saldrá un mensaje similar a este:
...
00:1f.1 IDE interface: Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) IDE Controller (rev 03)
00:1f.2 SATA controller: Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) SATA AHCI Controller (rev 03)
10:00.0 Network controller: Broadcom Corporation BCM4328 802.11a/b/g/n LP-PHY (rev 03)
...
B) Entrar con privilegios de SuperUsuario (root):
Insertar CODE, HTML o PHP:
[COLOR="purple"]sudo -s[/COLOR]
C) Descargar e instalar las herramientas requeridas:
Insertar CODE, HTML o PHP:
[COLOR="purple"]apt-get install build-essential curl git-core[/COLOR]
Responder Y (y esperar)
D) Descargar e instalar el driver y el firmware Broadcom más recientes:
Insertar CODE, HTML o PHP:
[COLOR="purple"]apt-get install b43-fwcutter && modprobe b43[/COLOR]
E) Obtener, compilar e instalar la herramienta ssbsprom, que se utiliza para extraer el firmware de nuestra tarjeta inalámbrica y así podamos cambiar sus subIDs de dispositivo para que coincidan con los de Apple:
Insertar CODE, HTML o PHP:
[COLOR="purple"]git clone git://git.bu3sch.de/b43-tools.git && cd b43-tools/ssb_sprom && make[/COLOR]
F) Copiamos temporalmente los recursos obtenidos en una ubicación sbin:
Insertar CODE, HTML o PHP:
[COLOR="purple"]cp ssb-sprom /usr/sbin/[/COLOR]
G) Reparamos permisos y privilegios en dicha ubicación:
Insertar CODE, HTML o PHP:
[COLOR="purple"]chmod 755 /usr/sbin/ssb-sprom && chown root:root /usr/sbin/ssb-sprom[/COLOR]
H) Ahora la parte crucial, actualizar la sprom:
Insertar CODE, HTML o PHP:
[COLOR="purple"]SSB_SPROM=$(find /sys/devices -name ssb_sprom)[/COLOR]
I) Seguido por:
Insertar CODE, HTML o PHP:
[COLOR="purple"]echo $SSB_SPROM[/COLOR]
Deberá salir una ruta como esta:
/sys/devices/pci0000:00/0000:00:1c.1/0000:10:00.0/ssb_sprom
J) Obtener una copia de la sprom actual en su directorio home para trabajar:
Insertar CODE, HTML o PHP:
[COLOR="purple"]cd && cat $SSB_SPROM > ssb_sprom_copy[/COLOR]
K) Examinar el contenido de la sprom. Tener en cuenta que parte de esta información pudiera ser errónea (PCI Product ID 0008 asignado por HP), pero los dos (2) valores esenciales que nos interesan son correctos:
Insertar CODE, HTML o PHP:
[COLOR="purple"]ssb-sprom -i ssb_sprom_copy -P[/COLOR]
OJO CON LOS DOS (2) VALORES ORIGINALES DE HP QUE SERÁN MODIFICADOS:
SPROM(0x004), subp, Subsystem Product ID = 0x1371
SPROM(0x006), subv, Subsystem Vendor ID = 0x103C
SPROM(0x008), ppid, PCI Product ID = 0x0008
L) Actualizar los valores de la sprom actual y crear una nueva sprom. El valor subv (106b) se mantiene constante porque corresponde a Apple como vendedor. Ahora bien, para mi inalámbrica BCM4328 que también la lleva las MacBookAir1,1 y MacBook3,1 y 4,1 (finales 2007 - principios 2008), le corresponde cambiar el subp (AirPort Extreme ID) a 0088 "o" 008b. Sin embargo, si usted tiene una tarjeta "no N" 4311 - 4318 a/b/g (NO COMPATIBLE CON LION) entonces su subp será 004e:
Insertar CODE, HTML o PHP:
[COLOR="Purple"]ssb-sprom -i ssb_sprom_copy --subv 0x106b --subp 0x0088 -o new_ssb_sprom_copy[/COLOR]
COMANDO OPCIONAL:
ssb-sprom -i ssb_sprom_copy --ppid 0x4328 -o new_ssb_sprom_copy (
POR EJEMPLO PARA LLEVAR UNA 4329 NO NATIVA A 4328, CON ESTO CAMBIAMOS EL PCI PRODUCT ID TAMBIÉN, EN MI CASO HICE ESTE TERCER CAMBIO DE 0008 A 4328 COMO SE APRECIA EN EL MENSAJE QUE SIGUE)
En esta oportunidad saldrá asi:
SPROM(0x004), subp, Subsystem Product ID = 0x0088
SPROM(0x006), subv, Subsystem Vendor ID = 0x106B
SPROM(0x008), ppid, PCI Product ID = 0x4328
M) Examinar el contenido del nuevo archivo sprom. Verifique por favor los cambios de IDs:
Insertar CODE, HTML o PHP:
[COLOR="Purple"]ssb-sprom -i new_ssb_sprom_copy -P[/COLOR]
Repetirá la salida para confirmar el cambio:
SPROM(0x004), subp, Subsystem Product ID = 0x0088
SPROM(0x006), subv, Subsystem Vendor ID = 0x106B
SPROM(0x008), ppid, PCI Product ID = 0x4328
N) Nos aseguramos de que dicha variable (el dispositivo físico PCI) todavía tiene la ruta correcta a la sprom:
Insertar CODE, HTML o PHP:
[COLOR="Purple"]echo $SSB_SPROM[/COLOR]
Deberá volver a salir algo así:
/sys/devices/pci0000:00/0000:00:1c.1/0000:10:00.0/ssb_sprom
O) Y el comando final para escribir la nueva sprom a su tarjeta es:
Insertar CODE, HTML o PHP:
[COLOR="purple"]sudo cp new_ssb_sprom_copy $SSB_SPROM[/COLOR]
Tomará de 7 a 10 segundos (tal vez más) en escribir, y listo. Podemos reiniciar directamente con:
sudo reboot
-
BENEFICIOS FINALES:
1) AHORA NUESTRA TARJETA TENDRÁ MÁS VALOR MONETARIO AL TENER COMO FABRICANTE APPLE.
2) DENTRO DE OS X SERÁ RECONOCIDA COMO GENUINA 100% AIRPORT EXTREME... Y EN WINDOWS 7 TAMPOCO DARÁ NINGÚN PROBLEMA EN SER DETECTADA.
Referencia:
Blog de Prasys.