miércoles, enero 31, 2007

Instalar una NIC no soportada por Solaris 10

En el principio existia Fast Ethernet, y los sistemas operativos de red (NOS) se aprestaban a lograr compatibilidad con todas las NIC (Network Interface Card). Después llego Gigabit Ethernet y como todo, dado que no es aún muy común, los NOS poco a poco va agregando el software correspondiente. Solaris 10 no es la excepción, más bien, ese es su punto débil, los fabricantes de hardware en general no hacen drives expecificos para este NOS.

La odisea
Bien, a la fecha tenemos Solaris 10 11/06 y no soporta por default mi tarjeta SMC9452TX. Buscando en el disco de instalación lo más cercano son drivers para Linux. Y la web a la que hace referencia en la documentación me dice que la URL no existe. ¡Google!

Hago una busqueda de: smc9452tx solaris. El resultado es un fiasco. Pruebo otras combinaciones pero igual. Así que vamos a la escencia de la NIC, el chip que detecta Solaris.
  • /usr/X11/bin/scanpci para que muestre el dispositivo en la ranura pci y después,
  • buscar y modificar dentro de /etc/driver_aliases
Resulta algo como:
pci bus 0x0001 cardnum 0x05 function 0x00 vendor 0x11ab device 0x4320
Marvell Technology Group Ltd. Gigabit Ethernet Controller

Y buscando en google me lleva a que es la Yukon 88E8001, que lios... ahora, de nuevo, google me dice que el driver es el SK-9821V2.0 de SysKonnect y la url para bajar el controlador es http://www.skd.de/e_en/support/driver_searchresults.html?... , ya casi... el procedimiento posterior es sencillo.
  1. Me bajo un tar.z,
  2. descompactar, me queda un tar
  3. En el directorio de nuestra preferencia (/var/spool/pkg) le hacemos un
    tar -xvf archivo.tar
  4. Produce un directorio SKGesol.
  5. Resulta que en Solaris 8, 9 y 10 x86, el driver de SysKonnect es por demás obsoleto, por lo que tenemos que removerlo antes de continuar:
    pkgrm SK98sol
  6. Ahora si, nos vamos al directorio SKGesol y desde ahi agregamos el paquete:
    pkgadd -d . SKGEsol
  7. Un proceso por lotes nos pregunta si queremos configurar el adaptador
  8. Para la respuesta afirmativa (yes aún cuando en la pantalla diga si) necesitamos darle la IP y la mascara de subred
  9. Para la respuesta negativa, con darle n es suficiente.
  10. En mi caso se presento el problema de que no se agrego el modelo de interface, lo que podemos solucionar de uno de dos modos:
    1. /usr/sbin/update_drv -a -i '"pci11ab,4320"' skge
    2. editar /etc/driver_aliases y agregar la línea: skge "pci11ab,4320"
¿Cómo obtuve esa última información?; bien, cuando ejecute scanpci me dijo: vendor 0x11ab device 0x4320. El fabricante y el modelo del dispositivo que es lo que se necesita.

Lo último es configurar la NIC, en mi caso como soy algo perezoso y no me importa la configuración actual de mi sistema (hostname, nombre del servicio de dominio, zona horaria, contraseña de root, ip, mascara de subred y la configuración de mi pantalla), entonces ejecuto /usr/sbin/sys-unconfig.

Lo que resta es simplemente llenar los huecos, la máquina reinicia, y entra el script de configuración.