Re: [PARPORT] IOmega driver bug


David Campbell (campbell@gear.torque.net)
Mon, 12 Jan 1998 07:40:23 +0000


> Date: Sun, 11 Jan 1998 21:29:27 +0000 (GMT)
> From: Riley Williams <rhw@bigfoot.com>
> Reply-to: Riley Williams <rhw@bigfoot.com>
> To: Linux Parallel Port List <linux-parport@torque.net>
> Subject: [PARPORT] IOmega driver bug

> Hi there.
>
> Can I report what appears to be a problem with the latest IOmega
> driver?
>
> I was using the driver supplied with kernel 2.0.33 quite happily,
> although it limited the transfer to the Parallel ZipDrive to
> around 25k a second.

Sounds like SPP mode.

> I 'upgraded' to the latest drivers, PPA 1.40, and found that I was
> getting all sorts of errors when mounting ZipDisks, with no
> consistency between the messages from one mount to the next, even
> for the same disk. I even managed to corrupt a friend's ZipDisk
> when trying to mount it ReadOnly !!!

*raise one eyebrow*

> I have carried out some basic investigations regarding this, and
> found that the problems occurred when my BIOS had the parallel
> port set to EPP mode - the problems went away when I changed the
> setting to ECP mode, and with that setting, I get a transfer rate
> of around 110k a second.

I sort of guessed it was an EPP problem as it occured when you upgraded to
ppa-1.40. The old driver in the 2.0.x kernel does not support this.

Actually in ECP mode, the ppa driver uses the PS/2 sub-mode (byte reads)
with a hand tuned assembler code loop for maximum speed. (the assembler
loop only applies for SPP and PS/2 modes).
 
> The above-mentioned friend is quite happily using the same drivers
> (indeed, the same kernel - we transferred his kernel image to my
> machine and rebooted under it with no change in the situation),
> and gets no problems in EPP mode, which makes me suspect there's
> more than one EPP chipset, and mine is one the current driver
> doesn't handle correctly.

See .sig below for my comments on parallel port chipsets.

A quick fix is to find the line in ppa.h where it does:
============================
#ifndef CONFIG_SCSI_PPA_HAVE_PEDANTIC
#define CONFIG_SCSI_PPA_HAVE_PEDANTIC 3
#endif
============================
and change it to
============================
#undef CONFIG_SCSI_PPA_HAVE_PEDANTIC
#define CONFIG_SCSI_PPA_HAVE_PEDANTIC 4
============================

There are some PCI/ISA chipsets which do not support word (4 byte wide)
writes to the ISA bus and cause all sorts of timing issues. This affects
approx 5% of the people out there but the improvement when it works is
approx +50% transfer rate.
 
> I'm no expert on debugging hardware problems, but am willing to
> act as a test site for this chipset if somebody's willing to
> provide directions on what to do. As a starter, here's some
> details of my configuration:

*snip*

> 4. /usr/src/linux/.config (apologies for the spam):

No problem.

> 5. Startup messages (again, apologies for the spam...):

I find that "dmesg" always has a lot of useful stuff, the driver coders
(such as myself) can often nail down the problem from this.

*snip*

> ppa: Version 1.40
> ppa: Probing port 03bc
> ppa: Probing port 0378
> ppa: SPP port present
> ppa: ECP with a 16 byte FIFO present
> ppa: Passed Intel bug check.
> ppa: Probing port 0278

Obviously the drive wasn't plugged in. The messages here would of been
"most interesting".

*snip*

> Partition check:
> hda: hda1 hda3 hda4 < hda5 >
> hdc: [PTBL] [1023/64/63] hdc1 hdc2 hdc3 hdc4 < hdc5 hdc6 hdc7 hdc8 hdc9 >

Side comment: This is the biggest partition set I have seen on a linux
box (8 usable partitions).
Are you using these for /tmp,/var,...
It would be the first time I have heard/seen this done on a linux box.
Just currious.

If the PEDANTIC option does not fix the problem, drop me an email and I
will see what I can do for you.

David Campbell
 
=======================================================
campbell@torque.net (Parallel port device related mail)
dcampbel@p01.as17.honeywell.com.au (For all other mail)

Just when you thought you have seen every possible
parallel port chipset there is, some manufacturer comes
out with a new quirk. Just to make things worse, every
mainboard manufacturer on the planet decides to use it.

-- To unsubscribe, send mail to: linux-parport-request@torque.net --
-- with the single word "unsubscribe" in the body of the message. --



This archive was generated by hypermail 2.0b3 on Wed 30 Dec 1998 - 10:17:19 EST