Contribute
Register

HP Probook 6470b

Status
Not open for further replies.
Joined
Nov 24, 2012
Messages
629
Motherboard
HP Probook 6470b
CPU
Intel Core i5-3320M
Graphics
Intel HD 4000, 1600x900
Mac
  1. 0
Classic Mac
  1. 0
Mobile Phone
  1. 0
I will upload all the things I use to make this notebook work and try to keep it up to date:

Currently supported OS: 10.8.5 & 10.9




GUIDE

For those of you who are interested in a detailed step-by-step guide, you should follow this guide.




Files & Information

DSDT:
- Download maciASL
- open your raw DSDT with maciASL
- go to Preferences, then Sources and add the source "http://raw.github.com/RehabMan/HP-ProBook-4x30s-DSDT-Patch/master" and a name for it
- close the Preferences window
- click Patch
- Select the patch called: ProBook 4x40s Ivy Bridge (or Sandy in case you have it), Apply
- Select the patch called: IGPU/LVDS Dual-link (or IGPU/LVDS Single-link, if your screen resolution is 1366x786), Apply
- Select the patch called: Fan and Temps (readings only), Apply
- save the DSDT.aml to /Extra/

SSDT (speedstep):
At the start of this thread you can find the the script that generates your SSDT.

Kext and kext patches:
Kexts can be found in the link below named DOWNLOADS.

What works and what does not:

WI-FI:
No card that is shipped with this notebook works with OSX, but thx to HP we don't have to worry about white-listing on this model, here you find the list of supported cards, makes sure you get it half-size.

Intel HD 4000:
You will need to select the right DSDT patch IGPU/LVDS Single-link for 1366x768 displays and IGPU/LVDS Dual-link for 1600x900 displays. This will enable your internal display.

DisplayPort might already work on the Single-link version, feedback needed.

To enable the DisplayPort on the Dual-link version, you should install the patched AppleIntelFramebufferCapri.kext provided in the DOWNLOADS.


Audio:
With the patched appleHDA, we have working:
  1. internal speakers
  2. headphones jack
  3. internal mic with noise cancelation
Inside the Working kexts and patches folder, you will find the patched AppleHDA (10.8.3 version) and all the info you need to patch the future versions of it....

Bluetooth:
Works, with the injector included in the downloads.

Trackpad & keyboard:
Works, thanks to the great effort from RehabMan, you can find the kext and all you need to know HERE.
Inside the Working_kexts_and_patches.zip, you will find a modified plist that maps the keys according to the functions on our keyboard (thx to nguyenmac for contributing).

USB3:
Works, download and install os-x-generic-usb3.kext.

Multimedia card reader (SD/MMC):
It works, with the provided kexts, but you have to disable Firewire in BIOS first.
MMC cards seems to work too, if anyone cares.

Ethernet:
Works, with the included kext.

Battery:
Battery monitor works with the provided kext and patched DSDT.



If you find bugs, errors or have a better driver/solution for anything, let me know so I can update this post.
Special thanks to RehabMan, for everything he does for this community.


DOWNLOADS
 
First I installed Chimera and then after i saw the problem i installed chameleon 2.1 over it.
macbook pro 8.1
 
Small update, I was playing with it some more yesterday:
I managed to get the HD 4000 to work with acceleration, using an EFI string, the trackpad works (i suppose as on the 4530s, since is the same). Got a new Ethernet kext, so i can use the genuine IONetworkingfamily.kext. I got all the USB ports to work (only as 2.0 for now, as seen in the 4540s thread). For now i boot from an external USB drive, since is not yet ready for prime time. I set the MAC identifier to macbookpro9,2 and when i plugged my external boot drive into one of the usb 3 ports in actually was recognized as USB 3 and was working fine (didnt test the speeds), but wasnt able to mount any other drives on the other USB 3 (all that with vanilla 10.8.2 kexts).

But now i am stuck until i get some help with the DSDT, because idk what HP did, but if i decompile and recompile it i get 201 errors and a headacke, thats why i would need a DSDT expert, to help me move over this obstacle.
I think the 6x70b series has the same hack potential as the 4x40s, since they also share a lot of the hardware.

After i can get over the DSDT problem, i am confident we can get the audio, speedspet, sleep.... and other little things to work atleast on an accetable if not perfect level.
 
Small update, I was playing with it some more yesterday:
I managed to get the HD 4000 to work with acceleration, using an EFI string, the trackpad works (i suppose as on the 4530s, since is the same). Got a new Ethernet kext, so i can use the genuine IONetworkingfamily.kext. I got all the USB ports to work (only as 2.0 for now, as seen in the 4540s thread). For now i boot from an external USB drive, since is not yet ready for prime time. I set the MAC identifier to macbookpro9,2 and when i plugged my external boot drive into one of the usb 3 ports in actually was recognized as USB 3 and was working fine (didnt test the speeds), but wasnt able to mount any other drives on the other USB 3 (all that with vanilla 10.8.2 kexts).

But now i am stuck until i get some help with the DSDT, because idk what HP did, but if i decompile and recompile it i get 201 errors and a headacke, thats why i would need a DSDT expert, to help me move over this obstacle.
I think the 6x70b series has the same hack potential as the 4x40s, since they also share a lot of the hardware.

After i can get over the DSDT problem, i am confident we can get the audio, speedspet, sleep.... and other little things to work atleast on an accetable if not perfect level.

All the errors in DSDT is pretty normal with the Probook BIOS. You should probably take a look at the patches for 4x30s: https://github.com/RehabMan/HP-ProBook-4x30s-DSDT-Patch

Adapt/change/apply as necessary to your own DSDT.
 
Thx, for the heads up. I will give it a try, even if my DSDT editing is a bit rusty. Do you think MaciASL is ready to be used as the prime tool for this job? I like the interface and code coloring.

Let me ask you another thing since you seem to be the main man behind the 4530s project on this site, do you think the patches for screen brightness work on other series of Probooks and could you give me (or show me where to find) full HW specifications of the 4530s so i know what kext i can use on my notebook, specially the audio and SD card.

I hope you will stick around this thread with your experience even if u dont have the notebook thats subject of this thread.
 
Thx, for the heads up. I will give it a try, even if my DSDT editing is a bit rusty. Do you think MaciASL is ready to be used as the prime tool for this job? I like the interface and code coloring.

I'm using it for quite a while now. And I just checked in a change to 01_Compilation.txt that fixes the extra compilation error in the Probook 4x40s DSDT (the patch for BB2S compile error). Don't know if that is a problem with your DSDT, but if you use the same BIOS as 4x40s then it probably is. See if it helps you.

I'm looking at the 4x40s DSDT and seeing what I can do with the 4x30s patches to adapt them as time allows. I don't have the laptop myself, so I can't really verify anything, but I'll try to make your discoveries official by including them in the patches or by creating a branch the represents the progress of the community with respect to post-4x30s gen Probook. Again... as time allows.

Let me ask you another thing since you seem to be the main man behind the 4530s project on this site, do you think the patches for screen brightness work on other series of Probooks and could you give me (or show me where to find) full HW specifications of the 4530s so i know what kext i can use on my notebook, specially the audio and SD card.

Not really the "main man behind." I just came along and added some organization to things and made some improvements to various kexts and DSDT. There were a lot of people more knowledgeable than me that came earlier and got this thing working initially.

Screen brightness is a weird one. And one that I have some ideas I hope to test out. One afternoon, I stripped most of the "screen brightness fixes" from the DSDT, just to see which one was doing what. Guess what? I was left with exactly the same situation. So screen brightness is happening some other way than the DSDT and all the common knowledge is wrong about what is really happening here. I even added some debug code to the DSDT so I could see whether any of the screen brightness methods were being called and discovered that none of them were.

I've got some ideas on making some changes to the keyboard driver to call the native DSDT methods for screen brightness. We would loose the on screen feedback, but potentially gain automatic setting of last set brightness upon startup, and perhaps full brightness range. We'll see...

I hope you will stick around this thread with your experience even if u dont have the notebook thats subject of this thread.

I watch, but since you have the laptop and I don't, there is only so much I can contribute.

But post your raw extracted DSDT. It would be interesting to see if it is different from the 4x40s..
 
But post your raw extracted DSDT. It would be interesting to see if it is different from the 4x40s..
You can find it in the opening post, i think they are quite similar.

And yes, i also get the BB2S and will try to get rid of it soon.

I am following your patches and just by removing:
Code:
  If (CondRefOf (FPED))                {
                    FPED ()
                }
I got from 201 errors to just 4 (I hope i did the right thing).

Now i am at the DWordMemory error, and not exactly sure what to do:
Error report:
Code:
/Users/kpkp/Desktop/dsdt.dsl   2755:                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,Error    4123 -            Min/Max/Length/Gran are all zero, but no resource tag ^

Code from that like in the DSDT:
Code:
 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x00000000,         // Range Minimum
                    0x00000000,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00000000,         // Length

UPDATE: I applied your BB2S patch and now only the DWordMemory left to fix, good progress, looked way more scary.
UPDATE2: I also applied your DWordMemory patch, now the dsdt compiles without errors, will do some more checking and then will try to see if i can boot with this dsdt.
 
You can find it in the opening post, i think they are quite similar.

And yes, i also get the BB2S and will try to get rid of it soon.

I am following your patches and just by removing:
Code:
  If (CondRefOf (FPED))                {
                    FPED ()
                }
I got from 201 errors to just 4 (I hope i did the right thing).

Now i am at the DWordMemory error, and not exactly sure what to do:
Error report:
Code:
/Users/kpkp/Desktop/dsdt.dsl   2755:                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,Error    4123 -            Min/Max/Length/Gran are all zero, but no resource tag ^

Code from that like in the DSDT:
Code:
 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x00000000,         // Range Minimum
                    0x00000000,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00000000,         // Length

UPDATE: I applied your BB2S patch and now only the DWordMemory left to fix, good progress, looked way more scary.
UPDATE2: I also applied your DWordMemory patch, now the dsdt compiles without errors, will do some more checking and then will try to see if i can boot with this dsdt.

You can just apply the whole 01_Compilation.txt to your DSDT and it will probably compile. Seems it is very similar to 4x40s.
 
Yes, i can confirm that, after doing it by hand, i also did that and it worked perfectly.
Enough DSDT for today... :D
 
Yes, i can confirm that, after doing it by hand, i also did that and it worked perfectly.
Enough DSDT for today... :D

There is definitely a lot of similarities between this DSDT and the Probook 4x40s. I spent some time analyzing both this DSDT and the 4x40s DSDT today and made some small tweaks to my patch repo for the 4x30s.

01_Compilation.txt: now will fix all compilation errors on all these DSDTs

02_DSDTPatch.txt:
- Modified the keyboard fn-keys patch to work on them (by work, I mean the patch applies the _DSM to the right place)
- Noticed that further research must be done on each of the _DSM methods. My understanding of these _DSM methods is they help OSX identify the hardware, which determines what drivers load. So, you really need a DSDT from a Mac that has the same hardware that you're trying to code a _DSM method for. For example, the 4x30s has the HM65 chipset, and there is a _DSM (LPC patch) that identifies that hardware for OSX. Since you 6470 has a QM77, you will have to find a Mac w/ QM77 (or similar enough) DSDT and get the details by looking at it's DSDT. So, you're going to need a DSDT dump from one of the recent MacBookPro or maybe MacMini.
- The WiFi section probably only makes sense if you can replace the card your laptop has with an Atheros 9285.

03_a/03_b HDMI: similar concerns as above...

04_FanPatch.txt 04_FanExperimental.txt: I applied these patches and it appears that all the EC registers they depend on are there. It could be that the fan steps are different, but perhaps not. It would be worthwhile running RW-Everything under Windows to determine how the fan responds (see my fan thread for more info).

05_OSCheck.txt: looks like it will work without modification

06_Battery.txt: looks like this will work without modification as well
 
Status
Not open for further replies.
Back
Top