2005-02-05 17:10:16

by Pierre Ossman

[permalink] [raw]
Subject: Strange device init

I'm having problem with a card reader on a laptop (Acer Aspire 1501).
The device doesn't get its resources configured properly.

The reader is connected to the LPC bus so there is no standardised way
to configure the device. On other laptops the configuration is done via
ACPI (_STA & co. in the DSDT). On this laptop these functions don't do a
damn thing.
In Windows this device gets configured through some other means. It's
not in the driver (I've disected it to confirm this). But under Linux
the device is left unconfigured.

So my question is if anyone has any ideas on how this device gets
configured by Windows and possibly how we can get this to work on Linux.

The reason this is an issue is that one cannot detect all the quirks of
the hardware so a PNP solution is prefered. In those cases the
manufacturer has chosen resources that work ok.

For some context: I am the maintainer of the driver for this hardware. I
have a laptop where the DSDT properly sets up the hardware. The Acer
belongs to some of my users but they are not familiar with the kernel so
I'm trying to fix this for them.

Rgds
Pierre


2005-02-05 22:00:09

by Adam Belay

[permalink] [raw]
Subject: Re: Strange device init

On Sat, Feb 05, 2005 at 06:10:02PM +0100, Pierre Ossman wrote:
> I'm having problem with a card reader on a laptop (Acer Aspire 1501).
> The device doesn't get its resources configured properly.
>
> The reader is connected to the LPC bus so there is no standardised way
> to configure the device. On other laptops the configuration is done via
> ACPI (_STA & co. in the DSDT). On this laptop these functions don't do a
> damn thing.
> In Windows this device gets configured through some other means. It's
> not in the driver (I've disected it to confirm this). But under Linux
> the device is left unconfigured.
>
> So my question is if anyone has any ideas on how this device gets
> configured by Windows and possibly how we can get this to work on Linux.
>
> The reason this is an issue is that one cannot detect all the quirks of
> the hardware so a PNP solution is prefered. In those cases the
> manufacturer has chosen resources that work ok.
>
> For some context: I am the maintainer of the driver for this hardware. I
> have a laptop where the DSDT properly sets up the hardware. The Acer
> belongs to some of my users but they are not familiar with the kernel so
> I'm trying to fix this for them.
>
> Rgds
> Pierre

So the device is not listed in the DSDT, or _SRS doesn't work? Does _STA
succeed? Finally have you checked if PnPBIOS detects the device? Any
additional information you could provide would be appreciated.

Thanks,
Adam

2005-02-06 11:49:32

by Pierre Ossman

[permalink] [raw]
Subject: Re: Strange device init

Adam Belay wrote:

>On Sat, Feb 05, 2005 at 06:10:02PM +0100, Pierre Ossman wrote:
>
>
>>I'm having problem with a card reader on a laptop (Acer Aspire 1501).
>>The device doesn't get its resources configured properly.
>>
>>The reader is connected to the LPC bus so there is no standardised way
>>to configure the device. On other laptops the configuration is done via
>>ACPI (_STA & co. in the DSDT). On this laptop these functions don't do a
>>damn thing.
>>In Windows this device gets configured through some other means. It's
>>not in the driver (I've disected it to confirm this). But under Linux
>>the device is left unconfigured.
>>
>>So my question is if anyone has any ideas on how this device gets
>>configured by Windows and possibly how we can get this to work on Linux.
>>
>>The reason this is an issue is that one cannot detect all the quirks of
>>the hardware so a PNP solution is prefered. In those cases the
>>manufacturer has chosen resources that work ok.
>>
>>For some context: I am the maintainer of the driver for this hardware. I
>>have a laptop where the DSDT properly sets up the hardware. The Acer
>>belongs to some of my users but they are not familiar with the kernel so
>>I'm trying to fix this for them.
>>
>>Rgds
>>Pierre
>>
>>
>
>So the device is not listed in the DSDT, or _SRS doesn't work? Does _STA
>succeed? Finally have you checked if PnPBIOS detects the device? Any
>additional information you could provide would be appreciated.
>
>
>
The device is listed in the DSDT but the functions are empty. E.g. _SRS:

Method (_SRS, 1, NotSerialized)
{
}

_PRS and _CRS at least returns the proper resources that should be used.

PNPBIOS cannot be compiled in. This is a x86_64 machine and PNPBIOS is
dependent on ISA. Are there any user-space tools that can do the same
thing? Just to do some testing.

Rgds
Pierre