Do you have a question? Post it now! No Registration Necessary
Subject
- Posted on
Reverse Engineering a printer's USB Protocol
- 10-29-2006
October 29, 2006, 5:22 am

I have an old 486 linux box that I use for some serial rs232 data
logging. I also have an *old* canon printer that worked with
windows,that Id like to use with the logger, but it doesnt have any
linux drivers.
So, I would like to make a linux driver for it, but Im not a usb
expert... would such a project be too lofty a goal?? Is it reasonable
to think that the protocol could be extracted and implemented in
linux?? If not, how are (usb) windows device drivers normally ported to
linux?
Just poking around, Ive installed some evaluation versions of software
based usb analyzers, and have sent over a paper feed, reset, etc, and
monitored the traffic spurts, although Im not exactly sure what Im
looking at (or if its even meaningful)... if I posted some of the
traffic I see, would someone be able to point me in the right direction
as to how to proceed?
Thanks!
Ben
logging. I also have an *old* canon printer that worked with
windows,that Id like to use with the logger, but it doesnt have any
linux drivers.
So, I would like to make a linux driver for it, but Im not a usb
expert... would such a project be too lofty a goal?? Is it reasonable
to think that the protocol could be extracted and implemented in
linux?? If not, how are (usb) windows device drivers normally ported to
linux?
Just poking around, Ive installed some evaluation versions of software
based usb analyzers, and have sent over a paper feed, reset, etc, and
monitored the traffic spurts, although Im not exactly sure what Im
looking at (or if its even meaningful)... if I posted some of the
traffic I see, would someone be able to point me in the right direction
as to how to proceed?
Thanks!
Ben

Re: Reverse Engineering a printer's USB Protocol

Old and USB sounds strange.
If the printer is really old, it should contain a real character
generator ROM, so you just send ASCII characters to it.
However, most new cheap printers are just WinPrinters without a
character generator ROM and the driver is running on Windows is
generating the bit maps and send them to printer. The bit map protocol
is often proprietary and kept secret, so these printers are only
usable with Windows machines, unless the printer manufacturer supplies
the driver to other operating systems (unlikely).
Paul

Re: Reverse Engineering a printer's USB Protocol

I've taken to using an old windows2000 machine to handle this. I have the
normal vendor-supplied driver installed. Then I create a postscript
printer, loop it through ghostview which then outputs to the windows
printer. It works pretty good and now any platform (even ones that don't
know anything _but_ postscript) can use the printer.
Next time, however, I will probably not buy an HP.
Site Timeline
- » Trying to mount nfs partition on Montavista running target, keep on failing, any idea?
- — Next thread in » Embedded Linux
-
- » Two nodes under /dev/EEPROM/ for one EEPROM
- — Previous thread in » Embedded Linux
-
- » Crosscompiling for ARM: reloc type R_ARM_ABS32 is not supported for PIC - ...
- — Newest thread in » Embedded Linux
-
- » [CHARTER] handvest nl.hobby.elektronica [maandelijks bericht, maart 2021]
- — The site's Newest Thread. Posted in » Electronics (Dutch)
-