home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 36 Tips / 36-Tips.zip / pcii0696.zip / PCIIDE.TXT < prev    next >
Text File  |  1996-06-08  |  16KB  |  349 lines

  1.  
  2.           Document:  PCI IDE Controllers for OS/2
  3.         Maintainer:  Patrick Duffy, duffy@theory.chem.ubc.ca
  4.     Revision Dates:  11/3/95, 12/3/95, 5/18/96, 5/26/96, 6/2/96
  5.        Archived at:  ftp.netcom.com, in directory /pub/ab/abe/
  6.                      CompuServe (GO BENCHMARK)
  7.          Web pages:  http://warp.eecs.berkeley.edu/os2/workbench/work.htm
  8.                      http://www.os2forum.or.at/english/info/os2hardwareinfo/
  9.                      (note that the first URL may not have up-to-date
  10.                      versions of the lists)
  11.  
  12. This document is intended for use by individuals and corporations in a
  13. non-commercial manner.  It may be distributed freely within those
  14. limitations.  Commercial use of this document in any manner requires
  15. prior written permission of the author.
  16.  
  17. There seems to be a proliferation of PCI IDE hardware both built in to
  18. PCI motherboards or available as separate cards.  Some of it is reported
  19. to work well, and some of it is best left unused.  Two of these
  20. controllers, the PC Tech RZ1000 and CMD 640, have been the cause of much
  21. discussion on UseNet, as both have serious flaws which could result in
  22. data corruption.  Both are very commonly employed in motherboards of all
  23. types (the PC Tech RZ1000 was used in the Intel Premiere series of
  24. boards and the CMD 640 is still used in many motherboards, such as the
  25. Asus P54SP4). The full story is below. I've therefore created this PCI
  26. IDE list so that people will know if their particular PCI IDE
  27. implementation will work with OS/2.  I've tried to keep this information
  28. as accurate as possible, but if you spot any flaws or omissions, please
  29. do not hesitate to let me know.  Much of this was received from sources
  30. within IBM.  You may see square brackets beside certain chipsets.  If
  31. the word "confirmed" appears therein, this means that the bug detailed
  32. in the description to follow along with the subsequent fix have been
  33. confirmed to me by IBM.  I've placed a '*' beside the controllers which
  34. seem to work well.  The vendor's name and PCI ID appear in HEX/decimal
  35. in brackets beside the controller name. Dates in brackets indicate the
  36. last revision date for the related entry.
  37.  
  38.                              NEW THIS WEEK
  39.                              -------------
  40.  
  41. I've added contact information for Intel to the "Useful numbers" section
  42. below.
  43.  
  44. Useful numbers: (12/3/95)
  45. ---------------
  46. BusLogic:  (408) 492-9090 (Voice)
  47.            (408) 654-0760 (tech. support -- 7 A.M. - 5 P.M.
  48.                            Pacific Time, Mon. - Fri.)
  49.            (408) 492-9118 (FAX)
  50.            (408) 492-1984 (BBS - N81)
  51.            techsup@buslogic.com (E-Mail tech. support)
  52.            ftp.buslogic.com (FTP site)
  53.            www.buslogic.com (WWW site)
  54.  
  55. CMD:       (800) 426-3832 (sales)
  56.            (714) 454-0800 (sales)
  57.            (714) 455-1656 (FAX)
  58.  
  59. DTC:       (408) 942-4010 (BBS)
  60.            (408) 942-4005 (Faxback)
  61.            (408) 942-4081 (sales)
  62.            (408) 942-4027 (FAX)
  63.            www.datatechnology.com (WWW site)
  64.  
  65. Intel:     (800) 628-8686 (tech. support)
  66.  
  67.            FAXBack:
  68.            --------
  69.            (800) 525-3019  (US or Canada)
  70.            +44 1793-432509 (Europe)
  71.            +65 256-5350    (Singapore)
  72.            +852 2 530-4116 (Hong Kong)
  73.            +886 2 514-0815 (Taiwan)
  74.            +822 767-2594   (Korea)
  75.            +61 2 975-3922  (Australia)
  76.            (503) 264-6835  (World wide)
  77.  
  78.            BBSes:
  79.            ------
  80.            (503) 264-7999  (US or Canada/World wide)
  81.            +44 1793-432955 (Europe)
  82.            +65 256-4776    (Singapore)
  83.            +852 2 530-4116 (Hong Kong)
  84.            +886 2 718-6422 (Taiwan)
  85.            +822 784-3430   (Korea)
  86.            +61 2 975-3066  (Australia)
  87.  
  88.            ftp.intel.com (FTP site)
  89.            www.intel.com (WWW site)
  90.  
  91. PC Tech:   (612) 345-4555
  92.  
  93. Promise:   www.promise.com (WWW site)
  94.  
  95. Tekram:    www.tekram.com (WWW site)
  96.  
  97.                                 Chipsets
  98.                                 --------
  99.  
  100. 1) CMD 640 (CMD Technology Inc.:  1095/4245) (9/4/95)
  101.  
  102.    There are _four_ problems with this particular chip.  Here's the
  103.    first one:
  104.  
  105.    [confirmed]
  106.  
  107.    Channels (two IDE drives may be attached to each IDE channel) cannot
  108.    be operated concurrently because there is a single I/O queue for both
  109.    channels.  Simultaneous reads to both channels will cause data
  110.    corruption.  This is not mentioned in the chipset errata.
  111.  
  112.    Here's the second one:
  113.  
  114.    [confirmed]
  115.  
  116.    Their stand-alone PCI board does not have a BIOS and appears to
  117.    come-up disabled per the PCI definition. Its really difficult to
  118.    tell whether a PCI-IDE controller is operating in 'legacy' mode
  119.    since (at least) the CMD chipset does not update the PCI config
  120.    space with the legacy base port addresses. Also convincing PCI to
  121.    route IRQ 14/15 to a PCI Int is problematic unless the motherboard
  122.    BIOS explicitly supports this function.
  123.  
  124.    Here's the third one:
  125.  
  126.    [confirmed]
  127.  
  128.    The CMD chipset also has a documented restriction that it will not
  129.    support DWORD config write cycles.  Of course the Award BIOS on the
  130.    (Vobis) motherboard on which testing was being performed did not
  131.    issue byte/word config cycles explicitly and instead implemented all
  132.    config read/write services as read/modify/write of DWORD data. The
  133.    net result was that the system PCI BIOS could not be used to program
  134.    the motherboard chipset!
  135.  
  136.    Here's the fourth one:
  137.  
  138.    [confirmed]
  139.  
  140.    Some systems have the floppy drive changeline connected to the same
  141.    line as the 640 chipset.  With this setup, data corruption can occur.
  142.    The reason is this:
  143.  
  144.    The chip fifo is used not only to contain data, but to contain chip
  145.    status as well.  As a consequence of this, the following could occur:
  146.  
  147.    Floppy I/O starts.
  148.    HD I/O starts.
  149.    HD I/O is just about finished when floppy I/O finishes and a request
  150.    to start different floppy I/O is made.
  151.    At this point, the floppy changeline status is read from the floppy
  152.    changeline status register, at location 3f7.  If there is data in the
  153.    CMD chip waiting to go to the disk at this point, two bytes of it are
  154.    _removed_ and replaced with the floppy changeline status.  This, of
  155.    course, causes data corruption.
  156.  
  157.    One person has reported seeing this bug with an Adaptec 1540 SCSI
  158.    controller as well.
  159.  
  160.    IBM have released a software fix for this in the form of a new
  161.    IBM1S506.ADD; check for PJ19409.ZIP (from ftp-os2.cdrom.com and
  162.    elsewhere) to get it.
  163.  
  164. 2) The Intel Triton PCI chipset (Intel:  8086/32902) (5/18/96)
  165.  
  166.    Any board which uses the Intel Triton PCI chipset will have, via the
  167.    Triton chipset, support for EIDE built in to the board.  The EIDE is
  168.    busmastering, and apparently allows for throughputs of up to 22 MB/s.
  169.    There are a proliferation of drivers out there for this chipset, and
  170.    success is by no means guaranteed with any of them, at least
  171.    according to the messages I get.  One report says that disk activity
  172.    slows down while comm. activity occurs; this is consistent with the
  173.    ISA and ATA data lines being shared.  Everything _does_ seem to work
  174.    with IBM1S506.ADD, although this will not allow you to use the
  175.    busmastering capabilities of the chipset.  Adding /SMS and /LBA after
  176.    IBM1S506.ADD is reported to help performance somewhat. The Triton
  177.    chipset also has an additional "feature" whereby when using the
  178.    built-in IDE, both channels cannot be operated independently; both
  179.    channels are either on or off, meaning that you either use two
  180.    interrupts or none.  This allows for faster transfers, though.
  181.  
  182. 3) PC Tech RZ1000  (PC Technology Inc.:  1042/4162) (5/18/96)
  183.  
  184.    There are two bugs in this chip, both of which are by now fixed (the
  185.    latest BIOS for the Intel Premiere II board checks the chipset
  186.    revision and switches the offending features on or off accordingly).
  187.    The first has been known for about a year, and has a fix in fixpack
  188.    5.  Its story is:
  189.  
  190.    Produces accelerated IRQ.  IBM1S506.ADD actually tolerates this.
  191.    However, when the driver reads (HEX address) 1x7 during interrupt
  192.    processing to clear the interrupt, the chipset puts the status in its
  193.    read-ahead FIFO resulting in data corruption. Intel used this chip on
  194.    their motherboards which they sold to Gateway, AT&T, IBM and others.
  195.  
  196.    This feature is not mentioned in its chipset errata.
  197.  
  198.    The second bug was discovered only recently by PowerQuest.  It has
  199.    been the source of much discussion on UseNet.  Here's how the
  200.    now-famous bug occurs:
  201.  
  202.    HD I/O starts.
  203.    HD I/O is just about finished when some other device interrupts the
  204.    CPU to do DMA (a floppy drive or sound card, for example).  Data is
  205.    still in the IDE fifo.
  206.    The other device finishes its I/O and its status is read from its own
  207.    register.
  208.    The IDE status register is read to check the status of the HD transfer
  209.    (for errors, etc.).  At this point the PC Tech chip _removes_ two
  210.    bytes of the data currently in the FIFO awaiting transfer to/from RAM
  211.    and replaces it with its status.  This, of course, causes data
  212.    corruption.
  213.  
  214.    (This bug is exactly analagous to the CMD bug described above.)
  215.  
  216. 4) Promise (Promise Technology:  105A/4186) (5/26/96)
  217.  
  218.    [confirmed/software fix implemented in Warp fixpack 5]
  219.  
  220.    Promise uses a proprietary implementation to allow 4 drives
  221.    per channel. In normal compatibility mode IBM1S506.ADD
  222.    can only see the 1st two drives per channel.
  223.  
  224.    In addition their current controller products do not operate properly
  225.    when Set-Multiple support is enabled.  It is therefore necessary to
  226.    detect Promise controllers (which IBM1S506.ADD does on startup) and,
  227.    upon detection of a promise controller, disable multiple mode support
  228.    in.  (Promise has their own drivers for their cards.)
  229.  
  230. 5) Winbond (Winbond Electronics Corp.:  1050/4176) (5/26/96)
  231.  
  232.    This chipset (the W83769F) is used in some Pentium systems to supply
  233.    IDE services.  It is supposed to work well with one reported problem:
  234.    apparently it won't recognize an ATAPI CD-ROM drive on the second
  235.    channel off a cold boot if it's set to master and there's nothing
  236.    else there. In addition, the driver documentation is not good for the
  237.    OS/2 driver. Documentation on non-OS/2 drivers is good, however the
  238.    wbideos2.doc which is contained on the drivers disk looks as if it
  239.    was stopped half way.  For example, the documentation does not
  240.    adequately describe command line switches.
  241.  
  242.    Setup tips:  You must have DOS installed on the machine & be capable
  243.                 of either dual-booting or using bootmanager to configure
  244.                 the drivers (has to be done in DOS first).
  245.  
  246.                               Controllers
  247.                               -----------
  248.  
  249.  BusLogic (104B/4171)   BT-910     BusLogic makes what is apparently a
  250.                                    good, fast, and reliable controller
  251. which has driver support built into OS/2 (via IBM1S506.ADD), or via
  252. their own driver.  The card apparently has an on-board 80286 processor
  253. which supports up to a 16 MB cache (RAM must be purchased separately),
  254. and support for disk mirroring (for drives on separate cables) and disk
  255. linking (for disks on the same cable).  I've had one report which said
  256. that in order to get the card to co-exist with IBM1S506.ADD, the
  257. switches /A:0 /I had to be added to the IBM1S506.ADD line (so that it
  258. would ignore adapter 0 -- the BT-910).  Odd...
  259.  
  260. (Buslogic:  104B/4171) (5/18/96)
  261.  
  262.  DTC                    2130S      This is a single-port controller
  263.                                    which is reported to work well with
  264. Warp when using the latest drivers (available from the DTC BBS).  It
  265. comes with its own drivers for DOS, Windows, and OS/2 (among others),
  266. but will work with IBM1S506.ADD or WDCIDEOS.ADD (the driver from Western
  267. Digital).  It can, apparently, be operated with a 16-bit paddle card
  268. (which will use the ISA bus to grab a second IRQ for the second IDE
  269. channel) for compatibility.  It supports mode 3 operation, multiple
  270. sector transfers, LBA addressing, and ATA rev. 4.0 devices.
  271.  
  272. (Data Technology Corporation:  107F/4223) (8/27/95)
  273.  
  274.  Setup tips:  After you've installed the driver, modify its line in
  275.               config.sys to read:
  276.  
  277.               BASEDEV=DTCIDE.ADD /V /D0:P3 /D0:M16 /D0:L1
  278.  
  279.               to enable PIO mode 3, multiple (16) sector transfers, and
  280.               LRA addressing.  /D0:M32 may yield better performance.
  281.  
  282.  
  283.  GigaByte               GA-0108    This card not only has the IDE
  284.                                    controller (CMD 640), but also has
  285. support for serial, parallel, and game ports (2/1/1) on board.  It is
  286. reported to work well with Warp (the drivers were supplied with the
  287. card).
  288.  
  289. (CMD Technology Inc.:  1095/4245) (8/27/95)
  290.  
  291.  Promise                5030*      This card works with or without a
  292.                                    paddleboard, and is reported to work
  293. well with Warp.  Apparently it has options which will allow it to work
  294. with buggy or older PCI hardware (like register config disable, etc.),
  295. which make it a good choice for OS/2.  The card takes four 30 pin SIMMs
  296. for cache, does DMA mode 2 busmastering, and PIO mode 4. Note that this
  297. board will _not_ work with the Intel Plato motherboards. The card is
  298. reportedly available for about $149 from several sources.
  299.  
  300. (Promise Technology:  105A/4186) (12/3/95)
  301.  
  302.  Tekram                 DC290N*    I don't have many specifics on this
  303.                                    card, but it is apparently reported
  304. to work well under Warp with the supplied drivers.  The one report of
  305. success I've had with this board also indicated that use of the supplied
  306. paddle board may not be necessary.
  307.  
  308. (Tekram Technology Co., Ltd.:  10E1/4321) (8/27/95)
  309.  
  310.  Tekram                 DC290S     This is the busmastering version of
  311.                                    the DC290N.  I have been told that
  312. the card works well, but that the necessary driver to get CD-ROM support
  313. in OS/2 does not come with the card.  (The same setup gave CD-ROM
  314. support when hooked up to the on-baord EIDE controller on the
  315. motherboard.)
  316.  
  317. (Tekram Technology Co., Ltd.:  10E1/4321) (8/27/95)
  318.  
  319.  Tekram                 DC690C/CD  This card does a lot of interesting
  320.                                    things for an IDE board.  It supports
  321. RAID-1 and HD imaging.  The CD version of the card adds an extra ATAPI
  322. connector for a total of 3 (!). It's reportedly available from several
  323. sources for $149.  I've had no reports from people using this card.
  324.  
  325. (Tekram Technology Co., Ltd.:  10E1/4321) (12/3/95)
  326.  
  327.  Tyan                   S1336      This card, like the Gigabyte above,
  328.                                    is based on the CMD IDE chipset and
  329. has support (via the SMC37C665) for serial/parallel/game ports.  I would
  330. not recommend this card, since apparently the documentation contains
  331. errors, and the card is difficult to set up.
  332.  
  333. (CMD Technology Inc.:  1095/4245) (8/27/95)
  334.  
  335.  Vision Technologies    QDI6500    This card uses NS16550s for its
  336.                                    serial port and comes with drivers
  337. for DOS, Windows, OS/2 and NT.  It is reported to work well with OS/2.
  338.  
  339. (IDE controller mfr. unknown.) (8/27/95)
  340.  
  341. That's what I know.  E-Mail corrections/suggestions and I'll post again.
  342. -- 
  343. Patrick Duffy, duffy@theory.chem.ubc.ca
  344.  
  345. "Evil is out there making hand-crafted mischief for the swap meet of villany."
  346.                                     -- The Tick
  347.  
  348.  
  349.