Contribute
Register

HP Probook 4540s.....

Status
Not open for further replies.
I got sound working with "-f" boot flag, but AppleHDA stops loading without that flag. Yes, I rebuilt the cache with Kext Wizard. I have no idea.

UPDATE: Even the original (unpatched AppleHDA) shows system profiler information with -f flag:

View attachment 44147


UPDATE 2: I think I fixed the problem with this code (not sure yet).

Code:
"built-in"
Buffer (One)
{
  0x00
},


Zoltankr, this is a very basic question, but when you say you have to use the -f boot flag, is this required for the first time (after initial install), where/when do you type it, why is this needed, and what would happen if you did not use the -f boot flag?
 
Just to add my experience here.

So far this is going well with my Sandy Bridge 4540s that I got off eBay UK last week.

At first it seemed like a nightmare getting the DSDT patched and then adding in stuff bit by bit. All that is fairly standard.

I wanted to share though the working wifi card I have. This was one I bought for a Zotac Mini-ITX project that I thought I would swap in to the Probook and see what happened.

I was very surprised not to see any message about whitelisting and Windows booted fine and found the card and installed software and connected to my home network.

Rebooted into OS X (I am on Lion) and the same thing. Recognised out of the box.

So, this was the purchased item:
http://www.ebay.co.uk/itm/NEW-Ather...D&orig_cvip=true&rt=nc&_trksid=p2047675.l2557

and here is an ioreg and system profiler output in the attachments.

Hope this is good news for some (is for me). Now all I need to do is get a tiny BT dongle.

EDIT: Please ignore the reference in my ioreg to id 168c,32 (that was an abortive attempt to try and kext patch for the original card - which of course did not work). The 9280 though in my machine DID work out of the box without any patching...

BTW I am on latest Bios of F31

Love the fact the seller clearly states:
Not for IBM and HP laptops

And this is looking the best solution lol
 
Hi, Zoltankr. (PLEASE ALSO CHIP IN REHABMAN IF YOU CAN ADD TO OUR KNOWLEDGE).

I have done a file comparison between your DSDT and mine, using ExamDiff Pro (Windows).

In general, the structure and content of our two ACPI's are the same as you would expect, but there are a large number of minor differences, 4967 inline differences in total. It would obviously be too much to show them all here but the lines below give the major differences.

My query is, where these were implemented by your purposely, what was your purpose and how did you know what to change? Also, if the changes were not done by you but indicate something important, could you please let me knwo what it indicates (and why)?

On the block at the end (your line 25060), I assume you added this deliberately. If so, could I please ask for what purpose, and where did you get the inspiration.

I'm now beginning to read Intel's ACPI documentation. Hopefully, when I come to change my DSDT, I will not be flying blind, as now.

Anything you, RehabMan or anyone else who fiddles with DSDTs can offer by way of explanation or advice would be appreciated.

It is also my hope that by illustrating the differences, if there is anything that shouts at you, may give you inspiration/help in your own search for an improved DSDT.

Stuart


DIFFERENCES BELOW (EXAMPLES ONLY)

In my DSDT but not in yours
My line 4: External (FPED, MethodObj) // 0 Arguments
(absent before your line 4)

In general, all your Hex numbers are replaced by word representations, eg,
My line 23: Name (FMBL, 0x01)
Your line 22: Name (FMBL, One)

Extra \ character in my DSDT before many parameters, eg
My line 216: Method (\_PIC, 1, NotSerialized)
Your line 217: Method (_PIC, 1, NotSerialized)

Other changes:
My line 643: OperationRegion (ASMA, SystemMemory, 0xB9FBA018, 0x1060)
Your line 642: OperationRegion (ASMA, SystemMemory, 0xB9FBD018, 0x1060)
(Similar changes further on, eg your line 647, I assume you have more memory)

My line 914: And (GPIE, Not (0x08), Local0)
Your line 913: And (GPIE, 0xFFFFFFFFFFFFFFF7, Local0)

My line 1337: Notify (\_TZ.GFXZ, 0x81)
Your line 1336: Notify (GFXZ, 0x81)

My line 1782: Store (\_TZ.GFXZ._TMP (), Local0)
Your line 1781: Store (^GFXZ._TMP (), Local0)

My line 2268: And (WLFL, Not (0x02), WLFL)
Your line 2267: And (WLFL, 0xFFFFFFFFFFFFFFFD, WLFL)

My line 2298: \_SB.SSMI (0xEA84, 0x00, 0x00, 0x00, 0x00)
Your line 2297: SSMI (0xEA84, Zero, Zero, Zero, Zero)

My line 2546: Store (Subtract (ShiftRight (0x04000000, 0x14), 0x02), PBMX
Your line 2545: Store (0x3E, PBMX)

My line 2744: ShiftLeft (\_SB.PCI0.LPCB.RCBA, 0x0E, RBR0)
Your line 2743: ShiftLeft (^^LPCB.RCBA, 0x0E, RBR0)

My line 4765: Store (Or (0x01, Or (0x02, 0x04)), Local0)
Your line 4781: Store (0x07, Local0)

My line 5762: CreateWordField (RTLA, \_SB.LNKA._CRS._Y16._INT, IRQ0)
Your line 5771: CreateWordField (RTLA, One, IRQ0)

My line 6821: And (Not (0x01), Local0, Local0)
Your line 6830: And (0xFFFFFFFFFFFFFFFE, Local0, Local0)

My line 6866: Divide (Add (0x96, 0x09), 0x0A, Local0, Local2)
Your line 6875: Divide (0x9F, 0x0A, Local0, Local2)

My line 6943: Multiply (0x10, 0x08), BTSN)
(absent before your line 6952)

My line 8920: Return (0x00)
(absent before your line 8928)

My line 22228: Store (Subtract (0x09, 0x01), Local6)
Your 22233: Store (0x08, Local6)

My line 22986: Store (\_SB.PCI0.LPCB.EC0.GPID (), Local1)
Your 22991: Store (^^PCI0.LPCB.EC0.GPID (), Local1)


You also have a block beginning at (your) line 25060:
Method (DTGP, 5, NotSerialized)
{
If (LEqual (Arg0, Buffer (0x10)
{
/* 0000 */ 0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44,
/* 0008 */ 0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B
}))
{
If (LEqual (Arg1, One))
{
If (LEqual (Arg2, Zero))
{
Store (Buffer (One)
{
0x03
}, Arg4)
Return (One)
}
If (LEqual (Arg2, One))
{
Return (One)
}
}
}
Store (Buffer (One)
{
0x00
}, Arg4)
Return (Zero)
}
 
Love the fact the seller clearly states:
Not for IBM and HP laptops

And this is looking the best solution lol

:)

Yes, hilarious. If I did not have the card already in another build that would have put me off buying it for the 4540s......

Just lucky? Or is my 4540s bios without a whitelist??? No idea, but it seems to me the best solution so far as I use wifi all the time and can live without bluetooth or just using a small USB one.
 
Just quickly scanned through your differences there, and many of them are compiler optimizations. When I compare DSDTs I always compile both with the same compiler, then disassemble to compare:

Code:
# assume dsdt-a.aml and dsdt-b.aml we want to compare
iasl -d dsdt-a.aml
iasl dsdt-a.dsl
iasl -d dsdt-a.aml
iasl -d dsdt-b.aml
iasl dsdt-b.dsl
iasl -d dsdt-b.aml
diff dsdt-a.dsl dsdt-b.dsl

Edit: made a few changes (I think you get my point...)
 
Just quickly scanned through your differences there, and many of them are compiler optimizations. When I compare DSDTs I always compile both with the same compiler, then disassemble to compare

Cheers, I should have done that and will do in future. Do you know what the function of Zoltankr's additional [last] block of code was for?
 
:)
Just lucky? Or is my 4540s bios without a whitelist???

This is third report so far I see for 4540S working without any problems with non HP Probook cards. All of them are Atheros. If someone with spare Broadcom or Intel card could test it to see how laptop behaves. Whitelist for 4540S is real but perhaps serves only informational purpose.
http://www.tonymacx86.com/hp-probook/86320-4540s-wifi-bios-whitelist-strings-vendors-etc.html

As far as buying the best WiFi card that works out of the box, eleron provided very good spreadsheet. See here:
http://www.tonymacx86.com/hp-probook/69284-atheros-ar9485-driver-2.html#post446166
 
Cheers, I should have done that and will do in future. Do you know what the function of Zoltankr's additional [last] block of code was for?

That is the standard DTGP method. I believe stolen from a real Mac DSDT. It is used in all the _DSM methods which are used to force "apple like" properties on devices in the DSDT.
 
Just to add my experience here.

So far this is going well with my Sandy Bridge 4540s that I got off eBay UK last week.

At first it seemed like a nightmare getting the DSDT patched and then adding in stuff bit by bit. All that is fairly standard.

I wanted to share though the working wifi card I have. This was one I bought for a Zotac Mini-ITX project that I thought I would swap in to the Probook and see what happened.

I was very surprised not to see any message about whitelisting and Windows booted fine and found the card and installed software and connected to my home network.

Rebooted into OS X (I am on Lion) and the same thing. Recognised out of the box.

So, this was the purchased item:
http://www.ebay.co.uk/itm/NEW-Ather...D&orig_cvip=true&rt=nc&_trksid=p2047675.l2557

and here is an ioreg and system profiler output in the attachments.

Hope this is good news for some (is for me). Now all I need to do is get a tiny BT dongle.

EDIT: Please ignore the reference in my ioreg to id 168c,32 (that was an abortive attempt to try and kext patch for the original card - which of course did not work). The 9280 though in my machine DID work out of the box without any patching...

BTW I am on latest Bios of F31

Thank you! I'm going to order that card.
Are you able to load AppleHDA without booting "-f" ?
 
Thank you! I'm going to order that card.
Are you able to load AppleHDA without booting "-f" ? I think HP locked OS X sound in BIOS F31 (4540s). Similar problem here.

The problem you are linking to refers to P8P67 boards when their bios was updated to the 3xxx rom, fortunately the LE (mine) and mATX form factor ones were not affected. The cause of AppleHDA not working on these boards was due to some error in the HD3000 codec being loaded - hopefully that casts some light on the case you are mentioning.
 
Status
Not open for further replies.
Back
Top