/dev/lp0 ?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I can't seem to make the LPTIME ioctl to /dev/lp0 do what the
documentation says it's supposed to do. If I'm understanding the doc
correctly,

  Set the amount  of time in jiffies that the driver waits
  if the printer doesn't take a character in the number
  of tries dictated by the LPCHAR ioctl

After looking through the kernel sources for my problem, in particular
ieee1284_ops.c parport_ieee1284_write_compat routine, I would expect
this LPTIME ioctl to affect the 
dev->timeout used in this routine. After inserting some printks in the
module, it doesn't seem to. 

I'm writing some software that will be using some old dataproducts line
printers for printing. I'm using a centronics-to-dataproducts adapter. 

As long as I
don't use the LPABORT ioctl I don't get any timeouts. As soon as I
enable aborts on writes via the LPABORT ioctl I get timeouts when ever I
send a FF (0x0c) or LF (0x0a) char followed by anything else.
The parport_ieee1284_write_compat routine times out waiting for the
Form-Feed or Line-Feed from the previous byte to complete.

The data streams I have to send to these printers are text only with
normal CR, LF, and FF's possibly in the data stream.

I've manually modified the above routine by setting the value of
dev->timeout to 1000, which appears to be the value used when I don't
use the (LPABORT, TRUE) ioctl. Then all works ok. No timeouts. When I
use the (LPABORT, TRUE) ioctl the valu of dev->timeout comes out as 1.
When I use
the (LPABORT, FALSE) it ends up being 1000. ?????

Oh, I'm using a 2.4.20 kernel.

My questions I guess are:
Why doesn't the LPTIME ioctl affect this the way
the doc says?
And, should it or am I just plain wrong about my assumptions

Thanks in advance
Mark

--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
FAQ:           http://kernelnewbies.org/faq/


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux