I recently purchased a laser printer, a Brother HL-5140, which can be 
connected through a USB 2.0 or a parallel cable. I'm using the ports of my 
motherboard, a MSI KT6 Delta-FSIR. It has a VIA VT8237 chipset (more details 
below).
  I tested it with Linux (SUSE 9.1 with kernel 2.6.5, 2.6.8 and 2.6.9-rc1).

  First, the printer works well over a parallel cable, both on Windows and 
Linux. But over a USB 2.0 cable it works well only in Windows.
  I tried to plug the printer to a USB 2.0 port as well as a USB 1.1 port, 
since my motherboard has both. The behaviour is the same in each case. It may 
be relevant to say that, at boot time, the ehci driver is loaded before the 
uhci one.

  In Linux, over a USB 2.0 cable, the printer is seen, detected and configured 
without problem. It reacts when I try to print something but after a couple 
of seconds it indicates that data are still in the queue, and nothing happens 
after that, not a page comes out, I have to switch off the printer to reset 
it. Exception: if I try to print only raw ASCII, like a good old "Hello 
world" test, it works.
  It's probably not a hardware problem, since the printer works fine in 
Windows. It's not the printing driver (a PPD file in CUPS), since it works in 
Linux over a parallel cable. So I venture that it probably comes from the USB 
subsystem.

  I reported the problem to SUSE. I was answered that that sort of problem is 
known but difficult to pinpoint and:

> In your case it works for a few bytes (e.g. for printing "Hello")
> but it does no longer work when tons of data are sent for normal
> printing. Therefore it seems the problem is the data-handshake.
> Unfortunately there is no soulution.

and that the best I could do was to report it to you, for your information.

  If I can help you in any way, for example testing something, please let me 
know. Now here are more details about my system:


Part of /var/log/messages that appears when the printer is plugged in:

kernel: usb 1-7: new high speed USB device using address 9
kernel: usb 1-7: Product: HL-5140
kernel: usb 1-7: Manufacturer: Brother
kernel: usb 1-7: SerialNumber: B4J257833
/etc/hotplug/usb.agent[22973]: need a device for this command
kernel: drivers/usb/class/usblp.c: usblp0: USB Bidirectional printer dev 9 if 
0 alt 0 proto 2 vid 0x04F9 pid 0x0021
kernel: usbcore: registered new driver usblp
kernel: drivers/usb/class/usblp.c: v0.13: USB Printer Device Class driver
/etc/hotplug/usb.agent[23034]: Keeping default configuration 
with /sys//class/usb/lp0


Content of /proc/bus/usb/devices (the part about the printer is at the 
bottom):

T:  Bus=05 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 2
B:  Alloc=  0/900 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 1.10 Cls=09(hub  ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=0000 ProdID=0000 Rev= 2.06
S:  Manufacturer=Linux 2.6.8-20040906151119-default uhci_hcd
S:  Product=UHCI Host Controller
S:  SerialNumber=0000:00:10.3
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=  0mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   2 Ivl=255ms

T:  Bus=04 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 2
B:  Alloc=  0/900 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 1.10 Cls=09(hub  ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=0000 ProdID=0000 Rev= 2.06
S:  Manufacturer=Linux 2.6.8-20040906151119-default uhci_hcd
S:  Product=UHCI Host Controller
S:  SerialNumber=0000:00:10.2
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=  0mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   2 Ivl=255ms

T:  Bus=03 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 2
B:  Alloc=118/900 us (13%), #Int=  1, #Iso=  0
D:  Ver= 1.10 Cls=09(hub  ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=0000 ProdID=0000 Rev= 2.06
S:  Manufacturer=Linux 2.6.8-20040906151119-default uhci_hcd
S:  Product=UHCI Host Controller
S:  SerialNumber=0000:00:10.1
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=  0mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   2 Ivl=255ms

T:  Bus=03 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=1.5 MxCh= 0
D:  Ver= 1.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=045e ProdID=0026 Rev= 1.02
S:  Manufacturer=Microsoft
S:  Product=SideWinder Game Pad Pro USB version 1.0
C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr= 20mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=00 Prot=00 Driver=usbhid
E:  Ad=81(I) Atr=03(Int.) MxPS=   4 Ivl=10ms

T:  Bus=03 Lev=01 Prnt=01 Port=01 Cnt=02 Dev#=  3 Spd=1.5 MxCh= 0
D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=046d ProdID=c501 Rev= 9.10
S:  Manufacturer=Logitech
S:  Product=USB Receiver
C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr= 50mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=01 Prot=02 Driver=usbhid
E:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl=10ms

T:  Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 2
B:  Alloc=236/900 us (26%), #Int=  2, #Iso=  0
D:  Ver= 1.10 Cls=09(hub  ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=0000 ProdID=0000 Rev= 2.06
S:  Manufacturer=Linux 2.6.8-20040906151119-default uhci_hcd
S:  Product=UHCI Host Controller
S:  SerialNumber=0000:00:10.0
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=  0mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   2 Ivl=255ms

T:  Bus=02 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#=  2 Spd=1.5 MxCh= 0
D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=046d ProdID=c503 Rev=10.20
S:  Manufacturer=Logitech
S:  Product=USB Receiver
C:* #Ifs= 2 Cfg#= 1 Atr=a0 MxPwr= 50mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=01 Prot=01 Driver=usbhid
E:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl=10ms
I:  If#= 1 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=00 Prot=00 Driver=usbhid
E:  Ad=82(I) Atr=03(Int.) MxPS=   8 Ivl=10ms

T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480 MxCh= 8
B:  Alloc=  0/800 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=01 MxPS= 8 #Cfgs=  1
P:  Vendor=0000 ProdID=0000 Rev= 2.06
S:  Manufacturer=Linux 2.6.8-20040906151119-default ehci_hcd
S:  Product=EHCI Host Controller
S:  SerialNumber=0000:00:10.4
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   2 Ivl=256ms

T:  Bus=01 Lev=01 Prnt=01 Port=06 Cnt=01 Dev#=  9 Spd=480 MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=04f9 ProdID=0021 Rev= 1.00
S:  Manufacturer=Brother
S:  Product=HL-5140
S:  SerialNumber=B4J257833
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=  2mA
I:  If#= 0 Alt= 0 #EPs= 2 Cls=07(print) Sub=01 Prot=02 Driver=usblp
E:  Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=125us
E:  Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms




Output of lspci -v (minus some obviously unrelated devices, like sound card, 
network adapter...):

0000:00:00.0 Host bridge: VIA Technologies, Inc. VT8377 [KT400 AGP] Host 
Bridge (rev 80)
 Subsystem: VIA Technologies, Inc.: Unknown device 0000
 Flags: bus master, 66Mhz, medium devsel, latency 8
 Memory at e0000000 (32-bit, prefetchable)
 Capabilities: [80] AGP version 3.5
 Capabilities: [c0] Power Management version 2

0000:00:01.0 PCI bridge: VIA Technologies, Inc. VT8237 PCI Bridge (prog-if 00 
[Normal decode])
 Flags: bus master, 66Mhz, medium devsel, latency 0
 Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
 Memory behind bridge: dde00000-dfefffff
 Prefetchable memory behind bridge: cdd00000-ddcfffff
 Capabilities: [80] Power Management version 2


0000:00:0e.0 FireWire (IEEE 1394): VIA Technologies, Inc. IEEE 1394 Host 
Controller (rev 46) (prog-if 10 [OHCI])
 Subsystem: Micro-Star International Co., Ltd.: Unknown device 590d
 Flags: bus master, medium devsel, latency 32, IRQ 177
 Memory at dffdb800 (32-bit, non-prefetchable)
 I/O ports at cc00 [size=128]
 Capabilities: [50] Power Management version 2

0000:00:0f.0 RAID bus controller: VIA Technologies, Inc.: Unknown device 3149 
(rev 80)
 Subsystem: Micro-Star International Co., Ltd.: Unknown device 5901
 Flags: bus master, medium devsel, latency 32, IRQ 185
 I/O ports at e800
 I/O ports at e400 [size=4]
 I/O ports at e000 [size=8]
 I/O ports at dc00 [size=4]
 I/O ports at d800 [size=16]
 I/O ports at d400 [size=256]
 Capabilities: [c0] Power Management version 2

0000:00:0f.1 IDE interface: VIA Technologies, Inc. 
VT82C586A/B/VT82C686/A/B/VT8233/A/C/VT8235 PIPC Bus Master IDE (rev 06) 
(prog-if 8a [Master SecP PriP])
 Subsystem: Micro-Star International Co., Ltd.: Unknown device 5901
 Flags: bus master, medium devsel, latency 32, IRQ 185
 I/O ports at fc00 [size=16]
 Capabilities: [c0] Power Management version 2

0000:00:10.0 USB Controller: VIA Technologies, Inc. USB (rev 81) (prog-if 00 
[UHCI])
 Subsystem: Micro-Star International Co., Ltd.: Unknown device 5901
 Flags: bus master, medium devsel, latency 32, IRQ 193
 I/O ports at bc00 [size=32]
 Capabilities: [80] Power Management version 2

0000:00:10.1 USB Controller: VIA Technologies, Inc. USB (rev 81) (prog-if 00 
[UHCI])
 Subsystem: Micro-Star International Co., Ltd.: Unknown device 5901
 Flags: bus master, medium devsel, latency 32, IRQ 193
 I/O ports at c000 [size=32]
 Capabilities: [80] Power Management version 2

0000:00:10.2 USB Controller: VIA Technologies, Inc. USB (rev 81) (prog-if 00 
[UHCI])
 Subsystem: Micro-Star International Co., Ltd.: Unknown device 5901
 Flags: bus master, medium devsel, latency 32, IRQ 193
 I/O ports at c400 [size=32]
 Capabilities: [80] Power Management version 2

0000:00:10.3 USB Controller: VIA Technologies, Inc. USB (rev 81) (prog-if 00 
[UHCI])
 Subsystem: Micro-Star International Co., Ltd.: Unknown device 5901
 Flags: bus master, medium devsel, latency 32, IRQ 193
 I/O ports at c800 [size=32]
 Capabilities: [80] Power Management version 2

0000:00:10.4 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 86) (prog-if 
20 [EHCI])
 Subsystem: Micro-Star International Co., Ltd.: Unknown device 5901
 Flags: bus master, medium devsel, latency 32, IRQ 193
 Memory at dfff7e00 (32-bit, non-prefetchable)
 Capabilities: [80] Power Management version 2

0000:00:11.0 ISA bridge: VIA Technologies, Inc.: Unknown device 3227
 Subsystem: VIA Technologies, Inc.: Unknown device 0000
 Flags: bus master, stepping, medium devsel, latency 0
 Capabilities: [c0] Power Management version 2


-- 
Thibaut Cousin
http://www.thibaut-cousin.net

Attachment: pgprVkvjOMv2w.pgp
Description: PGP signature

Reply via email to