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
