Re: Turned my ThinkPad into a BeepPad :-/

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 20 Jan 2015, Jagged O'Neill wrote:
> One point I checked out is what happens if I "play" several sounds
> in parallel; because there is value 0 to stop a sound in progress,

Urk.  That "play sound" thing is handled entirely by the deep magic inside
the ThinkPad BIOS.

> I repeated the same experiment with issuing 16 first, trying to
> interrupt it with 9. I was quickly immensely distressed by the
> result, so that I can't even tell what happened in detail. However,
> what I know is that the continuous sound 16 didn't stop. I tried to
> interrupt it with 17, but it didn't stop. I tried to break it using
> 0, but it didn't stop.

Oh dear... either the BIOS went crazy, OR it drove the embedded controller
into insanty (which is worse).

> Just after powering on the box again, it almost immediately beeped
> again (about the same volume, but with a blatantly higher pitch),
> even before the screen (or probably the backlight) was switched on
> --- what the fun... I looked through the BIOS settings but there's
> nothing to disable sounds. I came to the idea to plug in a headphone,
> to quiet the builtin speakers, but that didn't work (at this stage;
> and meanwhile, even more neighbors entered the concert :-/ ).

Urk!

> In the hope that the thinkpad-acpi driver would figure that there's
> something wrong, I just booted into the OS (OpenSuse 13.1, details
> below), but the only (however, I was already lucky with that) effect
> was that the sound was finally routed to the headphones, and the
> speakers were silent. Since the ThinkPad beeps are _really_ loud,
> I could still hear them, though I usually don't hear any music
> through them unless the (type in-ear) headphones are plugged into
> the ears, even when the media-player or computer (not tested with
> the ThinkPad before) or whatever play at maximum volume.
> 
> Okay, the interim solution is to have plugged in a dummy plug into
> the headphone jack, but this doesn't work before the driver kicks
> in. My idea was to install some version of Windows in the hope it
> might have some means of "normalizing" the machine's behaviour,
> but since it's a recent model (details below), and I only have
> Win NT/XP licenses with media, and a Win7 license without medium,
> I doubt I could solve this problem quickly; and I don't want to
> spend muuuuuuuuuch time while the box is beeping me into sickness
> and my neighbors into ultimate annoyance.
> 
> So I hope anyone here is able to tell me what went wrong; or at
> least how to solve this issue. I guess, since this feature

You hit one of those nasty 8-legged things that lurk in the deep crevices of
vendor firmware, unfortunately.  One we had never heard about, either.

There's a fix: clear the entire firmware state.  You need to erase and
invalidate the "CMOS" memory and *likely* also find a way to "braindead" the
EC.

You can try just clearing the CMOS first, but if the crap got loaded into EC
memory space, you need to reset that, and the only thing that does it is
managing to power it down (this is often called "braindeading" the
thinkpad).

The guys in linux-thinkpad or the thinkpad forum will know the exact
procedure to clear the entire CMOS and power down the EC on your thinkpad
model, but basically you will probably have to:

1. Remove all possible power supplies (this includes the internal CMOS
battery, which usually means you will need to open the thinkpad), and if
there's a jumper to clear the CMOS, use it as well.

2. Discharge all caps and starve the embedded controller so that it powers
down.  This one is easy, provided you removed all power supplies and
batteries: press the power button for at least 3 seconds, and repeat that
least 10 times, and to make sure it is dead, do a final very long press of
at least 14 seconds.

3. Reinstall all batteries and connect to AC power.  Turn it on.

Then go into the bios/uefi and set the box up it all again, because *ALL*
parameters will have been reset.  I'd advise to boot Windows with all Lenovo
drivers loaded if you still have that, as that might load better defaults in
the embedded controller.  Unless tp-smapi works in your box, in which case
you can use tp-smapi to set the battery controller' thresholds, and you
don't need windows.

-- 
  "One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie." -- The Silicon Valley Tarot
  Henrique Holschuh

------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=190641631&iu=/4140/ostg.clktrk
_______________________________________________
ibm-acpi-devel mailing list
ibm-acpi-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/ibm-acpi-devel




[Index of Archives]     [Linux ACPI]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Photo]     [Yosemite Photos]     [Yosemite Advice]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]

  Powered by Linux