# Solved (was: snd-hda-intel works only with acpi=off)

## ijontichy

Hi,

on my Toshiba Satellite P100-119, lspci gives me the following info about my soundcard:

```

00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 02)

```

My /etc/modules.d/alsa is

```

alias /dev/mixer snd-mixer-oss

alias /dev/dsp snd-pcm-oss

alias /dev/midi snd-seq-oss

alias snd-card-0 snd-hda-intel

alias sound-slot-0 snd-card-0

```

This works fine if when booting with acpi=off.

However, when booting with acpi enabled, the soundcard is silent.

dmesg gives me the following:

booting with acpi=off:

```

PCI->APIC IRQ transform: 0000:00:1b.0[A] -> IRQ 22

PCI: Setting latency timer of device 0000:00:1b.0 to 64

```

booting with acpi enabled:

```

ACPI: PCI Interrupt 0000:00:1b.0[A] -> GSI 22 (level, low) -> IRQ 21

PCI: Setting latency timer of device 0000:00:1b.0 to 64

```

So i suspected that acpi might cause an IRQ routing problem, but

using pci=noacpi at boot gives no difference (same dmesg, no sound).

In order to get acpi working, i had to fix my dsdt. Apart from the sound

problem, acpi works fine now. 

Also, the sound modules load without errors, alsamixer works etc., just i get not sound.

The sound related part of the dsdt seems to be this:

```

        Device (AMW0)

        {

            // Name (_HID, "*PNP0C14")  

            Name (_HID, EisaId("PNP0C14"))

            Name (_UID, 0x00)

            // Name (_WDG, Buffer (0x3C)

            Name (WDG, Buffer (0x3C)

            {

                0xA7, 0x1D, 0x85, 0x2E, 0x53, 0xD0, 0x5F, 0x49, 

                0x9D, 0xFA, 0x1A, 0x4A, 0xD6, 0x2E, 0x6A, 0x86, 

               ...

```

Mybe i introduced an error here?

Any help would be highly appreciated.

Christian  :Sad: Last edited by ijontichy on Sun Dec 10, 2006 11:57 pm; edited 1 time in total

----------

## rlittle

There is someone else!   :Surprised: 

I have a Toshiba Satellite P100 (JR500E) also, and have exactly the same problem. acpi=off is the only thing that's worked so far, so thank you 100 times for that! At least I know that I haven't set up ALSA wrong 37 times in a row...   :Smile: 

I have exactly the same messages that you posted. Sorry to not have any more insight into the prob, but if I do I'll post it here.

Question: did you fix your dsdt "by hand" or did you find an already fixed copy? (I fixed the dsdt on a laptop and couple of years ago and have thankfully forgot everything I learned)

----------

## ijontichy

Hi,

i had to fix my dsdt by hand (without too much understanding).

I seems to work satisfactorily; i can read battery state, temperature

and get button events (using the vanilla kernel 2.6.16.1):

This is what i changed:

```

241a242

>     External (CFGD)  // Hack without understanding

600a602

>           External(\PDC0) // Hack without understanding

610a613

>           External(\PDC1) // Hack without understanding

5702,5703c5705,5706

<                 Z001, 

<                 Z001, 

---

>               // Z001, Hack without understanding

>                 // Z001, dito  

6011,6012c6014,6019

<             }

<         }

---

>               Else

>               {

>                  Return(Zero)

>               } 

>           }

>       }

6016c6023,6024

<             Name (_HID, "*PNP0C14")

---

>         // Name (_HID, "*PNP0C14")

>           Name (_HID, "PNP0C14") // Hack withour real understanding

6018c6026,6027

<             Name (_WDG, Buffer (0x3C)

---

>             Name (_WDG, Buffer (0x3C) // Hack withour real understanding

>                 //                     Name (WDG, Buffer (0x3C)

```

Sound is still not working with acpi.

Also, i cannot get a usable X configuration under Gentoo.

The nvidia driver gives oopses (tried several versions) and the nv driver

says that does not detect any devices.

I tried SuSE 10.1 beta8 for comparison, where i get at least X working

with nv.

Was your P100 also equipped with an ``express media player''? 

Interestingly enough this was running under Linux! So i knew it

would be possible to get sound under Linux.

On my laptop, this was installed on a hidden partition.

fdisk showed me two partitions sda1 and sda4 (no sda2, sda3),

gpart showed me the two hidden partitions sda2, sda3.

Somewhere on these, the expressed media player resided, but i was

not able to mount them (i hoped that i would be able to copy some

parts of the config).

Next i looked at the recovery CD of the express media player. 

It is based on syslinux (which i dont understand). 

Normally, the recovery cd boots into a menu with few options

(reinstall, delete all partitions, or quit).

But if one boots this recovery cd and plays with the keyboard during boot, 

one gets into the grub prompt an can boot into the shell and look around:-)

Maybe this way one can extract some some usefull information.

Looking at the changelogs from kernel.org, i get the impressions that

currently there is some progress with the snd-hda-intel module.

So i would be satisfied, if i could get X working under Gentoo (nv would

suffice).

Christian

----------

## rlittle

I'll post an update when I'm on my laptop, but I had no real trouble with X (however, I'm not sure why, because a friend had the same problem). I installed via stage 3 and the Live CD, but I had to boot with the option 

```
gentoo-nofb -nox
```

 because the Live CD couldn't recognize the video card properly and it would freeze while starting Gnome. After I finished the install from the command line and had everything booting and networked (the e1000 card anyway, wireless was a different story   :Rolling Eyes:  ) I installed X and Gnome and got them up and running (well.... let's say "not crashing", not "running"), then I emerged the latest and greatest nvidia driver (nvidia-kernel, nvidia-glx and nvidia-settings) and (after struggling with xorg.conf for 8 hours) it worked the first time.  :Surprised:   I'll post my xorg.conf as soon as I can. Right now I'm still having trouble getting the wheel mouse working on my extra USB mouse, but I think I have less-than-perfect settings for "CorePointer".

Thanks a ton for your dsdt fixes! If your can detect bettery levels, then you're my hero!   :Very Happy: 

One odd thing, my friend also installed Fedora Core on the laptop (it's identical to mine, we got them from work) and he had sound with no problem! (however, he couldn't get X working at all, and he couldn't get the e1000 NIC working either.  :Smile:   )

Maybe between the two of us, we can get a working system!   :Wink: 

Edit - almost forgot, if you're going for the nvidia-kernel driver, remove all references to nv and DRI from your kernel.

----------

## ijontichy

Hi,

your xorg.conf would be indeed very usefull for me (including the exact version

of the nvidia driver and your kernel).

Unfortunately out laptops are not identical. 

So, probably you cannot apply my dsdt fixes verbatim.

Also, possibly the lack of sound comes from the fact that

my dsdt fixes are not yet perfect.

Christian

----------

## rlittle

Here you go:

Nvidia versions are:

nvidia-kernel-1.0.8178-r1

nvidia-glx-1.0.8178-r1

nvidia-settings-1.0.20051122-r3

and my kernel is 2.6.15-r7

 # uname -a

Linux <hostname> 2.6.15-gentoo-r7 #15 SMP PREEMPT Thu Mar 30 21:02:32 Local time zone must be set- i686 Genuine Intel(R) CPU           T2400  @ 1.83GHz GenuineIntel GNU/Linux

(apparently I need to set my timezone correctly.  :Smile:   )

And here is my xorg.conf. There are a couple of things to be aware of. I setup the touchpad by installing the synaptics touchpad driver ( emerge x11-drivers/synaptics ). I also have a "Modeline" in there which I'm sure is correct, but I'm not using properly. I think I need to add a line refering to "1440x900" into the "Screen" section somewhere. However, it should cause no problems for anyone. Also, notice that the "dri" module had been commented out.

```
Section "ServerLayout"

        Identifier     "X.org Configured"

        Screen         "Screen0"

        InputDevice    "TouchPad0" "AlwaysCore"

        InputDevice    "Mouse0" "CorePointer"

        InputDevice    "Keyboard0" "CoreKeyboard"

EndSection

Section "Files"

        RgbPath      "/usr/lib/X11/rgb"

        ModulePath   "/usr/lib/modules"

        FontPath     "/usr/share/fonts/misc/"

        FontPath     "/usr/share/fonts/TTF/"

        FontPath     "/usr/share/fonts/Type1/"

        FontPath     "/usr/share/fonts/CID/"

        FontPath     "/usr/share/fonts/75dpi/"

        FontPath     "/usr/share/fonts/100dpi/"

EndSection

Section "Module"

        Load  "glx"

        Load  "record"

        Load  "extmod"

        Load  "dbe"

#       Load  "dri" #don't want this with the nvidia binary driver

        Load  "xtrap"

        Load  "freetype"

        Load  "type1"

EndSection

Section "InputDevice"

        Identifier  "Keyboard0"

        Driver      "kbd"

EndSection

Section "InputDevice"

        Identifier  "TouchPad0"

        Driver      "mouse"

        Option      "Protocol" "auto"

#       Option      "Protocol"  "auto-dev"

        Option      "Device" "/dev/input/mice"

        Option      "LeftEdge"      "1700"

        Option      "RightEdge"     "5300"

        Option      "TopEdge"       "1700"

        Option      "BottomEdge"    "4200"

        Option      "FingerLow" "25"

        Option      "FingerHigh"        "30"

        Option      "MaxTapTime"        "180"

        Option      "MaxTapMove"        "220"

        Option      "VertScrollDelta" "100"

        Option      "MinSpeed"  "0.09"

        Option      "MaxSpeed"  "0.18"

        Option      "AccelFactor"       "0.0015"

        Option      "SHMConfig" "on"

EndSection

Section "InputDevice"

        Identifier  "Mouse0"

        Driver      "mouse"

        Option      "Protocol" "IMPS/2"

        Option      "Device" "/dev/input/mice"

        Option      "Buttons" "3"

        Option      "ZAxisMappping" "4 5"

EndSection

Section "Monitor"

        Identifier   "Monitor0"

        VendorName   "Monitor Vendor"

        ModelName    "Monitor Model"

        VertRefresh   60

        Modeline     "1440x900" 96  1440 1504 1536 1760  900 903 906 912  -HSync -VSync

EndSection

Section "Device"

        Identifier  "Card0"

        Driver      "nvidia"

        VendorName  "nVidia Corporation"

        BoardName   "Unknown Board"

        BusID       "PCI:1:0:0"

EndSection

Section "Screen"

        Identifier "Screen0"

        Device     "Card0"

        Monitor    "Monitor0"

        DefaultDepth       24

        SubSection "Display"

                Viewport   0 0

                Depth     1

        EndSubSection

        SubSection "Display"

                Viewport   0 0

                Depth     4

        EndSubSection

        SubSection "Display"

                Viewport   0 0

                Depth     8

        EndSubSection

        SubSection "Display"

                Viewport   0 0

                Depth     15

        EndSubSection

        SubSection "Display"

                Viewport   0 0

                Depth     16

        EndSubSection

        SubSection "Display"

                Viewport   0 0

                Depth     24

        EndSubSection

EndSection
```

Thanks for pointing out that our machine may differ. Do you have a Phoenix BIOS or Toshiba?

----------

## vPat

Iam also having this trouble with kernel 2.6.16-r1.

I have found this issue here, when i try compling sound into the kernel i still get no sound. Iam now going to compile them as modules and try with acpi=off.

.Pat

----------

## ijontichy

Hi,

concerning graphics, perhaps we have different graphics chips. 

rlittles xorg.conf does not work for me. The system freezes if i try

to start X with nvidia.

Also from the nvidia linux forum it got the information, that nvidia has announced 

to integrate suppoert for this chip into the next release.

My laptop has a NVIDIA GeForce Go 7600, which also seems to be currently not

supported by xorg 6.8.

But, in principle it is possible to get X it working with nv. I had no X problems

with SuSE 10.1 beta8; i guess they use xorg 7.0.

Concerning sound, in my case the problem also occurs with kernels prior to 2.6.16

(i tried 2.6.14.2 and 2.6.15.1), so it has nothing to do with the issue mentioned by

vPat.

The error seems to occur during the pci device scan, before loading any sound module.

I noticed, that the contents of /sys/bus/pci/devices/000000\:00\:1b.0

depends on whether acpi is enabled or not. 

Somehow acpi is involved, even if i boot with pci=noacpi.

In my eyes, this is a kernel bug.

Christian 

P.S. The bios on the P100-119 is from Phoenix.

----------

## ijontichy

Hi,

meanwhile i could solve the problem by applying simple

fixes to the dsdt. (I did some Bios upgrades in the meantime,

so depending on your bios version (and iasl version) the fixes might 

be slightly different).

1. Get rid of iasl error and warnings:

- Replace all occurences of _T_0 by some arbitrary variable name

(_T_0 is a reserved word for iasl).

- Complete the return path for method BTST (just ad an additional

``Else { Return(Zero) }'')

- Replace  ``Name (_HID, "*PNP0C14")'' by `` Name (_HID, "PNP0C14")''.

2. Get sound (+acpi) working:

```

    Scope (\_SB)

    {

        Method (_INI, 0, NotSerialized)

        {

            If (DTSE)

            {

                TRAP (0x47)

            }

            Store (0x07D0, OSYS)

//             If (CondRefOf (_OSI, Local0))

//             {

//                 If (_OSI ("Linux"))

//                 {

//                     Store (0x03E8, OSYS)

//                 }

//                 Else

//                 {

//                     Store (0x07D1, OSYS)

//                     If (_OSI ("Windows 2001 SP2"))

//                     {

//                         Store (0x07D2, OSYS)

//                     }

//                     If (_OSI ("Windows 2001.1"))

//                     {

//                         Store (0x07D3, OSYS)

//                     }

//                     If (_OSI ("Windows 2001.1 SP1"))

//                     {

//                         Store (0x07D4, OSYS)

//                     }

//                     If (_OSI ("Windows 2006"))

//                     {

//                         Store (0x07D6, OSYS)

//                     }

//                     If (LAnd (MPEN, LEqual (OSYS, 0x07D1)))

//                     {

//                         TRAP (0x3D)

//                     }

//                 }

//             }

         Store (0x07D6, OSYS)  // Fake Windows 2006

        }

```

Now i have both sound and acpi. 

Just the sound volume is a bit low (but it was also low the same with apci=off).

Christian  :Smile: 

----------

## ijontichy

Using non-kernel alsa-driver-1.driver-1.0.14_rc1 gives full sound volume.

So finally i have both: ACPI + sound fully working  :Smile: 

----------

## mentorek

Hello,

It does work for me too  :Smile:  Thanks for that solution. Have you emailed the corrected DSDT to Toshiba? Maybe they'll correct the DSDT entries in the next BIOS update?

That would made our life easier  :Wink: 

EDIT: The PCM Volume control is now working (after rebooting machine).

Cheers,

Mik

----------

## boroshan

I can't make this work, and I don't understand why it doesn't.

I've compiled the new DSDT into the kernel using the custom dstd file options:

```
CONFIG_ACPI_CUSTOM_DSDT=y

CONFIG_ACPI_CUSTOM_DSDT_FILE="/home/nick/toshiba/dsdt.hex"

```

I used this approach because it worked well with my previous lappy. The settings show up in /proc/config.gz, so I know the modified kernel is running. I've fixed the dsl file as per this thread. And yet nothing happens.

Which is weird, because sound still works with acpi=off, and (if I understand the hack properly) all we're doing is removing the part of the ACPI definition that affects sound - so it should have the same effect.

Has anyone got this working with a PSPA3E machine?

----------

## rokoS

I will try on my PSPA3E tonight. 

I have one question. Does your Nvidia 7600 GPU fan work under linux. Because mine works only when i boot with acpi=off, and only with full speed.

Rok

----------

## boroshan

 *rokoS wrote:*   

> I will try on my PSPA3E tonight. 
> 
> I have one question. Does your Nvidia 7600 GPU fan work under linux. Because mine works only when i boot with acpi=off, and only with full speed.

 

It seems to. I'm embarrassed to admit it, but I'm not sure which fan is which.  That said, I've noticed both fans operating, so I think they both work.

----------

## rokoS

GPU fan is one on the left side. CPU is one on the back of the machine.

----------

## boroshan

I've certainly seen it working in the past. Can't say when last however, so recent kernel changes may have broken it.

----------

## rokoS

ON toshiba P100-115 (PSPA3E), sound works now. And you know what the GPU fan started to work also  :Smile:  . No overheating anymore for my computer   :Very Happy:  . It works all the time but is better then before when it didnt work. But now i think that CPU fan is not working properly. 

I had to comment a lot of things in DSDT, besides the one that were mentioned in this thread.

 boroshan, could you send me your DSDT so that i could see what were your changes and if it differs a lot from my toshiba.

----------

## boroshan

here you are. I've not done much to it beyond the basics

... and thanks  :Smile: 

----------

## thorheimdall

I have a Toshiba P100-MA2 and I also have the same problems described here in this thread.  With acpi=on, there is no sound from the sound card (hda-intel, conexant), and the nvidia 7600 fan never turns on (CPU fan starts and stops according to the CPU temp).  With acpi=off, the GPU and CPU fans are always turned on, and the sound card works properly.

How should I proceed to compile the DSDT in the kernel?  Is there some things I must/should change in the DSDT according to my laptop model?

Any help would be appreciated!

----------

## boroshan

 *thorheimdall wrote:*   

> How should I proceed to compile the DSDT in the kernel?  Is there some things I must/should change in the DSDT according to my laptop model?

 

Probably the best place to start is the Gentoo wiki page.  You might also find the sourceforge ACPI For Linux page useful.

If you get stuck, report back and I'll see what I can do

----------

## thorheimdall

 *Quote:*   

> Probably the best place to start is the Gentoo wiki page. You might also find the sourceforge ACPI For Linux page useful.
> 
> If you get stuck, report back and I'll see what I can do

 

Thank you very much boroshan!  I'll take a look at those pages!

----------

## thorheimdall

I fixed the DSDT and now the sound card works with acpi=on, and the GPU fan is turned on all the time at a low speed.  The DSDT fixes are basically the same as the ones suggested by ijontichy (replacing all occurrences of _T_0, "*PNP0C14"->"PNP0C14", and disable OS verification).

Thank you again for your help boroshan!

----------

## Kenji Miyamoto

Would this be the same sound chipset used in the Satellite A100?  I have to max out the volume to get just enough sound out of those ear canal phones.  Any lshw or lspci output regarding this problem would be helpful!

----------

## boroshan

 *thorheimdall wrote:*   

> 
> 
> Thank you again for your help boroshan!

 

Thanks for yours! I've obviously messed up something basic. Time to go back to basics and see what's wrong.

 *Kenji Miyamoto wrote:*   

> 
> 
> Would this be the same sound chipset used in the Satellite A100? I have to max out the volume to get just enough sound out of those ear canal phone. Any lshw or lspci output regarding this problem would be helpful!

 

Try this:

```
cat /proc/asound/card0/codec#0 | head
```

I get this:

```

Codec: Conexant CXT5047

Address: 0

Vendor Id: 0x14f15047

Subsystem Id: 0x1179ff31

Revision Id: 0x100000

Default PCM:

    rates [0x40]: 48000

    bits [0x2]: 16

    formats [0x1]: PCM

Default Amp-In caps: N/A
```

@rokoS: I just noticed I posted the hex version of the DSDT table. I'll post the dsl as soon as Zen's ftp server comes back up.

Edit:

done that

----------

## Pinaraf

Hi

I just tried this solution on the laptop of a friend, who is having this problem too (Toshiba Satellite P100-197, as far as I remember).

I updated the BIOS, no problem here.

I then changed the DSDT, but the kernel stopped booting :/

I restored the original DSDT, and did only the changes needed for the compiler to accept the DSDT : change "*PNP0C14" into "PNP0C14".... and it didn't boot either !

Do you have any suggestion ?

Thanks

  Pierre

----------

## boroshan

 *Pinaraf wrote:*   

> 
> 
> Do you have any suggestion ?

 

Well, if you just want it to boot, remove the initrd line from grub and/or roll back to a previous kernel. For the sound, I'm still trying to get mine working

----------

## Pinaraf

Ho, sorry for the buzz... I tried again manually (instead of asking my friend to do the commands and send me the results) and it worked... I don't know what mistake he did. Really sorry :/

----------

## boroshan

Finally - I have sound on my laptop.

Turns out the DSDT edit was ok. What was needed was a make mrproper before recompiling my kernel. 

I also found a bios upgrade which probably didn't hurt either.

Thanks to everyone who helped, I was beginning to think I was never going fix it

----------

## theta-delta

Hi there!

The solution discribed there (patching the DSDT) works fine with my Satellite P100-313 (a PSPA3AE, probably only sold by Media Markt in Germany), but only with the original BIOS version 2.40.

Since January 18 2007 there is a new BIOS version available from the Toshiba website (version 3.30), but I wasn't able to get sound running with this.

There are more reserved "_T_X" variables which I've changed, and the other things discribed above - compiling etc. worked fine, but with no result.

So be warned before use this BIOS-"update".

 :Evil or Very Mad: 

I downgraded back to 2.40, because there isn't any advantage from 3.30

----------

## rokoS

Same here

I tried bios 3.30 from toshiba and sound stopped working   :Shocked:  . I looked at the DSDT and it compiled cleanly, so it looks like that toshiba fixed DSDT because of Vista. Changes they did are very similar to those we did in this thread. So there must be a problem somewhere else or i am missing some changes in DSDT. I have latest alsa, so there should be no problem with drivers. 

For now i am staying on bios 2.40, when i have time i will play with new bios.

Please report i someone got laptop working with new bios 3.30.

----------

## sdfg

Can anyone make a step-by-step idiot guide to this? I've never heard of a DSDT or anything. I'm not a newb, been using gentoo for years, just never had to go into something like this.

----------

## priestjim

The world would be a better place if BIOS updates fixed actual problems like this one instead of trivial "Windows Vista" updates...

----------

## theta-delta

 *Kasyx wrote:*   

> Can anyone make a step-by-step idiot guide to this? I've never heard of a DSDT or anything. I'm not a newb, been using gentoo for years, just never had to go into something like this.

 

Hi Kasyx. Everything needed is explained in the wiki page:

http://gentoo-wiki.com/HOWTO_Fix_Common_ACPI_Problems

When you have your disassembled dsdt.dsl, open it in your favourite text editor and make the following changes:

1) Search and Replace all " _T_0" by somewhat else, for expample "QW"

2) Search for "BTST" - you'll find something like "Method (BTST, 0, NotSerialized)". It has an if-else structure, and needs a "Else { Return(Zero) }"

3) Replace ``Name (_HID, "*PNP0C14")'' by `` Name (_HID, "PNP0C14")''

4) Search for "Linux" - you'll find the following code (already edited). Just comment the whole If-else structures, and add "Store (0x07D6, OSYS)  // Fake Windows 2006" between the last and last but one closing curly brace.

```

    Scope (\_SB) 

     { 

         Method (_INI, 0, NotSerialized) 

         { 

             If (DTSE) 

             { 

                 TRAP (0x47) 

             } 

 

             Store (0x07D0, OSYS) 

 //             If (CondRefOf (_OSI, Local0)) 

 //             { 

 //                 If (_OSI ("Linux")) 

 //                 { 

 //                     Store (0x03E8, OSYS) 

 //                 } 

 //                 Else 

 //                 { 

 //                     Store (0x07D1, OSYS) 

 //                     If (_OSI ("Windows 2001 SP2")) 

 //                     { 

 //                         Store (0x07D2, OSYS) 

 //                     } 

 

 //                     If (_OSI ("Windows 2001.1")) 

 //                     { 

 //                         Store (0x07D3, OSYS) 

 //                     } 

 

 //                     If (_OSI ("Windows 2001.1 SP1")) 

 //                     { 

 //                         Store (0x07D4, OSYS) 

 //                     } 

 

 //                     If (_OSI ("Windows 2006")) 

 //                     { 

 //                         Store (0x07D6, OSYS) 

 //                     } 

 

 //                     If (LAnd (MPEN, LEqual (OSYS, 0x07D1))) 

 //                     { 

 //                         TRAP (0x3D) 

 //                     } 

 //                 } 

 //             } 

          Store (0x07D6, OSYS)  // Fake Windows 2006 

         } 

```

Now just recompile your dsdt.dsl (there shouldn't be any warnings or errors) and use it as described at the wiki page.

[/code][/url]

----------

## theta-delta

Hi,

today I recognised that my wlan doesn't work anymore after doing the dsdt stuff (Intel Corporation PRO/Wireless 3945ABG Network Connection (rev 02)).

I used the Ubuntu Edgy Edge Kernel 2.6.17-10-generic.

I also tried the actual Ubuntu feisty kernel 2.6.20-5-generic and build my own kernel from the offical ubuntu sources (2.6.20-5), but with the 2.6.20 kernels wlan and acpi work fine, but sound only with acpi=off, so the same old problem.

Does sound, acpi and wlan work together on your satellite p100s?

Greetings,

t-d

----------

## Crischan

Hi all,

thanks a lot for these posts.

I have also a Satellite P100-313 (PSPA3AE, also from MediaMarkt Germany), and now I got it to work with ACPI and Sound. 

My Software is SuSE 10.1, Kernel 2.6.16.21-0.25-smp.

I first had to upgrade the Bios from 2.10 to 2.40 from the US website. The german site offers the 3.xx Bios only, but this seemed to crash my Wlan driver.

Then I recompiled the DSDT similar to the way in the posts above. But in my case, I preferred to leave the unknown symbols and objects unchanged, and to compile with the -f option (iasl -tc -f dsdt.dsl). I believe the unknown symbols and object are well defined in the 'larger' context during runtime, just not known to the compiler at compile time.

So the -f options will give the errors, but also write the binary.

This means, I only changed the 'recognition' of the Linux/Windows OS as stated in the earlier posts., and removed the asterisk ("*PNP0C14"->"PNP0C14").

Then I used the new DSDL with my initrd. Make sure to not only have a backup of your old initrd file, but also to have a boot menu entry which will load the backup ('failsave') version, because if things go wrong, you cannot boot and might have a problem.  :Smile: 

Furthermore, now even Suspend to RAM (!) works fine, after altering /etc/sysconfig/powersave/sleep (setting SUSPEND2RAM_FORCE="yes" and SUSPEND2RAM_ACPI_SLEEP="3")  and installing the propietary NVidia graphics driver (not included in the SuSE DVDs, but available with Yast software install from download.nvidia.com). 

Hope this helps.

----------

## da3dalus

Hi guys,

I have a Toshiba P100-191(PSPA6E) and I also got no sound. The notebook uses bios version 1.70.

As Crischan said, the german site only offers a newer bios, and I don't find my model on the american site. 

Do the Notebooks of the p-Series all use the same bios so I can take the file for another model?

If not, I would be extremely grateful if anyone could send me the correct file or tell me where to get it.   :Very Happy: 

----------

## sdfg

Do you have to use an initrd? Is that the same as the fluffy bit that genkernel uses? Cause it really slowed the boot process down I found.

----------

## LuisC-SM

 *rlittle wrote:*   

> There is someone else!  
> 
> I have a Toshiba Satellite P100 (JR500E) also, a........
> 
> ...........
> ...

 

I cannot say YES!!! but as my experience, I have a Toshiba Satellite P105-SP921 and I've upgraded  from 2.10 to 2.40 using the P105-S921 BIOS (wih no P) and later I upgraded from 2.40 to 3.30 doing the same with no single problem except that I still have no sound  :Sad: 

Hi Gentoo People.

Sorry to start my first post in this forum like this, however I had to comment my own expeirence.

I come from Ubuntu Breezy to Edgy. using Toshiba Laptops with no single issues until I bought this model. I tried all distros (except gentoo) to see if everything wuold work and had no joy with any debian based distro, Mandriva, Fedora and openSuse. Then I installed Suse Linux Enterprise Desktop (SLED 10) and I was so sorprised that everything just worked aout of the box except the sound. So now In this Laptop I only run SLED (no windows partition anymore:D)

However, I believe now I must reinstall windws in order to go back to my old BIOS as I've been following this thread since last year to see if there is a way to do this in a newbie way. I'm not a newbie but I'm not a guru also. I've not a single problem with the command line but however it's not so easy to understand some terms.

I will try to follow the instructions kindly provided  here to see if I can fix this with BIOS 3.30,  but I hope not to hurt any gentoo member with my questions or comments as far as I come from a distro other than gentoo. (which I've tried before but was too complicated for me then).

Greetings and Kind Regards

Luis C. Suárez

----------

## LuisC-SM

No joy with BIOS 3.30 (  Ishould've listen to the above advices...

I have tons of errors so I just try to reinstall w$ back to downgrade the BIOS

Cheers.

Luis C. Suárez

----------

## LuisC-SM

 *theta-delta wrote:*   

> 
> 
> Hi Kasyx. Everything needed is explained in the wiki page:
> 
> 2) Search for "BTST" - you'll find something like "Method (BTST, 0, NotSerialized)". It has an if-else structure, and needs a "Else { Return(Zero) }"
> ...

 

I exactly don't understand this (in my dsdt.dsl file):

```
Method (BTST, 0, NotSerialized)

            {

                If (\_SB.ECOK)

                {

                    Acquire (\_SB.PCI0.LPCB.EC0.MUT1, 0xFFFF)

                    Store (\_SB.PCI0.LPCB.EC0.KSWH, Local0)

                    XOr (Local0, 0x01, Local0)

                    Store (\_SB.PCI0.LPCB.EC0.BTHE, Local7)

                    Release (\_SB.PCI0.LPCB.EC0.MUT1)

                     If (Local0)

                    {

                        ShiftLeft (Local7, 0x06, Local6)

                        ShiftLeft (Local7, 0x07, Local7)

                        Or (Local7, Local6, Local1)

                        Or (Local0, Local1, Local2)

                        Return (Local2)

                    }

         Else

                    {

                        Return (Zero)

                    }

                }

            }

        }
```

This is what I have, and I see the "Else" statement as u said and keeps giving warnings so what's wrong?

Thanks in advance

Luis

EDITED:

I forgot to mention that I have 25 errors that state:

 *Quote:*   

>  Object does not exist 

  and a warning that states: 

```
 Name (_WDG, Buffer (0x3C)  Unknwn reserved name
```

----------

## LuisC-SM

2) Search for "BTST" - you'll find something like "Method (BTST, 0, NotSerialized)". It has an if-else structure, and needs a "Else { Return(Zero) }"

```

I exactly don't understand this (in my dsdt.dsl file):

[code]Method (BTST, 0, NotSerialized)

            {

                If (\_SB.ECOK)

                {

                    Acquire (\_SB.PCI0.LPCB.EC0.MUT1, 0xFFFF)

                    Store (\_SB.PCI0.LPCB.EC0.KSWH, Local0)

                    XOr (Local0, 0x01, Local0)

                    Store (\_SB.PCI0.LPCB.EC0.BTHE, Local7)

                    Release (\_SB.PCI0.LPCB.EC0.MUT1)

                     If (Local0)

                    {

                        ShiftLeft (Local7, 0x06, Local6)

                        ShiftLeft (Local7, 0x07, Local7)

                        Or (Local7, Local6, Local1)

                        Or (Local0, Local1, Local2)

                        Return (Local2)

                    }

         Else

                    {

                        Return (Zero)

                    }

                }

            }

        }[/code]

This is what I have, and I see the "Else" statement as u said and keeps giving warnings so what's wrong?

```

Ok this is fixed.. and sorry I did not see the if statement in the middle   :Embarassed:   (it was for me past 4:00 am when doing this)

But I still have 1 warning and 25 errors (as mentioned above).... any ideas on how to solve them?

Kind Regards

Luis

----------

## LuisC-SM

this are the errors  I have:

May someone give me an advice, please?

```
Intel ACPI Component Architecture

ASL Optimizing Compiler version 20060127 [Jun 16 2006]

Copyright (C) 2000 - 2006 Intel Corporation

Supports ACPI Specification Revision 3.0a

dsdt.dsl   299:             If (And (CFGD, 0x01000000))

Error    1061 -   Object does not exist ^  (CFGD)

dsdt.dsl   301:                 If (LAnd (And (CFGD, 0xF0), LEqual (OSYS, 0x07D1)))

Error    1061 -             Object does not exist ^  (CFGD)

dsdt.dsl   334:             If (And (CFGD, 0x01))

Error    1061 -   Object does not exist ^  (CFGD)

dsdt.dsl   336:                 If (LGreater (\_PR.CPU0._PPC, 0x00))

Error    1061 -                      Object does not exist ^  (\_PR.CPU0._PPC)

dsdt.dsl   338:                     Subtract (\_PR.CPU0._PPC, 0x01, \_PR.CPU0._PPC)

Error    1061 -                      Object does not exist ^  (\_PR.CPU0._PPC)

dsdt.dsl   338:                     Subtract (\_PR.CPU0._PPC, 0x01, \_PR.CPU0._PPC)

Error    1061 -                                            Object does not exist ^  (\_PR.CPU0._PPC)

dsdt.dsl   340:                     Add (\_PR.CPU0._PPC, 0x01, \_PR.CPU0._PPC)

Error    1061 -                 Object does not exist ^  (\_PR.CPU0._PPC)

dsdt.dsl   340:                     Add (\_PR.CPU0._PPC, 0x01, \_PR.CPU0._PPC)

Error    1061 -                                       Object does not exist ^  (\_PR.CPU0._PPC)

dsdt.dsl   345:                     Add (\_PR.CPU0._PPC, 0x01, \_PR.CPU0._PPC)

Error    1061 -                 Object does not exist ^  (\_PR.CPU0._PPC)

dsdt.dsl   345:                     Add (\_PR.CPU0._PPC, 0x01, \_PR.CPU0._PPC)

Error    1061 -                                       Object does not exist ^  (\_PR.CPU0._PPC)

dsdt.dsl   347:                     Subtract (\_PR.CPU0._PPC, 0x01, \_PR.CPU0._PPC)

Error    1061 -                      Object does not exist ^  (\_PR.CPU0._PPC)

dsdt.dsl   347:                     Subtract (\_PR.CPU0._PPC, 0x01, \_PR.CPU0._PPC)

Error    1061 -                                            Object does not exist ^  (\_PR.CPU0._PPC)

dsdt.dsl   357:                 Notify (\_SB.PCI0.LPCB.EC0.MBTN, 0x02)

Error    1061 -                         Object does not exist ^  (\_SB.PCI0.LPCB.EC0.MBTN)

dsdt.dsl   609:             If (And (PDC0, 0x08))

Error    1061 -   Object does not exist ^  (PDC0)

dsdt.dsl   612:                 If (And (PDC0, 0x10))

Error    1061 -       Object does not exist ^  (PDC0)

dsdt.dsl   619:             If (And (PDC1, 0x08))

Error    1065 -                         ^ Object not accessible from this scope (PDC1)

dsdt.dsl   622:                 If (And (PDC1, 0x10))

Error    1065 -                             ^ Object not accessible from this scope (PDC1)

dsdt.dsl  4503:                         If (\_SB.VALZ.VZOK)

Error    1061 -                    Object does not exist ^  (\_SB.VALZ.VZOK)

dsdt.dsl  4505:                             Store (0x02, \_SB.VALZ.VZOK)

Error    1061 -                                 Object does not exist ^  (\_SB.VALZ.VZOK)

dsdt.dsl  4506:                             Notify (\_SB.VALZ, 0x80)

Error    1061 -                       Object does not exist ^  (\_SB.VALZ)

dsdt.dsl  4513:                         If (\_SB.VALZ.VZOK)

Error    1061 -                    Object does not exist ^  (\_SB.VALZ.VZOK)

dsdt.dsl  4515:                             Store (0x03, \_SB.VALZ.VZOK)

Error    1061 -                                 Object does not exist ^  (\_SB.VALZ.VZOK)

dsdt.dsl  4516:                             Notify (\_SB.VALZ, 0x80)

Error    1061 -                       Object does not exist ^  (\_SB.VALZ)

dsdt.dsl  6195:                 Z001,

Error    1061 -                    ^ Object does not exist (Z001)

dsdt.dsl  6196:                 Z001,

Error    1061 -                    ^ Object does not exist (Z001)

dsdt.dsl  6540:             Name (_WDG, Buffer (0x3C)

Warning  2096 -                      ^ Unknown reserved name (_WDG)

ASL Input:  dsdt.dsl - 6714 lines, 235318 bytes, 2502 keywords

Compilation complete. 25 Errors, 1 Warnings, 0 Remarks, 815 Optimizations

```

Luis

----------

## LuisC-SM

Nevermind, I solved it myself., However thank u Crischan, it worked for me the adviced you posted

Kind regards.

Luis C. Suárez

----------

## rokoS

Is this bios 3.30 or still 2.4.

----------

## chazz

I put together a page that documents my findings for the P105-S9722.  This information applies to most all P105 models including some P100s.  Much information has to do with the ACPI problem mentioned in this thread.  I also posted my fixed dsdt.dsl and dsdt.hex files for those that are struggling with the ASL language code.  The hex file is ready to be used in patching your kernel.  I also placed a link to the ISO image from toshiba for updating your BIOS to v2.4 (no need for windows to patch your bios).  I had problems with the v3.3 bios so I don't recommend it.  It seems from this thread that others have had the same problem.

http://www.linlap.com/tiki-index.php?page=Toshiba+Satellite+P105

If anyone knows how to get sound working after returning from a suspend2ram or suspend2disk, please let me know.  This is the only problem I'm working on right now.  At least I get sound+ACPI and the ability to suspend the system.  Also, the GPU cooling fan is working great now.

One more thing... thanks to all on this thread for sharing so much information about the ACPI which helped me to fix my system and save my precious nvidia GPU from frying.  Shame on toshiba for not offering any support at all on this.  I thought that by updating this wiki page would be my chance to do my part to help others.

----------

## LuisC-SM

Hey, thanks for this. You should post this on SuSE's Forums and if possible in every linux fourm. This is a very valuable and complete guide  described for every noob (like me) and skilled person.

Yes, about the 2.4 BIOS seems to work ok and the 3.3 made me go to a safe boot in order to fix th initransfm.

Great work and thanks a LOT.  :Smile: 

Luis C. Suárez

EDIT:

I must say I when I forced compiling and moved the DSDT.aml to my etc directory, (where my old one was) it gave me a black screen and could not start with it.

Regards..

----------

## priestjim

Is it possible to extract the DSDT, decompile it, fix it, recompile it and merge it with a bios image for the specific laptop? cbrom used to do this with AWARD bioses, is it possible to do it with a phoenix bios tool like the P100 has?

----------

## theta-delta

Huray! Today I got all together working: sound, acpi and wlan     :Very Happy: 

I have no idea why the ipw3945 wlan chip doesn't work with the default, but initrd patched ubuntu kernel 2.6.17-10-generic.

Patching the initrd of the Ubuntu feisty kernel 2.6.20-8-generic had no effect at all.

So I used the Ubuntu kernel source 2.6.20-8 and built my own kernel with build-in new dsdt. This got sound and acpi working.

For wlan I just copied /lib/linux-restricted-modules/2.6.20-8-generic to /lib/linux-restricted-modules/2.6.20-OWN and /sbin/ipw-3945d-2.6.20-8-generic to /sbin/ipw-3945d-2.6.20-OWN.

For the Nvidia GPU I installed the original drivers from the nvidia web site (do an apt-get remove nvidia* first!)

That's it! Thanks to all here who helped to figure out these buggy dsdt things.

alphablue52

----------

## sdfg

Well, I finally got round to doing this.

It didn't work.

Sound under some things is choppy and horrible, sound under others is fine.

I re-emerged older ALSA drivers to check. I re-emerged newer drivers. 

The only thing that worked was turning ACPI off as a kernel option at boot.

I'm so not happy  :Sad: 

----------

## boroshan

 *Kasyx wrote:*   

> 
> 
> It didn't work.
> 
> Sound under some things is choppy and horrible, sound under others is fine.
> ...

 

Sorry to hear that. It might be worth checking that your new DSDT is actually being loaded. (It took me a few attempts to get it to link in).

You can get your operation DSDT from /proc/acpi/dsdt, just like at the start, and then see if it has the modifications you made.

----------

## nocive

Has anyone been able to get sound working with patched DSDT and BIOS 3.30?

I got all working except for sound... No errors but no sound at all!  :Neutral: 

-- My stuff --

Toshiba PSPA6E, BIOS 3.30

alsa-driver-1.0.14_rc2-r1

gentoo sources 2.6.20-r8

patched DSDT compiled into kernel

Do I really have to downgrade to BIOS 2.40 to get this working?

Any help appreciated.

Thanks.

----------

## sdfg

I'm listening to music right now!

There was one particular part of the DSDT I found that is essential. It's one of the two warnings that are shown about not all control paths returning a value, iirc. 

Here is my DSDT: http://vosek.com/dsdt.dsl. It's uncompiled, so you can make sure that I've not put any nastiness in it, although checking through 8k+ lines of code wouldn't be fun! This works on my system, which is a P100-403.[/url]

 *nocive wrote:*   

> Has anyone been able to get sound working with patched DSDT and BIOS 3.30?
> 
> I got all working except for sound... No errors but no sound at all! 
> 
> -- My stuff --
> ...

 

----------

## nocive

Great! Worked like a charm!  :Smile: 

Added the following options to /etc/modules.d/alsa for noise reduction and volume boost

options snd-hda-intel model=7 position_fix=2 index=0

External volume wheel at it's max and lowered the volume on mplayer to below 95%, to finally eliminate all sound distortion!  :Very Happy: 

Finally, some joy for the long working nights!

Kasyx, thanks a lot for the DSDT.  :Wink: 

----------

## sdfg

 *nocive wrote:*   

> Great! Worked like a charm! 
> 
> Added the following options to /etc/modules.d/alsa for noise reduction and volume boost
> 
> options snd-hda-intel model=7 position_fix=2 index=0
> ...

 

Yeah, the sound distortion is problem at higher levels. Easiest thing to do is make the PCM volume in alsamixer (or your mixer of choice) around 80%. BE WARNED! Some apps change this value, instead of limiting what they are outputting. kmplayer does this, which is damned annoying, took me weeks to figure out that was why I was always getting the distortion.

I'll need to try those alsa options, I've been afraid of touching anything in case I break the chunty field. But if it works for you...  :Smile: 

-K

----------

## krantix

anybody got it working with bios 3.5? i have a nvidia 7900 Go and i can get sound working either by acpi=off or my editing my dsdt.... when i do that my GPU fan stops working and temperature inceases up to 120°!!! please help!  :Smile:   :Sad: 

----------

## bertrandnantes

HI,

j i ve a stellite p100 284 and the sound doesnt work and the cpu fan is on ery 3 secondes . . im running a fedora and this kernel: 2.6.20-1.2948.fc6.

I got the dsdt .hex from boroshan, but i am a beginner and i dont know the easiest way to install it. I ve seen on a gentoo forum 3 ways to do it but i cant handle with one.

Does anybody can help me?

thanks

----------

## theta-delta

Hi,

last week I put a second 1GB-RAM module in my P100 and Linux wasn't able to boot with the fixed DSDT anymore. It just came up with acpi=off, so I had to get an original initrd.img for my kernel, boot with it and do all the steps fixing the DSDT again.

At last now it works again, but maybe you will have problems find a sane initrd.img.

(All for BIOS 2.40)

Btw. is there any reason to upgrade the BIOS to 3.30? I won't use Vista!

Greetings,

Torsten.

----------

## sdfg

 *theta-delta wrote:*   

> Hi,
> 
> last week I put a second 1GB-RAM module in my P100 and Linux wasn't able to boot with the fixed DSDT anymore. It just came up with acpi=off, so I had to get an original initrd.img for my kernel, boot with it and do all the steps fixing the DSDT again.
> 
> At last now it works again, but maybe you will have problems find a sane initrd.img.
> ...

 

If there's a revision for the BIOS, it usually means it needs it. Whilst most of the time it only affects Windows, it can still affect linux. I don't know about you, but I don't want to trawl through thousands of lines of code just to see if it's important for running Linux, so I just take it as read that there will be something in there as an optimisation or something. And who knows! Maybe one day a BIOS revision will mean we don't need to fix the DSDT for them  :Wink: 

I've got one thing that I want to check with people though - now that I've fixed my DSDT it fully suspends to RAM without anything needing configured at all. I use klaptop, and it 'just works' (about the only thing I've ever installed on Linux that does!) There is, however, only one problem. When it resumes from suspend to ram, I lose the sound. I have to reboot the entire machine to get the sound back up. Restarting alsasound doesn't work, neither does stopping alsasound before suspend, then restarting it after resume. I was wondering if anyone has got their sound working after suspend to ram using klaptop and a modified DSDT? It could be that I've edited the DSDT to make it work, but in doing that I've supplied a wrong return type or something. At least if I know if someone else can get sound after resume it's probably a DSDT error that I've fixed wrongly, or to look elsewhere. Ideally, if someone who has it working after resume can make a new kernel with my DSDT and test it on their system, that would be awesome.

-K

----------

## bertrandnantes

 *Kasyx wrote:*   

>  *theta-delta wrote:*   Hi,
> 
> last week I put a second 1GB-RAM module in my P100 and Linux wasn't able to boot with the fixed DSDT anymore. It just came up with acpi=off, so I had to get an original initrd.img for my kernel, boot with it and do all the steps fixing the DSDT again.
> 
> At last now it works again, but maybe you will have problems find a sane initrd.img.
> ...

 

Kasyx, i tried your dsdt and i got the sound, but ive lost the wifi...  do you have an idea concerning the cause of this. i had no problem at the compilation of the dsdt.dsl file.

thanks

----------

## sdfg

 *bertrandnantes wrote:*   

> 
> 
> Kasyx, i tried your dsdt and i got the sound, but ive lost the wifi...  do you have an idea concerning the cause of this. i had no problem at the compilation of the dsdt.dsl file.
> 
> thanks

 

You got sound working, but not wifi? At what point? The ipw3945 chipset is awkward, there seems to be a particular order in which you need to emerge stuff.

```

emerge -C coldplug ipw3945 ipw3945d ipw3945-ucode ieee80211

```

Compile ieee802.11 into the kernel:

```

--- Networking support                                                                                                                     

        <*>   Generic IEEE 802.11 Networking Stack                                                                                                           

        <*>     IEEE 802.11 WEP encryption (802.1x)                                                                                                          

        <*>     IEEE 802.11i CCMP support                                                                                                                    

        <*>     IEEE 802.11i TKIP encryption 

```

Then reinstall:

```

emerge wpa_supplicant 

emerge ipw3945 ipw3945d ipw3945-ucode

```

Remove ipw3945d from rc, as it is booted with udev:

```

rc-update del ipw3945d 

```

Need to make sure your /etc/wpa_supplicant/wpa_supplicant.conf and /etc/conf.d/net are correct. Once that's done, just:

```

modprobe ipw3945 

wpa_supplicant -Dwext -ieth1 -c/etc/wpa_supplicant/wpa_supplicant.conf

```

To switch APs you need to reboot the computer, but this seems a limitation of wpa_supplicant, not the chipset. One of my projects over summer is to try and get something working on this. My ideal world consists of my computer never being turned off, so being able to switch APs, and have sound after wake from suspend are top of my list. Anything else is just niggly and can wait. 

Hope this helped, it's OT I know.

-K

----------

## gentoza

i fixed the dsdt whit your indications but vga fan dosent work it stops simply when linux is loaded y have bios 3.3 shall i have to downgrade it

where i can get bios 2.4

?

of course i have sound working

----------

## sdfg

 *gentoza wrote:*   

> i fixed the dsdt whit your indications but vga fan dosent work it stops simply when linux is loaded y have bios 3.3 shall i have to downgrade it
> 
> where i can get bios 2.4
> 
> ?
> ...

 

Are you using the computer enough to warrant the fan coming on? 

From a cold start, it maybe takes 10 or more minutes before the fan comes on, if I do some heavy work. Even then, unless I'm playing a graphically intensive game, it only spikes every so often.

-K

----------

## bertrandnantes

 *Kasyx wrote:*   

>  *bertrandnantes wrote:*   
> 
> Kasyx, i tried your dsdt and i got the sound, but ive lost the wifi...  do you have an idea concerning the cause of this. i had no problem at the compilation of the dsdt.dsl file.
> 
> thanks 
> ...

 

thanks,

what i do not understand also is why the sound is weak. did you fix that also? I am running a fedora ... and for the moment couldnt fix the wifi problem i will try tonight

Bertrand

----------

## sdfg

 *bertrandnantes wrote:*   

> 
> 
> thanks,
> 
> what i do not understand also is why the sound is weak. did you fix that also? I am running a fedora ... and for the moment couldnt fix the wifi problem i will try tonight
> ...

 

Have you set your alsamixer up? I've got PCM at 85 (to stop distortion) and Master at 87. Works fine.

-K

----------

## gentoza

 *Kasyx wrote:*   

>  *gentoza wrote:*   i fixed the dsdt whit your indications but vga fan dosent work it stops simply when linux is loaded y have bios 3.3 shall i have to downgrade it
> 
> where i can get bios 2.4
> 
> ?
> ...

 

well using glxgears to reach 90 ºC is sufficient or it has to reach 115 ºC ???

when i reboot gpu fan turns out inmediately and y feel hot air in the left, but during linux normal operation  :Razz: 

----------

## gentoza

well im maintainign it at 90 ºc which glxgears and nvidia setings hardware monitor mark this zone has red so i thing its enought my gpu fan dosent work in linux after a dsdt fixed and sound works the only thing dosent gpu fan so,

y read that 3.3 bioses are ugly whith linux where i can found a 2.4 old bios for a pspa3e toshiba p100 satellite, i try in toshiba and no luck anly 3.3 bioses

----------

## gentoza

if its not posible to find a 2.4 bios i think, searching inet for a good pasive laptop cooler  :Razz: 

----------

## sdfg

 *gentoza wrote:*   

> well im maintainign it at 90 ºc which glxgears and nvidia setings hardware monitor mark this zone has red so i thing its enought my gpu fan dosent work in linux after a dsdt fixed and sound works the only thing dosent gpu fan so,
> 
> y read that 3.3 bioses are ugly whith linux where i can found a 2.4 old bios for a pspa3e toshiba p100 satellite, i try in toshiba and no luck anly 3.3 bioses

 

I still think you're being far too hasty. glxgears is nowhere near rigorous a test. I ran it for half an hour after you posted, and the gpu fan didn't come on. Yet playing Oblivion or Eve, it comes on after a few minutes.

glxgears is an incredibly simple render for the gpu to do, it's like asking your cpu to add numbers together. That's why I get ~500fps fullscreen glxgears, and only 20fps when playing games, if not less. That's why glxgears is only ever used as a rough indication of how good your graphics card is, and not a hard and fast benchmarking tool.

Find something really graphically intensive, like NWN or something. Play that for a bit and then say it doesn't kick in.

I for one am glad it hardly kicks in, it's the most annoying sound on the planet, having it rev up to full, the slowly slide down to idle again, only to rev up. Why they didn't have it increase with the temperature, and not just a single limit, I'll never know.

-K

----------

## gentoza

 *Kasyx wrote:*   

>  *gentoza wrote:*   well im maintainign it at 90 ºc which glxgears and nvidia setings hardware monitor mark this zone has red so i thing its enought my gpu fan dosent work in linux after a dsdt fixed and sound works the only thing dosent gpu fan so,
> 
> y read that 3.3 bioses are ugly whith linux where i can found a 2.4 old bios for a pspa3e toshiba p100 satellite, i try in toshiba and no luck anly 3.3 bioses 
> 
> I still think you're being far too hasty. glxgears is nowhere near rigorous a test. I ran it for half an hour after you posted, and the gpu fan didn't come on. Yet playing Oblivion or Eve, it comes on after a few minutes.
> ...

 

i orderer a copy of nwn platinum from tuxgames bur it hasnt arrive yet i only have old computer games, and beryl maybe i try a doom or ut2004 demo, after half and hour y give it a try  :Smile: 

----------

## gentoza

sorry but not works in a week after the acpi fixed dosent work in gentoo never, after 8 hours of intensive using the left side of the laptop its cold, the only fan its using is cpu fan thats works well but gpu reaches easily 100 ºC when playing ut2004-demo, and sometimes ut hangs i think its because overheating of the gpu, i tried to use powe rmangement to adjust video fan but its not suported by lmsensors and nvclock, any idea ???

sorry for bad english i'm from spain  :Razz: 

----------

## flexo3105

finally ............ (after half a year of pure hate  :Smile: )

first post here , got sound , acpi , fans on gpu(seems like its on all the time, same as on windows xp ...but on lowest level) / cpu working perfectly , thanks to you guys !!!

tried almost everything to get it running with bios 3.30 but no luck ... 

downgraded my bios to 2.40 (if anyone wants to try/couldnt find it elsewhere, i could upload it, worked like a charm here even tho i was a little worried about the downgrading process... )

but it solved the issues i had.

as of now i'm running ubuntu feisty with newest alsa , bios 2.40 , nvidia 1.0-9755 drivers on a toshiba p100-194 (german one)  ------pspa6e- 01q01cgc on 2.6.20-15-generic

no problems so far ..temps on the gpu are around 45 °C (with beryl a little more, around 50 or max 55) , cpu 34 °C (with beryl around 40 or a bit more)  havent tried any games ...

if anyone needs the dsdt... i'll upload it 

thanks again 

flexo

----------

## boroshan

Hi All,

I've just seen my CPU temp hit 100 degrees. This is a little scary, since when I first installed Gentoo it averaged about 45 degrees. Lately it's been creeping up, 55 or even 65 - but 100 is oddly worrying. 

What's the current thinking on getting fans working? I've had the sound working well since the start of the year, and I really thought I was free of ACPI issues, but this makes me wonder...

(I'm not sure whether this is best in this thread or starting a new one, but since this is the major temp related thing I've done to the machine, this seemed a good place to start)

----------

## sdfg

 *boroshan wrote:*   

> Hi All,
> 
> I've just seen my CPU temp hit 100 degrees. This is a little scary, since when I first installed Gentoo it averaged about 45 degrees. Lately it's been creeping up, 55 or even 65 - but 100 is oddly worrying. 
> 
> What's the current thinking on getting fans working? I've had the sound working well since the start of the year, and I really thought I was free of ACPI issues, but this makes me wonder...
> ...

 

It does depend entirely on what you're doing. I'm sitting and it's idling about 58. I've been hearing a fan come on, but after all these posts I'm suspicious it's not the GPU fan (the fan on the left hand side of the laptop doesn't seem to come on).

----------

## boroshan

 *Kasyx wrote:*   

>  *boroshan wrote:*   Hi All,
> 
> I've just seen my CPU temp hit 100 degrees. This is a little scary, since when I first installed Gentoo it averaged about 45 degrees. Lately it's been creeping up, 55 or even 65 - but 100 is oddly worrying. 
> 
>  
> ...

 

Good point, but I don't think it applies in this case. I've done everything from nothing-but-editing to running emerge -e world in one window while testing a web app using vmware and Internet Exploder in another. It's never gone anywhere near that temp, and I have made some major demands on this machine in the time I've owned it.

As an update, the thing eventually got hot enough to refuse to boot (although my XP partition still booted just fine). Then, after I got home in the evening, it booted just fine, and ran inside more-or-less normal temperature ranges. 

Back at work today, I'm still trying to get those blasted KDE updates compiled, and it's running 85-90, which is still hotter than I'm happy with.

Really, what I'd like to know is why it started running so hot. So I'm wondering if any of the other hacked DSDT's on this thread are showing similar problems. There's no overheating sticky, so it's probably not a broken update as such, but it might be one that doesn't play nice with out workarounds here.

[edit] Only read half the post!   :Rolling Eyes: 

 *Kasyx wrote:*   

> 
> 
> I've been hearing a fan come on, but after all these posts I'm suspicious it's not the GPU fan (the fan on the left hand side of the laptop doesn't seem to come on).
> 
> 

 

Yep, I wonder about that. I hardly ever hear a fan turn on. I can feel warm air coming out the side vent, but I think that could be radiant heat or normal convection. I really would like to get the fans fixed on this thing.

----------

## boroshan

A quick update: Still fiddling with my settings, I turned the BIOS back to "performance" mode. Much to my surprise the CPU fan started working. I've not heard that sound in a while, so I'm speculating that the BIOS somehow got jammed onto "silent" mode, even though the menu said "performance".

It still gets hotter than I'm used to seeing, but at least it cools back down again now.

But the GPU fan still seems dead.  :Sad: 

----------

## jabol

At mine laptop (A100-436, gentoo 2007.0 linux2.6.21) most of mentioned hacks were already included! Nevertheless sound is still not working... Yesterday it was, I wonder why (I recompiled my kernel since than but did not touch sound options)?

----------

## boroshan

 *jabol wrote:*   

> At mine laptop (A100-436, gentoo 2007.0 linux2.6.21) most of mentioned hacks were already included! Nevertheless sound is still not working... Yesterday it was, I wonder why (I recompiled my kernel since than but did not touch sound options)?

 

Forgive me if this is too obvious, but do you need to re-remerge alsa-drivers?

----------

## jabol

Well, it's not too obvious. Firstly, because I use the in-kernel drivers. Secondly, sound works, it's only very quite! I can hardly hear anything at maximum volume.

For now I've found another solution... I've got an external USB soundcard that I can use, but this doesn't satisfy me. In this recompilation I included Acpi/Fan support and added suspend support. Now I've removed Fan again since I don't even know what this, but I don't want to try to remove suspend also. And it's still not working properly (maximum volume makes the sound barely hear-able).

----------

## boroshan

 *jabol wrote:*   

> Well, it's not too obvious. Firstly, because I use the in-kernel drivers. 
> 
> 

 

Fair enough. I wasn't sure if the CX20551 mods made by Tobin Davis had made it into the in-kernel version. If they have, I might revert to kernel modules myself.

 *jabol wrote:*   

> 
> 
> Secondly, sound works, it's only very quite! I can hardly hear anything at maximum volume.
> 
> 

 

OK then; does the new kernel have custom DSDT support enabled? That would be my next guess.

----------

## jabol

Yes. Just as on the wiki mentioned on page 2 of this thread. The only thing is that all the patches that I should have applied were already included. It's a bit weird. The only thing that I done was to spoof the OS to Win 2006... I would try setting acpi=off and try it out, but I'm compilling openoffice now...

Funny thing is that my hda-intel devices mixer *has no* volume control! I can only set mic gain, no PCM/Speaker/Master!

EDIT: 

```
May 31 14:35:53 localhost ACPI: PCI interrupt for device 0000:00:1b.0 disabled

May 31 14:35:53 localhost ACPI: PCI Interrupt 0000:00:1b.0[A] -> GSI 22 (level, low) -> IRQ 22

```

So now I'm sure...

----------

## shaundennie

It's possible to get the gpu fans working in a BIOS > 2.4.  Essentially, in 2.4 there are hacks for a pre-release version of Vista that force the fan to remain a constant speed.  Once Vista was released these hacks were removed (presumably they moved them to the WMI junk for Windows) and so a simple BIOS fix/compile isn't enough to fix the fan problem.  You can find some good information for fixing it in > 2.4 starting about half way through the second page of this post: http://www.nvnews.net/vbulletin/showthread.php?t=75995

If any low level developers are following this post, let me know.  If VTMP could be exposed via /proc/acpi/embedded_controller it would be trivial to write a fan controller daemon (But, I don't know enough about low level level stuff to know how to expose it).  Hell, it might even possible to send the BIOS mods to Toshiba and convince them to use them.  Probably wouldn't be a far stretch to then get nvidia to pickup the speed control code ("cat speed > /proc/acpi/embedded_controller/tosh_fan).

----------

## boroshan

Thanks for the link. 

Basically, the idea seems to be to set the VTMP value to something low-ish (0x3C in the discussion) which gives you an always-on-but-not-overly-loud GPU fan.

I've just tried it here and it doesn't seem to have made any difference. That said, I believe I'm still on bios 2.4 so there may be other vista hacks sabotaging the attempt. 

(This'd probably be better posted to the discussion on the NVidia forums, but I always have trouble posting there for some reason).

[edit] removed stuttering

----------

## boroshan

Well, that was painful.

I upgraded to 3.30, applied the changes shaundennie pointed out, made allowances for a different model (PSPA3E) as best I could... and it didn't work. In fact, 

even with the computer basically idling (nothing but X) then temp still steadily climbed. 

So I went to the tosh web site to get a downgrade and couldn't find one. I was sure I'd seen an archived downloads links somewhere, but nowhere in sight now. Never mind, I thought, I can use the backup the WinPhlash util made. If I run the toshiba .exe again I expect it'll detect that the bios is up to date and give me the option of reverting using the backup. At the very least it should do nothing since I'm up to date. 

Alas what it did was reflash my bios, clobbering the backup in the process.  

Luckily I found the remains of my 2.40 upgrade luring in the recycle bin and could use that to flash the bios back. If anyone has a PSPA3E stuck on 3.30, feel free to send me a PM.

Now I'm back in 2.40 and my CPU temp goes down as well as up, so some level of cooling must be taking place. I'd just like it to be a little more pro-active.

----------

## aardman65

I have Ubuntu 7.04 32 bits (kernel 2.6.20-16-generic) on my laptop Toshiba Satellite P100-448 (Satellite P100 PSPAD - 01300WFR) with 1 Go Ram + sound card Intel Corporation 82801G (ICH7 Family) Conexant CX 20549 (Venice) + Bios Phoenis 3.30.

My problem is obviously that I have sound only with acpi=off !

1. I have updated my alsa-driver and lib and utils to the version 1.0.14 and tried few DSDT [http://acpi.sourceforge.net/dsdt/] but still no sound.

2. Is downgrading my BIOS to 2.40 is the final solution ? : where can I upload it ? (I'm french and there is no BIOS 2.40 on the Toshiba french site) and how can I proceed to downgrade ? (I'm a newbee and a little bit scared about the downgrading process : I can loose my guaranty if it fails)

3. Since the 27 th of June, there is a new version of BIOS (3.80). Will it solve the problem of sound+acpi ?

Thanks for your help

----------

## jessi3k3

Hey guys. I've been closely examining this thread for the last two days and I finally fixed all my sound problems! Thanks guys! I have a Toshiba P105-s9337 with BIOS 3.80 . As some of you know (or not) toshiba locked this laptop from downgrading to the 2.40 BIOS although the components are exactly the same compared to an XP laptop of a similar model. Anyways I am using Ubuntu 7.04 (kernel 2.6.20-16-generic) and at first all I was missing was sound. Everything else worked fine (Wifi, GPU and CPU fans, etc) except for the Sound. I fixed the DSDT and recompiled it into the Kernal and all works fine! Wierd thing is that whenever I would boot with acpi=off Ubuntu would boot up and then I would get a blue screen telling me something about my video card and if I want to analyze the eror. When I hit no it would take me back to the black screen with text and just froze. Anyways, everything is finally fixed. Thanks to all of you for all the input.

----------

## bertrandnantes

hi guys,

i fixed few months ago the dsdt folloxwing your advices and i got the sound well on my festy. unfotunatky i tried to add 1go Ram and now 

my linux is not starting anymore. i now this is linked to the dsdt nut i dont knopw what to change in it to fix it.

if i try to put the initialo dsdt the computer  starts with the 2go ram but i ve no sound...

any idea?

thanks

----------

## Martin LORANG

Hello,

I've got a P100-197 PSPA3E (french model with 1Gb RAM) with a recent upgrade to BIOS v3.80

With this trick acpi, sound and gpu fan (constant speed) works for me.

I did following changes in my DSDT :

changed all the _T_0 to T_0, _T_1 to T_1, ... , _T_7 to T_7

changed the *PNP to PNP

added at the end of the BTST and EVNT methods

```
Return (Package (0x02){0x00, 0x00})
```

commmented out following lines from the _INI method and added the last line

```
//If (CondRefOf (_OSI, Local0))

//{

//    If (_OSI ("Linux"))

//    {

//        Store (0x03E8, OSYS)

//    }

//    Else

//    {

//        Store (0x07D1, OSYS)

//        If (_OSI ("Windows 2001 SP2"))

//        {

//            Store (0x07D2, OSYS)

//        }

//        If (_OSI ("Windows 2001.1"))

//        {

//            Store (0x07D3, OSYS)

//        }

//        If (_OSI ("Windows 2001.1 SP1"))

//        {

//            Store (0x07D4, OSYS)

//        }

//        If (_OSI ("Windows 2006"))

//        {

//            Store (0x07D6, OSYS)

//        }

//        If (LAnd (MPEN, LEqual (OSYS, 0x07D1)))

//        {

//            TRAP (0x3D)

//        }

//    }

//}

Store (0x07D6, OSYS) // Fake Windows 2006
```

added at the end of the _REG method

```
Store (0x46, VTMP)
```

With 24°C room temperature, I get following temps from nvidia-settings

Store (0x30, VTMP) : 72°C after 5 minutes glxgears and 65°C after 5 minutes doing nothing

Store (0x3C, VTMP) : 60°C with glxgears and 52°C when idle

Store (0x46, VTMP) : 55°C and 50°C

Store (0x50, VTMP) : 55°C and 48°C

et voilà !   :Very Happy: 

----------

## rienko

Lorang, can you post your modified dsdt, I have a similar model P100-195 PSPA6E and the fixes are not working with the BIOS v3.80.

They used to work with the 2.4.

Something that puzzles me,

 the current decompiled ACPI (3.80) is missing all the code you posted from the _INI method which I distinctly remember fixing when I've done with a previous 2.4 BIOS.

Hopefully your DSDT can help me figure out what I'm missing.

----------

## Martin LORANG

Here you'll find my modified DSDT

Hope this can help you

Martin

----------

## rienko

Thank you Martin,

My acpi did feel strange compared to yours, so I booted a clean minimal gentoo live cd, extracted it from a non-poluted source and applied the common fixes.

Afterwards a diff between yours and mine shows me that our ACPI is exactly the same only the assembly time changes.

I've got the fans up and running, but I still have no sound, well at least I can work without burning my fingers  :Smile: .

I think the audio issues might be a kernel issue, so I will have the check that, since it stop working somewhere in the transition from 2.6.21 to 2.6.22.

----------

## LuisC-SM

 *Martin LORANG wrote:*   

> Here you'll find my modified DSDT
> 
> Hope this can help you
> 
> Martin

 

Martin.

When you recompiled your DSDT, how many errors did you get? or it was all free of them?

I'm asking this 'cause I have BIOS 2.40 and after all I've passed to fix it (being a noob), I want to be sure that this fix will work for me too. My Toshiba model is a P105-SP921 (PSPA6U-006005) For Latin America and I believe is a model similar to yours.

Kind Regards

Luis

EDIT: Ok Martin, I found your file does not have any mistake (sorry for this question). However, I followed your instructions and still have 201 Erros. Any help will be very apreciated.

Thanks in advanceLast edited by LuisC-SM on Wed Sep 05, 2007 6:41 pm; edited 1 time in total

----------

## spyner

Hello Everybody

I have a laptop Toshiba p100 (PSPA3E). But i haven't any song.  :Sad: 

I'm a beginner on Linux and i don't understand all of your conversation.  :Shocked: 

Is it possible that one of you help me?

I would like you give me all steps to writ in the "Terminal".

Ifesle, maybe is there any frensh guy to help me?

thx for you help.  :Confused: 

Spyner

----------

## LuisC-SM

 *LuisC-SM wrote:*   

>  *Martin LORANG wrote:*   Here you'll find my modified DSDT
> 
> Hope this can help you
> 
> Martin 
> ...

 

UPDATE Forget all about it. I went back to v2.4, however, thanks for the "Method (BTST, 0, NotSerialized)" tip, that removed the only warning I had. So now I have 0 errors and 0 warnings.  :Very Happy: 

----------

## boroshan

I mentioned it elsewhere, but kernel 2.6.24 has support for connexant hda-intel chips built in.

Working fine here.

----------

