Name | Modified | Size | Downloads / Week |
---|---|---|---|
capt3-0.1.tgz | 2010-11-22 | 23.1 kB | |
README.txt | 2010-11-20 | 2.4 kB | |
Totals: 2 Items | 25.5 kB | 0 |
Solaris Canon CAPT3 driver -------------------------- This package is a Solaris driver for the Canon LBP-3010 printer. It implements the version 3.0 of the CAPT protocol, a proprietary communication protocol and compression algorithm that I reverse engineered. You can read details of the protocol in the file SPECS. I started from Nicolas Boichat's driver for the LBP-810 printer that implements the CAPT 1.0 protocol but I soon discovered that CAPT 3.0 is almost completely different, both in the communication protocol and the bitmap encoding. Install ------- Build the driver with: # make Then log in as root and type: # make install This will install the capt3 driver and the PPD file ready to be used by Solaris' CUPS system. To create a printer queue for the LBP-3010 printer use: # make install-cups This will creates the queue LBP3010 so that you just need to connect the printer and print. For each print job, a trace of all the communication with the printer is saved in /tmp/capt.log for debugging purposes. Design Notes ------------ This driver is for Solaris and OpenSolaris, it uses the ugen generic driver to communicate with the printer. The generic usbprn printer driver cannot be used because the LBP-3010 printer does not respond to the GET_DEVICE_STATUS control request. As a result the usbprn driver does not attach when the printer is connected. The ugen driver creates several special device files that are specific to the vendor/device id of the USB device. Amongst these file that is one for data in and one for data out. The CAPT 3.0 protocol is a full-duplex protocol, so both special device file must be opened to print. This is done directly in the capt3 driver because it won't fit with the the CUPS principle of one full duplex device file per printer. Ideally a new kernel USB module should be developped (or the usbprn module fixed) so that a real printer port can be created and used in CUPS, but I leave that to someone else to do. The consequence of this architecture is that the capt3 will work only with the LBP3010 printer. If you have another CAPT3.0 printer, you will have to modify capt3.c to open the correct device files. The rest should stay the same. For CUPS I use /dev/null as the printer port. Maybe there is a better choice. (C) 2010 Benoit Bolsee