Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 25 Nov 2000 10:02:29 -0800
From:      Keith Walker <kew@icehouse.net>
To:        "Walter C. Pelissero" <walter@pelissero.org>
Cc:        questions@freebsd.org
Subject:   Problem with USB printer
Message-ID:  <00112510022900.06194@mars.walker.dom>

next in thread | raw e-mail | index | archive | help

[-- Attachment #1 --]
Ok, a while back (couple of days ago) I posted a question about my Epson 900 
not working when attached via the USB cable.

I found the solution to the problem. Hopefully this will help others with 
Epson's that don't seem to work via the USB port.

The Epson's must have an initialization string sent to them to wake up the 
beast. This string only needs to be sent once, after plugging the printer in. 
Turning off the power doesn't seem to matter, just the power cord. Anyhow, 
sending the init string once per job is sufficient and harms nothing.

The string? In hex code it's:

00 00 00 1b 01 40 45 4a 4c 20 31 32 38 34 2e 34 0a 40 45 4a 4c 20 20 20 20 20 
0a

Attached is a teeny-tiny C program that will output the string for those of 
you who read C better than hex codes.

We have our cousins over in the Linux world to thank for this information. 
Huzzah for the linuxer's! Huzzah! :-)

-- 
Keith Walker
kew@icehouse.net
[-- Attachment #2 --]
/* -*-C-*- */

/* this incredibly simple program contains the magic words
   to get an Epson printer (mine's a Espon 900) to start
   using the USB port. If you don't send this after a
   hard-power-cycle (unplug the power cord, plug it back in)
   the printer will dutifully ignore *everything* you send
   to it.

   I don't actually use this program; I modify the *.upp files
   in Ghostscript's uniprint drivers, I modify the apsfilter
   program to send a prologue and just in general fix things
   up so everything that prints will send this string.

   I have this program here to remind me how to do it, and
   what the codes are.

   Keith Walker, <kew@icehouse.net>
   Late November 2000
*/

#include <stdio.h>

int main(int argc, char **argv)
{
    printf("%c%c%c\033%c@EJL 1284.4\n@EJL     \n", 0, 0, 0, 1);
}

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?00112510022900.06194>