Ez egy olyan PCI-os tesztkártya, ami az esetleges alaplapi hibák felderítésében segít.
Biztosan már mindenkivel előfordult, hogy bekapcsolta az egyébként
működőképes számítógépét és a bootolás nem volt sikeres, valamely alkatrész
hibájából. Ilyenkor általában a számítógépet szinte "atomjaira" szétszedi a
felhasználó és megpróbálja kitalálni mi a hiba oka. Az egyik megoldás lehet,
ilyenkor, hogy az alaplapban csak a memória a processzor és a videokártya van
benne és megnézzük elindul-e? Majd csatlakoztatjuk a winchestert és megpróbáljuk
bootra bírni a gépet. Számtalan taktika létezik, most nem kívánom részletezni,
helyette egy érdekes hibadetektáló hardvert szeretnék bemutatni.
Az igazán profi szervizekben célkártyát alkalmaznak a hiba felderítésére.
Ennek egy egyszerűbb, de legalább olyan hatékony változatát kaptam meg Vécsi
Sándortól tesztelésre. Ő készíti ezeket az úgynevezett POSTA kártyákat.
Kicsit forcsának tűnhet az elnevezés, így pár szó erről:
Az alaplap mind az ISA mind a PCI buszra a bekapcsolás után speciális
formában különböző üzeneteket ad. Ezek az üzenetek jelzik, hogy éppen hol tart
a gép az egyes hardverek inicializálásával. Ezeket az üzeneteket (kódokat) POST
kódoknak nevezik. Biztosan furán hangzott volna így a kártya neve "A" nélkül
és így jött a misztikusnak hangzó POSTA kártya elnevezés.
Ezt a hardvert a tesztelés megkezdése előtt egy szabad PCI helyre
kell csatlakoztatni. Egy két digites kijelző és két LED szolgáltatja az információt.
Az egész panel kicsi, így a legzsúfoltabb gépbe is könnyedén behelyezhető. A
kijelző nagyon érdekesen lett elhelyezve:
A két digit egymás alatt helyezkedik el, úgy, hogy amikor a felhasználó
a kártyát bedugja a PCI csatlakozóba, az könnyedén leolvasható. Ezt fontos dolognak
tartom, mert különben az esetlegesen mellette lévő kártyától nehézkes lenne
a leolvasás.
Pl. egy AWARD BIOS a következő hexadecimális számokat küldi el
a POSTA kártyának a bekapcsolás után:
Post (HEX)
|
Descriptions
|
C0
|
1.Turn off chipset cache
|
OEM specific cache control
|
01
|
Processor Test 1
|
Process status(1 flags) verification.
Test the following processor status flags
-carry, zero, sign, overflow
The BIOS will set each of these flags, verify they are set, then turn
each flag off and verify it is off
|
02
|
Processor test 2
|
Read/Write/Verify all CPU registers except SS, SP, and BP with data
pattern FF and 00
|
03
|
Initialize Chips
|
- Disable NMI, PIE, AIE, UEI, SQWV
- Disable video, parity checking, DMA
- Reset math coprocessor
- Clear all page register, CMOS shutdown byte
- Initalize timer 0, 1, and 2, including set EISA timer to a known
state
- Initalize DMA controllers 0 and 1
- Initalize Interrupt Controller 0 and 1
- Initalize EISA extended registers
|
04
|
Test Memory refresh Toggle
|
RAM must be periodically refreshed inorder to keep the memory from
decaying.
This function assures that the memory refresh function is working properly
|
05
|
Blank video, Initialize keyboard
|
Keyboard controller initialization
|
06
|
Reserved
|
|
07
|
Test CMOS Interface and Battery status
|
Verifies CMOS is woorking correctly,detects bad battery
|
BE
|
Chipset default initialization
|
Program chipset registers with power on BIOS defaults
|
C1
|
Memory presence test
|
OEM specific test to size on board memory
|
C5
|
Early shadow
|
OEM specific early shadow enable for fast boot
|
C6
|
Cache presence test
|
External cache size detection
|
08
|
Setup low memory
|
- Early chip set initialization
- Memory presence test
- OEM chip set routines
- Clear low 64K of memory
- Test first 64K memory
|
09
|
Early cache initialization
|
1.Cyrix CPU initialization
2.Cache initialization
|
0A
|
Early cache initialization
|
1.Initialize the first 120 interrupt vectors with SPURIOUS_INT_HDLR
and Initialize INT 00h-1Fh according to INT_TBL
|
0B
|
Test CMOS RAM checksum
|
Test CMOS RAM checksum, if bad, or insert key pressed load defaults
|
0C
|
Initialize keyboard
|
Detect type of keyboard controller & set NUM_LOCK status
|
0D
|
Initialize Video interface
|
1.Detect CPU clock
2.Read CMOS location 14h to find out type of video in use.
3.Detect and Initialize Video Adapter
|
0E
|
Test Video Memory
|
Test video memory, write sign-on message to screen
Setup shadow RAM - Enable shadow according to setup
|
0F
|
DMA channel 0 test
|
BIOS checksum test,Keyboard detect and initialization
|
10
|
DMA channel 1 test
|
|
11
|
DMA page registers test
|
Test DMA page registers
|
12-13
|
Reserved
|
|
14
|
Test timer counter 2
|
Test 8254 timer 0 counter 2
|
15
|
Test 8259-1 mask bits
|
Verify 8259 channel 1 masked interrupts by alternately turning off
and on the interrupt lines
|
16
|
Test 8259-2 mask bits
|
Verify 8259 channel 2 masked interrupts by alternately turning off
and on the interrupt lines
|
17
|
Test Stuck 8259's interrupt bits
|
Turn off interrupts then verify no interrupt mask register is on
|
18
|
Test 8259 interrupt functionality
|
Force an interrupt and verify the interrupt occurred
|
19
|
Test stuck NMI bits(Parity/IO check)
|
Verify NMI can be cleared
|
1A
|
|
Display CPU clock
|
1B-1E
|
Reserved
|
|
1F
|
Set EISA Mode
|
If EISA NVM (Non-Volatile Memory) checksum is good, execute EISA initialization(EISA
BIOS only)
If not, execute ISA tests an clear EISA mode flag.
Test EISA configuration memory integrity (checksum & communication
interface)
|
20
|
Enable slot 0
|
Initialize slot 0 (system board)
|
21-2F
|
Enable slots 1-15
|
Initialize slots 1 through 15
|
30
|
Size base and extended memory
|
Get base memory from 256K to 640K and extended memory above 1MB
|
31
|
Test base and extended memory
|
1.Test base memory from 256K to 640K
2.Test extended memory above 1MB using various patterns
Note: This will be skipped in EISA mode and can be "skipped" with ESC
key in ISA mode
|
32
|
Test EISA extended memory
|
If EISA mode flag is set then test EISA memory found in slots initialization
Note: This will be skipped in EISA mode and can be "skipped" with ESC
key in ISA mode
|
33-3B
|
Reserved
|
|
3C
|
Set flag to allow users to enter CMOS setup utility
|
|
3D
|
Initialize & Install mouse
|
Detect if mouse is present, initialize mouse, install interrupt vectors
|
3E
|
Setup cache controller
|
Initialize cache controller
|
3F
|
Reserved
|
|
BF
|
Chipset initialization
|
1.Program the rest of the chipset's value according to setup(Later
setup value program)
2.If auto configuration is enabled, programmed the chipset with pre-defined
values in the MODBINable Auto-Table
|
41
|
Initialize floppy driver & controller
|
Initialize floppy disk drive controller and any drives
|
42
|
Initialize hard drive & controller
|
Initialize hard drive controller and any drives
|
43
|
Detect & Initialize serial/parallel ports
|
Initialize any serial & parallel ports (also game port)
|
44
|
Reserved
|
|
45
|
Detect & Initialize math coprocessor
|
Initialize math coprocessor
|
46-4D
|
Reserved
|
|
4E
|
Manufacturing Post loop or display messages
|
Reboot if Manufacturing Post Loop pin is set.Otherwise display any
error messages on the screen & wait for user to press key to
enter setup
|
4F
|
Security check
|
If password is needed, ask for password
|
50
|
Write CMOS
|
Write all the CMOS values back to RAM abd clear scerrn
|
51
|
Pre-boot Enable
|
Enable parity checker, Enable NMI, Enable cache before boot
|
52
|
Initialize option ROMs
|
Initialize any option ROMs present from C8000h to EFFFFh
Note: When FSCAN option is enable, will initialize from C8000h to F7FFFh
|
53
|
Initialize time value
|
Initialize time value in 40h: BIOS data area by translate the RTC time
value into a timer tick value
|
60
|
Setup Virus protect
|
Setup virus protection (Boot sector protection) functionality according
to setup setting
|
61
|
Set Boot speed
|
Set system speed for boot
|
62
|
Setup NumLock
|
Program the NUM lock, typmatic rate & typmatic speed according
to setup setting
|
63
|
Boot attempt
|
Set low stack and Boot system via INT 19h
|
B0
|
Spurious
|
If interrupt occurs in protected mode
|
B1
|
Unclaimed NMI
|
If unmasked NMI occurs, display Press F1 to disable NMI, F2 reboot
|
E1-EF
|
Setup Pages
|
E1-Page 1, E2-Page2, etc
|
FF
|
System booting. This means that the BIOS already pass the control right
to the operating system
|
|
Ha bármivel gond lenne bekapcsolás után, akkor ott a gép megáll
és látható a probléma okának hexadecimális kódja. Sok esetben azonnal eldönthető,
hogy javítható-e a hiba vagy sem. Ugyanis itt Magyarországon is foglalkoznak
pl. alaplapok javításával. És az az érdekes, hogy sok esetben megéri a javítás,
mivel azt ha nem túl nagy a hiba pár ezer forintból meg lehet úszni, míg egy
új alaplap több tízezer forintba kerül.
Persze az egyből kiderül a kódtáblázatból, hogy vannak olyan hibák,
amivel nem lehet mit kezdeni, de vannak olyanok is, melyek pofon egyszerűen
orvosolhatók. Ilyen pl. a "gyakran" előforduló párhuzamos illetve soros port
hiba. Ha pl. a 43 kódot jelzi a kártya, akkor általában elég letiltani a hibás
portot és a gép attól még üzemképes lehet.
Kipróbáltam én is mit is tud a kártya:
Az egyik teszgépben volt egy üres PCI hely, nosza belehelyeztem.
Bekapcsolás után a zöld LED elkezdett villogni. Ez teljesen normális, ez azt
jelzi, hogy a buszon van órajel. A kijelzőn számok jelentek sorra, annak függvényében,
hogy hol tart az inicializálás. Voltak olyan pontok, melyeknél 1-2 másodpercig
várakozott a gép, és voltak olyanok is, melyek csak rövid időre villantak fel.
Az egyik hosszabb várakozás az ATA eszközök felderítésekor történt.
Próbaképpen néha megnyomtam a "pause" gombot, ekkor mindig megállt
és mutatott egy kódot a kártya, pl:
Sötétben fényképeztem le az eseményeket, így jól látszanak a számok.
A táblázatban az 52-es hexa kódhoz a következő információt találtam: Initialize
any option ROMs present from C8000h to EFFFFh Note: When FSCAN option is enable,
will initialize from C8000h to F7FFFh. Vagyis a ROMok inicializálását szakítottam
félbe.
A BIOS gyártók rendelkezésre bocsátják a kódtáblázatukat. Ezeket
az Interneten viszonylag könnyen meg lehet találni. Ha adott a táblázat és a
POSTA kártya, akkor gyorsabban találhatjuk meg az esetleges hibákat.
Természetesen nem célszerű ilyen eszközt tartani az egyéni felhasználóknak,
hiszen jó esetben nagyon ritkán hibásodik meg egy számítógép. De ahol több gép
van, és hozzáértő emberek is nyüzsögnek arrafele (pl. szerviz, bár a hozzáértő
magatartás nem mindenhol látszik), ott sok időt és fáradságot lehet ezzel megtakarítani.
A Taiwanról behozott tesztkártyák ugyan többet tudnak, van olyan is, amit egy
másik PC-hez lehet csatlakoztatni, de a lényeg akkor is a kódokban van. Mindez
Magyar, kisszériás termék. Nem is olyan drága, mint azt először gondoltam, egy
közepes minőségű CD olvasót adnak ennyi pénzért.
Aki a tesztkártyáról további információt szeretne, írjon a következő
e-mail címre.