SUN – NvRAM operación a corazón abierto.


Actualmente existen muchisimas máquinas de tipo Sun almacenadas en estanterías llenas de polvo, máquinas de 32/64 bits que pueden dar un servicio nada despreciable, y lo bueno de todo es que existen versiones Linux que corren bajo tecnología SPARC 😉 .

En este artículo se da una solución al problema de NVRAM con bateria agotada.

NVRAM – Reemplazo de batería
Ver 1.0
By Luís Calero ( NeCrOS )
http://www.NeCrOS.com(1)

¿ De que va todo esto ??
Ordenata guarda datos básicos en importante chip, máquina se utiliza de forma
esporádica con lo que cierta batería se va agotando, cierto día necesitas la máquina,

sorpresa = esta a perdido todos los parámetros de carga, y lo peor de todo, en el super
de la esquina han vendido la última NVRam que les quedaba,asi que agarro el soldador y …

Avertencia : No me hago responsable de los posibles desperfectos que podais ocasionar,
que os conozco. En este artículo no hago más que exponer paso a paso el proceso que yo

segui en su día para recuperar una de mis máquinas . Si teneis la posibilidad de
encontarar una NVRAM en condiciones para vuestra máquina, siempre será más viable

que arriesgarte a tocar hardware, a no ser que estes muy acostumbrado …

Se que es difícil encontrar componentes de este tipo de segunda mano, de ahí
que yo escogiera este último camino.

El tipo de NVRAM con batería interna se utilizó en máquinas con algunos años,
las actuales disponen de pila externa, lo que permite un cambio rápido y viable.

Índice :

Presentaciones(2)
Que necesitamos(3)
¿ Que es NVRAM ?(3)
¿ Es la batería lo que falla ?(4)
¿ Dr que me va hacer?(5)
El paciente en quirófano.(5)
Sala de recuperaciones.(6)
Conclusiones(7)

Presentaciones.

El paciente se trata de una SUN4/50 SparcStation IPX, esta máquina dispone de un
tamaño envidiable de caja de zapatos, corre bajo 64 Mb y dispone de un micro
de 32 bits.79 BogoMips, si la asociamos con la tecnologia x86, viene a ser
como un Pentium 75Hz.

Más datos :

SPARCstation IPX (4/50)
Processor(s): Fujitsu MB86903 or Weitek W8701 @ 40MHz, FPU on
CPU chip, Sun-4c MMU, 8 hardware contexts,
28.5 MIPS, 4.2 MFLOPS, 21.8 SPECint92,
21.5 SPECfp92, 517 SPECintRate92, 510
SPECfpRate92
Chassis type: lunchbox
Bus: SBus, 2 slots
Memory: 64M physical; 64K write-through cache,
direct-mapped, virtually indexed, virtually
tagged, 32-byte lines
Architecture: sun4c

Esta máquina se ha utilizado, y se utiliza como servidor de DNS, servidor de correo,
servidor web de bajo rendimiento…

La mia, esta enlazada en un nodo Wifi dando soporte secundario de algunos de los servicios

anteriormente mencionados…

Que necesitamos

  • Pila Varta CR-2032 3v …
  •   Se pueden pillar de placas x86, recordar verificar que este en buenas condiciones
    y que sigue proporcionando la carga de forma correcta.

  • Base de placa de la pila 2032 (Opcional)… Se pueden pillar de placas x86
  • Un par de cables finos, ha poder ser de diferente color,para que nos sea más fácil diferenciar la polaridad…
  • Soldador 30 W aprox
  • Estaño.
  • Alicates de punta fina.
  • Cuchillo o destornillador de punta fina, es para rascar la pared del chip.
  • ¿ Que es NVRAM ?

    Si lo asociamos con la tecnología x86, estaríamos hablando de la BIOS. Aunque en máquinas
    de tecnología SUN el chip dispone de muchas más funcionalidades…
    Entre otras opciones podemos entrar en modo prompt, donde se puede navegar por el arbol de dispositivos,
    hacer pruebas de funcionalidad, incluso programar…

    Si quieres probarlo, enciende la máquina y mientras esta cargando presiona STOP + A .
    Ok
    probe-scsi

    !!! Sorpresa, te ha hecho un barrido de los dispositivos SCSI conectados a la máquina.

    ¿ Es la batería lo que falla ?

    Encendemos la máquina �
    Si obtenemos errores de bad IDPROM, o tu ethernet address visible en esquina superior derecha
    tiene la dirección ff:ff:ff:ff:ff:ff y el hostid no se corresponde con el de tu máquina, la cosa
    pinta muy mal. Observamos que después de un segundo contaje de RAM, el boot se para y no continua…

    Parche eventual para poder trabajar :
    Boot parado en arranque, mensaje de error en la carga.
    Presionamos STOP + A si dispones de teclado SUN, o CTRL+ESC si dispones de teclado estándar.

    Ok
    set-defaults

    Esto permitirá arrancar de nuevo el boot, cargando todos los parámetros almacenados por defecto
    en la NVRAM, una vez entremos en la máquina, recordemos que la MAC adress no es la correta, asi
    que si deseamos trabajar en red debemos insertarla :

    # ifconfig le0 mac 00:00:00:00:00:00

    Recordemos que el id por defecto en la MAC de la casa SUN es : 8:0:20: el resto el que deseemos :

    # ifconfig le0 mac 08:00:20:01:02:03
    #ifconfig le0 192.168.1.10 up

    Por defecto pilla una 255.255.255.0
    Si no ponerle la opcion netmask y listo .

    En este ejemplo la tarjeta es de 10 Mb por eso utilizamos le0, si fuese de 100 he0.

    El problema asociado con esta forma de funcionar, es que una vez la máquina se apague,
    deberemos realizar de nuevo el mismo proceso, con el inconveniente que si es un servidor
    necesitamos de monitor como habeis podido comprovar…

    Otra opción es hacerlo via terminal, que es realmente sencillo, pero eso es otra historia.

    ¿ Dr que me va hacer?

    Vamos a extraerle el chip NVRAM, se lo vamos a rajar por un lateral, soldaremos un par de
    cablecitos a una pila, y terminaremos la unión de esta soldándolo en ciertas patas del chip.

    Por útlimo lo dejamos lo más recogidito posible, y cerramos cruzando los dedos a la espera de que todo funcione…

    El paciente en quirófano.

  • Desconectamos la máquina de la corriente.
  • Abrimos la tapa.
  • Extracción de NVRAM
  •   Si disponemos de un extractor de chips lo utilizamos, si no con mucho cuidado
    haciendo palanca de forma alternativa de lado a lado del chip, intentamos extraerlo del
    zocalo que lo soporta. Cuidado de no doblar ninguna de las patas, que si perdemos una = descanse
    en paz (Tendríamos que hacer otra chapuza, que no la recomiendo). Recordemos que estamos trabajando
    con un chip con algunos años , lo que implica que el patillaje es realmente frágil…
    Seguramente se nos doblará alguna que otra patilla, con mucho cuidado debemos alinearlas, sin
    forzarlas que nos jugamos el chip.

  • Perforación
    El chip esta segmentado en dos partes, la inferior y la superior. En la inferior esta
    toda la circuiteria, mientras que la parte superior dispone del clock y la pila de alimentación.

    Vista superior, a la izquierda tenemos el CLK y su derecha la batería.

    Ahora que vemos la disposición del chip, vemos que la idea sería romper el enlace de la batería ubicada
    en el zocalo superior del chip, con la circuitería del zocalo inferior.
    Empezamos a rascar por la zona marcada de blanco (lateral derecha = dejamos el pin 1 abajo a
    la izquierda, vista superior), en búsqueda de 2 vias de metal.
    Yo incluso aumentando el nivel de chapuza, utilicé un soldador de gas de los de circuiteria para facilitarme
    la escavación .Yo diria que a unos 2/3 mm estan las vías de metal.

  • Corte de alimentación.
    Con sumo cuidado, cogemos los alicates y seccionamos las dos vias por la mitad, de esa forma
    cortaremos la corriente proporcionada por la batería, el corte realizarlo lo más arriba como os
    sea posible, de esa forma dejaremos los bornes de la parte inferior lo mas largos posibles, ya que en uno
    de ellos debemos soldar directamente un extremo del cable.

  • Pila externa.
    En mi caso utilicé el porta pilas utilizado en las placas de x86, de esa forma os quedará la pila más
    resguardada y la soldadura no tan al descubirto. En algunos ejemplos que he visto sueldan los cables
    directamente a la pila, recordemos que la zona superior es la positiva y la zona inferior la negativa.
    En definitiva ya disponemos de dos cables procedentes de la pila, uno que lleva la carga positiva y el otro la negativa.

  • Enlace con el chip
    La patilla 12 se correspone con el negativo (-), si deseamos soldar en borne que no es mi caso FOTO LATERAL ANTERIOR,
    seria el izquierdo. EL cable positivo en mi caso lo he soldado directamente en la via de metal segmentada, posición derecha.
    Negativo [ | | ]Positivo

    Si se dispone de un tester, no estaría de menos comprovar que los enlaces se han soldado en condiciones, y que no
    esta cruzados los polos.

    Insertar con mucho cuidado el chip de nuevo en el zocalo, recordando la posición de este, patillaje debe estar alineado.
    Coger como centinela el punto que indica la patilla 1.

  • Ubicación de batería.
    Dejar lo más recogido y asegurado posible, el empalme con la pila, de otro modo cuando cerremos la tapa y
    movamos la máquina, esta se pueda desprender de forma fácil, y lo que es peor, pueda cortocircuitar con algún
    componente de placa.

    Por fin podemos cerrar la tapa, y esperar que todo funcione de la forma deseada…

    Sala de recuperaciones.

    Conectamos la corriente a la máquina, como hemos comprovado que no había cruce no tendria que pasar nada anómalo, asi que encendemos.
    No se observa ningún cambio, eso no significa que no funcione, recordar que ahora la NVRAM dispone de una batería que le
    permite almacenar los parámetros introducidos, pero ahora estos no existen, son los insertados por defecto, asi que vamos
    a insertar de nuevos, vamos a ello :

  • Boteo.
  • Presionamos STOP+A
    set-defaults

  • Terminada la carga realizamos reboot
  • STOP+A
  • Introducimos estas lineas = Reprogramas la IDPROM

    1 0 mkp
    real-machine-type 1 mkp
    8 2 mkp
    0 3 mkp
    20 4 mkp
    01 5 mkp
    02 6 mkp
    03 7 mkp
    0 8 mkp
    0 9 mkp
    0 a mkp
    0 b mkp
    01 c mkp
    02 d mkp
    03 e mkp
    0 f 0 do i idprom@ xor loop f mkp

  • Ahora booteo, introducir la linea :
    boot

    Ahora arrancará de nuevo, pero si nos fijamos en los datos superiores de la pantalla de inicio,
    la MAC debe corresponderse con la introducida, y el hostId debe corresponderse con el tipo de máquina,
    en mi caso es el 57 = IPX SparRcSTation.

    hostid IPX to be 57010203 – ethernet address 08:00:20:01:02:03

    01 2/1×0
    02 2/50
    11 3/160
    12 3/50
    13 3/2×0
    14 3/110
    17 3/60
    18 3/e
    21 4/2×0
    22 4/1×0
    23 4/3×0
    24 4/4×0
    31 386i
    41 3/4×0
    42 3/80
    51 SPARCstation 1 (4/60)
    52 SPARCstation IPC (4/40)
    53 SPARCstation 1+ (4/65)
    54 SPARCstation SLC (4/20)
    55 SPARCstation 2 (4/75)
    56 SPARCstation ELC
    57 SPARCstation IPX (4/50)

    61 4/e
    71 4/6×0

    72 SPARCstation 10 or SPARCstation 20

    80 SPARCstation Classic, LX, 4, 5, SS1000, Voyager, Ultra 1

    La prueba final es apagar la máquina varias veces, comprovando que al reiniciar mantiene los parámetros

    introducidos en el IDPROM . En mi caso hace más de 3 meses que funciona sin ningún problema, y en el caso

    de que la batería se agote, la puedo reemplazar de forma sencilla, ya que la tengo ubicada en un soporte

    como el de una placa x86 = quitar y poner . (Esto va para los que piensen en soldar directamente en la

    pila botón = problema futuro)

    Conclusiones

    Mediante un proceso de modificación totalmente didáctico , hemos recuperado un dinosaurio lleno de polvo.
    En mi opiñón muchas de estas máquinas son auténticas maravillas de la ingeniería que siguen funcionando sin
    descanso, proporcionado el servicio para lo que fueron designadas.
    Como se suele decir, una máquina SUN no debería apagarse en la vida, dedicado a Ivan “IvanHoe”-> Criollo.

    Más sobre el tema :

    Relación Tipo NVRAM por tipo máquina:
      sun4c M48T02
      sun4m M48T08/18
      sun4d M48T08
      sun4u M48T59Y
      sun3x M48T02

    Posición en placa de la NVRAM por tipo de máquina, para entenderlo mejor compara el esquema de placa de principio
    del artículo con 4/50 (IPX) U0512 que es la info
    Proporcionada por la tabla :

    3/80 U0205
    4/60 (SS1) U089

    4/40 (IPC) U0901
    4/65 (SS1+) U089
    4/20 (SLC) U1011
    4/25 (ELC) U0813
    4/50 (IPX) U0512
    4/75 (SS2) U0512
    4E U1101
    4/10 (SPARCclassic X) U0707
    4/15 (SPARCclassic) U0707
    4/30 (LX/ZX) U0707
    SPARC Xterm 1 U1605
    SS4 U1605
    SS5 U1506
    SS10 U1004
    SS20 U1004
    SS600MP U2701
    SS240 (Voyager) U1506
    SS1000/1000E U1007
    SS2000/2000E U1205
    U1/170 U2006

    Más docu:

      http://www.bhargavaz.net/nvram/nvram.html(8)
      http://www.squirrel.com/squirrel/sun-nvram-hostid.faq.html#arcane(9)
      http://sunsolve.sun.com/handbook_pub/Devices/IDPROM/IDPROM_NVRAM.html(10)

    Versiones Linux para SPARC :

    http://www.linuxiso.org(11)

    FreE WorLD<=>FreE COdE By NeCrOS

    Lista de enlaces de este artículo:

  • http://www.NeCrOS.com
  • http://bulma.net/body.phtml?nIdNoticia=2049&amp;nIdPage=2
  • http://bulma.net/body.phtml?nIdNoticia=2049&amp;nIdPage=3
  • http://bulma.net/body.phtml?nIdNoticia=2049&amp;nIdPage=4
  • http://bulma.net/body.phtml?nIdNoticia=2049&amp;nIdPage=5
  • http://bulma.net/body.phtml?nIdNoticia=2049&amp;nIdPage=7
  • http://bulma.net/body.phtml?nIdNoticia=2049&amp;nIdPage=8
  • http://www.bhargavaz.net/nvram/nvram.html
  • http://www.squirrel.com/squirrel/sun-nvram-hostid.faq.html#arcane
  • http://sunsolve.sun.com/handbook_pub/Devices/IDPROM/IDPROM_NVRAM.html
  • http://www.linuxiso.org
  • Este post ha sido traido de forma automatica desde https://web.archive.org/web/20140625063149/http:/bulma.net/body.phtml?nIdNoticia=2049 por un robot nigromante, si crees que puede mejorarse, por favor, contactanos.


    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

    Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.