Do not buy: PCI-8255

I've been given a PCI-8255 board with the understanding that I'll work on an EMC2 driver for it. The board's specs sound nice: 72 I/O points from 3 standard "8255" chips (that's under $1/pin), plus one isolated mechanical relay labeled RY12W-K.

Update, 2008-05-05: The two boards I know of (mine and the one that Sam S. has tried) are broken on read mode. crashme.c is an innocuous program: it first sets the tiger320 registers and then repeatedly reads from one of the 82c55 chips. On my box this routinely locks up hard (no capslock light flashing, no messages printed on console).

Several of the irc folks tried valiantly to understand what was going on (read IRC log part A and log part B) but I was never able to read from the 8255 chips without locking my system up after a few thousand iterations, let alone be confident that I was reading back correct values.

Update, 2008-05-09: Tom P. on IRC reports that his board was unreliable like mine until he added pull-downs on all the 8255 I/O pins. If you're stuck with one of these dogs and want a chance to recover your investment, trying this can't hurt. But I still recommend steering clear of this board. log part C


Original text: At this point I don't recommend that anyone buy the board. While I can't rule out that I have made a mistake in my software, it appears that the board will routinely crash the PC when trying to read from it with inb().

Futurlec shipped the wrong informational CD with this order, but I should get a copy of their documentation soon. To tide me over, I've been looking at these resources:

It's my hope that a HAL driver for this card will take only a few hours to write. I will write only a driver for the simple "mode 0", and even that allows 16 different configurations of each 8255 chip (4 different ports can be individually set to input or output), or 4096 different configurations for the board as a whole.

Entry first conceived on 6 December 2006, 19:36 UTC, last modified on 15 January 2012, 3:46 UTC
Website Copyright © 2004-2024 Jeff Epler