Subject: ulpt problem (ulpt_reset timeout)
To: None <>
From: Dave Huang <>
List: current-users
Date: 12/12/1999 06:16:31
A few days ago, I got a Lexmark Optra E310 printer... seems pretty
nice--PostScript Level 2 built in, 8ppm, parallel port, USB port, and
was only $380 including shipping. Anyways, I wanted to try out the USB
port, so I compiled a kernel with the ulpt driver and rebooted:

uhci0 at pci0 dev 7 function 2: Intel 82371SB USB Host Controller (PIIX3) (rev. 0x01)
uhci0: interrupting at irq 15
usb0 at uhci0: USB revision 1.0
uhub0 at usb0
uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
ulpt0 at uhub0 port 1 configuration 1 interface 0
ulpt0: Lexmark International, Inc. Lexmark Optra E310, rev 1.00/1.00, addr 2, iclass 7/1

Then I catted a PostScript file to /dev/ulpt0... after a few seconds,
I got:

uhci_device_request: not done, ii=0xf05bae60

then the lights on the printer started blinking and the file printed.
Using the "no prime" device avoids the message. So, it looks like it's
timing out while trying to do the ulpt_reset(). I changed the
USBD_DEFAULT_TIMEOUT from 5 seconds to 15 seconds, but that just made
it sit around for 15 seconds before starting to print :)

This is on an Asus P55T2P4 (430HX chipset) K6-2 (450MHz chip, formerly
running at 6*75MHz, but it looks like the USB controller doesn't like
running that fast... it'd return an I/O error after transferring about
1K to the printer. I reduced the speed to 6*66MHz=400MHz, and now it
works... everything else in the system was fine at the higher speed
though). I also tried it on my Pentium II laptop with a PIIX4 USB
controller and I get the same uhci_device_request message.

BTW, are there any plans on adding read support to ulpt for printers
to send back errors and status info?
Name: Dave Huang     |   Mammal, mammal / their names are called /
INet:   |   they raise a paw / the bat, the cat /
FurryMUCK: Dahan     |   dolphin and dog / koala bear and hog -- TMBG
Dahan: Hani G Y+C 23 Y++ L+++ W- C++ T++ A+ E+ S++ V++ F- Q+++ P+ B+ PA+ PL++