From: <pa...@rc...> - 2001-03-23 09:52:36
|
Joe Piolunek wrote: > Printing works now on the 600 if ptal-printd is started without the '-nouel' > switch. I don't recall seeing a definition of 'uel'. Does it mean "Unix End > Line"? If so, would it have helped to remove the 'fix stair-stepping text' > option in printtool? Hi, Joe. UEL stands for Universal Exit Language and is part of PJL (Printer Job Language). Technically it refers to the specific escape sequence "<Esc>%-12345X", and it provides a stronger and print-personality-independent job delimiter than the <Esc>E sequence that gets sent when you tell printtool to "Send EOF after job to eject page". In ptal-printd I stretched the definition a bit with uel1 and uel2 to refer generically to the strings sent before and after the job. The problem was that the <Esc>E before the UEL in uel1 was confusing your printer. In 0.7 the <Esc>E came second, but I swapped them recently when I discovered the LaserJet 3200m didn't like that when printing PostScript. And as we saw, *that* change didn't go over very well with your printer, so I took the <Esc>E out of uel1 altogether. :-) (regarding manually insmoding all the parport* modules): > It's too bad there isn't a neater solution. If that's the best one available > though, I suppose people won't mind doing it very much. Unfortunately, it looks like keeping /dev/lpX open doesn't prevent parport_probe from re-probing that port when it gets reloaded. Nevertheless, I'm now leaning more towards this ptal-mlcd-assisted solution, which should take care of the problem in the vast majority of cases (other than the case of parport_probe unload and reload, which doesn't seem to happen anyway when telling printtool to create another print queue). It also has the added benefit of preventing somebody else from opening the same /dev/lpX. One tradeoff will be that the user has to specify which /dev/lpX to use, in addition to the I/O port base address(es), with a command line such as: ptal-mlcd par:1 -base 0x278 -device /dev/lp2 However, for a single-port box, it should be something pretty simple, like: ptal-mlcd par:0 -device /dev/lp0 # -base 0x378 implied. The other obvious tradeoff will be that the parport*/lp modules will stay loaded all the time while ptal-mlcd is activated, but this shouldn't be too big of a problem. I don't think there's a reliable way to probe for all of the necessary information (low and high base addresses and /dev/lpX node), so the user will have to figure this out by looking at /var/log/messages. I'll try to code this up in the next few days and let people try to break it. :-) David |