Jump to content

HP 6520s, 6720s, 6820s, 550 SL Install Package


BlackCH
 Share

1,448 posts in this topic

Recommended Posts

BlackCH, juanerson: Thank you that helps me.

 

Sorry that I have not written a long time ..

Yesterday there was a failure of energy and I lost a MFT-table on the hard disk. So the whole evening I was trying to recover my data.

 

Today I tried the DSDT file you gave me.

I was able to compile this file, but still have a problem with it.

 

In the program DSDTSE I called the "Install DSDT", and select "/Extra" folder. In the options of Chameleon I chose this file in the "Extra" folder for use for boot.

After rebooting, I saw no visible results of my actions. Backlight still works incorrectly.

Maybe some of my actions wrong? What a way to check which DSDT is loaded at the moment?

 

 

Update: When I open the file "/Extra/DSDT.aml" with DSDTSE, I can not compile it again, it gives errors. Maybe DSDTSE wrong compiled it, though for the first time there were no errors?

 

http://dl.dropbox.com/u/6175843/Extra.zip

This is Extra folder from my computer, maybe it will help.

 

P.S.: Sorry for my English, I do not speak it very well.

Link to comment
Share on other sites

Im not familiar with DSDTSE, I use a text editor to work on the dsl files and IASL binary to compile, but anyway:

The dsdt must be named "dsdt.aml" and placed either in /Extra/ or / (root). Chameleon will load it automatically

You can actually select path and name of the dsdt file by adding a flag in the boot.plist, but Im not sure about the syntaxis...

 

EDITED:

You can check if the dsdt is loaded by looking at the IOREG (use IORegistryExplorer).

If is loaded you should have a DSDT device:

post-51637-1291985028_thumb.png

 

 

If you decompile the aml file you wont be able to compile it back, so keep the one I posted at hand.

Dont forget to install GenericBrightness.kext in S/L/E

Link to comment
Share on other sites

Thank you for clarifications, I now understand how it works.

Indeed, it is my mistake, this time I not installed the kext for brightness.

When I installed the kext, brightness began to work differently.

Still, seems to me, that it does not work quite right.

When I press the brightness change key, it changes on the wrong (half the screen is dark), and a moment later changed to a normal (uniform brightness of the screen). Is this normal?

 

Regulation of brightness is nonlinear. When the brightness decreases from high to low, first there is a jump to the average brightness, then brightness is almost unchanged during the third scale, then almost immediately - a dark screen.

 

Although it is much better than it was!

 

Now I use a "Snow Leopard 10.6.2 Universal", due to the fact that I still have MBR partitioning of my hard drive.

Possible problem with the brightness associated with this and I need to repartition the drive and install a Retail version with Boot disk?

 

Or brightness values in the dsdt need to correct for my screen?

Link to comment
Share on other sites

First of all:

Did you install the GenericBrightness.kext posted on this thread? You need that one!

 

When I press the brightness change key, it changes on the wrong (half the screen is dark), and a moment later changed to a normal (uniform brightness of the screen). Is this normal?

Yes, thats the spected behavior. The kext writes the right value after the apple driver has setted his.

Regulation of brightness is nonlinear. When the brightness decreases from high to low, first there is a jump to the average brightness, then brightness is almost unchanged during the third scale, then almost immediately - a dark screen.

Thats not right. Probably you need different values

Now I use a "Snow Leopard 10.6.2 Universal", due to the fact that I still have MBR partitioning of my hard drive.

Possible problem with the brightness associated with this and I need to repartition the drive and install a Retail version with Boot disk?

Nope.
Or brightness values in the dsdt need to correct for my screen?

probably, I'll explain you later how. You will need xCode installed

 

See this post:

http://www.insanelymac.com/forum/index.php...t&p=1582781

 

EDIT:

You need to use Reggie SE (a utility from xCode) to write values to the brightness register:

 

0. First make sure you have the genericbrightness.kext from the first post on this thread (if you dont then install it and see if it works)

1. open pci tab and choose VGA compatible controller

2. On PhysMem Tab fill the Location values like this: address=0xe4461245, select 32-bit

3. Press the edit button and it will show you the value of the register

4. By entering new values and then pressing 'Apply' you can try which values work for your screen:

post-51637-1292007676_thumb.png

 

For my screen (I guess isnt the screen but the inverter which is in charge of changing the brightness) works like this: the first 16 bits set to 1 (0xFFFF) and the second 16 bits hold the brightness value. Ivik made a custom version for me with 16 steps of brightness, and mod the dsdt with the values: 0xFFFF0000, 0xFFFF1000, 0xFFFF2000, etc till FFFFF000 (see PNLF device).

Link to comment
Share on other sites

2. On PhysMem Tab fill the Location values like this: address=0xe4461245, select 32-bit

Is there no errors?

In this register no values, only zeros.

And the screenshot is also listed a different register address..

Probably should be: 0xe4461254?

 

It seems to me that the driver or DSDT not work correctly for me. I spent an experiment:

1. Sets the maximum brightness.

2. A scan register values 0xe4461254 with Reggie.

3. Change the brightness down and refreshing the register value.

 The values obtained:

(maximum)

0x01EE01EE,

0xFFFF3000,

0xFFFF3000,

0xFFFF3000,

0xFFFF3000,

0xFFFF2000,

0xFFFF2000,

0xFFFF2000,

0xFFFF2000,

0xFFFF1000,

0xFFFF1000,

0xFFFF1000,

0xFFFF1000,

0xFFFF0000,

0xFFFF0000,

0xFFFF0000,

(Minimum)

 

If I manually enter values from the dsdt file (pnlf section), regulation is correct.

 

I've attached a screenshots, look please: if all properly load:

16.02.19.png

16.03.16.png

Link to comment
Share on other sites

UPDATE:

 

 

Repartition drive with GUID, installed the 10.6 retail version, updated to 10.6.5 .. modified dsdt, set the driver of brightness , reboot .... Brightness works!

Thank you, BlackCH!

You helped me a lot!

 

Here are just a fan now hums constantly :)

I'm already used to the silence(

 

Probably 10.6.5 spinning a fan more actively than 10.6.2? CPU temperature is much reduced.

Link to comment
Share on other sites

Probably 10.6.5 spinning a fan more actively than 10.6.2? CPU temperature is much reduced.

I think you need to update a couple of kexts:

 

http://www.insanelymac.com/forum/index.php...t&p=1580664

 

they go in /Extra/

Replace and run kextutility once, then reboot

 

By the way, can you tell what did you change on the DSDT file?

Link to comment
Share on other sites

I think you need to update a couple of kexts:

 

http://www.insanelymac.com/forum/index.php...t&p=1580664

 

This package I have installed.

I guess everything works as it should work, but earlier do not work quite right.

Previously when I used the Mac OS Universal 3.6, the fan runs very quiet (about 800 revolutions per minute), but the CPU temperature was 65-80 C. When the CPU is heated to 85 C, the fan sped up to about 4000 rpm.

Now the speed about 2000 revolutions per minute, but the CPU temperature is 45-55 C.

I decided that is even better, for avoid overheating the processor. In any case, when working Windows, Fan noise is much more.

 

And another question:

Is there a way to teach the Mac OS to show the fan speed 6720s, as it does with the CPU temperature?

 

By the way, can you tell what did you change on the DSDT file?

 

Most likely the problem was in the "Mac OS X Universal 3.6".

When I install the Retail version, I acted exactly the same as before, the result was positive.

Possible Mac OS X Universal have a driver who also control the brightness, оr conflict with our driver, or something else.

 

In dsdt I just put the code for the brightness from "dsdt_v0.13_BRGT_gen.dsl".

Although if install "dsdt_v0.13_BRGT_gen.dsl", it works good too.

 

Is there a difference between a dsdt file that was created by installer and dsdt_v0.13_BRGT_gen.dsl, except the sections of brightness? Which one is better to use?

 

P.S.: Sometimes when the system automatically changes the brightness, it does not fall in the dsdt values and the driver not work. But it's not a big problem.

In most cases, everything is working properly.

Link to comment
Share on other sites

Previously when I used the Mac OS Universal 3.6, the fan runs very quiet (about 800 revolutions per minute), but the CPU temperature was 65-80 C. When the CPU is heated to 85 C, the fan sped up to about 4000 rpm.

Now the speed about 2000 revolutions per minute, but the CPU temperature is 45-55 C.

I decided that is even better, for avoid overheating the processor. In any case, when working Windows, Fan noise is much more.

80-85 is too hot. The cpu will die soon if you run it at that temprature.

45-55 is normal. I guess is running as it should. Send me an IOReg (get it with IORegistryExplorer) if you like; I'll check it for you.

 

And another question:

Is there a way to teach the Mac OS to show the fan speed 6720s, as it does with the CPU temperature?

There might be a way by implementing some register reading on the DSDT in combination with Slice's FakeSMC.kext, but I do not know for real.

 

Most likely the problem was in the "Mac OS X Universal 3.6".

When I install the Retail version, I acted exactly the same as before, the result was positive.

Possible Mac OS X Universal have a driver who also control the brightness, оr conflict with our driver, or something else.

In dsdt I just put the code for the brightness from "dsdt_v0.13_BRGT_gen.dsl".

Although if install "dsdt_v0.13_BRGT_gen.dsl", it works good too.

Is there a difference between a dsdt file that was created by installer and dsdt_v0.13_BRGT_gen.dsl, except the sections of brightness? Which one is better to use?

Is always best to run retail, you never know what kexts are coming out from those OSX distros.

You should try using the "dsdt_v0.13_BRGT_gen.dsl". It will work better than the one included on the installer

Link to comment
Share on other sites

Hello

Thank you for your answers!

 

I recently began working with Mac OS, and it was hard at first to understand how everything works here. Your support helped me a lot.

 

Do you work only in Mac OS? Is there such a problem that can be solved only in Windows? I found the program "VMWARE for MAC OS" and now I do not know, do I need Windows on my hard drive.

 

Check my IOREG please, if its not difficult for you, here's the link: http://dl.dropbox.com/u/6175843/MacBook.ioreg.zip

 

Also I have reduced battery life compared to Windows (1 hour 20 minutes in Windows and 59 minutes in the MAC OS at the same level of brightness and load). Is this normal, or do I need something fixed? I'll tune section of P-statistic in DSDT to lower CPU voltage(I have T5470 processor). Does this help?

Link to comment
Share on other sites

Sorry I saw your ioreg, and PLEASE my friend... All you need is READ the thread! Please take your time to understand all our work, I mean step by step. For native SPEEDSTEP with factory p-states, until you learn all about undervolt (for example), at this point you don't need it. Another important functionality is SLEEP, explained in other topic, but linked from here. BTW, in my signature you have a lot of links to the most important things, almost everything is here in current topic. Good Luck.

Link to comment
Share on other sites

Also I have reduced battery life compared to Windows (1 hour 20 minutes in Windows and 59 minutes in the MAC OS at the same level of brightness and load). Is this normal, or do I need something fixed? I'll tune section of P-statistic in DSDT to lower CPU voltage(I have T5470 processor). Does this help?

 

Doesnt seem your default (from SSDT) P-states are loading...

IOreg should look like this:

post-51637-1292327086_thumb.png

PerformanceStateArray should have 4 values in your case

Thats probably why your battery life is shorter, 'cause the CPU is running at full speed all the time.

Link to comment
Share on other sites

... I'll tune section of P-statistic in DSDT to lower CPU voltage(I have T5470 processor). Does this help?

"I will" or You did some bad modification to the default (CPU0 / CPU1) section? Thats not help if you don't know what you do.

Link to comment
Share on other sites

Doesnt seem your default (from SSDT) P-states are loading...

IOreg should look like this:

 

Thanks, now I know where to look for my problem.

 

"I will" or You did some bad modification to the default (CPU0 / CPU1) section? Thats not help if you don't know what you do.

 

No, I have nothing modified in the DSDT, I use the file that gave BlackCH.

 In order for something to change yourself, I should know how it works, especially with the processor. I understand it, so study the information in this regard.

Links in your signature helped me a lot. But still I do not have prior knowledge to use a lot of information from them. But gradually I acquire the necessary knowledge.

Link to comment
Share on other sites

Ok then, why you don't have native SS activated? From ioreg you have loaded the necessary things: dsdt + profile + legacy.

Maybe theres something wrong in the DSDT I posted

 

@Alex

You can try adding juanerson's CPU code (replace the whole Scope CPU section):

 

Scope (\_PR) /*added-modified for OS X compatibility, START Scope PR*/
   {
   Processor (/*\_PR.*/CPU0, 0x01, 0x00001010, 0x06)
   {
       Name (_PPC, Zero) //from ssdt for custom p-states
       Method (_PCT, 0, NotSerialized) //from ssdt for custom p-states
       {
           If (LAnd (And (CFGD, One), And (PDC0, One)))
           {
               Return (Package (0x02)
               {
                   ResourceTemplate ()
                   {
                       Register (FFixedHW, 
                           0x00,               // Bit Width
                           0x00,               // Bit Offset
                           0x0000000000000000, // Address
                           ,)
                   }, 

                   ResourceTemplate ()
                   {
                       Register (FFixedHW, 
                           0x00,               // Bit Width
                           0x00,               // Bit Offset
                           0x0000000000000000, // Address
                           ,)
                   }
               })
           }

           Return (Package (0x02)
           {
               ResourceTemplate ()
               {
                   Register (SystemIO, 
                       0x10,               // Bit Width
                       0x00,               // Bit Offset
                       0x00000000000000B2, // Address
                       ,)
               }, 

               ResourceTemplate ()
               {
                   Register (SystemIO, 
                       0x08,               // Bit Width
                       0x00,               // Bit Offset
                       0x00000000000000B3, // Address
                       ,)
               }
           })
       }

           Name (_PSS, Package (0x04) //Number of p-states, from IORegistryExplorer booting factory dsdt
           {
               Package (0x06)
               {
                   0x0641, //IDA 1800mhz OPTIONAL, my high p-state 0 from IOReg, also see under value
                   0x88B8, //taken from IORegistryExplorer loading factory p-states
                   0x0A, 
                   0x0A, 
                   0x0915, //FID-VID, Where  FID 09 = Multipler and VID 15 = 0.9750V. Factory VID = 2D
                   0x0915
               }, 


               Package (0x06)
               {
                   0x0640, //1600mhz p-state 1, see the legend under
                   0x88B8, //taken from IORegistryExplorer
                   0x0A, 
                   0x0A, 
                   0x0813, //FID-VID, Where FID 08 = Multipler and VID 13 = 0.9500V. Factory VID = 25
                   0x0813
               }, 

               Package (0x06)
               {
                   0x04B0, //1200mhz p-state 2
                   0x3E80, 
                   0x0A, 
                   0x0A, 
                   0x060F, //06 = Multipler - 0F = 0.9000V. Factory VID = 17
                   0x060F
               }, 

               Package (0x06)
               {
                   0x0320, //800mhz my low p-state 3
                   0x36B0, 
                   0x0A, 
                   0x0A, 
                   0x880F, //88 = Multipler - 0F = 0.9000V. Factory VID = 0F
                   0x880F
               }
           })
       Method (_PSD, 0, NotSerialized) //from ssdt for custom p-states
       {
           If (And (CFGD, 0x01000000))
           {
               If (And (PDC0, 0x0800))
               {
                   Return (Package (0x01)
                   {
                       Package (0x05)
                       {
                           0x05, 
                           Zero, 
                           Zero, 
                           0xFE, 
                           0x02
                       }
                   })
               }

               Return (Package (0x01)
               {
                   Package (0x05)
                   {
                       0x05, 
                       Zero, 
                       Zero, 
                       0xFC, 
                       0x02
                   }
               })
           }

           Return (Package (0x01)
           {
               Package (0x05)
               {
                   0x05, 
                   Zero, 
                   Zero, 
                   0xFC, 
                   One
               }
           })
       }

       Name (C002, 0x00)
       Method (CSTH, 0, NotSerialized) /*bios factory caller to c-states full native support from ssdt*/
       {
           If (LEqual (C002, 0x00))
           {
               Store (0x01, C002)
               Store (0x00, \_SB.PCI0.LPCB.C005)
           }

           Store (\_SB.PCI0.LPCB.EC.C007 (), Local0)
           Return (Local0)
       }


       Method (INI, 0, NotSerialized)
       {
           Store (OSDW (), Local0)
           If (LAnd (And (\_SB.C009, 0x01000000), LEqual (Local0, 0x04)))
           {
               \_SB.ISMI (0x3D, 0x00, 0x00, 0x00)
           }

           If (LOr (LEqual (Local0, 0x04), LEqual (Local0, 0x05)))
           {
               \_SB.ISMI (0x3F, 0x00, 0x00, 0x00)
           }
       }

   }

   Processor (/*\_PR.*/CPU1, 0x02, 0x00001010, 0x06)
   {
       Method (_PPC, 0, NotSerialized) //from ssdt for custom p-states
       {
           Return (\_PR.CPU0._PPC)
       }

       Method (_PCT, 0, NotSerialized) //from ssdt for custom p-states
       {
           Return (Package (0x02)
           {
               ResourceTemplate ()
               {
                   Register (FFixedHW, 
                       0x00,               // Bit Width
                       0x00,               // Bit Offset
                       0x0000000000000000, // Address
                       ,)
               }, 

               ResourceTemplate ()
               {
                   Register (FFixedHW, 
                       0x00,               // Bit Width
                       0x00,               // Bit Offset
                       0x0000000000000000, // Address
                       ,)
               }
           })
       }

       Method (_PSS, 0, NotSerialized) //added return custom p-states undervolt cpu1
       {
           Return (\_PR.CPU0._PSS)
       }

       Method (_PSD, 0, NotSerialized) //from ssdt for custom p-states
       {
           If (And (PDC1, 0x0800))
           {
               Return (Package (0x01)
               {
                   Package (0x05)
                   {
                       0x05, 
                       Zero, 
                       Zero, 
                       0xFE, 
                       0x02
                   }
               })
           }

           Return (Package (0x01)
           {
               Package (0x05)
               {
                   0x05, 
                   Zero, 
                   Zero, 
                   0xFC, 
                   0x02
               }
           })
       }

   }
   } /*added, END Scope PR*/

Link to comment
Share on other sites

BlackCH, yo no veo algo malo en la sección del procesador de la DSDT que subiste, será que estoy quedando ciego. En fin, lo que si quiero hacer (ya lo hice en inglés pero... ni modo) es una pequeña apreciación al momento de compilar usando la versión de IASL que trae DSDTSE 1.4.3 puede dar errores por utilizar // en vez de /* en ciertas partes comentadas, si mal no recuerdo precisamente en la sección de los PSS. Por ejemplo es muy probable que se manifiesten en partes como:

Package (0x06)

{

0x0641, //IDA 1800mhz OPTIONAL... etc. Aquí es preferible comenzar (*/) y terminar (*/) de esta manera el comentario.

Saludos.

Link to comment
Share on other sites

I tried the juanerson's CPU section (again could not be compiled, there was a problem with comments, but I corrected it), nothing happened, still no P-state in IOReg.

Maybe the problem is not with the DSDT? because if I use dsdt which comes with installer, SS still does not work.

Link to comment
Share on other sites

I tried the juanerson's CPU section (again could not be compiled, there was a problem with comments, but I corrected it), nothing happened, still no P-state in IOReg.

Maybe the problem is not with the DSDT? because if I use dsdt which comes with installer, SS still does not work.

Try this one:

dsdt_v0.13_BRGT_T5470.dsl.zip

Link to comment
Share on other sites

I installed this dsdt and in IOReg appeared P-states.

The program Coolbook also shows P-States from the dsdt, but the real CPU information is different ..

Coolbook shows that the CPU is switched between the 1200MHz 1600MHz and 1800MHz frequencies, but never dropped to 800MHz. And supply voltage do not match.

 

CPU-states.png

Link to comment
Share on other sites

I installed this dsdt and in IOReg appeared P-states.

The program Coolbook also shows P-States from the dsdt, but the real CPU information is different ..

Coolbook shows that the CPU is switched between the 1200MHz 1600MHz and 1800MHz frequencies, but never dropped to 800MHz. And supply voltage do not match.

 

Try PStateChanger (with voodoopstate kext) from this topic to generate correct P-States for your cpu (I have used it for my t2410 cpu).

Link to comment
Share on other sites

I installed this dsdt and in IOReg appeared P-states.

The program Coolbook also shows P-States from the dsdt, but the real CPU information is different ..

Coolbook shows that the CPU is switched between the 1200MHz 1600MHz and 1800MHz frequencies, but never dropped to 800MHz. And supply voltage do not match.

 

CPU-states.png

EDITED: BackCH DSDT provided is absolutely FINE! Just certain commented parts could be a problem attempting to compile with old IASL versions as come with DSDTSE 1.4.3. But, in your insufficient capture at least I can see "the possible cause", so you need the legacySS.kext for 10.6.5. Again.

 

Try PStateChanger (with voodoopstate kext) from this topic to generate correct P-States for your cpu (I have used it for my t2410 cpu).

Definitely is NOT necessary, he have the same CPU as mine. Please upload your ioreg again with T5470 dsdt loaded, because that behavior is normal if don't have native SS activated "really". Then in ioreg should appear CPUPLimit 0x0.

Link to comment
Share on other sites

Definitely is NOT necessary, he have the same CPU as mine. Please upload your ioreg again with T5470 dsdt loaded, because that behavior is normal if don't have native SS activated "really". Then in ioreg should appear CPUPLimit 0x0.

I have CPUPLimit 0x0 in my IOreg, and SpeedStep is definetely working here from the lowest to the highest speed... I can see it with coolbook and also is reflected in the temperatures.

 

@Alex

I agree with juanerson, you DONT NEED PstateChanger not voodoopstate.kext at all. You only need to spend some time troubleshooting what is missing in your setup. Theres something definetely missing, because native SpeedStep is working 100% (we been testing it for months) on the 6720s

Next week we'll be posting a new installer togther with a new DSDT; maybe that will solve your problems

Link to comment
Share on other sites

 Share

×
×
  • Create New...