Dell Optiplex GX260 parallel port problem

I was trying to set up a test system on a Dell Optiplex GX 260 and am having
problems with the parallel port.

It prints in bios, and in windows, and the devc-par driver finds the port,
but it won’t print from QNX.

I have tried setting the bios for all the various modes of the parallel port
from AT compatible to ECP with DMA enabled.

In windows, the settings came up in “never us an IRQ” mode by default. I set
them to use an irq, and they set it to irq 7. (windows 2000)

I thought mabe rebooting into qnx after windows set the irq would help, but
no luck there.

The symptom I am seeing is that one byte goes out, and nothing else (I send
a form feed before printing). If I try to copy another file to the parallel
port (/dev/par1) the cp command hangs, and nothing prints. This sounds to me
like it is waiting for an Interrupt and it never comes.

Is there a tool like “pci” to check the settings for isa devices?? Is there
a way to set the “plug and play bios” settings to assign specific irq’s ,
etc???

This system uses the Intel 845 chipset I believe. Not sure if that helps
any.

Any suggestions???

Thanks,

John Eddy

In article <b8rtf6$nob$1@inn.qnx.com>, john.h.eddy@lmco.com says…

I was trying to set up a test system on a Dell Optiplex GX 260 and am having
problems with the parallel port.

It prints in bios, and in windows, and the devc-par driver finds the port,
but it won’t print from QNX.

I have tried setting the bios for all the various modes of the parallel port
from AT compatible to ECP with DMA enabled.

Take a look at documentation
http://www.qnx.com/developer/docs/momentics_nc_docs/neutrino/utilities/d/devc-par.html

“The devc-par driver polls the hardware to detect if a character has been sent.” So, the driver
doesn’t use any interrupt (LPT interrupt is disabled by driver).

“Reading from devc-par works the same as reading from /dev/null.” So, the only supported mode is…
one way byte transfers like it was on XT, but even without interrupts.

In windows, the settings came up in “never us an IRQ” mode by default. I set
them to use an irq, and they set it to irq 7. (windows 2000)

I thought mabe rebooting into qnx after windows set the irq would help, but
no luck there.

The symptom I am seeing is that one byte goes out, and nothing else (I send
a form feed before printing). If I try to copy another file to the parallel
port (/dev/par1) the cp command hangs, and nothing prints. This sounds to me
like it is waiting for an Interrupt and it never comes.

Is there a tool like “pci” to check the settings for isa devices?? Is there
a way to set the “plug and play bios” settings to assign specific irq’s ,
etc???

This system uses the Intel 845 chipset I believe. Not sure if that helps
any.

And which printer does this system use?

Eduard.

Any suggestions???

Thanks,

John Eddy

Ok,

Now I am really confused.

If it isn’t using interrupts, how come it only sends one character, then
locks up?? It appears that the hardware is locked up. If I slay devc-par and
restart it, I can read the handshaking lines with stty, but nothing else
goes out the ports. I only get one character out each time I reboot the
system under QNX.

If I use stty </dev/par1, I can see the error,paper out, busy, and online
inputs change when I set the printer for online or offline.

Do I need to select a specific mode for the parallel port in the bios?? What
modes are compatible??

Is there some issue with the chipset of the motherboard??

What can I try??

We are looking into trying a PCI card with a parallel port.

Thanks,

John Eddy

“ed1k” <ed1k@humber.bay> wrote in message
news:MPG.191b8d2d11005039896c1@inn.qnx.com

In article <b8rtf6$nob$> 1@inn.qnx.com> >, > john.h.eddy@lmco.com > says…
I was trying to set up a test system on a Dell Optiplex GX 260 and am
having
problems with the parallel port.

It prints in bios, and in windows, and the devc-par driver finds the
port,
but it won’t print from QNX.

I have tried setting the bios for all the various modes of the parallel
port
from AT compatible to ECP with DMA enabled.

Take a look at documentation

http://www.qnx.com/developer/docs/momentics_nc_docs/neutrino/utilities/d/dev

c-par.html

“The devc-par driver polls the hardware to detect if a character has been
sent.” So, the driver
doesn’t use any interrupt (LPT interrupt is disabled by driver).

“Reading from devc-par works the same as reading from /dev/null.” So, the
only supported mode is…
one way byte transfers like it was on XT, but even without interrupts.


In windows, the settings came up in “never us an IRQ” mode by default. I
set
them to use an irq, and they set it to irq 7. (windows 2000)

I thought mabe rebooting into qnx after windows set the irq would help,
but
no luck there.

The symptom I am seeing is that one byte goes out, and nothing else (I
send
a form feed before printing). If I try to copy another file to the
parallel
port (/dev/par1) the cp command hangs, and nothing prints. This sounds
to me
like it is waiting for an Interrupt and it never comes.

Is there a tool like “pci” to check the settings for isa devices?? Is
there
a way to set the “plug and play bios” settings to assign specific irq’s
,
etc???

This system uses the Intel 845 chipset I believe. Not sure if that helps
any.

And which printer does this system use?

Eduard.


Any suggestions???

Thanks,

John Eddy

In article <b8tjsu$l1i$1@inn.qnx.com>, john.h.eddy@lmco.com says…

Ok,

Now I am really confused.

If it isn’t using interrupts, how come it only sends one character, then
locks up??

There are lots of ways :slight_smile: For example, your printer doesn’t put -ACK signal for some reason. There
is no interrupt used means the ACK line is polled by driver, also you might want to play with -s
option of devc-par. Also problem could be in broken cable. Did you try to change Cetronics cable or
printer or both? Which kind of printer do you use?


It appears that the hardware is locked up. If I slay devc-par and
restart it, I can read the handshaking lines with stty, but nothing else
goes out the ports. I only get one character out each time I reboot the
system under QNX.

If I use stty </dev/par1, I can see the error,paper out, busy, and online
inputs change when I set the printer for online or offline.

Do I need to select a specific mode for the parallel port in the bios?? What
modes are compatible??

SPP is good. EPP, ECP, EPP/ECP are not supported by devc-par, so there is no sense to set up them in
BIOS.

Is there some issue with the chipset of the motherboard??

I never heard about it.

Eduard.

What can I try??

We are looking into trying a PCI card with a parallel port.

Thanks,

John Eddy

“ed1k” <> ed1k@humber.bay> > wrote in message
news:> MPG.191b8d2d11005039896c1@inn.qnx.com> …
In article <b8rtf6$nob$> 1@inn.qnx.com> >, > john.h.eddy@lmco.com > says…
I was trying to set up a test system on a Dell Optiplex GX 260 and am
having
problems with the parallel port.

It prints in bios, and in windows, and the devc-par driver finds the
port,
but it won’t print from QNX.

I have tried setting the bios for all the various modes of the parallel
port
from AT compatible to ECP with DMA enabled.

Take a look at documentation

http://www.qnx.com/developer/docs/momentics_nc_docs/neutrino/utilities/d/dev
c-par.html

“The devc-par driver polls the hardware to detect if a character has been
sent.” So, the driver
doesn’t use any interrupt (LPT interrupt is disabled by driver).

I have tried three different parallel port cables. It is not the cable.
I booted the same machine into Win2000 and it prints ok.
I can print when in the bios screens (print the bios menus).
I only get one character out when I try to print in QNX.
Even stopping the driver and re-starting it, does not get another
character out of it.
I see one form feed, and it hangs. It appears to hang on the hardware
level, or re-starting the driver should work.

Since the driver is a polled one (essentially AT compatible mode), (Win2000
and bios are probably using DMA or interrupts (ECP or EPP mode)), is it
possible the hardware just is not compatible with this method anymore??

Is there a ECP or EPP version of the driver available??

Thanks,

John Eddy

“ed1k” <ed1k@humber.bay> wrote in message
news:MPG.191e4fcbedd3425e9896c3@inn.qnx.com

In article <b8tjsu$l1i$> 1@inn.qnx.com> >, > john.h.eddy@lmco.com > says…
Ok,

Now I am really confused.

If it isn’t using interrupts, how come it only sends one character, then
locks up??

There are lots of ways > :slight_smile: > For example, your printer doesn’t put -ACK
signal for some reason. There
is no interrupt used means the ACK line is polled by driver, also you
might want to play with -s
option of devc-par. Also problem could be in broken cable. Did you try to
change Cetronics cable or
printer or both? Which kind of printer do you use?


It appears that the hardware is locked up. If I slay devc-par and
restart it, I can read the handshaking lines with stty, but nothing else
goes out the ports. I only get one character out each time I reboot the
system under QNX.

If I use stty </dev/par1, I can see the error,paper out, busy, and
online
inputs change when I set the printer for online or offline.

Do I need to select a specific mode for the parallel port in the bios??
What
modes are compatible??

SPP is good. EPP, ECP, EPP/ECP are not supported by devc-par, so there is
no sense to set up them in
BIOS.


Is there some issue with the chipset of the motherboard??


I never heard about it.

Eduard.

What can I try??

We are looking into trying a PCI card with a parallel port.

Thanks,

John Eddy

“ed1k” <> ed1k@humber.bay> > wrote in message
news:> MPG.191b8d2d11005039896c1@inn.qnx.com> …
In article <b8rtf6$nob$> 1@inn.qnx.com> >, > john.h.eddy@lmco.com > says…
I was trying to set up a test system on a Dell Optiplex GX 260 and
am
having
problems with the parallel port.

It prints in bios, and in windows, and the devc-par driver finds the
port,
but it won’t print from QNX.

I have tried setting the bios for all the various modes of the
parallel
port
from AT compatible to ECP with DMA enabled.

Take a look at documentation


http://www.qnx.com/developer/docs/momentics_nc_docs/neutrino/utilities/d/dev
c-par.html

“The devc-par driver polls the hardware to detect if a character has
been
sent.” So, the driver
doesn’t use any interrupt (LPT interrupt is disabled by driver).

In article <b95ms2$n4g$1@inn.qnx.com>, john.h.eddy@lmco.com says…

I have tried three different parallel port cables. It is not the cable.
I booted the same machine into Win2000 and it prints ok.
I can print when in the bios screens (print the bios menus).
I only get one character out when I try to print in QNX.
Even stopping the driver and re-starting it, does not get another
character out of it.
I see one form feed, and it hangs. It appears to hang on the hardware
level, or re-starting the driver should work.

Since the driver is a polled one (essentially AT compatible mode), (Win2000
and bios are probably using DMA or interrupts (ECP or EPP mode)), is it
possible the hardware just is not compatible with this method anymore??

I still don’t know what is your hardware. If type and model of your printer is a secret, I don’t
know what is possible and what isn’t. If you setted SPP mode in BIOS, no one can print using ECP or
EPP mode nor BIOS nor Win2K (I’m not very sure about Win2K though, who knows, who cares :slight_smile:)

Is lpd daemon started? What is your /etc/printcap? Do you use lpr to print files? What kind of files
are you printing? Is it ASCII text or something else?

Is there a ECP or EPP version of the driver available??

Not to my knowledge.

Eduard.

Thanks,

John Eddy

What type of hardware??
The printer is a panasonic dot matrix printer, model KX-P2023. This does
not matter though, since i am sending text files to it. Any printer would
work.
The computer is a dell optiplex GX-260. Here is what I found on what is
in it:

Technical Features of the OptiPlex GX260 include:

a… Intel® PentiumTM 4 (400&533MHz FSB) and Intel® Celeron® processors
(400MHz FSB)
b… Intel® PRO/1000 MT Network Connection
c… 266MHz Shared1 DDR SDRAM
d… Integrated Intel® Extreme graphics & 4X AGP Slot
e… 845G Chipset with ICH4
f… 6 2.0 USB ports, 2 front & 4 rear Integrated ATA/100 with SMART II
g… Integrated AC '97 Audio with F&R jacks
h… LegacySelect 2.0 & S3/4 Ready
i… Windows® XP and 2000
j… PCI Slots - 1 to 4
k… Three chassis options (Small Form Factor, Small Desktop, Small
Mini-Tower)
I am not sure exactly where in this mess, the parallel port is hidden. I
didn’t see it mentioned in the spec sheet for the ICH4 I/O chip, where I
would expect it to be.

I have put a service request in with Dell to get some reason why the
parallel port would behave different, but no word yet.

lpd is immaterial. I have it set up the same way on another model Dell, and
it works fine, but I even tried slaying the spooler and lpd, and doing a cp
to the device /dev/par1 (with a text file) directly. This should always
work.

I have since purchased an add-on PCI card with parallel port, and disabled
the port on the motherboard (what a pain), it prints fine once I got
devc-par to find this card.

BTW, I manually slayed devc-par, and started it with the -p option to set
the address (not standard parallel port address over PCI bus). Is there an
easy way to add a card like this to the enum scripts at startup?? I think my
brother ended up writing an awk script to: parse pci -v output, find the
base address, and restart devc-par using it, but there MUST be an easier
way. The enum stuff is designed to do this.

Thanks,

John Eddy

“ed1k” <ed1k@humber.bay> wrote in message
news:MPG.1920ab4989e0e2409896c4@inn.qnx.com

In article <b95ms2$n4g$> 1@inn.qnx.com> >, > john.h.eddy@lmco.com > says…
I have tried three different parallel port cables. It is not the cable.
I booted the same machine into Win2000 and it prints ok.
I can print when in the bios screens (print the bios menus).
I only get one character out when I try to print in QNX.
Even stopping the driver and re-starting it, does not get another
character out of it.
I see one form feed, and it hangs. It appears to hang on the
hardware
level, or re-starting the driver should work.

Since the driver is a polled one (essentially AT compatible mode),
(Win2000
and bios are probably using DMA or interrupts (ECP or EPP mode)), is it
possible the hardware just is not compatible with this method anymore??


I still don’t know what is your hardware. If type and model of your
printer is a secret, I don’t
know what is possible and what isn’t. If you setted SPP mode in BIOS, no
one can print using ECP or
EPP mode nor BIOS nor Win2K (I’m not very sure about Win2K though, who
knows, who cares > :slight_smile:> )

Is lpd daemon started? What is your /etc/printcap? Do you use lpr to print
files? What kind of files
are you printing? Is it ASCII text or something else?

Is there a ECP or EPP version of the driver available??

Not to my knowledge.

Eduard.


Thanks,

John Eddy

“John Eddy” <john.h.eddy@lmco.com> wrote in message
news:b98fcb$sn9$1@inn.qnx.com

BTW, I manually slayed devc-par, and started it with the -p option to set
the address (not standard parallel port address over PCI bus). Is there an
easy way to add a card like this to the enum scripts at startup?? I think
my
brother ended up writing an awk script to: parse pci -v output, find the
base address, and restart devc-par using it, but there MUST be an easier
way. The enum stuff is designed to do this.

Look at /etc/system/enum/devices/char, notice the section for printer (two
lines match the parallel port - one for pnpbios, one for isa, just before
“tag(printer)”). Copy this section and paste into a separate file. In that
file, replace the “device” lines with something like “device(pci, vendor_id,
device_id)” (you should know those ids from pci -v output). You can call the
file anything, just put it into /etc/system/enum/devices. Do not forget to
disable the internal parallel port in the BIOS. The $ioport will be
substituted by enumerator and it should do the trick. You can test it by
running “enum-devices -n” - you should see a line for devc-par in the output
if you’ve done it right.

You can of course add new match line into the “char” file, but using
separate file is cleaner - it avoids spilling system file so you won’t get a
conflict when you upgrade.

Rant #1: QNX, please remove the parallel port section from the 'char' file and make it separate. The devc-par driver may have to be disabled to run something more useful and it is easier to do that when it is in a separate file.

Rant #2:
It would be also very nice if enum-devices used some attribute to decide if
a file should be processed or not, e.g. ‘execute’ bit. It is quite common in
testing practice to temporarily disable start of some drivers and right now
you can only do that by moving the file out of /etc/system/enum hierarchy,
which is inelegant.
</rant mode off>

– igor

Igor Kovalenko <kovalenko@attbi.com> wrote:

It would be also very nice if enum-devices used some attribute to decide if
a file should be processed or not, e.g. ‘execute’ bit. It is quite common in
testing practice to temporarily disable start of some drivers and right now
you can only do that by moving the file out of /etc/system/enum hierarchy,
which is inelegant.

It already ignores files that start with “.” or end with “~” or “.bak”
(via the -i and -I command line options).

\

Brian Stecher (bstecher@qnx.com) QNX Software Systems, Ltd.
phone: +1 (613) 591-0931 (voice) 175 Terence Matthews Cr.
+1 (613) 591-3579 (fax) Kanata, Ontario, Canada K2M 1W8