lkml.org 
[lkml]   [2006]   [Jan]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: (1) ACPI messes up Parallel support in kernels >2.6.9
Adam Belay wrote:
> On Wed, Jan 04, 2006 at 10:52:09PM -0800, Andrew Morton wrote:
>
>>Dane Mutters <dmutters@gmail.com> wrote:
>>
>>> I've been attempting to figure out this problem for a long time, and have
>>> come to the conclusion that it must be a kernel bug (that or perhaps I'm a
>>> bit dense). Whenever I have the option, "Device Drivers > Plug and Play >
>>> ACPI Support" enabled, I become unable to print using my parallel port.
>>
>>hm, regressions are bad and the fact that it _used_ to work meand that we
>>should be able to make it work again.
>>
>>Could you please raise a bug reports against acpi at bugzilla.kernel.org?
>>It might help if that report includes the output of `dmesg -s 1000000' for
>>both working and non-working kernels.
>>
>>Thanks.
>
>
> This may be a PnP bug. If you can provide further information, I'll
> look into it.

At least on my hardware (ASUS A8V, W83627THF superio) problem is that it now
uses ECP...

Once parport_pc is loaded, it says it found PnPBIOS parport and finds printer

parport: PnPBIOS parport detected.
parport0: PC-style at 0x378 (0x778), irq 7, dma 3
[PCSPP,TRISTATE,COMPAT,EPP,ECP,DMA]
parport0: Printer, HEWLETT-PACKARD DESKJET 690C
lp0: using parport0 (interrupt-driven).
lp0: ECP mode

unfortunately write to /dev/lp* blocks indefinitely. SuperIO registers
inspection reveals that SIO is actually programmed to use DMA 1 and not DMA 3.
When SuperIO is reprogrammed, data are apparently sent somewhere (as writes to
/dev/lp no longer blocks), IRQ count is incremented for each block sent, but
unfortunately printer does not seem to agree that any data arrived.

Actually I believe that ECP mode never worked for me - but in the past
parport_pc just used SPP or EPP, and everything was happy. Now 'modprobe
parport_pc io=0x378' does not work anymore as parallel port hardware is kindly
disabled by PnPBIOS code :-( So I have to first enable parport in SuperIO, then
set parport mode to SPP, PS2, EPP1.7 or EPP1.9 (low three bits of F0 register in
function 1 must be 100, 000, 001 or 101) and load parport_pc io=0x378
io_hi=0x778 irq=7 dma=1. Then ECP mode is not used and printing works...

parport0: PC-style at 0x378, irq 7 [PCSPP,TRISTATE,EPP]
parport0: Printer, HEWLETT-PACKARD DESKJET 690C
lp0: using parport0 (interrupt-driven).

If you are interested, ACPI DSDT is available at
http://platan.vc.cvut.cz/ftp/private/a8v.acpi.dsdt. W83627THF datasheet is
available from Winbond website... I do not understand AML sufficiently to tell
whether problem with DMA is caused by parport or AML interpreter or buggy DSDT.
Non-working ECP is either dead hardware or parport problem existing for very long.

SuperIO dump after initial parport_pc load:

RR/EN 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17
BASE: 0B 82 84 FF FE A2 00 00 FF 20 00 00 1A 48 00 00 FF
FN00: 01 03 F0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF 06 FF FF FF 02 FF FF FF
: 8E 00 FF FF 00 00 FF FF FF FF FF FF FF FF FF FF
FN01: 01 03 78 FF FF FF FF FF FF FF FF FF FF FF FF FF FF 07 FF FF FF 01 FF FF FF
: 3A FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FN02: 01 03 F8 FF FF FF FF FF FF FF FF FF FF FF FF FF FF 04 FF FF FF FF FF FF FF
: 00 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FN03: 01 02 F8 FF FF FF FF FF FF FF FF FF FF FF FF FF FF 03 FF FF FF FF FF FF FF
: 00 00 FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FN04: 01 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FN05: 00 00 00 00 00 FF FF FF FF FF FF FF FF FF FF FF FF 00 FF 00 FF FF FF FF FF
: 83 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FN06: 00 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FN07: 08 02 01 03 30 FF FF FF FF FF FF FF FF FF FF FF FF 00 FF FF FF FF FF FF FF
: FF FF FF FF E3 00 FF FF FF FF FF FF FF FF FF 00
FN08: 01 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
: FF 38 00 00 FF 00 00 00 FF FF FF FF FF FF FF FF
FN09: 03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
: FF 51 00 00 DF 21 00 FF FF FF FF FF FF FF FF FF
FN0A: 01 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 00 FF FF FF FF FF FF FF
: 00 AF FF 3F 00 FF 00 00 FF 00 FF FF FF FF 00 00
FN0B: 01 02 90 FF FF FF FF FF FF FF FF FF FF FF FF FF FF 00 FF FF FF FF FF FF FF
: 01 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
PowerState: 01

Petr

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2006-01-05 20:23    [W:0.065 / U:1.108 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site