Bug 35061

Summary: After printing to HP Deskjet 656c USB printer, computer hangs
Product: Base System Reporter: Ryan Johnson <rjohnson_14>
Component: kernAssignee: freebsd-usb (Nobody) <usb>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: 4.5-STABLE   
Hardware: Any   
OS: Any   

Description Ryan Johnson 2002-02-17 19:20:01 UTC
After any file is printed to a HP Deskjet 656c printer (USB), the system hangs. I have enabled debugging for the ulpt driver, here is the output:

ulptwrite
ulpt_status: status=0x18 err=0
ulptwrite: transfer 1024 bytes
<these 3 messages repeated until printing is done>
ulptwrite
ulpt_status: status=0x18 err=0
ulptwrite: transfer <number less than 1024> bytes
ulpt_input: got some data
<computer hangs here>

Fix: 

unknown
How-To-Repeat: Print any file to a HP Deskjet 656c printer.
Comment 1 Josef Karthauser 2002-02-18 16:15:40 UTC
On Sun, Feb 17, 2002 at 11:19:37AM -0800, Ryan Johnson wrote:
> 
> >Description:
> After any file is printed to a HP Deskjet 656c printer (USB), the system hangs. I have enabled debugging for the ulpt driver, here is the output:
> 
> ulptwrite
> ulpt_status: status=0x18 err=0
> ulptwrite: transfer 1024 bytes
> <these 3 messages repeated until printing is done>
> ulptwrite
> ulpt_status: status=0x18 err=0
> ulptwrite: transfer <number less than 1024> bytes
> ulpt_input: got some data
> <computer hangs here>


Are you using the patch set that I announced on -stable a few days ago?

Also, it's important to know which usb controller device you're using.
A copy of your dmesg should provide that information (uhci or ohci).

Thanks,
Joe
Comment 2 Ryan Johnson 2002-02-18 23:18:33 UTC
>From: Josef Karthauser <joe@tao.org.uk>
>To: Ryan Johnson <rjohnson_14@hotmail.com>
>CC: freebsd-gnats-submit@FreeBSD.org
>Subject: Re: kern/35061: After printing to HP Deskjet 656c USB printer, 
>computer hangs
>Date: Mon, 18 Feb 2002 16:15:40 +0000
>MIME-Version: 1.0
>Received: from [212.135.162.51] by hotmail.com (3.2) with ESMTP id 
>MHotMailBE3A7414002540042A1ED487A2330A250; Mon, 18 Feb 2002 08:17:25 -0800
>Received: by tao.org.uk (Postfix, from userid 100)id 5C368314; Mon, 18 Feb 
>2002 16:15:40 +0000 (GMT)
>From joe@tao.org.uk Mon, 18 Feb 2002 08:17:45 -0800
>Message-ID: <20020218161540.GC40657@genius.tao.org.uk>
>References: <200202171919.g1HJJbP58799@freefall.freebsd.org>
>In-Reply-To: <200202171919.g1HJJbP58799@freefall.freebsd.org>
>User-Agent: Mutt/1.3.27i
>
>On Sun, Feb 17, 2002 at 11:19:37AM -0800, Ryan Johnson wrote:
> >
> > >Description:
> > After any file is printed to a HP Deskjet 656c printer (USB), the system 
>hangs. I have enabled debugging for the ulpt driver, here is the output:
> >
> > ulptwrite
> > ulpt_status: status=0x18 err=0
> > ulptwrite: transfer 1024 bytes
> > <these 3 messages repeated until printing is done>
> > ulptwrite
> > ulpt_status: status=0x18 err=0
> > ulptwrite: transfer <number less than 1024> bytes
> > ulpt_input: got some data
> > <computer hangs here>
>
>Are you using the patch set that I announced on -stable a few days ago?
>
>Also, it's important to know which usb controller device you're using.
>A copy of your dmesg should provide that information (uhci or ohci).
>
>Thanks,
>Joe
><< attach3 >>

I don't have access to the computer at the moment (home internet connection 
may be down) but the usb controller is uhci. If you need the dmesg I will 
post it when I get home. I cvsupped the day after your usb changes went into 
-stable (feb. 16th), so I do have the most current usb changes. The printer 
worked fine using the feb. 3rd -current snapshot, but it wouldn't even 
attempt to print in -stable until your recent usb changes were merged.

Ryan




_________________________________________________________________
MSN Photos is the easiest way to share and print your photos: 
http://photos.msn.com/support/worldwide.aspx
Comment 3 Josef Karthauser 2002-02-19 01:42:26 UTC
On Mon, Feb 18, 2002 at 05:18:33PM -0600, Ryan Johnson wrote:
> 
> >Are you using the patch set that I announced on -stable a few days ago?
> >
> >Also, it's important to know which usb controller device you're using.
> >A copy of your dmesg should provide that information (uhci or ohci).
> >
> >Thanks,
> >Joe
> ><< attach3 >>
> 
> I don't have access to the computer at the moment (home internet connection 
> may be down) but the usb controller is uhci. If you need the dmesg I will 
> post it when I get home. I cvsupped the day after your usb changes went 
> into -stable (feb. 16th), so I do have the most current usb changes. The 
> printer worked fine using the feb. 3rd -current snapshot, but it wouldn't 
> even attempt to print in -stable until your recent usb changes were merged.


Can you try the patch that I sent to the -stable mailing list please?
That brings all the differences from -current into -stable and so
should behave the same way as your -current snapshot did.

Joe
Comment 4 Ryan Johnson 2002-02-19 10:43:34 UTC
>From: Josef Karthauser <joe@tao.org.uk>
>To: Ryan Johnson <rjohnson_14@hotmail.com>
>Subject: Re: kern/35061: After printing to HP Deskjet 656c USB printer, 
>computer hangs
>Date: Tue, 19 Feb 2002 01:42:26 +0000
>
>On Mon, Feb 18, 2002 at 05:18:33PM -0600, Ryan Johnson wrote:
> >
> > >Are you using the patch set that I announced on -stable a few days ago?
> > >
> > >Also, it's important to know which usb controller device you're using.
> > >A copy of your dmesg should provide that information (uhci or ohci).
> > >
> > >Thanks,
> > >Joe
> > ><< attach3 >>
> >
> > I don't have access to the computer at the moment (home internet 
>connection
> > may be down) but the usb controller is uhci. If you need the dmesg I 
>will
> > post it when I get home. I cvsupped the day after your usb changes went
> > into -stable (feb. 16th), so I do have the most current usb changes. The
> > printer worked fine using the feb. 3rd -current snapshot, but it 
>wouldn't
> > even attempt to print in -stable until your recent usb changes were 
>merged.
>
>Can you try the patch that I sent to the -stable mailing list please?
>That brings all the differences from -current into -stable and so
>should behave the same way as your -current snapshot did.
>
>Joe

I just applied the patch, now the kernel panics shortly after the printer
starts. Here is the backtrace:

Fatal trap 12: page fault while in kernel mode
fault virtual address	= 0x8
fault code		= supervisor read, page not present
instruction pointer	= 0x8:0xc023bfe3
stack pointer	        = 0x10:0xc7861d3c
frame pointer	        = 0x10:0xc7861d48
code segment		= base rx0, limit 0xfffff, type 0x1b
			= DPL 0, pres 1, def32 1, gran 1
processor eflags	= interrupt enabled, resume, IOPL = 0
current process		= 202 (cat)
interrupt mask		= bio
trap number		= 12
panic: page fault

syncing disks... 24 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
giving up on 1 buffers
Uptime: 1m6s

dumping to dev #ad/0x20021, offset 294912
dump ata2: resetting devices .. done
96 95 94 93 92 91 90 89 88 87 86 85 84 83 82 81 80 79 78 77 76 75 74 73 72 
71 70 69 68 67 66 65 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 
46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 
21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
---
#0  dumpsys () at /usr/src/sys/kern/kern_shutdown.c:485
485		if (dumping++) {
(kgdb) bt
#0  dumpsys () at /usr/src/sys/kern/kern_shutdown.c:485
#1  0xc015b0d7 in boot (howto=256) at /usr/src/sys/kern/kern_shutdown.c:314
#2  0xc015b4fc in poweroff_wait (junk=0xc02f3cec, howto=-1070647281)
    at /usr/src/sys/kern/kern_shutdown.c:593
#3  0xc02a57ca in trap_fatal (frame=0xc7861cfc, eva=8)
    at /usr/src/sys/i386/i386/trap.c:966
#4  0xc02a549d in trap_pfault (frame=0xc7861cfc, usermode=0, eva=8)
    at /usr/src/sys/i386/i386/trap.c:859
#5  0xc02a505b in trap (frame={tf_fs = 16, tf_es = 16, tf_ds = 16,
      tf_edi = -1063038976, tf_esi = -1063018720, tf_ebp = -947511992,
      tf_isp = -947512024, tf_ebx = 0, tf_edx = -1063035764,
      tf_ecx = -1062558080, tf_eax = -1063038976, tf_trapno = 12, tf_err = 
0,
      tf_eip = -1071398941, tf_cs = 8, tf_eflags = 66051,
      tf_esp = -1062052288, tf_ss = -1063038976})
    at /usr/src/sys/i386/i386/trap.c:458
#6  0xc023bfe3 in uhci_remove_bulk (sc=0xc0a35000, sqh=0xc0a39f20)
    at /usr/src/sys/dev/usb/uhci.c:358
#7  0xc023d6ad in uhci_device_bulk_done (xfer=0xc0aaa700)
    at /usr/src/sys/dev/usb/uhci.c:2614
#8  0xc023f7be in usb_transfer_complete (xfer=0xc0aaa700)
    at /usr/src/sys/dev/usb/usbdi.c:813
#9  0xc023cb41 in uhci_abort_xfer_end (v=0xc0aaa700)
    at /usr/src/sys/dev/usb/uhci.c:1868
#10 0xc023cb24 in uhci_abort_xfer (xfer=0xc0aaa700, status=USBD_CANCELLED)
    at /usr/src/sys/dev/usb/uhci.c:1853
#11 0xc023ca99 in uhci_device_bulk_abort (xfer=0xc0aaa700)
    at /usr/src/sys/dev/usb/uhci.c:1817
#12 0xc023f709 in usbd_ar_pipe (pipe=0xc0aaa680)
    at /usr/src/sys/dev/usb/usbdi.c:759
#13 0xc023f439 in usbd_abort_pipe (pipe=0xc0aaa680)
    at /usr/src/sys/dev/usb/usbdi.c:553
#14 0xc0246a44 in ulptclose (dev=0xc0a34080, flag=2, mode=8192, 
p=0xc6ad3380)
    at /usr/src/sys/dev/usb/ulpt.c:627
#15 0xc0193d74 in spec_close (ap=0xc7861e4c)
    at /usr/src/sys/miscfs/specfs/spec_vnops.c:591
#16 0xc022acb6 in ufsspec_close (ap=0xc7861e4c)
    at /usr/src/sys/ufs/ufs/ufs_vnops.c:1900
#17 0xc022b27d in ufs_vnoperatespec (ap=0xc7861e4c)
    at /usr/src/sys/ufs/ufs/ufs_vnops.c:2440
#18 0xc018f6d0 in vn_close (vp=0xc777f140, flags=2, cred=0xc0bb6e00,
    p=0xc6ad3380) at vnode_if.h:218
#19 0xc0190003 in vn_closefile (fp=0xc0b57400, p=0xc6ad3380)
    at /usr/src/sys/kern/vfs_vnops.c:693
#20 0xc0150f7b in fdrop (fp=0xc0b57400, p=0xc6ad3380)
    at /usr/src/sys/sys/file.h:217
#21 0xc0150ec3 in closef (fp=0xc0b57400, p=0xc6ad3380)
    at /usr/src/sys/kern/kern_descrip.c:1218
#22 0xc0150425 in close (p=0xc6ad3380, uap=0xc7861f80)
    at /usr/src/sys/kern/kern_descrip.c:579
#23 0xc02a5a79 in syscall2 (frame={tf_fs = 47, tf_es = 47, tf_ds = 47,
      tf_edi = -1077937072, tf_esi = 0, tf_ebp = -1077937264,
      tf_isp = -947511340, tf_ebx = 134575128, tf_edx = 1, tf_ecx = 10,
      tf_eax = 6, tf_trapno = 12, tf_err = 2, tf_eip = 134559388, tf_cs = 
31,
      tf_eflags = 643, tf_esp = -1077937292, tf_ss = 47})
    at /usr/src/sys/i386/i386/trap.c:1167
#24 0xc0299885 in Xint0x80_syscall ()
#25 0x804befb in ?? ()
#26 0x804831f in ?? ()
#27 0x8048135 in ?? ()

If you need any more information let me know.

Ryan



_________________________________________________________________
MSN Photos is the easiest way to share and print your photos: 
http://photos.msn.com/support/worldwide.aspx
Comment 5 iedowse freebsd_committer freebsd_triage 2002-12-01 22:34:15 UTC
State Changed
From-To: open->feedback


Does this still happen with a more recent -STABLE?
Comment 6 iedowse 2002-12-07 05:00:50 UTC
Adding to tha audit trail:

In message <F16hNEPWOQUtHwLrn0z0000ac09@hotmail.com>, Ryan Johnson writes:
>>From: Ian Dowse <iedowse@FreeBSD.org>
>>Does this still happen with a more recent -STABLE?

>I haven't been able to get the printer to do anything at all using
>just -STABLE without the usb patches that Josef submitted. Sending
>a text file directly to /dev/ulpt0 or /dev/unlpt0 just hangs until
>I press CTRL-C.
Comment 7 iedowse freebsd_committer freebsd_triage 2002-12-07 05:19:22 UTC
State Changed
From-To: feedback->open


The bug still exists.
Comment 8 KAREN THODE 2002-12-24 13:58:23 UTC
The panic is probably occurring in SPLUSBCHECK.

Lucas
Comment 9 marc 2003-04-10 23:45:07 UTC
Does anyone know what the status of this bug is?

I am using 4.7 Release and am experiencing no hangs but cannot output
anything to the printer.

uhci0: <Intel 82801AA (ICH) USB controller> port 0xff80-0xff9f irq 2 at device 3
1.2 on pci0
usb0: <Intel 82801AA (ICH) USB controller> on uhci0
usb0: USB revision 1.0
uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered

Is there anything I can do to help get this bug fixed?   Would
enabling USB driver debug be helpful in this case?

I would like to be able to print on HP-656C :-)

Thanks,
Marc
-- 
Marc Wiz
marc@wiz.com
Yes, that really is my last name.
Comment 10 Kris Kennaway freebsd_committer freebsd_triage 2003-07-18 01:29:26 UTC
Responsible Changed
From-To: freebsd-bugs->joe

Assign to USB maintainer
Comment 11 iedowse freebsd_committer freebsd_triage 2004-11-04 02:29:38 UTC
State Changed
From-To: open->feedback


Is this problem still present in more recent FreeBSD releases?
Comment 12 joe freebsd_committer freebsd_triage 2004-11-10 10:56:02 UTC
Responsible Changed
From-To: joe->freebsd-usb

Hand this over to the usb mailling list.
Comment 13 Julian Elischer freebsd_committer freebsd_triage 2005-01-04 20:16:53 UTC
State Changed
From-To: feedback->closed

Submitter does not have the printer any more.. 
substantial work on USB makes it possible this has been fixed and since 
we can not reproduce it, close it.