viernes, 26 de octubre de 2007

No encuentro drivers para mi tarjeta inalámbrica

La tarjeta minipci es la Alpha WMP G04 obtenida de la autopsia de un router D-Link G604T.

El Sr. Google dice que tiene el chipset de Texas Instrument TNETW1130GVF.

El Sr. Google dice que este chipset lo tienen varias tarjetas, entre ellas esta http://treiber.longshine.de/viewtopic.php?t=181

He elegido esta porque tiene los drivers y el programa para controlarla (en vez de usar el Windows Zero Configuration) ya que suelen tener más opciones (detectar redes con essid oculto, por ejemplo).

El fichero que nos interesa es TNET1130.INF que se encuentra en la carpeta \Driver.

Hay que modificarlo con la información que Windows nos da en Administrador de sistema --> propiedades dispositivo --> detalles ---> identificadores de hardware




Abrimos el archivo TNET1130.INF

Comprobamos que efectivamente este driver es para el chipset de Texas Instrument (TI) en:

[Manufacturer]
%TI% = TexasInstruments,NT.5.1


Vamos bien.


Las siguientes líneas nos aporta mucha información:

;----------------------------------------------------------------------------
; IMPORTANT: SUBSYS should be unique and Customer should remove the TI SUBSYS
; and insert a new one private for Customer.
;----------------------------------------------------------------------------


Aquí Texas Instruments le dice al fabricante de tarjetas http://www.longshine.de/longshine/index.php?lang=spa que hay que insertar un SUBSYS privado para esa tarjeta . No sé lo que es un SUBSYS, pero si TI se lo dice a Longshine, también puedo hacerlo yo, ¿no?.

Seguimos para línea...

Aquí nos dicen que tenemos que excluir las tarjetas pnp, ¿pero cual?.

; pnp cards should be excluded from select
[ControlFlags]
ExcludeFromSelect = PCI\VEN_104C&DEV_9066&SUBSYS_AB8013D1 ;B & G
ExcludeFromSelect = PCI\VEN_104C&DEV_9066&SUBSYS_AB9013D1
ExcludeFromSelect = PCI\VEN_104C&DEV_9066&SUBSYS_ABA013D1
ExcludeFromSelect = PCI\VEN_104C&DEV_9066&SUBSYS_9067104C
ExcludeFromSelect = PCI\VEN_104C&DEV_9066&SUBSYS_AB0714EA


Como la nuestra es minipci, tenemos dos opciones que he marcado en negrita:

;For WinXP
[TexasInstruments.NT.5.1]
%TIACXBG.DeviceDesc% = TIACXXP, PCI\VEN_104C&DEV_9066&SUBSYS_AB8013D1 ; B & G
%TIACXBG_PCI.DeviceDesc% = TIACXXP, PCI\VEN_104C&DEV_9066&SUBSYS_AB9013D1
%TIACXBG_MINIPCI.DeviceDesc% = TIACXXP, PCI\VEN_104C&DEV_9066&SUBSYS_ABA013D1
%TIACXBG_MINIPCI.DeviceDesc% = TIACXXP, PCI\VEN_104C&DEV_9066&SUBSYS_9067104C

%TIACXBG.DeviceDesc% = TIACXXP, PCI\VEN_104C&DEV_9066&SUBSYS_AB0714EA

Tenemos que comprobar si alguna de ellas coincide con la capturada en la imagen superior, es decir PCI\VEN_104C_&DEV_9066&SUBSYS_9067104C

Como coinciden, se termina el tutorial :-))

En caso de que no coincidieran hay que hacer los siguientes cambios en el fichero, marcados en negrita.

Hay dos formas, la elegante (incluir la tarjeta) y la rápida (machacar una tarjeta existente, más adecuado para novatos)


FORMA ELEGANTE:

; pnp cards should be excluded from select
[ControlFlags]
ExcludeFromSelect = PCI\VEN_104C&DEV_9066&SUBSYS_AB8013D1 ;B & G
ExcludeFromSelect = PCI\VEN_104C&DEV_9066&SUBSYS_AB9013D1
ExcludeFromSelect = PCI\VEN_104C&DEV_9066&SUBSYS_ABA013D1
ExcludeFromSelect = PCI\VEN_104C&DEV_9066&SUBSYS_9067104C
ExcludeFromSelect = PCI\VEN_104C&DEV_9066&SUBSYS_AB0714EA
; esta es la tarjeta que he insertado yo
ExcludeFromSelect = PCI\VEN_104C&DEV_9066&SUBSYS_9067104C



;For WinXP
[TexasInstruments.NT.5.1]
%TIACXBG.DeviceDesc% = TIACXXP, PCI\VEN_104C&DEV_9066&SUBSYS_AB8013D1 ; B & G
%TIACXBG_PCI.DeviceDesc% = TIACXXP, PCI\VEN_104C&DEV_9066&SUBSYS_AB9013D1
%TIACXBG_MINIPCI.DeviceDesc% = TIACXXP, PCI\VEN_104C&DEV_9066&SUBSYS_ABA013D1
%TIACXBG_MINIPCI.DeviceDesc% = TIACXXP, PCI\VEN_104C&DEV_9066&SUBSYS_9067104C
%TIACXBG.DeviceDesc% = TIACXXP, PCI\VEN_104C&DEV_9066&SUBSYS_AB0714EA
; esta es la tarjeta que he insertado yo, para Win98 hacerlo en la parte correspondiente
%TIACXBG.MINIPCI.DeviceDesc% = TIACXXP, PCI\VEN_104C_&DEV_9066&SUBSYS_9067104C



Ya falta poco...


Buscamos en el archivo alguna referencia a las tarjetas minipci. En el editor de textos buscamos, por ejemplo SUBSYS_ABA0113D1, y como no aparece nada, pues hemos terminado. Si hubiéramos encontrado algo, tendríamos que añadir una línea idéntica substituyendo la cadena por la cadena de identificación de nuestra tarjeta, igual que hicimos antes.

Y ahora ponemos nombre al niño:

[Strings]
TI="Texas Instruments"
TIACXBG.DeviceDesc = "802.11g Wireless CardBus PC Card"
TIACXBG_PCI.DeviceDesc = "802.11g Wireless PCI Card"
TIACXBG_MINIPCI.DeviceDesc = "802.11g Wireless MiniPCI Card del router autopsiado"



FORMA RÁPIDA (NOVATOS)

En el editor de textos hacer un Reemplazar (CTRL+L), buscando la cadena de una tarjeta minipci y reemplazándola por la cadena de identificación de la tarjeta instalada.


Lo hagas como lo hagas, después guarda este fichero con otro nombre TNET1130_modificado.INF JUNTO al resto de archivos, ya que hacen falta (son los drivers de verdad).

Ahora le decimos al asistente que busque el controlador en una ubicación seleccionada y apunta a este fichero modificado.

Gracias al betatester NICO por las pruebas realizadas y el pantallazo.