2.706 bytes

Service Hints & Tips

Document ID: DETR-43ELNV

This document is provided to IBM and our Business Partners to help sell and/or service IBM products. It is not to be distributed beyond that audience or used for any other purpose.

Aptiva - 2163/2164 Considerations - BIOS IDE determination algorithm violates IDE specifications

Applicable to: World-Wide

Description:
BIOS IDE determination algorithm violates IDE specifications. NOTE: Fixed in BIOS prior to start of production.

Models affected:
2163 and 2164

How to duplicate:
Connect HP 16500 State analyzer to IDE bus. Use rising edge of DIOR+DIOW to capture IDE bus states. Store all non-busy states while triggering on NO STATE. Boot system. Stop trace when system turns over control to Win98.

Root cause:
It appears that BIOS is violating IDE specifications when trying to determine if an attached device is ATA or ATAPI. BIOS issues an ATA 0xECh IDENTIFY DRIVE command. It then polls the CYLINDER_HIGH/CYLINDER_LOW registers, apparently looking for the 14EBh ATAPI signature. This algorithm is not valid. According to IDEspecifications, all register contents are invalid until the BUSY bit in the MAIN_STATUS register has been cleared. Transient conditions could fool BIOS into thinking the wrong device type was present. The correct procedure is to first poll MAIN_STATUS looking for BUSY clear, and then read CYLINDER_HIGH/CYLINDER_LOW looking for the ATAPI signature.

Workaround:
Fixed in production BIOS.

Search Keywords

Hint Category

BIOS, Considerations

Date Created

22-12-98

Last Updated

02-03-99

Revision Date

01-03-2000

Brand

IBM Aptiva

Product Family

Aptiva

Machine Type

2163, 2164

Model

all

TypeModel

Retain Tip (if applicable)

Reverse Doclinks
and Admin Purposes