On Tue, May 07, 2002, Peter Denison <[EMAIL PROTECTED]> wrote:
> Turning my HP PSC750 printer/scanner off and on again during a session,
> results in the following trace - pay particular attention to the 5th line. 
> This is true for at least 2.5.14 and 2.5.11, and probably 2.5.10 and 
> 2.5.8. All USB drivers loaded as modules, using the uhci.o driver variant 
> (have to otherwise the PSC750 doesn't work)

You mean usb-uhci.o doesn't work at all with the device?

> May  5 15:02:11 marshall hpijs: unable to SetPixelsPerRow width=4800, err=26 
> May  5 15:03:21 marshall kernel: printer.c: usblp0: nonzero read/write bulk status 
>received: -84 
> May  5 15:03:21 marshall kernel: printer.c: usblp0: error -84 reading from printer 
> May  5 15:03:21 marshall kernel: printer.c: usblp0: nonzero read/write bulk status 
>received: -84 

-84 is EILSEQ which means we received a CRC/Timeout on an IN packet.
That's pretty much what I would expect when a device is turned off
during a transfer.

> May  5 15:03:21 marshall kernel: uhci.c: a400: host controller halted. very bad 

Do you have a VIA UHCI controller by chance? (check with lspci)

This message means the HC died. Most of the time nowadays that means we
were passed a bad buffer by a driver.

> May  5 15:03:21 marshall kernel: usb.c: USB disconnect on device 2 
> May  5 15:03:22 marshall ptal-mlcd: ERROR at ExMgr.cpp:2447, dev=<usb:PSC_750>, 
>pid=685, errno=19         llioService: llioRead returns -1, expected=6! 
> May  5 15:03:22 marshall ptal-mlcd: ERROR at ExMgr.cpp:853, dev=<usb:PSC_750>, 
>pid=685, errno=32         exClose(reason=0x0010) 
> May  5 15:03:22 marshall kernel: printer.c: usblp0: removed 

To be expected.

> May  5 15:04:33 marshall kernel: hub.c: new USB device 00:1f.2-2, assigned address 4 
> May  5 15:04:33 marshall kernel: printer.c: usblp0: USB Bidirectional printer dev 4 
>if 0 alt 0 proto 3 vid 0x03F0 pid 0x1411 

Wow, the HC halted, but it still enumerated the device again?

> May  5 15:04:33 marshall /etc/hotplug/usb.agent: Setup printer for USB product 
>3f0/1411/100
> May  5 15:04:33 marshall /etc/hotplug/usb.agent: missing kernel or user mode driver 
>printer 
> May  5 15:04:45 marshall hpijs: unable to SetPixelsPerRow width=4800, err=26 
> May  5 15:04:45 marshall ptal-mlcd: SYSLOG at 
>/usr/src/redhat/BUILD/hpoj-0.8/mlcd/bp/ex/ExMgr.h:547, dev=<usb:PSC_750>, pid=685, 
>errno=11         ptal-mlcd successfully activated. 
> May  5 15:04:47 marshall kernel: printer.c: usblp0: nonzero read/write bulk status 
>received: -110 

I'd expect this message after an HCH error, but you got the device to
enumerate between those.

> After this the printer is completely screwed, and any attempt by the 
> ptal-mlcd daemon to write to it results in a stuck process (I/O bound, 
> state D)

Hmm, sounds like there is still a bug or three in the printer driver.

> Second error:
> 
> When I shut down, again with printer.c loaded as a module, this is on 
> 2.5.11: The BUG! indicates a non-zero refcount for the device (probably 
> the printer)
> 
> kernel: usb.c: USB disconnect on device 1 
> kernel: usb.c: USB disconnect on device 4 
> kernel: printer.c: usblp0: removed 
> kernel: kernel BUG at usb.c:987! 
> kernel: invalid operand: 0000 
> kernel: CPU:    0 
> kernel: EIP:    0010:[<d8817d9e>]    Not tainted 
> kernel: EFLAGS: 00010246 
> kernel: eax: 00000000   ebx: d7c82200   ecx: c13bdcc8   edx: 00000002 
> kernel: esi: d7c67660   edi: d88251e4   ebp: ffffffff   esp: d689df48 
> kernel: ds: 0018   es: 0018   ss: 0018 
> kernel: Process rmmod (pid: 6130, threadinfo=d689c000 task=d70a20a0) 
> kernel: Stack: d7c823f8 d8818d0f d7c82200 d7c67560 d882d480 d31d2000 d8827000 
>000000c4  
> kernel:        d7c82200 d882bc7e d7c6e460 c13bdc00 c019986f c13bdc00 d8827000 
>00000000  
> kernel:        d882bdfe d882d480 c011c547 d8827000 00000000 d31d2000 bfffed78 
>c011b7bb  
> kernel: Call Trace: [<d8818d0f>] [<d882d480>] [<d882bc7e>]
> kernel:             [pci_unregister_driver+51/76] [<d882bdfe>] [<d882d480>] 
> kernel:             [free_module+23/192] [sys_delete_module+303/636] 
> kernel:             [syscall_call+7/11]  
> kernel:  
> kernel: Code: 0f 0b db 03 94 18 82 d8 8b 83 cc 00 00 00 8b 40 1c 53 8b 40  
> kernel:  <3>error: rmmod[6130] exited with preempt_count 1 
> kernel: usb.c: deregistering driver usblp 
> kernel: usb.c: null device being purged!!! 
> kernel: usb.c: deregistering driver usb-storage 
> kernel: usb.c: null device being purged!!! 
> kernel: scsi : 0 hosts left. 
> rc: Stopping hotplug succeeded

This is because of the reference counting changes that occured in 2.5.
It was a bogus change and I'll be sending a patch to change it back when
I find some time to create the patch.

It should be mostly harmless.

JE


_______________________________________________________________

Have big pipes? SourceForge.net is looking for download mirrors. We supply
the hardware. You get the recognition. Email Us: [EMAIL PROTECTED]
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to