Skip to contentSkip to conversation

Writing to the EC

DISCUSSION Erik Andrén 5 participants 5 messages Nov 4, 2007 – Nov 5, 2007 ACPI

lore
Share & tools
lore
#0 lore raw

Hello,

I'm currently in the process of trying to write routines for controlling the backlight on my Clevo M72R.

Pressing the hotkeys do work but I do belive this is the result of that the embedded controller is hardwired to the keyboard.

To make a long story short, I've hacked up a kernel module that dumps the EC (with inspiration from the ibm acpi driver) using the exported ec_read and ec_write symbols from the ec.c in the kernel acpi source and I've been able to locate a register which change when I manually push the brightness hotkey buttons (0xC9).

The bad part is that writing to the EC using the ec_write function doesn't work at all. Sure it completes the operation, but when probing the register afterwards, no change of value is seen.

My questions to you ACPI and EC gurus are:

1. Is it possible that the EC is read-only from the OS perspective?

2. Are there any common quirks / initialization that is needed to getting the EC to register commands?

3. Does anyone have a recommendation of programs to use for snooping I/O accesses in windows?

With kind regards
Erik Andrén
-
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

#1 lore raw
Quoted 3 lines · Erik Andrén

The bad part is that writing to the EC using the ec_write function doesn't work at all. Sure it completes the operation, but when probing the register afterwards, no change of value is seen.

This sounds the same as my Lenovo 3000 N100. If you find out how to do it - yell - and it's worth many beers.

Richard.

-
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

#2 lore raw
Quoted 10 lines · Erik Andrén
Quoted 3 lines

The bad part is that writing to the EC using the ec_write function doesn't work at all. Sure it completes the operation, but when probing the register afterwards, no change of value is seen.

This sounds the same as my Lenovo 3000 N100. If you find out how to do it - yell - and it's worth many beers.

Richard.

Hi!
Exactly the same happens with my Clevo D610SU. There is a register which
should (probably) activate the Message LED, which is otherwise non-functional. I've tried my best to write the register, but neither the value can be changed (always 0), nor the LED does anything special.
With regards, Pavel Troller
-
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

#3 lore raw
In reply to Erik Andrén
Quoted 2 lines · On Sunday 04 November 2007 19:55:40 Erik Andrén wrote:

To make a long story short, I've hacked up a kernel module that dumps the EC

For acer_acpi, we have a Perl script that can do this from userspace (but it should run on any other machine, since there's nothing Acer specific about dumping the EC registers).

http://aceracpi.googlecode.com/svn/trunk/acer_ec/acer_ec.pl

./acer_ec.pl regs

(ACPI throws a few warnings in dmesg, because we're stepping on it's turf a bit here, but it's far simpler than having to write a kernel module just to get a few registers).

Quoted 3 lines

My questions to you ACPI and EC gurus are:

1. Is it possible that the EC is read-only from the OS perspective?

From the acer_acpi perspective, we've found that some EC registers are read-only (e.g. on some laptops, there is a register to read the status of the touchpad, but writes to it are ignored).

I imagine this is defined at the hardware level though, not by the OS.

Quoted 2 lines

3. Does anyone have a recommendation of programs to use for snooping I/O accesses in windows?

I did try playing around with writing my own simple application to access the I/O ports, and then dump the EC data - unfortunately, I/O port programming in Windows is "painful", to say the least.

-Carlos

Signature · 7 lines
E-Mail: [email protected]
Web: strangeworlds.co.uk
GPG Key ID: 0x23EE722D
-
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
#4 lore raw

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Quoted 8 lines · On Mon, 5 Nov 2007 00:55:37 +0000 Carlos Corbacho <[email protected]>…
Quoted 2 lines · On Sunday 04 November 2007 19:55:40 Erik Andr?n wrote:

To make a long story short, I've hacked up a kernel module that dumps the EC

For acer_acpi, we have a Perl script that can do this from userspace (but it should run on any other machine, since there's nothing Acer specific about dumping the EC registers).

Quoted 8 lines

http://aceracpi.googlecode.com/svn/trunk/acer_ec/acer_ec.pl

./acer_ec.pl regs

(ACPI throws a few warnings in dmesg, because we're stepping on it's turf a bit here, but it's far simpler than having to write a kernel module just to get a few registers).

Awesome! I found the EC register for changing the backlight on my laptop using acer_ec.pl.

Register 0xE2 - Set screen brightness to <value>

                Min: 0x00 Max: unknown
                Windows Brightness key Min: 0x14 Max: 0x5F

Register 0xE3 - Fade out screen brightness from <value>

This is for HP dv6535ep laptop which should be similar to any other HP laptop in the 6xxx series.

I'll look at other backlight drivers if I can do something..

Quoted 10 lines

-Carlos

Signature · 7 lines
E-Mail: [email protected]
Web: strangeworlds.co.uk
GPG Key ID: 0x23EE722D
-
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Thanks!!!
- --
Angelo Arrifano AKA MiKNiX
CSE Student at UBI, Portugal
Gentoo Linux AMD64 Arch Tester
[email protected]
http://miknix.homelinux.com
PGP Pubkey online

- - -
The only thing that experience teaches us is that experience teaches us nothing.
-- Andre Maurois (Emile Herzog)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)

iD8DBQFHL2gzNahyoD2SuwsRAnqXAKCcWxVvXy4AudRvRPgqkYn8Oybo4wCffpn5 NkU/v5/HZFgqYc0GhEBzGi4=
=uPxz
-----END PGP SIGNATURE-----