![]() |
ubuntu.com - launchpad.net - ubuntu help
|
|
|||||||
Hello, Unregistered You are browsing a READ only archive of the main support categories pre 4/21/2008. You will not be able to post or reply any threads in this section.
|
|
Hardware & Laptops Problems with hardware & laptops not being detected or supported during or after install. |
|
|
Thread Tools | Display Modes |
|
|
#1 |
|
First Cup of Ubuntu
![]() Join Date: Jun 2007
Beans: 10
|
Toshiba p100 series sound fix !!!!!
Hi guys I just got the sound working on my toshiba P100-188(PSPA3E)bios3.30
I am a complet newby in Ubuntu and Linux overall therefore I will show how to get it working in a very simplified way. I have combined few threads and miraculously after two weeks of struggle Bonsai. I started from 1 Ensure that your laptop is connected to the internet. 2 C/C++ Development Tools in order to do it I installed Anjuta ide using automatix however i have got no idea whether it was helpful or not simply just giving you my steps 3) Install bison, flex and libncurses5-dev: Open a console window and type: apt-get install bison flex libncurses5-dev 4) Install Intel's ACPI Source Language (iASL) compiler: Run the FireFox browser and download the "ACPI CA - Unix Build Environment" from here: http://www.intel.com/technology/iapc/acpi/downloads.htm. Save the download file (acpica-unix-20061109.tar.gz) under /usr/src. Now, open a console window and type the following to build the iasl application: cd /usr/src tar -xvzf acpica-unix-20061109.tar.gz cd acpica-unix-20061109/compiler make If the buils fails, giving you some error messages which include: go to http://forums.xandros.com/viewtopic....f7e 2820ae7cd and look at point . I did not get this error though 5) Fix the buggy DSDT file In the console window, type: cd /usr/src mkdir dsdt cd dsdt cat /proc/acpi/dsdt > DSDT.dat The last command dumps the contents of your Toshiba's DSDT table into a file called DSDT.dat. Now, decompile the DSDT.dat file by typing: iasl -d DSDT.dat This creates an editable ascii text file called DSDT.dsl. Now, we need to find the bugs (errors and warnings) in the DSDT file and fix them. The best way is to try to recompile the DSDT.dsl file and read the errors and warnings generated by the iasl compiler. So type: iasl -tc DSDT.dsl The iasl compiler should create two new files: DSDT.hex and DSDT.aml and should display a number of errors and one or more warning messages on your console window. From what I have seen for myself, and have gleaned from the gentoo forums, there are basically five types of modifications you need to make. First, let's make a back up of your original DSDT.dsl file by typing: cp DSDT.dsl DSDT_original.dsl Now, edit your DSDT.dsl file and make the following changes: (i) Replace all occurrences of the strings "_T_0", "_T_1", "_T_2", etc. with something like "TXT0", "TXT1", "TXT2", etc. (Note: the replacement string should not be more that four characters long). (ii) Search for "BTST" and add an extra "Else { Return (Zero) }" to the "BTST" method as shown below: 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) } } Else { Return (Zero) } } (iii) Search for "EVNT" and add the extra "Return (Zero)" as shown below to Else part of the the "EVNT" method. Code: Method (EVNT, 1, NotSerialized) { While (VZOK) { If (LEqual (VZOK, 0x01)) { Store (Arg0, VZOK) Notify (\_SB.VALZ, 0x80) Return (Zero) } Else { Sleep (0x05) Return (Zero) } } } (iv) Search for "Linux" and comment out a number of lines and add a "Store (0x07D0, OSYS)" as shown below. Code: 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 } (v) Search for "PNP0C14" and replace all occurrences of ``Name (_HID, "*PNP0C14")'' with `` Name (_HID, "PNP0C14")''. Save your changes and quit. Note: if you are unsure if your changes are correct, here is a link to a fixed DSDT file: http://vosek.com/dsdt.dsl (courtesy gentoo forums). You can compare it with your own. Now, recompile your fixed DSDT file by typing: iasl -tc DSDT.dsl Verify that there are no errors and that a new DSDT.hex file has been created. 6) Code: cd /usr/src/dsdt cp DSDT.aml /etc/initramfs-tools/ mkinitramfs -o /boot/your-new-initrd-image-name-here (for example /boot/initrd.img-2.6.20-16-generic-DSDTfix ) then open up grub's menu.lst Code: nano /boot/grub/menu.lst and find a line that looks something like: initrd /boot/initrd.img-2.6.20-16-generic REPLACE WITH initrd /boot/initrd.img-2.6.20-16-generic-DSDTfix or whatever name you gave it than reboot and you are going to hear a miracle I am also going to install alsa drivers Here are the links i have taken the information from http://www.linuxquestions.org/questi...d.php?t=531575 http://forums.xandros.com/viewtopic....f7e 2820ae7cd here is the link how to install intel hda alsa drivers https://help.ubuntu.com/community/HdaIntelSoundHowto |
|
|
|
|
#2 |
|
First Cup of Ubuntu
![]() |
Re: Toshiba p100 series sound fix !!!!!
Thanks for this I will have my friend (who has having problems with sound) read up on this, now we can have awesome lan parties.
|
|
|
|
|
#3 |
|
First Cup of Ubuntu
![]() Join Date: Jun 2007
Beans: 10
|
Re: Toshiba p100 series sound fix !!!!!
u welcome
|
|
|
|
|
#4 |
|
First Cup of Ubuntu
![]() Join Date: Jul 2007
Beans: 2
|
Re: Toshiba p100 series sound fix !!!!!
Thanks for this. I've been trying very similar instructions from elsewhere and got stuck on building iasl. Your step three got me past that, but now I've run into another problem (that doesn't look hard to fix, probably just a general linux mistake on my part).
In step five where you dump the dsdt into DSDT.dat you have this command: cat /proc/acpi/dsdt > DSDT.dat. I get permission denied and it doesn't write the file. From the terminal: Code:
aidan@troutmask:/usr/src/dsdt$ sudo cat /proc/acpi/dsdt > DSDT.dat bash: DSDT.dat: Permission denied [edit] Some digging and some learning about permissions later, this worked: Code:
sudo cat /proc/acpi/dsdt | sudo tee /usr/src/dsdt/DSDT.dat If (_OSI ("Linux")) { Store (0x03E8, OSYS) } to 0x07D6 doesn't work. Last edited by McTaggart; July 29th, 2007 at 02:07 PM.. |
|
|
| Bookmarks |
| Thread Tools | |
| Display Modes | |
|
|