Configurar tarjetas Broadcom en OpenSolaris usando Ndiswrapper
|En este articulo mostraremos como hacer funcionar esas fastidiosas tarjetas wifi de broadcom mediante ndiswrapper, la cual es una herramienta que nos permite usar los drivers de las tarjetas para windows en nuestra plataforma libre ya sea GNU/Linux o como en esta ocasión en OpenSolaris.
Antes que nada instalamos el paquete SUNWonbld, el cual encontramos aqui, y lo instalamos de la siguiente manera
$ bzip2 -dc SUNWonbld.i386.tar.bz2 | tar xf –
$ pkgadd -d onbld SUNWonbld
En OpenSolaris el ndiswrapper se llama Solaris NDIS Wrapper Toolkit. para instalarlo necesitamos algunas dependencias como gcc y flex, asi que procedemos a instalarlas, La forma mas fácil de hacerlo es por medio del Pakage Manager (System –> Administration –> Package Manager ), Buscamos gcc y lo marcamos para instalar. Lo mismo para el paquete flexlex
Ahora necesitamos los drivers de windows, el archivo .inf y .sys estos archivos se pueden encontrar desempaquetando el archivo .exe del instalador que descargamos en la pagina del fabricante, en este caso son bcmwl5.sys y bcmwl5.inf.
Por lo general los archivos .inf viene en formato UNICODE, sin embargo el Solaris NDIS Wrapper Toolkit necesita tenerlos en formato ASCII, para ello lo convertiremos de la siguiente manera:
iconv -f utf-16 -t ascii bcmwl5.inf > ndis.inf
Renombramos el archivo .sys (en este caso bcmwl5.sys a ndis.sys)
Ya tenemos todo listo, lo único que nos hace falta es descarga nuestra herramienta e instalarla:
La descargamos desde aca
gzip -dc ndis-0.1.tar.gz | tar x – // lo extraemos
cd ndis-0.1/i386 // en esta ubicacion copiamos ndis.sys y ndis.inf que obtuvimos anteriormente
make ndiscvt
./ndiscvt -i ndis.inf -s ndis.sys -o ndis.h
make ndis
ahora como su o usando el comando pfexec hacemos lo siguiente:
cp bcmndis /kernel/drv/bcmndis
exit
make ndisapi
cp ndisapi /kernel/misc
Ahora cargamos el modulo ndisapi y el driver vinculado a la tarjeta de la siguiente forma (como root o pfexec):
add_drv -i ‘»Vendor ID,Device ID»‘ bcmndis
Para obtener el vendor id y el device id ejecutamos el comando:
pfexec scanpci -v (lista todos los dispositivos pci del pc)
En este caso son vendor 0x14e4 device 0x4318, por lo tanto nuestro comando quedaria asi:
add_drv -i ‘»pci14e4,4318″‘ bcmndis nota: omitimos los ox
Por ultimo levantamos la interfaz:
pfexec ifconfig bcmndis0 plumb
pfexec svcadm restart nwam
y listo si no ha salido algun errorcillo tendremos nuestra interfaz bcmndis0
@JKO un placer tenerlo por acá.
Buen Pulso.