"Desmistificacion" de las tarjetas POST BIOS

Ordenadores portátiles, sobremesa, minipcs, todo en uno, mac, etc
Cerrado
Avatar de Usuario
2informaticos
ReballingAdicto!!
Mensajes: 2651
Registrado: Mar Abr 13, 2010 5:55 pm

Estimados compañeros, hoy toca hablar un poco sobre las tarjetas POST BIOS, destinadas a revelar el punto en que una placa se encuentra en la secuencia de inicio.
Para empezar, apuntar los debidos créditos para las páginas web que me han servido de guía:
http://www.postcodemaster.com/
http://en.wikipedia.org/wiki/Low_Pin_Count
http://www.alegsa.com.ar/Dic/lpc.php
http://www.intel.com/support/motherboar ... 025434.htm
http://bbright.tripod.com/information/postcard.htm
http://en.wikipedia.org/wiki/Power-on_self-test
http://www.techrepublic.com/article/use ... re/1056465

Por lo que me ha dado cuenta, ese tema se encuentra algo hundido en la oscuridad.
Según han notado, en Internet hay mucha informacion al respeto, pero que no se centra en explicar el funcionamiento y manejo de las mismas.
Por eso escribi este recopilatorio, intentando “desmistificar” un poquito el tema.
Los que lo leen podrian decir si he tenido algun éxito, o no…

Cada vez que encendemos un ordenador, el ROM BIOS ejecuta un test de diagnosis para los componentes hardware del sistema; es lo que se denomina como Power On Self Test (POST).
Al arrancar, la placa sigue una secuencia de pasos (descrita en BIOS), comprobando e inicializando cada componente hardware.
Antes de comenzar cada paso, la BIOS envia 2 dígitos, que identifican el paso, a un puerto I/O; se trata habitualmente del puerto 80H, pero algunas maquinas Compaq usaban el 84H.
Este código se conoce como POST Code (código POST).
Si la BIOS detecta un problema, se para en ese paso y el último código mostrado nos revela en qué punto ha quedado la ejecución del POST.
Interpretando correctamente el respectivo código, podemos averiguar que componente esta fallando.

Para leer la información del puerto I/O 80H, necesitamos una tarjeta dedicada a este propósito.
Este puerto se puede acceder por el bus ISA, PCI, mini PCI, LPC…
Cuando la tarjeta detecta el código 80H enviado por las líneas “Address”, lea inmediatamente los 2 dígitos que van a aparecer en las líneas “Data”.
Para los ordenadores de sobremesa se usan tarjetas PCI, o ISA para las placas más antiguas.
Si una placa lleva los dos tipos de zócalos, es preferible usar la conexión ISA, ya que esta se inicializa antes que la PCI.

Para los portátiles, se usan los puertos mini-PCI, o LPC. Algunas placas llevan un conector especial, dedicado exclusivamente para el puerto I/O 80H, donde serian disponibles directamente los códigos POST, sin necesidad de descodificar las líneas “Address”.

Recuerden que el bus LPC (Low Pin Count) comunica el circuito Super I/O (conocido también como Embedded Controller, o KBC) con el puente sur; el que controla el bus PCI (e ISA en las antiguas placas).
Imagen
He de mencionar que (desde hace tiempo) el chip de BIOS ya no se conecta al bus LPC; va conectado directamente al chip Super I/O, por la interfaz SPI, o FWH.
Los nuevos chipset llevan un chip de BIOS aparte (con información específica), que no tiene nada común con el chip Super I/O. Sin embargo, este sigue llevando su chip de BIOS dedicado al arrancar la placa (que hace el interés de este documento)…
Hay maquinas de las mas nuevas (plataformas iCore) que tambien suelen compartir el mismo chip de BIOS entre KBC y PCH; pero son bastante escasas.

El bus LPC está constituido por 7 señales de mayor importancia (obligatorias); 4 líneas bidireccionales para transferencia de datos, LAD0-3 y 3 señales de control, FRAME#, CLK y RST#.
Otras 6 señales de menor importancia (opcionales) están definidas; para interrupciones, acceso directo a memoria, etc.
Las primeras 7 son las que interesan en nuestro caso.

Sobre todo, ese documento se refiere a las placas de portátil.
En las placas antiguas, dotadas con zócalo mini PCI, todas las tarjetas POST interceptan el código vehiculado por el bus PCI y lo enseñan correctamente.
Como mucho de ustedes se haya dado cuenta, el gran problema de estas tarjetas de test, es que no siempre funcionan insertadas en el zócalo mini PCI-Express…
Eso se debe a que los códigos BIOS ya no se vehiculan por el respectivo bus PCI-Express. Recuerdan que las conexiones PCI-Express se realizan directamente entre dos dispozitivos, sin que otro tenga acceso al mismo bus.
En nuestro caso, uno de los dispozitivos seria el puente sur (o un chipset complejo) y el otro seria representado de la tarjeta Wireless, que tiene habilitado un zocalo en la placa base. Por lo cual, entre los dos dispozitivos no hay necesidad de vehicular los codigos BIOS…
Para solventar este problemilla, el zócalo mini PCI-Express lleva unos pines reservados para las conexiones del bus LPC.
En una placa de portátil, no se debe confundir el bus LPC con el zócalo/bus mini PCI-Express.
El gran problema es que los fabricantes no han llegado a un acuerdo para respetar un estándar general de conexión LPC en ese zócalo (una pena).
En algunas placas llegan parte de las señales LPC y otras no están disponibles, o están cableadas hacia unos pines diferentes…
Por otra parte, algunos fabricantes han designado unos conectores especiales para leer los codigos POST BIOS.
Asus monta en la placa un conector destinado al puerto ELPC. Se trata habitualmente de un conector para cable flex, que no tiene correspondencia en todas las tarjetas POST. Las que si lo llevan, salen algo más caras.
Imagen
Se puede ver que esa misma lleva incluso un puerto I2C para comunicar con baterías…
Lo peor es que en muchos casos, las placas Asus llevan los pads de ese conector, pero sin que el conector mismo este soldado en la placa. Esto se puede solventar soldando, para pruebas, un conector adecuado, guardado en un cajon al lado de la tarjeta POST correspondiente.
Algunas placas Acer llevan también los pads para un conector “Golden Finger Debug Board”; aunque casi nunca esta soldado. Por lo menos hace más fácil soldar los cables LPC de la tarjeta POST.
Me refiero al conector DB1 en la placa Aspire 5338-5738, Wistron JV50-MV, por ejemplo.
Imagen
Otras placas, como la de Acer AOD255 (Compal LA-6221P PAV70), llevan un conector aparte (4 pines) para el puerto 80H, que sale directamente del Embedded Controller, “EC Debug Port” (JP25).
Imagen
En caso de que un zócalo mini PCI-Express respeta un estándar y la tarjeta POST funciona, las conexiones correspondientes al bus LPC serian las siguientes
LFRAME# 8
LAD3 10
LAD2 12
LAD1 14
LAD0 16
RST# 17
CLK 19
Imagen
En algunas placas (dv2000, Aspire 5741, Asus, etc.) no llega ninguna señal LPC al zócalo mini PCI-Express.
Debemos entonces conectar unos cablecitos finos entre la tarjeta POST y las líneas LPC correspondientes de la placa base.
Una placa dv2000 Wistron Pamirs lleva unos pads dedicados a este propósito; G46-49 y G77-79. Para dv2000 Wistron Akita, serian G49-52 y G75-77.

Bueno, si ya hemos conseguido leer los códigos BIOS, necesitamos “desencriptarlos”.
Como hay varios fabricantes de BIOS, se imaginan que tampoco acordaron respetar un estándar en el dominio…
En un vínculo arriba mencionado, encontraran casi todos los códigos BIOS; guardan esa web entre sus favoritos del navegador web.
Hace tiempo que encontré un muy buen manual de una tarjeta POST. Entre todo, lleva explicados todos los códigos BIOS, en función de cada fabricante; mejor no se puede…
http://www.4shared.com/rar/Q4Ptn4ot/POS ... ester.html
Este documento lleva “perdido” casi un año en mi ordenador. En aquel momento no habia informacion sobre los codigos POST Insyde y no tengo idea si actualmente ha salido algo en Internet.

Al final, puede ser un poco tedioso sacar provecho de los códigos POST BIOS.
Los códigos cambian rápido en el display, por lo menos al encender la placa. La idea es capturar los últimos 2-3 códigos, que aparecen antes de que la placa se cuelgue.
Después hay que buscar por Internet, a ver si alguien ha dejado alguna “huella” que nos pueda ayudar. También sirve preguntar en varios foros, nunca se sabe…
Una vez, trabajando con una placa dv2000 Wistron Pamirs, pude capturar la secuencia de los 3 últimos códigos, “2A -> 38 -> DA”.
Siendo una maquina dv2570es, con BIOS Phoenix, el código “DA” se traduce por "Extended Block Move".
Eso no parece ayudar mucho, pero posteando en un foro especializado, un colega con mucha experiencia me dijo que las placas que se paraban en secuencia “38 -> DA” las arregló cambiando el chip de video por uno nuevo. Así lo hice y repare mi placa también...
Otras placas, con BIOS Phoenix, se paraban en “2C”, o “2E”; directamente traducidas por "RAM failure". Sin embargo, se trataba de un modulo de RAM defectuoso.
Me acuerdo de una placa Acer TravelMate 4000 (con zócalo mini PCI), que me tiraba el código “2E” cuando le metí (por casualidad) un modulo RAM defectuoso.

En Internet, especialmente eBay, encontraran en venta varios modelos de tarjetas POST BIOS.
Les aconsejo descartar directamente las que se “recomiendan” por llevar el codigo Qiguan; siendo una mierda, que no ayuda en absoluto, nos metera mas en la niebla.
Tampoco sirven de algo las “hermosas” pantallas LCD que llevan otras.
Solamente los dos digitos del clasico POST deben ser interpretados correctamente, como explique arriba…

Si despues de leer todo eso algunos sabran sacar provecho de esas tarjetas, considerare que no he perdido el tiempo escribiendo.
ACHI IR-PRO
ATTEN AT860D + MLINK H1 + AOYUE Int 768
JBC BD 1A-C + HAKKO 701 + ATTEN AT201D

¡¡¡Por favor, busquen bien el foro antes de plantear sus dudas. 90% de las preguntas ya tienen respuesta!!!
luisfelipezz
manteca
Mensajes: 295
Registrado: Mar Dic 21, 2010 7:50 pm

Buenos días 2informaticos.
Realmente muy explicativo este tutorial, ya que yo anteriormente había hecho pruebas con una tarjeta que adquirí, pero al no sacar nada en claro lo había descartado, pero siguiendo esta guía seguro mas de uno sacará provecho del mismo.
Muchísimas gracias por abrirnos los ojos constantemente con tus enseñanzas, y saludos.
paco2012
Reboleador
Mensajes: 427
Registrado: Jue Abr 19, 2012 11:22 pm

Gracias colega 2informaticos, me uno al compañero luisfelipezz y al resto de compañeros, que como yo, sabemos apreciar el trabajo que lleva recopilar e interpretar correctamente la información que compartes, y por mi parte te aseguro que no cae en saco roto.
Saludos.
Xose_maria
ReballingAdicto!!
Mensajes: 1445
Registrado: Jue May 20, 2010 12:39 am

Vali, una vez más infinitas gracias por tomarte la molestia de compartir con todos nosotros tus experiencias.

Saludos.
Avatar de Usuario
rafamsx
Extractor
Mensajes: 120
Registrado: Lun Oct 24, 2011 1:40 pm

Como siempre, mega-post magistral.

Mil gracias por compartir.

Salu2
Avatar de Usuario
2informaticos
ReballingAdicto!!
Mensajes: 2651
Registrado: Mar Abr 13, 2010 5:55 pm

Acabo de encontrar un par de fotos tomadas hace tiempo, de como conectar esas tarjetas en placas que no comunican con ellas directamente por zocalo mini PCI-Express...
Dejo a la vista el caso de una placa Acer Aspire 5920 (version UMA).
Imagen
Imagen
Se que por algun sitio he guardado fotos en el caso de una placa dv2000, pero no puedo dar con ellas...
ACHI IR-PRO
ATTEN AT860D + MLINK H1 + AOYUE Int 768
JBC BD 1A-C + HAKKO 701 + ATTEN AT201D

¡¡¡Por favor, busquen bien el foro antes de plantear sus dudas. 90% de las preguntas ya tienen respuesta!!!
Avatar de Usuario
joaquinmjuan
Reboleador
Mensajes: 484
Registrado: Mié Oct 10, 2012 12:43 pm

Majestuosamente impresionante!!!!. Gracias por esta información!!!!. Es muy útil, y nos ahorra mucho tiempo. Gracias!!...
Lee AQUI y aprende a identificar placas!!.
Cerrado