From: whbog on
We are trying to implement a simple embedded USB host (using the MAX3421)
which can accomplish two things. One, it can read and write to storage
devices like thumb drives, and two, it can connect and print to a USB
printer as long as that printer has PCL-5 compatibility.

The first is fairly straight forward and well-documented. Books can be
found on the subject and I dont think we'll have a problem.

The second is a little more complicated. Right now, we use a parallel
port that prints to any PCL-compatible printer. As everybody knows,
parallel printers are quickly becoming extinct, so we want to change to
USB. This wat w'll be able to print to almost any HP printer as well as a
wide variety of other brands. Maybe later we can add postscript
capability.

The USB Printer Class specification is fairly straight forward, and it
basically says that PCL commands for printing can be transmitted through
USB via the BULK OUT endpoint. Will this work? Has anybody done something
like this? Does it work the same as via a parallel port?

Any suggestions or pointers would be helpful. I'd hate to embark on this
without knowing someone who's done it.