[PARPORT] Kernel 2.4.2 & Epat Shuttle HDD driver

From: Miroslav BENES (mbenes@tenez.cz)
Date: Tue Mar 27 2001 - 02:38:25 EST

  • Next message: Tim Waugh: "[PARPORT] restore_state"

    Hi all !

    I had problems with Epat Shuttle HDD driver and kernel 2.4.2 drivers.
    After aplying patch -ac20 all seams to be OK. Thanks to all very
    much.

    But now I have some questions.

    Q1) Why used drivers (pd+epat+paride+parport_pc) are not using
    interrupts ? It is necessarily alocate irq for parport_pc module ?
    Can I expect better performance if it would be using irq ?

    I thought that printing support (lp module) are running in pooled
    mode and is NOT using irq, while data transfer protocols USES irq.
    but in /proc/interrupts is :

               CPU0
    ....
      7: 3 XT-PIC parport0

    after copying cca 20 MB. Why ?

    Q2) Which performance is accessible for data transport from external
    hdd through LPT port ? Can I enhance it with any setting (e.g. ECP
    support, dma using ...) ?

    Maximal speed is about 750 kB/s.

    hw : MSI 6163Pro mainboard with onboard LPT port in EPP mode
    (protocol EPP 1.9)
    sw : RH 7.0, kernel 2.4.2-ac20 (and 2.2.16 too)
    driver : parport_pc + paride + epat + pd (in mode 5 == EPP-32)

    # modprobe parport_pc :
    ... kernel: parport0: PC-style at 0x378, irq 7 [PCSPP,TRISTATE,EPP]
    ... kernel: parport0: cpp_mux: aa55f00f52ad51(06)
    ... kernel: parport0: Found 1 daisy-chained devices

    # modprobe pd verbose=1
    pd: pd version 1.05, major 45, cluster 64, nice 0
    pda: epat: port 0x3bc, mode 0, ccr ff, test=(255,255,510)
    pda: epat: port 0x3bc, mode 1, ccr ff, test=(255,255,510)
    pda: epat: port 0x3bc, mode 2, ccr ff, test=(255,255,510)
    pda: 0x378 is parport0
    pda: epat: port 0x378, mode 0, ccr 0, test=(0,0,0)
    pda: epat: port 0x378, mode 1, ccr 40, test=(224,224,448)
    pda: epat: port 0x378, mode 2, ccr 0, test=(0,0,0)
    pda: epat: port 0x378, mode 3, ccr 0, test=(0,0,0)
    pda: epat: port 0x378, mode 4, ccr 0, test=(0,0,0)
    pda: epat: port 0x378, mode 5, ccr 0, test=(0,0,0)
    pda: Sharing parport0 at 0x378
    pda: epat 1.01, Shuttle EPAT chip c5 at 0x378, mode 5 (EPP-32),delay1
    pda: Maxtor 90288D2, master, 5627664 blocks [2747M], (5583/16/63),
    fixed media

    I tried ECP mode :

    BIOS setting :
            EPP+ECP mode

    kernel setting :
            CONFIG_PARPORT=m
            CONFIG_PARPORT_PC=m
            CONFIG_PARPORT_PC_FIFO=y
            CONFIG_PARPORT_PC_SUPERIO=y
            CONFIG_PARPORT_1284=y

    modules setting :
            alias parport_lowlevel parport_pc
            options parport_pc io=0x378 irq=7 dma=3
            
            alias block-major-45 pd
            below pd epat parport_lowlevel

    Result is very very bad :

    # modprobe parport_pc :
    ...kernel: 0x378: FIFO is 16 bytes
    ...kernel: 0x378: writeIntrThreshold is 16
    ...kernel: 0x378: readIntrThreshold is 16
    ...kernel: 0x378: PWord is 8 bits
    ...kernel: 0x378: Interrupts are ISA-Pulses
    ...kernel: 0x378: ECP port cfgA=0x10 cfgB=0x48
    ...kernel: 0x378: ECP settings irq=7 dma=<none or set by other means>
    ...kernel: parport0: PC-style at 0x378 (0x778), irq 7, dma 3
    [PCSPP,TRISTATE,COMPAT,EPP,ECP,DMA]
    ...kernel: parport0: cpp_mux: aa55f00f52ad51(07)
    ...kernel: parport0: Found 1 daisy-chained devices

    # modprobe pd verbose=1
    pd: pd version 1.05, major 45, cluster 64, nice 0
    pda: epat: port 0x3bc, mode 0, ccr ff, test=(255,255,510)
    pda: epat: port 0x3bc, mode 1, ccr ff, test=(255,255,510)
    pda: epat: port 0x3bc, mode 2, ccr ff, test=(255,255,510)
    pda: 0x378 is parport0
    pda: epat: port 0x378, mode 0, ccr 0, test=(0,0,0)
    pda: epat: port 0x378, mode 1, ccr 40, test=(224,224,448)
    pda: epat: port 0x378, mode 2, ccr 0, test=(0,0,0)
    pda: epat: port 0x378, mode 3, ccr ff, test=(255,255,510)
    pda: epat: port 0x378, mode 4, ccr ff, test=(255,255,510)
    pda: epat: port 0x378, mode 5, ccr ff, test=(255,255,510)
    pda: Sharing parport0 at 0x378
    pda: epat 1.01, Shuttle EPAT chip c5 at 0x378, mode 2 (8-bit), delay 1
    pda: Maxtor 90288D2, master, 5627664 blocks [2747M], (5583/16/63),
    fixed media

    # cat /proc/interrupts :
               CPU0
    ....
      7: 3 XT-PIC parport0

    # cat /proc/dma :
    ...
      3: parport0

    Both irq and dma is now allocated, but pd driver is running only in
    mode 2 and speed is about 200 kB/s.

    Q3) How can I use two hdd simultaneously ? When I use epat shuttle as
    additional device and this drivers are compiled as modules, I must
    set pd options as :

    options pd drive0=0x378,,,5,,,,0 drive1=0x378,,,5,,,,1

    But when I want use pda disk as root device, I must compile this
    drivers into kernel (and boot from flopy). In this case I cannoot use
    secondary disk (pdb device). Which kernel parameters can solve it ?

    Thank you for any answer.

    Miroslav BENES
    System administrator
    TENEZ a.s.
    Chotebor
    Czech Republic
    www.tenez.cz

    -- 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 2b29 : Tue Mar 27 2001 - 01:45:19 EST