Hardware device which attaches to a computer and which provided input, output, storage or communication facilities