Date: Tue, 27 Apr 1999 01:09:19 +0900 (JST) From: kaz@maczuka.gcd.org To: FreeBSD-gnats-submit@freebsd.org Subject: conf/11336: Broken data sent to printer through device ppc0 Message-ID: <199904261609.BAA00801@ph.maczuka.gcd.org>
next in thread | raw e-mail | index | archive | help
>Number: 11336 >Category: conf >Synopsis: Broken data sent to printer through device ppc0 >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Mon Apr 26 09:20:00 PDT 1999 >Closed-Date: >Last-Modified: >Originator: Ito Kazumitsu >Release: FreeBSD 3.1-RELEASE i386 >Organization: The Ito's Family >Environment: The output of dmesg follows: ------------------------------------------- Copyright (c) 1992-1999 FreeBSD Inc. Copyright (c) 1982, 1986, 1989, 1991, 1993 The Regents of the University of California. All rights reserved. FreeBSD 3.1-RELEASE #0: Mon Apr 26 23:03:38 JST 1999 kaz@ph.maczuka.gcd.org:/usr/src/sys/compile/MACZUKA_NET_NOUWD Timecounter "i8254" frequency 1193182 Hz Timecounter "TSC" frequency 199904927 Hz CPU: Pentium/P54C (199.90-MHz 586-class CPU) Origin = "GenuineIntel" Id = 0x52c Stepping=12 Features=0x1bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8> real memory = 33554432 (32768K bytes) avail memory = 30699520 (29980K bytes) Probing for devices on PCI bus 0: chip0: <Intel 82439> rev 0x03 on pci0.0.0 chip1: <Intel 82371SB PCI to ISA bridge> rev 0x01 on pci0.7.0 vga0: <Matrox MGA 2064W graphics accelerator> rev 0x01 int a irq 10 on pci0.11.0 ncr0: <ncr 53c810a fast10 scsi> rev 0x12 int a irq 11 on pci0.12.0 Probing for devices on the ISA bus: sc0 on isa sc0: VGA color <16 virtual consoles, flags=0x0> ed0 at 0x300-0x31f irq 5 on isa ed0: address 00:00:e8:23:fb:11, type NE2000 (16 bit) atkbdc0 at 0x60-0x6f on motherboard atkbd0 irq 1 on isa sio0 at 0x3f8-0x3ff irq 4 flags 0x10 on isa sio0: type 16550A sio1 at 0x2f8-0x2ff irq 3 on isa sio1: type 16550A fdc0 at 0x3f0-0x3f7 irq 6 drq 2 on isa fdc0: FIFO enabled, 8 bytes threshold fd0: 1.44MB 3.5in ppc0 at 0x378 irq 7 on isa ppc0: W83877F chipset (NIBBLE-only) in COMPATIBLE mode nlpt0: <generic printer> on ppbus 0 nlpt0: Interrupt-driven port vga0 at 0x3b0-0x3df maddr 0xa0000 msize 131072 on isa npx0 on motherboard npx0: INT 16 interface Intel Pentium detected, installing workaround for F00F bug Waiting 15 seconds for SCSI devices to settle changing root device to da0s1a da1 at ncr0 bus 0 target 5 lun 0 da1: <IOMEGA ZIP 100 D.13> Removable Direct Access SCSI-2 device da1: 3.300MB/s transfers da1: Attempt to query device size failed: NOT READY, Medium not present da0 at ncr0 bus 0 target 0 lun 0 da0: <IBM DORS-32160 WA6A> Fixed Direct Access SCSI-2 device da0: 10.0MB/s transfers (10.0MHz, offset 8), Tagged Queueing Enabled da0: 2063MB (4226725 512 byte sectors: 255H 63S/T 263C) -------------------------------------------------------- The diff of GENERIC and the problematic kernel follows. (The almost all differences are the deletion of unwanted parameters.) 17,18c17,18 < cpu "I386_CPU" < cpu "I486_CPU" --- > #cpu "I386_CPU" > #cpu "I486_CPU" 20,21c20,21 < cpu "I686_CPU" < ident GENERIC --- > #cpu "I686_CPU" > ident MACZUKA 24c24,25 < options MATH_EMULATE #Support for x87 emulation --- > #options MATH_EMULATE #Support for x87 emulation > options GPL_MATH_EMULATE #Support for x87 emulation 30,31c31,32 < options NFS #Network Filesystem < options NFS_ROOT #NFS usable as root device, "NFS" req'ed --- > #options NFS #Network Filesystem > #options NFS_ROOT #NFS usable as root device, "NFS" req'ed 43c44,45 < config kernel root on wd0 --- > #config kernel root on wd0 > config kernel root on da0 60c62 < disk fd1 at fdc0 drive 1 --- > #disk fd1 at fdc0 drive 1 62,74c64,76 < options "CMD640" # work around CMD640 chip deficiency < controller wdc0 at isa? port "IO_WD1" bio irq 14 < disk wd0 at wdc0 drive 0 < disk wd1 at wdc0 drive 1 < < controller wdc1 at isa? port "IO_WD2" bio irq 15 < disk wd2 at wdc1 drive 0 < disk wd3 at wdc1 drive 1 < < options ATAPI #Enable ATAPI support for IDE bus < options ATAPI_STATIC #Don't do it as an LKM < device acd0 #IDE CD-ROM < device wfd0 #IDE Floppy (e.g. LS-120) --- > #options "CMD640" # work around CMD640 chip deficiency > #controller wdc0 at isa? port "IO_WD1" bio irq 14 > #disk wd0 at wdc0 drive 0 > #disk wd1 at wdc0 drive 1 > # > #controller wdc1 at isa? port "IO_WD2" bio irq 15 > #disk wd2 at wdc1 drive 0 > #disk wd3 at wdc1 drive 1 > # > #options ATAPI #Enable ATAPI support for IDE bus > #options ATAPI_STATIC #Don't do it as an LKM > #device acd0 #IDE CD-ROM > #device wfd0 #IDE Floppy (e.g. LS-120) 79,81c81,83 < controller ahb0 < controller ahc0 < controller isp0 --- > #controller ahb0 > #controller ahc0 > #controller isp0 86c88 < controller dpt0 --- > #controller dpt0 88,91c90,93 < controller adv0 at isa? port ? cam irq ? < controller adw0 < controller bt0 at isa? port ? cam irq ? < controller aha0 at isa? port ? cam irq ? --- > #controller adv0 at isa? port ? cam irq ? > #controller adw0 > #controller bt0 at isa? port ? cam irq ? > #controller aha0 at isa? port ? cam irq ? 98c100 < device sa0 --- > #device sa0 100c102 < device pass0 --- > #device pass0 102c104 < device cd0 #Only need one of these, the code dynamically grows --- > #device cd0 #Only need one of these, the code dynamically grows 104,105c106,107 < device wt0 at isa? port 0x300 bio irq 5 drq 1 < device mcd0 at isa? port 0x300 bio irq 10 --- > #device wt0 at isa? port 0x300 bio irq 5 drq 1 > #device mcd0 at isa? port 0x300 bio irq 10 107c109 < controller matcd0 at isa? port 0x230 bio --- > #controller matcd0 at isa? port 0x230 bio 109c111 < device scd0 at isa? port 0x230 bio --- > #device scd0 at isa? port 0x230 bio 114c116 < device psm0 at isa? tty irq 12 --- > #device psm0 at isa? tty irq 12 135c137 < device apm0 at isa? disable flags 0x31 # Advanced Power Management --- > #device apm0 at isa? disable flags 0x31 # Advanced Power Management 144,145c146,147 < device sio2 at isa? disable port "IO_COM3" tty irq 5 < device sio3 at isa? disable port "IO_COM4" tty irq 9 --- > #device sio2 at isa? disable port "IO_COM3" tty irq 5 > #device sio3 at isa? disable port "IO_COM4" tty irq 9 148a151 > #controller ppc0 at isa? port? tty irq 7 151,152c154,155 < device plip0 at ppbus? < device ppi0 at ppbus? --- > #device plip0 at ppbus? > #device ppi0 at ppbus? 153a157,158 > # lpt: printer port (deprecated, use ppbus instead) > #device lpt0 at isa? port? tty irq 7 159,181c164,187 < device ax0 < device de0 < device fxp0 < device mx0 < device pn0 < device rl0 < device tl0 < device tx0 < device vr0 < device vx0 < device wb0 < device xl0 < < device ed0 at isa? port 0x280 net irq 10 iomem 0xd8000 < device ie0 at isa? port 0x300 net irq 10 iomem 0xd0000 < device ep0 at isa? port 0x300 net irq 10 < device ex0 at isa? port? net irq? < device fe0 at isa? port 0x300 net irq ? < device le0 at isa? port 0x300 net irq 5 iomem 0xd0000 < device lnc0 at isa? port 0x280 net irq 10 drq 0 < device ze0 at isa? port 0x300 net irq 10 iomem 0xd8000 < device zp0 at isa? port 0x300 net irq 10 iomem 0xd8000 < device cs0 at isa? port 0x300 net irq ? --- > #device ax0 > #device de0 > #device fxp0 > #device mx0 > #device pn0 > #device rl0 > #device tl0 > #device tx0 > #device vr0 > #device vx0 > #device wb0 > #device xl0 > # > #device ed0 at isa? port 0x280 net irq 10 iomem 0xd8000 > device ed0 at isa? port 0x300 net irq 5 iomem 0xd8000 > #device ie0 at isa? port 0x300 net irq 10 iomem 0xd0000 > #device ep0 at isa? port 0x300 net irq 10 > #device ex0 at isa? port? net irq? > #device fe0 at isa? port 0x300 net irq ? > #device le0 at isa? port 0x300 net irq 5 iomem 0xd0000 > #device lnc0 at isa? port 0x280 net irq 10 drq 0 > #device ze0 at isa? port 0x300 net irq 10 iomem 0xd8000 > #device zp0 at isa? port 0x300 net irq 10 iomem 0xd8000 > #device cs0 at isa? port 0x300 net irq ? 185,187c191,193 < pseudo-device sl 1 < pseudo-device ppp 1 < pseudo-device tun 1 --- > #pseudo-device sl 1 > #pseudo-device ppp 1 > #pseudo-device tun 1 194c200 < options KTRACE #kernel tracing --- > #options KTRACE #kernel tracing >Description: I use an old printer Canon BJ-10v connected to the parallel port. When this printer is used with the problematic kernel, it sometimes prints unexpected dot patterns here and there. The places of broken parts change every time I print even though the printed data are the same. >How-To-Repeat: The trouble always occurs with the said kernel and the old printer Canon BJ-10v. >Fix: Changing the configuration file as shown below and rebuilding the kernel, I could make the printer work normally. The important point is to change the line device ppc0 at isa? port? net irq 7 to controller ppc0 at isa? port? tty irq 7 as `man ppc' says. I wish the latter line were included in GENERIC. Using deprecated lp0 instead of nlpt0 also works. The diff of GENERIC and the problem-free kernel follows ------- 17,18c17,18 < cpu "I386_CPU" < cpu "I486_CPU" --- > #cpu "I386_CPU" > #cpu "I486_CPU" 20,21c20,21 < cpu "I686_CPU" < ident GENERIC --- > #cpu "I686_CPU" > ident MACZUKA 24c24,25 < options MATH_EMULATE #Support for x87 emulation --- > #options MATH_EMULATE #Support for x87 emulation > options GPL_MATH_EMULATE #Support for x87 emulation 30,31c31,32 < options NFS #Network Filesystem < options NFS_ROOT #NFS usable as root device, "NFS" req'ed --- > #options NFS #Network Filesystem > #options NFS_ROOT #NFS usable as root device, "NFS" req'ed 43c44,45 < config kernel root on wd0 --- > #config kernel root on wd0 > config kernel root on da0 60c62 < disk fd1 at fdc0 drive 1 --- > #disk fd1 at fdc0 drive 1 62,74c64,76 < options "CMD640" # work around CMD640 chip deficiency < controller wdc0 at isa? port "IO_WD1" bio irq 14 < disk wd0 at wdc0 drive 0 < disk wd1 at wdc0 drive 1 < < controller wdc1 at isa? port "IO_WD2" bio irq 15 < disk wd2 at wdc1 drive 0 < disk wd3 at wdc1 drive 1 < < options ATAPI #Enable ATAPI support for IDE bus < options ATAPI_STATIC #Don't do it as an LKM < device acd0 #IDE CD-ROM < device wfd0 #IDE Floppy (e.g. LS-120) --- > #options "CMD640" # work around CMD640 chip deficiency > #controller wdc0 at isa? port "IO_WD1" bio irq 14 > #disk wd0 at wdc0 drive 0 > #disk wd1 at wdc0 drive 1 > # > #controller wdc1 at isa? port "IO_WD2" bio irq 15 > #disk wd2 at wdc1 drive 0 > #disk wd3 at wdc1 drive 1 > # > #options ATAPI #Enable ATAPI support for IDE bus > #options ATAPI_STATIC #Don't do it as an LKM > #device acd0 #IDE CD-ROM > #device wfd0 #IDE Floppy (e.g. LS-120) 79,81c81,83 < controller ahb0 < controller ahc0 < controller isp0 --- > #controller ahb0 > #controller ahc0 > #controller isp0 86c88 < controller dpt0 --- > #controller dpt0 88,91c90,93 < controller adv0 at isa? port ? cam irq ? < controller adw0 < controller bt0 at isa? port ? cam irq ? < controller aha0 at isa? port ? cam irq ? --- > #controller adv0 at isa? port ? cam irq ? > #controller adw0 > #controller bt0 at isa? port ? cam irq ? > #controller aha0 at isa? port ? cam irq ? 98c100 < device sa0 --- > #device sa0 100c102 < device pass0 --- > #device pass0 102c104 < device cd0 #Only need one of these, the code dynamically grows --- > #device cd0 #Only need one of these, the code dynamically grows 104,105c106,107 < device wt0 at isa? port 0x300 bio irq 5 drq 1 < device mcd0 at isa? port 0x300 bio irq 10 --- > #device wt0 at isa? port 0x300 bio irq 5 drq 1 > #device mcd0 at isa? port 0x300 bio irq 10 107c109 < controller matcd0 at isa? port 0x230 bio --- > #controller matcd0 at isa? port 0x230 bio 109c111 < device scd0 at isa? port 0x230 bio --- > #device scd0 at isa? port 0x230 bio 114c116 < device psm0 at isa? tty irq 12 --- > #device psm0 at isa? tty irq 12 135c137 < device apm0 at isa? disable flags 0x31 # Advanced Power Management --- > #device apm0 at isa? disable flags 0x31 # Advanced Power Management 144,145c146,147 < device sio2 at isa? disable port "IO_COM3" tty irq 5 < device sio3 at isa? disable port "IO_COM4" tty irq 9 --- > #device sio2 at isa? disable port "IO_COM3" tty irq 5 > #device sio3 at isa? disable port "IO_COM4" tty irq 9 148c150,151 < device ppc0 at isa? port? net irq 7 --- > #device ppc0 at isa? port? net irq 7 > controller ppc0 at isa? port? tty irq 7 153a157,158 > # lpt: printer port (deprecated, use ppbus instead) > #device lpt0 at isa? port? tty irq 7 159,181c164,187 < device ax0 < device de0 < device fxp0 < device mx0 < device pn0 < device rl0 < device tl0 < device tx0 < device vr0 < device vx0 < device wb0 < device xl0 < < device ed0 at isa? port 0x280 net irq 10 iomem 0xd8000 < device ie0 at isa? port 0x300 net irq 10 iomem 0xd0000 < device ep0 at isa? port 0x300 net irq 10 < device ex0 at isa? port? net irq? < device fe0 at isa? port 0x300 net irq ? < device le0 at isa? port 0x300 net irq 5 iomem 0xd0000 < device lnc0 at isa? port 0x280 net irq 10 drq 0 < device ze0 at isa? port 0x300 net irq 10 iomem 0xd8000 < device zp0 at isa? port 0x300 net irq 10 iomem 0xd8000 < device cs0 at isa? port 0x300 net irq ? --- > #device ax0 > #device de0 > #device fxp0 > #device mx0 > #device pn0 > #device rl0 > #device tl0 > #device tx0 > #device vr0 > #device vx0 > #device wb0 > #device xl0 > # > #device ed0 at isa? port 0x280 net irq 10 iomem 0xd8000 > device ed0 at isa? port 0x300 net irq 5 iomem 0xd8000 > #device ie0 at isa? port 0x300 net irq 10 iomem 0xd0000 > #device ep0 at isa? port 0x300 net irq 10 > #device ex0 at isa? port? net irq? > #device fe0 at isa? port 0x300 net irq ? > #device le0 at isa? port 0x300 net irq 5 iomem 0xd0000 > #device lnc0 at isa? port 0x280 net irq 10 drq 0 > #device ze0 at isa? port 0x300 net irq 10 iomem 0xd8000 > #device zp0 at isa? port 0x300 net irq 10 iomem 0xd8000 > #device cs0 at isa? port 0x300 net irq ? 185,187c191,193 < pseudo-device sl 1 < pseudo-device ppp 1 < pseudo-device tun 1 --- > #pseudo-device sl 1 > #pseudo-device ppp 1 > #pseudo-device tun 1 194c200 < options KTRACE #kernel tracing --- > #options KTRACE #kernel tracing >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199904261609.BAA00801>