Jump to content

DSDT; using gfxutil to find PCI locations


  • Please log in to reply
33 replies to this topic

#21
efp

efp

    InsanelyMac Protégé

  • Members
  • Pip
  • 45 posts
  • Gender:Male

Don't worry, I know it's a lot of information to digest all at once but it's not as complicated as you think.

Type LSPCI -nn to see the device IDs (I've added this to the other post now, thanks).

Whenever you have trouble with a command line tool, try running it with -? to see the available commands.

The device ID code is not there because you have to insert it yourself. That's kind of the whole point! ;)

It goes in right after your "Name (_ADR, 0x001F0000)" just like in my code example.

Don't forget to add the DTGP method (the code example only shows the caller) to your DSDT, otherwise the device ID code will not work.
You can learn more about all of this in zhell's original topic here (this topic was already linked in the other post):
http://www.insanelym...howtopic=168014

If you've installed Chameleon 2.0 RC5 now, you don't need the memtype/speed or maximal/externalclock keys/strings in smbios.plist anymore. Just the Apple model info. After removing the keys/strings, reboot and open System Profiler and check if everything displays alright.
About the extras - I don't know, I've never used the installer, I like to install manually. I don't know what kind of extras the installer provides. The best I can say really is "it depends"! Read the installer thread for more info, also visit the VoodooProjects forum, General board and dive in to the Chameleon documentation. Although, many of the new features in 2.0 RC5 have not been documented yet. You can find the missing information by following the links I'm posting.

I've attached an smbios.plist with the correct DMI data for a MacPro3,1 that you can use:
If you'd like a "real" serial number, follow this guide: http://prasys.info/2...-serial-number/

Here's how to dump all your ACPI tables using Everest on Windows (screenshots):
http://www.insanelym...p...t&p=1468558
Also read this, important info on how to get Native Speedstepping going with Chameleon 2.0 RC5:
http://www.insanelym...howtopic=225766


Ok i patched the DSDT and using your smbios.plist.
Prior to this i edited the AppleLPC so it loaded, using same device-id. It displayed Quad-Core Intel Xeon than which is good BUT patching the DSDT is still giving me the following errors at boot:
ACPI_SMC_PlatformPlugin::pushCPU_CSTData - _CST evaluation failedFakeSMC: key not found BEMB, length - 1
ACPI_SMC_PlatformPlugin::pushCPU_CSTData - _CST evaluation failed
ACPI_SMC_PlatformPlugin::registerLPCDriver - WARNING - LPC device initialization failed: C-state power management not initialized
And this is my apple.Boot.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>Kernel</key>
	<string>mach_kernel</string>
	<key>Kernel Flags</key>
	<string></string>
 	"GeneratePStates"="Yes"
	"GenerateCStates"="Yes"
</dict>
</plist>

How could i fix this?

Thanks again! and Merry Christmas!

#22
Gringo Vermelho

Gringo Vermelho

    The Jan Bird fix

  • Supervisors
  • 6,224 posts
  • Gender:Male
  • Location:Brazil
You must follow the syntax in com.apple.Boot.plist

<key>GeneratePStates</key>
	 <string>Yes</string>
	 <key>GenerateCStates</key>
	 <string>Yes</string>


Prior to this i edited the AppleLPC so it loaded, using same device-id.


Same as the one I used or..?

Show me the DSDT code you added and your LPC device's dev ID.

Did you find and add method DTGP as well?

If you're still getting the C-state errors after fixing com.apple.Boot.plist, try adding DropSSDT=y as well, and add your SSDT tables that you've dumped with everest. Details here (again ;) ):
http://www.insanelym...howtopic=225766 (more details further inside the thread).

Don't worry about the missing key error from fakesmc for now.

#23
mulcyber

mulcyber

    aspiring geek

  • Members
  • PipPipPipPipPip
  • 285 posts
  • Gender:Male
  • Location:Santa Cruz
  • Interests:2 1TB WD drives, GA-X58A-UD5-Rev2 mobo, 12GB mem, PNY 9600 GT graphics, ALC889, SL 10.6.7, iBoot...

No its not PCI slot 1! Lookin at it physically, its pluged into PCI slot 2 which is PCI-EX_8(in the middle). Which is what i said in my last post.
My Mobo supports PCIEX_4, PCIEX_8 and 1 PCIEX_16.
I know that (_ADR, 0x00010000) is PCI slot 1, im not doubting that.
'Mulcyber - have you read any of my posts?' i dont think you understand exactly what i am asking.



I did also look in my mobo manual and its pluged into PCI-EX_8 which is slot 2!
Would plugging it into PCI-EX_16 make such a difference? I read online that x8 should be more than plenty for my card.
I attached my DSDT, see if you can manage to find it. It'll look around my self too.


I read them all. Physically, you can put a PCI-8 card in a PCI-16 slot, but not the other way around except in some cases with the help of a hacksaw and a file. This is a general rule, I won't claim that there are no exceptions in all of mobos in combination with all graphics cards.

mulcyber wrote:
I have a GF 9600 graphics card which is similar to yours and the instructions said to put it in slot 1.

The 9600 is a PCI-16 card and your 8800 is a PCI-16 card. Physically, they only fit in slot 1, unless your motherboard has two PCI-16 slots, and then the second slot might be throttled to 8x. That is the situation where there isn't much speed difference.

So when you kept saying your 8800 was installed to slot 2, I knew that was wrong and thought
it should say slot 1, because that is the only physical slot in which to install it. The logical conclusion is that your card was not installed to slot 2, not fully seated/not making correct connections, because (later) when you installed the card to slot 1 it worked, meaning it was fully seated.

Another logical conclusion is that you did not buy and install the 8800, because they usually say for PCI-16 prominently on the outside of the box. Hence, you didn't read the installation instructions which say to put it in slot 1, and so you did not feel that the card was not seated properly when the seating of the card was attempted in slot 2. ... I'm not going to read all your posts again. So I don't remember if you reported that a device was actually and not cosmetically, reported installed in slot 2.
If a card is not seated properly it usually will not be reported as a device, at least I think that.

I"'ve a GF 9600 graphics card which is similar to yours and the instructions said to put it in slot 1."

So when you read that sentence and knew that the card was indeed in slot 2, the next thing you should have done is to follow instructions and move the card to slot 1. The first advice of anyone helping you, after they read your report of the slot1 - slot 2 situation, and your model of graphics card, should have been to move the card the card to slot 1. Your misinformation about the 8800 actually being installed in slot 2 contributed to the wrong order of troubleshooting steps. Somebody reading your posts wouldn't realize that you didn't know that you had a pci-16 graphics card, or, that you wouldn't know that it should be installed in a pci-16 slot. That is really basic.

Beginning power users are in no position to bypass the instructions provided by developers and software engineers because they are arrogantly ignorant of their intuitive qualifications.

efp wrote: "Well god damn it, i cant believe it! HA. I placed the card into the PCIEX_16 slot and battaBing, battaBoom its working! Quartz Extreme and Core Image."

You would have a much easier time believing it if you realistically evaluated your capability of diagnosis and instead placed following instructions on a pedestal to which you should ever aspire.

You asserted that I hadn't read your posts because they strongly conflicted with the issues that you thought were important while I thought you should first try a hardware solution: If the card is actually partially inserted in slot 2 (which you misreported as installed) then follow the directions for your type of card and move it to slot 1.

That was the first thing I thought you should do. It was the last thing you thought you should do which is indicated by you saying 'you can't believe it, it worked.' The three most important things an aspiring power user can do is to value reading instructions as a major priority, learn how to use Google effectively, and to practice what is preached: make backups no matter how good you are.

#24
Gringo Vermelho

Gringo Vermelho

    The Jan Bird fix

  • Supervisors
  • 6,224 posts
  • Gender:Male
  • Location:Brazil

The logical conclusion is that your card was not installed to slot 2, not fully seated/not making correct connections, because (later) when you installed the card to slot 1 it worked, meaning it was fully seated.

Ok i am pretty sure that the PCIEX slot which my card is pluged into is #2.
In SytemProfiler under Graphics/displays it shows: PCIe Lane Width: x8
For my MOBO i have PCIEX_4, PCIEX_8 and PCIEX_16. This is why it makes sence for it to be PCI slot #2.



#25
mulcyber

mulcyber

    aspiring geek

  • Members
  • PipPipPipPipPip
  • 285 posts
  • Gender:Male
  • Location:Santa Cruz
  • Interests:2 1TB WD drives, GA-X58A-UD5-Rev2 mobo, 12GB mem, PNY 9600 GT graphics, ALC889, SL 10.6.7, iBoot...
http://www.playtool....lots/slots.html
... "Likewise, you can plug x4 expansion cards into x4, x8, and x16 slots and you can plug x8 expansion cards (if you can find one) into x8 and x16 slots. But you can't "down-plug" PCI-Express cards because an expansion card with a higher number of lanes (the "x" value) physically won't fit into an expansion slot with a lower number of lanes. For example, a x16 expansion card won't fit into a x8, x4, or x1 slot."

It is not physically possible for OP's x16 8800 card to be fully seated/installed in the Pcie-X8 slot.
Cards can be seated well enough to be recognized and reported but they will not have full functionality because there will be missing connections. This is true of the modern i7 cpus. Their pins are small enough that you need a magnifying glass to see them. If one or a few of the pins becomes bent (especially during installation) then the connection/functionality that those provide will be absent. The cpu may be recognized and reported as working for some months before the impact of the missing functionality becomes evident. I've seen a similar half-way with an Ethernet card.

When memory is a suspected culprit, it is standard practice to reseat the memory sticks. When a graphics card is suspected as the cause of a problem, after a visual inspection of which slot the card is installed in, it is standard practice to reseat the graphics card. That should have detected that the card was not seated properly in slot 2.

OP wrote: "
Looking at my MOBO its in PCIEX slot 2, but i dont know how to specify this within the code." I had difficulty in believing this first because I knew it shouldn't fit. But if you take what he said at face value (his first post) then he should have been told to put his pcie-x16 8800 graphics card in the pcie-x16 slot where it belonged. He should not have been encouraged to pursue his idea of obtaining some missing "address" as a solution, after his original post.

In SytemProfiler under Graphics/displays it shows: PCIe Lane Width: x8

This is only distantly relevant to diagnosing OP's problem. What is very relevant is that a pcie-x16 graphics card doesn't belong in pcie-x8 slot, only a pcie-x16 sot, which you eventually got to. I'm more of a (hardware) computer tech than a Hackintosh software guru which accounts for differing generating priorities in our perspectives. You made the mistake of extending credibility to the OP's diagnosis.


#26
efp

efp

    InsanelyMac Protégé

  • Members
  • Pip
  • 45 posts
  • Gender:Male

The 9600 is a PCI-16 card and your 8800 is a PCI-16 card. Physically, they only fit in slot 1, unless your motherboard has two PCI-16 slots, and then the second slot might be throttled to 8x. That is the situation where there isn't much speed difference.

Looking at it now my mobo does have 2x PCI-16 slots with one running at x16 and one at x8(which i was plugged into).

Another logical conclusion is that you did not buy and install the 8800, because they usually say for PCI-16 prominently on the outside of the box. Hence, you didn't read the installation instructions which say to put it in slot 1, and so you did not feel that the card was not seated properly when the seating of the card was attempted in slot 2. ... I'm not going to read all your posts again. So I don't remember if you reported that a device was actually and not cosmetically, reported installed in slot 2.
If a card is not seated properly it usually will not be reported as a device, at least I think that.

I did buy and install 8800 my self(bout 4 years ago) i cant remember if it said it was for PCI-16 it was a long time ago.

I"'ve a GF 9600 graphics card which is similar to yours and the instructions said to put it in slot 1."

When you said 'instructions' it didnt come to mind that your were talking about the GFX Manual install instructions. I was thinking you were talkin about instructions on the DSDT part.
Fair enough. Stupidness on my part but if you would have been a little bit more clear on what instructions you were talkin about i might of got it.
It really wasnt that big of a deal(at least not as big as youre making it to be).

Beginning power users are in no position to bypass the instructions provided by developers and software engineers because they are arrogantly ignorant of their intuitive qualifications.

I did NOT 'bypass' your 'instructions' in no way, for your information. The problem was i did not understand what you were talkin about. If you would have explained it like you just have in this post i would have understood.
Please dont make statements about me being 'arrogantly ignorant' as you DO NOT know me. I am anything BUT arrogant! For your information.
Fair enough you was right, but rubbing it in, aint doing justice.
You must understand that some people are not as able as you might be.
Thanks for your help!



You must follow the syntax in com.apple.Boot.plist

<key>GeneratePStates</key>
	 <string>Yes</string>
	 <key>GenerateCStates</key>
	 <string>Yes</string>




Same as the one I used or..?

Show me the DSDT code you added and your LPC device's dev ID.

Did you find and add method DTGP as well?

If you're still getting the C-state errors after fixing com.apple.Boot.plist, try adding DropSSDT=y as well, and add your SSDT tables that you've dumped with everest. Details here (again :D ):
http://www.insanelym...howtopic=225766 (more details further inside the thread).

Don't worry about the missing key error from fakesmc for now.

Once i changed the syntax in Boot.plist the errors dissapeard.
I added the DSDT code exactlly as you said.(the DTGP Method was added long time ago) and my LPC device is exactly the same as in the guide: 3a16.

In regard to the SSDT tables; Is this necessary to do now since everything is running fine?
My kernel.log is as following:
npvhash=4095
Darwin Kernel Version 10.5.0: Fri Nov  5 23:19:13 PDT 2010; root:xnu-1504.9.17~1/RELEASE_X86_64
vm_page_bootstrap: 1013284 free pages and 27100 wired pages
kext submap [0xffffff7f80600000 - 0xffffff8000000000], kernel text [0xffffff8000200000 - 0xffffff8000600000]
standard timeslicing quantum is 10000 us
mig_table_max_displ = 73
AppleACPICPU: ProcessorId=0 LocalApicId=0 Enabled
AppleACPICPU: ProcessorId=1 LocalApicId=3 Enabled
AppleACPICPU: ProcessorId=2 LocalApicId=1 Enabled
AppleACPICPU: ProcessorId=3 LocalApicId=2 Enabled
calling mpo_policy_init for Quarantine
Security policy loaded: Quarantine policy (Quarantine)
calling mpo_policy_init for Sandbox
Security policy loaded: Seatbelt sandbox policy (Sandbox)
calling mpo_policy_init for TMSafetyNet
Security policy loaded: Safety net for Time Machine (TMSafetyNet)
Copyright (c) 1982, 1986, 1989, 1991, 1993
The Regents of the University of California. All rights reserved.
MAC Framework successfully initialized
using 16384 buffer headers and 4096 cluster IO buffer headers
IOAPIC: Version 0x20 Vectors 64:87
ACPI: System State [S0 S3 S4 S5] (S3)
AppleIntelCPUPowerManagement: initialization complete
RTC: Only single RAM bank (128 bytes)
netkas presents fakesmc, a kext which emulates smc device
mbinit: done (64 MB memory set for mbuf pool)
From path: "uuid", 
Waiting for boot volume with UUID 1F08C695-4630-3CA1-8B23-6D22F53572C7
Waiting on <dict ID="0"><key>IOProviderClass</key><string ID="1">IOResources</string><key>IOResourceMatch</key><string ID="2">boot-uuid-media</string></dict>
Not loading kext com.apple.driver.AppleHDAController - not found and kextd not available in early boot.
USBF:	1.133	AppleUSBEHCI[0xffffff80099a0000]::CheckSleepCapability - controller will be unloaded across sleep
USBF:	1.139	AppleUSBEHCI[0xffffff8009a52000]::CheckSleepCapability - controller will be unloaded across sleep
com.apple.AppleFSCompressionTypeZlib kmod start
com.apple.AppleFSCompressionTypeZlib load succeeded
AppleIntelCPUPowerManagementClient: ready
FireWire runtime power conservation disabled. (2)
FireWire (OHCI) TI ID 8024 PCI now active, GUID 002daf4a00001fd0; max speed s400.
Got boot device = IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/IDE1@1F,2/AppleAHCI/PRT5@5/IOAHCIDevice@0/AppleAHCIDiskDriver/IOAHCIBlockStorageDevice/IOBlockStorageDriver/ST3320620AS Media/IOGUIDPartitionScheme/mac@2
BSD root: disk0s2, major 14, minor 2
Kernel is LP64
Sound assertion "0 == pciVendorProductID" failed in "/SourceCache/AppleHDA/AppleHDA-199.4.12/AppleHDAController/AppleHDAController.cpp" at line 3345 goto Exit
systemShutdown false
Waiting for DSMOS...
IPv6 packet filtering initialized, default to accept, logging disabled
Apple16X50ACPI1: Identified Serial Port on ACPI Device=UAR1
Apple16X50UARTSync1: Detected 16550AF/C/CF FIFO=16 MaxBaud=115200
Previous Shutdown Cause: 3
NVDANV50HAL loaded and registered.
DSMOS has arrived
AppleRTL8169Ethernet: Ethernet address 00:1f:d0:28:13:e3
FakeSMC: key not found BEMB, length - 1
Can you see any major errors besides the AppleHDA and the FakeSMC?

#27
Gringo Vermelho

Gringo Vermelho

    The Jan Bird fix

  • Supervisors
  • 6,224 posts
  • Gender:Male
  • Location:Brazil
Looking good.

If you're satisfied that everything is working fine then there's no need to add your SSDT tables.

You can check how many P-states you've got with IORegistryExplorer, they're shown somewhere in the CPU branches.

AppleHDA and fakesmc errors are not important (the fakesmc error should go away if you use the latest version), but the "USB controller will be unloaded across sleep" can be taken care of. Some suggestions below.

There is a DSDT fix for the Firewire power conservation message as well.

my LPC device is exactly the same as in the guide: 3a16.

Hehe, yes, according to LSPCI it is, but if you used my code example you have now patched it to 3a18. Confirm this with IORegistryExplorer. Anyway if AppleLPC.kext is loading now, then you did it right.
Attached File  Screen_shot_2010_12_27_at_1.25.57_AM.png   50.15KB   23 downloads
3a18 is the device ID for the LPC device on the Intel ICH10, which is supported by AppleLPC.kext (check info.plist inside the kext to see the IDs of all supported devices). My board has ICH10R, where the LPC device has device ID 3a16, which is unsupported by AppleLPC.kext - there are no Macs with ICH10R.
I don't know how important this is or if it's important at all but I picked that device ID because it's the closest to my real device ID. This is why I asked you for your LPC device's device ID. But since your mobo has the ICH10R as well, then you should be fine using my code example as it is.

It's odd you're getting that USB error, I don't have that error message in the logs and since USB is part of the ICH10R as well, your USB controller is the same as mine and there should be no difference.
Maybe it's a BIOS setting. Check that USB 2.0 is enabled and that it's set to run at max speed (480 mb/sec). Set "Legacy USB" to auto and enable USB handoff if your BIOS has that setting.

If nothing changes after changing settings in the BIOS (it should, though) try adding USBBusFix=y to your /Extra/com.apple.Boot.plist.

You made the mistake of extending credibility to the OP's diagnosis.

At no point in this thread did I do such a thing. All I did was provide information on how to find what he was looking for. He would still need this information regardless of where the video card is plugged in.
When doubt was raised, I told him to re-check the location of his video card and make sure that it is plugged into a x16 slot.

I agree with everything you've said, except your video card/Core i7 analogy. As far as I know, broken pins on a CPU would cause malfunction and loss of functionality while using a non x16 slot with a video card would merely cause it to "run slower" but otherwise fully work.

#28
mulcyber

mulcyber

    aspiring geek

  • Members
  • PipPipPipPipPip
  • 285 posts
  • Gender:Male
  • Location:Santa Cruz
  • Interests:2 1TB WD drives, GA-X58A-UD5-Rev2 mobo, 12GB mem, PNY 9600 GT graphics, ALC889, SL 10.6.7, iBoot...
QUOTE (mulcyber @ Dec 26 2010, 07:59 PM) *
"You made the mistake of extending credibility to the OP's diagnosis."

At no point in this thread did I do such a thing. All I did was provide information on how to find what he was looking for. He would still need this information regardless of where the video card is plugged in.
When doubt was raised, I told him to re-check the location of his video card and make sure that it is plugged into a x16 slot.

I agree with everything you've said, except your video card/Core i7 analogy. As far as I know, broken pins on a CPU would cause malfunction and loss of functionality while using a non x16 slot with a video card would merely cause it to "run slower" but otherwise fully work.


His first post contained a mistake, a contradiction. OP claimed that he had his 8800 in a PCIe-x8 slot on his motherboard. He even claimed to have looked it up in his mobo manual:
"I did also look in my mobo manual and its pluged into PCI-EX_8 which is slot 2!" ... "I know that (_ADR, 0x00010000) is PCI slot 1, im not doubting that."

Today efp informed me that he had looked at the mobo again and that it indeed had two pcie-x16 slots and apparently no dedicated pcie-8x slot; the 2 slot was throttled to 8x speed. The difference between a pcie-x16 slot and a pcie-8x slot, it the an pcie-x16 graphics card like his 8800 will not physically fit into the pcie-x8 slot, regardless of the speed issue. That has nothing to do with a pcie-x8 card being able to fit into a pcie-x16 mobo slot.

Once you can confirm that the 8800 is in the least useful slot, slot 2, then the first step in solving his problem is to move the 8800 to slot 1. Now I'm entering into your area of expertise, so perhaps my next statement is mistaken. The OP wanted to know how to obtain the address of the second slot; my view is that once the 8800 card is removed from slot 2 and moved to slot 1, then determining the address of a slot (2) which now has no card occupying it, is a waste of time. Moving the card to slot 1 is the first step in troubleshooting or fixing up his system. Running tools as you provided is a subsequent step with no time wasted looking for a piece of information which will turn out to be useless (the address of slot 2). So my criticism is that you gave him what he asked for rather than what he needed. At least not in the right sequence of steps, which did not prioritize fixing the hardware/slot problem first and then doing software tests. That is the correct order to fix a computer and at this point I don't see how a Hackintosh system changes that order. It is really a lot like buying Mac compatible hardware first, before building your system and then installing software. But maybe as a Hackintosh guru you can refute that reasoning.

#29
Gringo Vermelho

Gringo Vermelho

    The Jan Bird fix

  • Supervisors
  • 6,224 posts
  • Gender:Male
  • Location:Brazil

an pcie-x16 graphics card like his 8800 will not physically fit into the pcie-x8 slot

If you could, it will work fine but run at x8 bandwidth. The card edge connector is slotted, you can fit any PCI-E card in any link-width PCI-E slot, although you would have to tie the video card to something, otherwise it would probably fall out....all the required connections exist on PCI-E x1, as far as I know the rest only serve to up the bandwidth.

I know that you know this, just saying.

According to the test at Tom's Hardware (link on page one of this thread) not all motherboards can work with a video card at x1 speeds though. But once they found one that did, the video cards they tested worked fine. They used the x16 slot but put taped over the video card edge connector to test it at slower link speeds.

my criticism is that you gave him what he asked for rather than what he needed.

True, I didn't consider at all the location of the video card until you brought it up.

I don't disagree with you, it's just that I assumed from the start that there was a reason he was not using slot #1.

#30
mulcyber

mulcyber

    aspiring geek

  • Members
  • PipPipPipPipPip
  • 285 posts
  • Gender:Male
  • Location:Santa Cruz
  • Interests:2 1TB WD drives, GA-X58A-UD5-Rev2 mobo, 12GB mem, PNY 9600 GT graphics, ALC889, SL 10.6.7, iBoot...

According to the test at Tom's Hardware (link on page one of this thread) not all motherboards can work with a video card at x1 speeds though. But once they found one that did, the video cards they tested worked fine. They used the x16 slot but put taped over the video card edge connector to test it at slower link speeds.

True, I didn't consider at all the location of the video card until you brought it up.

I don't disagree with you, it's just that I assumed from the start that there was a reason he was not using slot #1.


efp first wrote: "Im trying to patch my DSDT so my GeForce 8800GT 512Mb graphics cardPosted Image would get recognised."

I spent 4 hours just learning how to edit/save a dsdt file without getting an error message, so I'm offering a bit of a surmise. When efp changed the card to slot 1, it was immediately recognized. That would seem to indicate that those simple generic DSDTs in the database are set up to recognize or to write a pcie-x16 card by default in slot 1 and not slot 2. Do you think so?

There was a new release of that automatic dsdt creator this month. I thought it would read the hardware first to create the dsdt, like the Ubuntu method. But after I renamed it to DSDT.aml
and put it on the Desktop and ran it again under Multiboot (userdsdt) the settings drastically reduced my resolution. I had to fix it by running kexts again next. I think the logic of DSDTs is hard to follow and more than a little arcane. efp impressed me with his intrepid plunge into what is for me the murky waters of the dread DSDT sea. :P Thanks for your responses, Happy New Year.

#31
Gringo Vermelho

Gringo Vermelho

    The Jan Bird fix

  • Supervisors
  • 6,224 posts
  • Gender:Male
  • Location:Brazil

I spent 4 hours just learning how to edit/save a dsdt file without getting an error message, so I'm offering a bit of a surmise.


I've spent two years and I still have to google/forum search every compile error/warning. :P

When efp changed the card to slot 1, it was immediately recognized. That would seem to indicate that those simple generic DSDTs in the database are set up to recognize or to write a pcie-x16 card by default in slot 1 and not slot 2. Do you think so?

Yeah probably.
I don't know much about it. I haven't spent a lot of time with injecting graphics via DSDT and I try to avoid using automatic-anything tools when I can.

There was a new release of that automatic dsdt creator this month. I thought it would read the hardware first to create the dsdt, like the Ubuntu method. But after I renamed it to DSDT.aml
and put it on the Desktop and ran it again under Multiboot (userdsdt) the settings drastically reduced my resolution. I had to fix it by running kexts again next.


This is why I try to avoid using this kind of tool. I'd rather read for days and research so I can do things manually than take my chances with automatic tools.
Heh, the problem is I usually forget most of what I've learned again after a short time. Sometimes when I come across one of my old forum posts from when I was knee-deep in researching something, I don't understand half of it. :P

Happy New Year to you and yours too, and kudos to efp for sticking with it.

#32
efp

efp

    InsanelyMac Protégé

  • Members
  • Pip
  • 45 posts
  • Gender:Male

Looking good.

If you're satisfied that everything is working fine then there's no need to add your SSDT tables.

You can check how many P-states you've got with IORegistryExplorer, they're shown somewhere in the CPU branches.

AppleHDA and fakesmc errors are not important (the fakesmc error should go away if you use the latest version), but the "USB controller will be unloaded across sleep" can be taken care of. Some suggestions below.

There is a DSDT fix for the Firewire power conservation message as well.


Hehe, yes, according to LSPCI it is, but if you used my code example you have now patched it to 3a18. Confirm this with IORegistryExplorer. Anyway if AppleLPC.kext is loading now, then you did it right.
Attached File  Screen_shot_2010_12_27_at_1.25.57_AM.png   50.15KB   23 downloads
3a18 is the device ID for the LPC device on the Intel ICH10, which is supported by AppleLPC.kext (check info.plist inside the kext to see the IDs of all supported devices). My board has ICH10R, where the LPC device has device ID 3a16, which is unsupported by AppleLPC.kext - there are no Macs with ICH10R.
I don't know how important this is or if it's important at all but I picked that device ID because it's the closest to my real device ID. This is why I asked you for your LPC device's device ID. But since your mobo has the ICH10R as well, then you should be fine using my code example as it is.

It's odd you're getting that USB error, I don't have that error message in the logs and since USB is part of the ICH10R as well, your USB controller is the same as mine and there should be no difference.
Maybe it's a BIOS setting. Check that USB 2.0 is enabled and that it's set to run at max speed (480 mb/sec). Set "Legacy USB" to auto and enable USB handoff if your BIOS has that setting.

If nothing changes after changing settings in the BIOS (it should, though) try adding USBBusFix=y to your /Extra/com.apple.Boot.plist.


At no point in this thread did I do such a thing. All I did was provide information on how to find what he was looking for. He would still need this information regardless of where the video card is plugged in.
When doubt was raised, I told him to re-check the location of his video card and make sure that it is plugged into a x16 slot.

I agree with everything you've said, except your video card/Core i7 analogy. As far as I know, broken pins on a CPU would cause malfunction and loss of functionality while using a non x16 slot with a video card would merely cause it to "run slower" but otherwise fully work.


I cant manage to find the Pstates in IORegistryExplorer but in VooDooMonitor it shows:
Attached File  Screen_shot_2010_12_27_at_15.25.58.png   28.98KB   4 downloads however looking at Status tab:Attached File  Screen_shot_2010_12_27_at_15.27.02.png   30.33KB   4 downloads My temps seem high! last time i checked it was around 40.
Should i be worried? :(

I changed the fakesmc.kext to 2.5, which i believe is the latest one. Now it gives me a slightly different error
FakeSMC: key info not found MSDS, length - 6

In regards to the USB controller, i looked in the BIOS. I've got USB 2.0 but no option for running at different speeds.
I also dont have USB Handoff. I have a Legacy USB StorageDetect which i enabled but didnt make any difference.
I also tried by adding the entry to boot.plist but again, it hasn't made any difference.
I dont really put the computer to sleep so i gues its fine as it is.\

Regarding AppleLPC kext and the DSDT, i changed them to 3a16. So i think its fine. AppleLPC is running.

And FireWire is fine. I dont use it. If ever i need it, im sure ill figure out how to patch it.

#33
Gringo Vermelho

Gringo Vermelho

    The Jan Bird fix

  • Supervisors
  • 6,224 posts
  • Gender:Male
  • Location:Brazil

Regarding AppleLPC kext and the DSDT, i changed them to 3a16.

wtf, no dude, I told you in post #27, you have changed it to 3a18. 3a16 is the original ICH10R LPC device ID, which doesn't work.
You can clearly see in the plist from AppleLPC.kext that only 3a18 is supported, which is why it loads for you now.
Attached File  Screen_shot_2010_12_27_at_4.11.15_PM.png   25.4KB   7 downloads
Location of CPU power states in ioreg:
Attached File  Screen_shot_2010_12_27_at_4.06.56_PM.png   137.91KB   8 downloads

The latest version of Fakesmc is 3.0, which can be found at the ProjectOSX forums. It works from /Extra/Extensions now.

Your CPU temps do seem a bit high. My 2 cores (Core 2 Duo E8500 3.16GHz) are usually around 37 degrees celcius when idle. At full load they'll barely go above 50 degrees.

Try this:

Make sure you have ACPI 2.0, ACPI APIC and all "advanced CPU features" (except CPU ID Limit) enabled in the BIOS.
Use Everest under Windows to extract your SSDT tables, as shown in the screenshots here:
http://www.insanelym...p;#entry1468558
name the SSDT tables as described here:
http://www.insanelym...howtopic=225766
Place the SSDT tables in /Extra and add DropSSDT=y to your com.apple.Boot.plist.
Reboot and check temps.

#34
efp

efp

    InsanelyMac Protégé

  • Members
  • Pip
  • 45 posts
  • Gender:Male

wtf, no dude, I told you in post #27, you have changed it to 3a18. 3a16 is the original ICH10R LPC device ID, which doesn't work.
You can clearly see in the plist from AppleLPC.kext that only 3a18 is supported, which is why it loads for you now.
Attached File  Screen_shot_2010_12_27_at_4.11.15_PM.png   25.4KB   7 downloads
Location of CPU power states in ioreg:
Attached File  Screen_shot_2010_12_27_at_4.06.56_PM.png   137.91KB   8 downloads

The latest version of Fakesmc is 3.0, which can be found at the ProjectOSX forums. It works from /Extra/Extensions now.

Your CPU temps do seem a bit high. My 2 cores (Core 2 Duo E8500 3.16GHz) are usually around 37 degrees celcius when idle. At full load they'll barely go above 50 degrees.

Try this:

Make sure you have ACPI 2.0, ACPI APIC and all "advanced CPU features" (except CPU ID Limit) enabled in the BIOS.
Use Everest under Windows to extract your SSDT tables, as shown in the screenshots here:
http://www.insanelym...p;#entry1468558
name the SSDT tables as described here:
http://www.insanelym...howtopic=225766
Place the SSDT tables in /Extra and add DropSSDT=y to your com.apple.Boot.plist.
Reboot and check temps.


Sorry i was in another world. Been doing loads of university work, i've just been real tired.
What got me confused was reading another thread which DID show changing the LPC to 3a16. But i donno maybe i missread that too...

I did extract the ACPI tables and added DropDDST. Perhaps it did help. My temps at idle are at around 39-40. But installing LittleSnitch has raised by 1 or 2.
The funny thing i dont understand is in my BIOS it shows CPU temp around 28-29C.
I enabled a CPU fan warning if the temps go above 60 so i think i should be alright.

I think thats it. Thank you very much for all the help! I learned alot! (at least in my book)

Happy New Year!!!!





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

© 2017 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy