Messages in this thread |  | | Date | Mon, 30 Dec 1996 22:49:15 -0500 (EST) | From | "Mr. Sam" <> | Subject | drivers/char/lp.c fails to detect parallel port. |
| |
I am trying to locate the folks who maintain the parallel port driver. If this is the right place to ask, my question follows. If not, please point me in the right direction. In either case, respond via E-mail, please.
Well, my printer works fine under Windoze. No problems whatsoever. However, Linux 2.0.25 refuses to detect the presence of the parallel port (evidence follows). I looked at the patches for .26 and .27, and I do not see anything relating to drivers/char/lp.c, and, since I've got a pretty stable system going (except for this problem), I prefer not to patch unless it is absolutely necessary.
The driver produces the following message, when initialized:
lp: Driver configured but not interfaces found.
This happens whether I compile lp as a module, or have it in the kernel. Writing to any /dev/lp* results in ENXIO.
Looking at the source code, I see that this message is generated when lp can't autodetect the parallel port at any known I/O address. After running my BIOS config, and booting into Windoze, I see that my parallel port, by default, is an EPP, I/O address 0x378.
When I add some debugging messages to see what's going on, the following picture emerges: lp.c writes a 00 byte into the I/O port address, then reads the I/O port address, expecting a 00 byte, but it gets a FF byte on my machine.
I patch lp.c and fool it into thinking that it gets back a 00 byte when it pokes 0x378. lp comes up and initializes fine, but, basically, /dev/lp* is now just a fancy alias for /dev/null. Whatever I write to that device goes into a bit bucket, and the printer stays silent. "tunelp" from the Slackware 96 distribution tells me that the printer is out of paper. It is not. There's plenty of paper in the printer :-)
If I go into the BIOS set up, and change the parallel port mode to your plain garden-variety parallel port, according to Windoze the I/O address now becomes 0x3bc. 0x3bc is also amongst the addresses that lp.c polls by default, but it still can't find a parallel port at that address. If I repatch lp.c to fool it into detecting a parallel port at 0x3bc, it still doesn't work either with the same results.
The bottom line is that the parallel port on my motherboard is not being detected and used correctly. The parallel port, and the printer, works fine, just like a standard parallel port, under another O/S.
Here is my hardware information. This is a Pentium PCI motherboard, 64MB RAM. I do not have the manual that would tell me what chipset I got, however, here are the numbers from the three major chips on the motherboard:
Intel PCIset SB82371FB L5262478 SZ997 INTEL 94
Intel PCIset SB82437FX-66 L5193259 SZ968
A59530FGE4 PC87306 I8D/VUL NSC 1994
The numbers on the two smaller chips on the motherboard are:
S82438FX L5224144 SZ969 INTEL 94
S82438FX L5230033 SZZ969 INTEL 94
There's not much ID on the BIOS. The only BIOS identification I get is a 1992 Copyright date for "AMIBIOS 1.00.02.BS0"
syslog records the following at bootup:
Dec 30 22:10:11 mrsam kernel: Console: 16 point font, 400 scans Dec 30 22:10:11 mrsam kernel: Console: colour VGA+ 80x25, 1 virtual console (max 63) Dec 30 22:10:11 mrsam kernel: pcibios_init : BIOS32 Service Directory structure at 0x000fd870 Dec 30 22:10:11 mrsam kernel: pcibios_init : BIOS32 Service Directory entry at 0xfd880 Dec 30 22:10:11 mrsam kernel: pcibios_init : PCI BIOS revision 2.10 entry at 0xfd8a1 Dec 30 22:10:11 mrsam kernel: Probing PCI hardware. Dec 30 22:10:11 mrsam kernel: Calibrating delay loop.. ok - 39.73 BogoMIPS Dec 30 22:10:11 mrsam kernel: Memory: 63296k/65536k available (680k kernel code, 384k reserved, 1176k data) Dec 30 22:10:11 mrsam kernel: Swansea University Computer Society TCP/IP for NET3.034 Dec 30 22:10:11 mrsam kernel: IP Protocols: ICMP, UDP, TCP Dec 30 22:10:11 mrsam kernel: Checking 386/387 coupling... Ok, fpu using exception 16 error reporting. Dec 30 22:10:11 mrsam kernel: Checking 'hlt' instruction... Ok. Dec 30 22:10:11 mrsam kernel: Linux version 2.0.25 (root@mrsam) (gcc version 2.7.2) #24 Mon Dec 30 21:54:15 EST 1996 Dec 30 22:10:11 mrsam kernel: Sound initialization started Dec 30 22:10:11 mrsam kernel: <Sound Blaster 16 (4.13)> at 0x220 irq 10 dma 1,7 Dec 30 22:10:11 mrsam kernel: <Sound Blaster 16> at 0x330 irq 10 dma 0 Dec 30 22:10:11 mrsam kernel: <Yamaha OPL3 FM> at 0x388 Dec 30 22:10:11 mrsam kernel: Sound initialization complete Dec 30 22:10:11 mrsam kernel: Started kswapd v 1.4.2.2 Dec 30 22:10:11 mrsam kernel: AHA-2940 (PCI-bus), I/O 0xfc00, Mem 0xfffbf000: Dec 30 22:10:11 mrsam kernel: irq 11 Dec 30 22:10:11 mrsam kernel: bus release time 40 bclks Dec 30 22:10:11 mrsam kernel: data fifo threshold 100 Dec 30 22:10:11 mrsam kernel: SCSI CHANNEL A: Dec 30 22:10:11 mrsam kernel: scsi id 7 Dec 30 22:10:11 mrsam kernel: scsi selection timeout 256 ms Dec 30 22:10:11 mrsam kernel: scsi bus reset at power-on enabled Dec 30 22:10:11 mrsam kernel: scsi bus parity enabled Dec 30 22:10:11 mrsam kernel: scsi bus termination (low byte) enabled Dec 30 22:10:11 mrsam kernel: aic7xxx: Resetting the SCSI bus...done. Dec 30 22:10:11 mrsam kernel: scsi0 : Adaptec AHA274x/284x/294x (EISA/VLB/PCI-Fast SCSI) 4.0/3.2/4.0 Dec 30 22:10:11 mrsam kernel: scsi : 1 host. Dec 30 22:10:11 mrsam kernel: scsi0: Target 0, channel A, now synchronous at 10.0MHz, offset 15. Dec 30 22:10:11 mrsam kernel: Vendor: FUJITSU Model: M1606S-512 Rev: 6234 Dec 30 22:10:11 mrsam kernel: Type: Direct-Access ANSI SCSI revision: 02 Dec 30 22:10:11 mrsam kernel: Detected scsi disk sda at scsi0, channel 0, id 0, lun 0 Dec 30 22:10:11 mrsam kernel: scsi0: Target 1, channel A, now synchronous at 10.0MHz, offset 15. Dec 30 22:10:11 mrsam kernel: Vendor: SEAGATE Model: ST15150N Rev: 0023 Dec 30 22:10:11 mrsam kernel: Type: Direct-Access ANSI SCSI revision: 02 Dec 30 22:10:11 mrsam kernel: Detected scsi disk sdb at scsi0, channel 0, id 1, lun 0 Dec 30 22:10:11 mrsam kernel: scsi0: Target 2, channel A, now synchronous at 5.0MHz, offset 15. Dec 30 22:10:11 mrsam kernel: Vendor: SyQuest Model: SQ3270S Rev: 3-14 Dec 30 22:10:11 mrsam kernel: Type: Direct-Access ANSI SCSI revision: 02 Dec 30 22:10:11 mrsam kernel: Detected scsi removable disk sdc at scsi0, channel 0, id 2, lun 0 Dec 30 22:10:11 mrsam kernel: scsi0: Target 3, channel A, now synchronous at 4.0MHz, offset 15. Dec 30 22:10:11 mrsam kernel: Vendor: TOSHIBA Model: CD-ROM XM-3601TA Rev: 0265 Dec 30 22:10:11 mrsam kernel: Type: CD-ROM ANSI SCSI revision: 02 Dec 30 22:10:11 mrsam kernel: Detected scsi CD-ROM sr0 at scsi0, channel 0, id 3, lun 0 Dec 30 22:10:11 mrsam kernel: scsi0: Target 6, channel A, refusing synchronous negotiation; using asynchronous transfers. Dec 30 22:10:11 mrsam kernel: Vendor: HP Model: T4000s Rev: 1.06 Dec 30 22:10:11 mrsam kernel: Type: Sequential-Access ANSI SCSI revision: 02 Dec 30 22:10:11 mrsam kernel: scsi : detected 1 SCSI cdrom 3 SCSI disks total. Dec 30 22:10:11 mrsam kernel: SCSI device sda: hdwr sector= 512 bytes. Sectors= 2131992 [1041 MB] [1.0 GB] Dec 30 22:10:11 mrsam kernel: SCSI device sdb: hdwr sector= 512 bytes. Sectors= 8388315 [4095 MB] [4.1 GB] Dec 30 22:10:11 mrsam kernel: sdc : READ CAPACITY failed. Dec 30 22:10:11 mrsam kernel: sdc : status = 1, message = 00, host = 0, driver = 28 Dec 30 22:10:11 mrsam kernel: sdc : extended sense code = 2 Dec 30 22:10:11 mrsam kernel: sdc : block size assumed to be 512 bytes, disk size 1GB. Dec 30 22:10:11 mrsam kernel: Partition check: Dec 30 22:10:11 mrsam kernel: sda: sda1 sda2 < sda5 sda6 > Dec 30 22:10:11 mrsam kernel: sdb: sdb1 sdb2 < sdb5 sdb6 sdb7 sdb8 sdb9 > Dec 30 22:10:11 mrsam kernel: sdc:scsidisk I/O error: dev 08:20, sector 0 Dec 30 22:10:11 mrsam kernel: unable to read partition table Dec 30 22:10:11 mrsam kernel: VFS: Mounted root (ext2 filesystem) readonly. Dec 30 22:10:11 mrsam kernel: Adding Swap: 72256k swap-space Dec 30 22:10:11 mrsam kernel: ISO9660 Extensions: RRIP_1991A Dec 30 22:14:28 mrsam kernel: lp: Driver configured but no interfaces found.
And, here's the corresponding entries in /var/adm/messages:
Dec 30 22:10:10 mrsam syslogd 1.3-0: restart. Dec 30 22:10:10 mrsam kernel: klogd 1.3-0, log source = /proc/kmsg started. Dec 30 22:10:11 mrsam kernel: Loaded 3609 symbols from /System.map. Dec 30 22:10:11 mrsam kernel: Symbols match kernel version. Dec 30 22:10:11 mrsam kernel: Swansea University Computer Society NET3.035 for Linux 2.0 Dec 30 22:10:11 mrsam kernel: NET3: Unix domain sockets 0.12 for Linux NET3.035. Dec 30 22:10:11 mrsam kernel: VFS: Diskquotas version dquot_5.6.0 initialized Dec 30 22:10:11 mrsam kernel: Dec 30 22:10:11 mrsam kernel: Serial driver version 4.13 with no serial options enabled Dec 30 22:10:11 mrsam kernel: tty00 at 0x03f8 (irq = 4) is a 16550A Dec 30 22:10:11 mrsam kernel: tty01 at 0x02f8 (irq = 3) is a 16550A Dec 30 22:10:11 mrsam kernel: Floppy drive(s): fd0 is 1.44M Dec 30 22:10:11 mrsam kernel: FDC 0 is a National Semiconductor PC87306 Dec 30 22:10:11 mrsam kernel: aic7xxx: BurstLen = 8 DWDs, Latency Timer = 64 PCLKS Dec 30 22:10:11 mrsam kernel: aic7xxx: devconfig = 0x580. Dec 30 22:10:11 mrsam kernel: aic7xxx: Reading SEEPROM...done. Dec 30 22:10:11 mrsam kernel: aic7xxx: Extended translation enabled. Dec 30 22:10:11 mrsam kernel: aic7xxx: Memory check yields 16 SCBs, paging not enabled. Dec 30 22:10:11 mrsam kernel: aic7xxx: Downloading sequencer code...done. Dec 30 22:10:11 mrsam kernel: scsi0: Scanning channel A for devices. Dec 30 22:10:11 mrsam kernel: CSLIP: code copyright 1989 Regents of the University of California Dec 30 22:10:11 mrsam kernel: PPP: version 2.2.0 (dynamic channel allocation) Dec 30 22:10:11 mrsam kernel: PPP Dynamic channel allocation code copyright 1995 Caldera, Inc. Dec 30 22:10:11 mrsam kernel: PPP line discipline registered.
-- MrSam: channel operator - #Sci-Fi/Undernet IRC http://www.geocities.com/Area51/6543/
|  |