[coreboot] mute button on X200

Francis Rowe info at gluglug.org.uk
Sat Aug 22 23:50:55 CET 2015


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

For my future reference:
<lynxis> francis7: on x201 it doesn't generate any acpi event.
<francis7> on X200 it doesn't, either.
<lynxis> francis7: in dsdt, bit 7 of 0x30 is named HMUT
<francis7> HMUT = hardware mute?
<lynxis> it's bit6, if you count from 0. yes. acpi variables names are
limited to 4 bytes.
<francis7> lynxis, please assume that I will be counting from the
right-most bit (^0)
<francis7> and assume that I will count from 0
<francis7> If you say bit 7, I'll think you mean the one that equals
128 or 0x80 when set to 1
<francis7> when really you meant 64 or 0x40
<lynxis> francis7: me too, but I miscounted it this time. please
forgive me ;)
<francis7> :)
<francis7> this is what causes "off by one" errors in programming
<lynxis> it was more reading it. because it says 6 bit are empty,
nextbit is HMUT

On 22/08/15 19:37, Francis Rowe wrote:
> Please disregard this thread. from the #coreboot IRC channel:
> 
> <francis7> lynxis, hi * redpill has quit (Ping timeout: 264
> seconds) * redpill (~redpill at unaffiliated/redpill) has joined
> #coreboot <lynxis> 0x30 does volumecontrol. I've also written that
> down in http://www.coreboot.org/EC:lenovo/x201 <francis7> oh 
> <lynxis> try to play with that using ectool -w <> -z <> <francis7>
> Yes, to see if that changes volume. <lynxis> you can try to read
> the disassemlbed acpi code. take a look on the dsdt. acpi asm is
> very easy to read. * siro has quit (Quit: Leaving.) <francis7>
> lynxis, confirmed <francis7> lynxis, I have this running: 
> <francis7> sudo watch -n .1 ./ectool -i <francis7> When I mute
> (factory bios), 0x30 changes from 0x03 to 0x43 <francis7> When
> unmuting, it changes back to 0x03 <lynxis> on x201: it's 0x40 or
> 0x00 <francis7> The same also happens in coreboot. <francis7>
> However, on coreboot, no actual muting occurs. <lynxis> x201: the
> speaker got muted. <francis7> ok, wtf <francis7> I tested it on
> another X200 with coreboot <francis7> mute works <francis7> wtf 
> <lynxis> francis7: can you send me a dump of the acpi with OEM
> bios? <francis7> lynxis, "acpidump > acpidump.log" ? <lynxis>
> acpidump -b dump_dir <francis7> -b outputs nothing <lynxis> it
> should dump everything into a directory <lynxis> sudo acpidump -b
> . <francis7> ok now it works <lynxis> francis7: 0x84 should be the
> fan speed <francis7> seems I already have your GPG key <francis7>
> (public one) <lynxis> 0xA0DF8604  fp: 390D CF78 8BF9 AA50 4F8F
> F1E2 C29E 9DA6 A0DF 8604 <francis7> yep * tlaurion
> (~tlaurion at dsl-154-8.b2b2c.ca) has joined #coreboot <francis7>
> lynxis, weird though <francis7> the mute didn't seem to work
> earlier. <francis7> maybe I was only testing it on headphones 
> <francis7> even in factory bios, the mute only mutes the internal 
> speakers built into the laptop <francis7> external
> speakers/headphones are not muted via that button <francis7> I
> apologize for wasting your time....
> 
> On 22/08/15 18:40, Francis Rowe wrote:
> 
> 
>> On 22/08/15 18:13, Alexander Couzens wrote:
> 
>>>> Would it help if I include logs here? If so, which logs?
>>> ectool will also show some timers, which are counting upwards
>>> in the dump. Last time I've looked at the ECDT (x201) it
>>> doesn't contain any additional information. There are multiple
>>> ways to provide the information saved in the ECDT. Coreboot is
>>> using the DSDT for that.
> 
>>> Let's say you know which byte is changing in the EC ram, what 
>>> would you do than?
> 
>>> Best, lynxis
> 
>>> PS: http://www.coreboot.org/EC:lenovo/x201
> 
> 
>> Here is the diff (from factory BIOS):
> 
>> user at user-ThinkPad-X200:~/Desktop$ diff -u ectool.log 
>> ectool.mute.log --- ectool.log	2015-08-22 16:14:32.602441403
>> +0100 +++ ectool.mute.log	2015-08-22 16:14:38.780364169 +0100 @@
>> -2,13 +2,13 @@
> 
>> 00: a6 05 a0 00 fe 96 00 00 1f 02 47 00 00 00 80 00 10: 00 00 ff
>> ff f4 3c 87 09 5b ff 83 04 ff ff 2d 00 -20: 00 00 00 00 00 00 00
>> 60 00 00 00 00 00 00 00 80 -30: 07 00 02 00 30 04 00 00 00 00 20
>> 10 00 50 00 00 +20: 00 00 00 00 00 00 00 df 00 00 00 00 00 00 00
>> 80 +30: 47 00 02 00 30 04 00 00 00 00 20 10 00 50 00 00 40: 00 00
>> 00 00 00 00 14 04 40 01 00 00 00 00 00 00 50: 00 c0 02 19 df 07
>> 08 16 0e 0a 31 04 04 d0 07 48 60: 0d d8 0e cc 10 00 00 00 00 00
>> 00 00 00 00 00 00 70: 00 00 00 00 00 12 30 80 27 32 80 2c 80 80
>> 80 80 -80: 00 00 00 06 ce 0e 03 00 00 00 00 00 00 00 6c 00 +80:
>> 00 00 00 06 e3 0e 03 00 00 00 00 00 00 00 6c 00 90: 00 00 00 00
>> 00 00 00 00 00 00 00 00 00 00 00 00 a0: 00 00 00 00 00 00 00 00
>> 00 00 00 00 00 00 00 00 b0: 00 00 00 00 00 00 00 00 00 00 00 00
>> 00 00 00 00
> 
>> 0x27 changes. 0x30 changes. 0x84 changes.
> 
>> Here is the diff from coreboot (on another X200, though, so 
>> probably different EC version):
> 
>> user at user-ThinkPad-X200:~/Desktop$ diff -u ectool.log 
>> ectool.mute.log --- ectool.log	2015-08-22 17:31:27.684144336
>> +0100 +++ ectool.mute.log	2015-08-22 17:31:34.775508137 +0100 @@
>> -2,17 +2,17 @@
> 
>> 00: a6 04 a0 11 fe 96 00 00 1f 02 43 00 00 00 80 00 10: 00 00 ff
>> ff f4 3c 80 01 01 ff ff ff ff ff 00 00 -20: 00 00 00 00 00 00 00
>> 2b 00 00 00 00 00 00 00 80 -30: 03 00 00 00 30 04 00 00 00 00 70
>> 10 00 00 00 00 +20: 00 00 00 00 00 00 00 58 00 00 00 00 00 00 00
>> 80 +30: 43 00 00 00 30 04 00 00 00 00 70 10 00 00 00 00 40: 00 00
>> 00 00 00 00 14 04 42 01 00 00 00 00 00 00 50: 00 40 00 00 00 00
>> 00 00 00 00 00 00 00 00 00 00 60: 00 00 00 00 00 00 00 00 00 00
>> 00 00 00 00 00 00 70: 00 00 00 00 00 12 30 80 30 2f 80 33 80 80
>> 80 80 -80: 00 00 00 00 6c 0e 00 00 00 00 00 00 00 00 00 00 +80:
>> 00 00 00 00 6a 0e 00 00 00 00 00 00 00 00 00 00 90: 00 00 00 00
>> 00 00 00 00 00 00 00 00 00 00 00 00 a0: 00 00 00 00 00 00 00 00
>> 00 00 00 00 00 00 00 00 b0: 00 00 00 00 00 00 00 00 00 00 00 00
>> 00 00 00 00 -c0: 33 38 80 80 80 80 80 80 00 41 1a 00 00 00 00 00
>> +c0: 33 37 80 80 80 80 80 80 00 41 0d 00 00 00 00 00 d0: 06 00 00
>> 00 00 00 00 00 00 00 00 00 00 00 00 00 e0: 00 00 00 00 00 00 00
>> 00 10 60 b9 06 04 2e 55 03 f0: 37 58 48 54 32 34 57 57 13 74 62
>> b4 13 74 61 9c
> 
>> 0x27 changes. 0x30 changes. 0x84 changes.
> 
>> Also on this dump, 0xc1 and 0xca change.
> 
>> I'm not currently sure what to make of this.
> 
> 
> 

- -- 
Minifree Ltd, trading as Ministry of Freedom | Registered in England,
No. 9361826 | VAT No. GB202190462
Registered Office: 19 Hilton Road, Canvey Island, Essex SS8 9QA, UK |
Tel: +44 (0) 1268 857 837 | Web: http://minifree.org/

Use free software. Use GNU/Linux.
https://www.gnu.org/philosophy/free-sw.html

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQEcBAEBAgAGBQJV2QrfAAoJEP9Ft0z50c+UPO0H/iZaDwu/HZCKiAqXdFqmWVtm
5SLsORIqb3f9JPMREEbKzW3Ww3ti9w+qFeDXldoHBaar0ogZiN4v97kO4CWYDqCn
76FJEyUy0BGsVzMg7wVp+t0aVdLOsRoOas0Dfn20R7H8pA1dWsmKT0sQ4rsTNhJl
HcOxy54q5I6lr4x8VyUAmGp3YwrCCaLgm2YNOcmFWOSohRxFU5kKj/1ICXsujw1V
mz//W5UH+ofFaM5drPrJuYJ74GYcbeLdVThyEpCxqiWlTtXnjqezGzCH7EnkGInB
KOINhhm1LlFA64KVnKFfBNGyhNUOa8GXnhmn107kdOYRXI07ndbF+SM8UDtgoQQ=
=lcQl
-----END PGP SIGNATURE-----



More information about the coreboot mailing list