Dell laptops
Eric Anderson
anderson at centtech.com
Thu Jul 13 11:49:12 UTC 2006
On 07/13/06 04:48, Bruno Ducrot wrote:
> Hi Eric,
>
> On Tue, Jul 11, 2006 at 01:27:50PM -0500, Eric Anderson wrote:
>> On 07/11/06 12:37, Anish Mistry wrote:
>>> On Tuesday 11 July 2006 13:10, Daniel Eischen wrote:
>>>> On Tue, 11 Jul 2006, M. Warner Losh wrote:
>>>>> Greetings,
>>>>>
>>>>> What are the current problems, if any, on current Dell laptops
>>>>> have with FreeBSD?
>>>> Yeah, thanks for asking! My Inspiron E1405 came with an Intel
>>>> 3945 A/B/G mini-PCI wireless that isn't supported (OpenBSD has
>>>> a seemingly actively maintained wpi driver for this card, and
>>>> I have an experimental FreeBSD driver from damien that I haven't
>>>> yet been able to get to work). I've ordered an Atheros-based
>>>> mini-PCI in the meantime, and can lend out the 3945 to anyone
>>>> willing to work on it.
>>>>
>>>> Also, the Fn (the blue key) can't be used to suspend, control
>>>> volume, switch CRT/LCD, etc, and most importantly enable the
>>>> radio on the wireless card (Fn + F2). Even if the wpi driver
>>>> works, it's worthless if I can't enable the radio.
>>> It might simply need an acpi function keys driver for your system.
>>> Would you post an "acpidump -dt" from your system?
>>>
>>
>> I have a bunch of info on the D820 posted here:
>>
>> http://www.googlebit.com/freebsd/200607110621/
>
> It has been useful for me. Thanks.
>
> First, this information confirm one bug present in all Dell laptops
> I'm aware of (including but not limited to D600, D610, inspiron 6000)
> The bug is ACPI related, and concern how a particular event is
> handled. To be short, the ASL contain this method (example for
> the D820):
>
> Method (SMIE, 0, NotSerialized)
> {
> Store (SMI (0x96, 0x00), Local0)
> If (And (Local0, 0x01))
> {
> Notify (\_TZ.THM, 0x80)
> }
>
> Notify (\_SB.PCI0.VID, 0x81)
> Notify (\_SB.PCI0.AGP.VID, 0x81)
> }
>
> If (And (Local0, 0x02))
> {
> Store (SMI (0x6D, 0x00), Local0) <--- BUG. Local0 will
> change in
> that case!!!
> ...
> ...
> }
>
> If (And (Local0, 0x04)) <--- We may not have the correct value for
> Local0 in that case...
> {
> Notify (\_SB.BAT0, 0x81)
> Notify (\_SB.BAT1, 0x81)
> }
>
> If (And (Local0, 0x08))
> {
> Notify (\_PR.CPU0, 0x80)
> Notify (\_PR.CPU1, 0x80)
> }
>
> If (And (Local0, 0x10))
> {
> ...
> ...
> }
> ...
>
> This method possibly can change in the middle the value of Local0
> and in that case the other If() statements are broken.
>
> This method is called in order to handle an SCI interrupt, specifically
> by \GPE._L19() (it will call in fact NEVT() which may call NEVT()).
>
> I don't know how to contact Dell in order to get that fixed.
I might be able to help you get in contact with someone, or maybe get
the right information to the right people. I don't completely
understand everything above, so you'll have to explain to me (or to
them) what needs fixing..
> Second, there is a method called \SMI(), taking 2 arguments and
> returning a value. This method will actually trigger a SMI handler
> in order to perform almost all power management stuff, as for
> example getting fan status, controlling fan speed, controlling
> docking and so on. There is a specific kernel module under linux
> called i8k, that can be found here :
> http://people.debian.org/~dz/i8k/
> Even though I think this driver could have possibly "funny" effect
> if ACPI is enabled under Linux (it will actually share the same
> IO with the SMI() method, and that must be serialized for obvious
> reason), looking onto that driver we learn for example that
> SMI(0x25, 0) will likely return the FN key status for almost
> all Dell Laptop.
>
> Therefore it should be somewhat easy to write a simple ACPI
> driver for Dell laptops, at least for FN key (if those still
> don't work).
>
> ATM I don't have time for writing such support.
Would this driver be akin to the asus, fujitsu, and ibm drivers that exist?
Thanks for looking at this!
Eric
--
------------------------------------------------------------------------
Eric Anderson Sr. Systems Administrator Centaur Technology
Anything that works is better than anything that doesn't.
------------------------------------------------------------------------
More information about the freebsd-mobile
mailing list