Jump to content

Sluggish operation, no sleep, no restart, no shutdown...


skysea76
 Share

53 posts in this topic

Recommended Posts

I've been fighting with my hack for some time now.

Now (finally) I have fully operational HW, so I'm really trying to get a good hack running!

I've fixed a lot of stuff thru DSDT, but I'm a noob and my DSDT still needs a lot of work...

There are many things not working with my board:

1. Sleep

2. Since I updated to BIOS v2.8, and decided to start a DSDT from scratch, Shutdown & Restart

3. Magic Mouse: don't ask me why, but it's super laggy.

4. USB ports? I edited them, but I'm not sure I got it right.

5. I added Device (EC and Method (NOTI, but I don't know what they do/if I need them

6. GPU temps are not reported

7. I've been getting some random freezes lately. I booted w/ the SL DVD and repaired disk & permissions, it seems to have fixed that (30' without a beach-ball and counting). The system does seem VERY slow for a few secs now and then, and the mouse gets laggy. Edit: removing a internal SATA drives I added yesterday seems to have fixed this, don't ask me why.

 

I also imagine my methods are rubbish, there is a lot of unused/bad code in there and code missing for better functioning of things.

 

What IS working:

1. Speedsteping & C-States auto-generated by AnVal. I'm OC to 3.8GHz, and it works well (with speedsteping and all), however, if necessary, I'll go to stock.

2. HDDs. SATA is edited, and it seems to work (no orange icons, ~100MB/s in-between internal drives).

3. Networking

4. Audio

5. Full video (ie, QE/CI, etc)

 

I'm attaching the original DSDT for my BIOS, and my modded version.

Archive.zip

Here is my last boot log:

Boot.log.txt

Link to comment
Share on other sites

i had sluggishness and was IRQ's not liking each other in devices. look into HPET or the _PRT of PCI devices.. it assigns the IRQ to Device _ADR 0x00.....

likely sound or video or lan sharing an irq and dont get along with eachother

Link to comment
Share on other sites

i had sluggishness and was IRQ's not liking each other in devices. look into HPET or the _PRT of PCI devices.. it assigns the IRQ to Device _ADR 0x00.....

I made the standard changes to them. Now that you mention it, I think I had done some more advanced editing in my old DSDT... I'll take a look at it.

Link to comment
Share on other sites

then copy small sections at a time from old to new.. in the _PRT

best idea is to save dsl of both and compare them. i use tkdif to compare old.dsl and new.dsl (test version of aml)

to boot a dsdt i do in chameleon screen -v DSDT=hd(0,2)/Extra/test.aml (if its in hidden EFI its hd(0,1) :) )

if it locks up. reboot and try a new section of old dsdt. to new test.aml

Link to comment
Share on other sites

_PRT for PCI0:

Method (_PRT, 0, NotSerialized)
		{
			If (PICM)
			{
				Return (AR00)
			}

			Return (PR00)
		}

 

For P0P1, etc:

Method (_PRT, 0, NotSerialized)
			{
				If (PICM)
				{
					Return (AR01)
				}

				Return (PR01)

 

AR01 and PR01 change according to the device, so for P0P4 AR04 & PR04.

 

Is all of this right?

Link to comment
Share on other sites

yes thats ok. its pointing to table of irqs to use depending on mode pic

those tables have 0x11 and 0x010 and more..that is the irq,s

search for AR01 and u will see POP1 is assigned irq 13 .. try 11 or 10 first.

 

lookup what is in ioregystry explorer.. the device then look at IOinteruptspecifiers.

Link to comment
Share on other sites

yes thats ok. its pointing to table of irqs to use depending on mode pic

those tables have 0x11 and 0x010 and more..that is the irq,s

search for AR01 and u will see POP1 is assigned irq 13 .. try 11 or 10 first.

 

lookup what is in ioregystry explorer.. the device then look at IOinteruptspecifiers.

Sorry I took so long to reply...

I didn't really get all of that :wacko: Could you put it in plain (well maybe not so plain, but plainer) English for me?

Link to comment
Share on other sites

search for slow sata fix HPET IRQ in google.

try getting a dsdt auto-patched

http://www.insanelymac.com/forum/index.php?showtopic=235523

I'm currently (as of last boot) getting some "sound assertion errors" etc etc, probably have a damaged volume (not sound volume, partition/volume :) )

Anyways, I patched HPET already. Maybe you wan't to check if it's right? Because of what I just mentioned, I can't access my DSDT for now, but tomorrow I'll post my Device (HPET), Device (RTC), etc.

Link to comment
Share on other sites

sound assertion is normal if u have applehda in extensions. as u using voodoohda (get applehda disabler if using voodoohda ) also if u add SMBUS device id of the "mikey"... i find its not loaded in macbook ioreg so i dont add it.

Link to comment
Share on other sites

As I said I would, I'm posting my relevant devices:

EDIT: I had made some changes to HPET that didn't get saved, so I copied the old version. Here is the current one.

Device (HPET)
			{
				Name (_HID, EisaId ("PNP0103"))
				Name (CRS, ResourceTemplate ()
				{
					IRQNoFlags ()
						{0}
					IRQNoFlags ()
						{8}
					Memory32Fixed (ReadOnly,
						0xFED00000,		 // Address Base
						0x00000400,		 // Address Length
						)
				})
				OperationRegion (^LPCR, SystemMemory, 0xFED1F404, 0x04)
				Field (LPCR, AnyAcc, NoLock, Preserve)
				{
					HPTS,   2, 
						,   5, 
					HPTE,   1, 
							Offset (0x04)
				}

				Method (_STA, 0, NotSerialized)
				{
					Return (0x0F)
				}

				Method (_CRS, 0, NotSerialized)
				{
					Return (CRS)
				}
			}

 

Device (RTC)
			{
				Name (_HID, EisaId ("PNP0B00"))
				Name (_CRS, ResourceTemplate ()
				{
					IO (Decode16,
						0x0070,			 // Range Minimum
						0x0070,			 // Range Maximum
						0x00,			   // Alignment
						0x02,			   // Length
						)
				})
			}

 

Device (TIMR)
			{
				Name (_HID, EisaId ("PNP0100"))
				Name (_CRS, ResourceTemplate ()
				{
					IO (Decode16,
						0x0040,			 // Range Minimum
						0x0040,			 // Range Maximum
						0x00,			   // Alignment
						0x04,			   // Length
						)
				})
			}

Device (IPIC)
			{
				Name (_HID, EisaId ("PNP0000"))
				Name (_CRS, ResourceTemplate ()
				{
					IO (Decode16,
						0x0020,			 // Range Minimum
						0x0020,			 // Range Maximum
						0x00,			   // Alignment
						0x02,			   // Length
						)
					IO (Decode16,
						0x00A0,			 // Range Minimum
						0x00A0,			 // Range Maximum
						0x00,			   // Alignment
						0x02,			   // Length
						)
				})
			}

 

 

sound assertion is normal if u have applehda in extensions. as u using voodoohda (get applehda disabler if using voodoohda ) also if u add SMBUS device id of the "mikey"... i find its not loaded in macbook ioreg so i dont add it.

I fixed that by reverting to 32b.

Link to comment
Share on other sites

Ok, after some edits, restart is fixed, the system isn't laggy, and the magic mouse works great.

So my biggest problems right now are shutdown and sleep...

 

Good luck with those 2. They are hard to track down and even harder to fix.

 

I have been trying to figure out where the sleep is in the DSDT for a about 6 months. I have all the states set and my system sees s3 but does it work... Nope.. is it related to USB nope.. any other ideas out there nope..

 

As for shutdown its also a mystery one. I have shutdown work with help from EvOreboot.kext. Without this kext my shutdown becomes a restart. Trying to lock down where that happens in the DSDT is virtually impossible. I'll be following your topic to see if you get any insight on these 2 as I have had no luck so far.

Link to comment
Share on other sites

Good luck with those 2. They are hard to track down and even harder to fix.

 

I have been trying to figure out where the sleep is in the DSDT for a about 6 months. I have all the states set and my system sees s3 but does it work... Nope.. is it related to USB nope.. any other ideas out there nope..

 

As for shutdown its also a mystery one. I have shutdown work with help from EvOreboot.kext. Without this kext my shutdown becomes a restart. Trying to lock down where that happens in the DSDT is virtually impossible. I'll be following your topic to see if you get any insight on these 2 as I have had no luck so far.

I used to have shutdown working great, with my old DSDT.

Link to comment
Share on other sites

when sleep fails sometimes it says in logs the device. i find if u look at scope _GPE in there find the PCI entry and get the number or letter mine is 0B .. i added that to HDEF _PWR and let me shutdown the x3100 inspiron 1520. for sleep i found the EHCI hack only no USB1-5 hack needed then sleep works. and the _PTS to shutdown on most computers.. if its nvidia laptop then shutdown has issue also if sleep has issues .. then shutdown might too.

make sure u DONT use usb related .kext's or sleepenabler!!

 

one more thing . i have been using OSID of Windows 2006 for(Replace with) "Darwin" and it lets fan throttle better.

Link to comment
Share on other sites

when sleep fails sometimes it says in logs the device. i find if u look at scope _GPE in there find the PCI entry and get the number or letter mine is 0B .. i added that to HDEF _PWR and let me shutdown the x3100 inspiron 1520. for sleep i found the EHCI hack only no USB1-5 hack needed then sleep works. and the _PTS to shutdown on most computers.. if its nvidia laptop then shutdown has issue also if sleep has issues .. then shutdown might too.

make sure u DONT use usb related .kext's or sleepenabler!!

 

one more thing . i have been using OSID of Windows 2006 for(Replace with) "Darwin" and it lets fan throttle better.

Here is my Scope (\_GPE):

Scope (\_GPE)
	{
		Method (_L0B, 0, NotSerialized)
		{
			Notify (\_SB.PCI0.P0P1, 0x02)
			Notify (\_SB.PWRB, 0x02)
		}

		Method (_L1D, 0, NotSerialized)
		{
			\_SB.PCI0.LPCB.SIOH ()
		}

		Method (_L08, 0, NotSerialized)
		{
			\_SB.PCI0.LPCB.SIOH ()
		}

		Method (_L03, 0, NotSerialized)
		{
			Notify (\_SB.PCI0.UHC1, 0x02)
			Notify (\_SB.PWRB, 0x02)
		}

		Method (_L04, 0, NotSerialized)
		{
			Notify (\_SB.PCI0.UHC2, 0x02)
			Notify (\_SB.PWRB, 0x02)
		}

		Method (_L0C, 0, NotSerialized)
		{
			Notify (\_SB.PCI0.UHC3, 0x02)
			Notify (\_SB.PWRB, 0x02)
		}

		Method (_L20, 0, NotSerialized)
		{
			Notify (\_SB.PCI0.UHC4, 0x02)
			Notify (\_SB.PCI0.UHC7, 0x02)
			Notify (\_SB.PWRB, 0x02)
		}

		Method (_L0D, 0, NotSerialized)
		{
			Notify (\_SB.PCI0.EHC1, 0x02)
			Notify (\_SB.PCI0.EHC2, 0x02)
			Notify (\_SB.PCI0.IGBE, 0x02)
			Notify (\_SB.PWRB, 0x02)
		}

		Method (_L0E, 0, NotSerialized)
		{
			Notify (\_SB.PCI0.UHC4, 0x02)
			Notify (\_SB.PWRB, 0x02)
		}

		Method (_L05, 0, NotSerialized)
		{
			Notify (\_SB.PCI0.UHC5, 0x02)
			Notify (\_SB.PWRB, 0x02)
		}

		Method (_L09, 0, NotSerialized)
		{
			Notify (\_SB.PCI0.P0P4, 0x02)
			Notify (\_SB.PCI0.P0P5, 0x02)
			Notify (\_SB.PCI0.P0P6, 0x02)
			Notify (\_SB.PCI0.P0P7, 0x02)
			Notify (\_SB.PCI0.P0P8, 0x02)
			Notify (\_SB.PCI0.P0P9, 0x02)
			Notify (\_SB.PCI0.NPE1, 0x02)
			Notify (\_SB.PCI0.NPE2, 0x02)
			Notify (\_SB.PCI0.NPE3, 0x02)
			Notify (\_SB.PCI0.NPE4, 0x02)
			Notify (\_SB.PCI0.NPE5, 0x02)
			Notify (\_SB.PCI0.NPE6, 0x02)
			Notify (\_SB.PCI0.NPE7, 0x02)
			Notify (\_SB.PCI0.NPE8, 0x02)
			Notify (\_SB.PCI0.NPE9, 0x02)
			Notify (\_SB.PCI0.NPEA, 0x02)
			Notify (\_SB.PWRB, 0x02)
		}
	}

 

From what I could gather:

0B is PCI related (POP1 is a slot, right?)

03, 04, 0C, 20, 0D, 0E and 05 are USB related

09 is related to a whole bunch of PCI slots (unused ones maybe?)

That leaves 1D and 08, I can't figure these out. They are linked to a method in LPCB which "notifies" PWRB (how does this differ from "store", which I take to be equivalent to assign) 0x02.

I have Method (_PWR in HDEF, but how do I add what?

I didn't really get the EHCI part.

It's not an nVidia laptop, but I'm not using any USB kexts (or sleep-enabler).

I just trashed all the OS detection related stuff.

Link to comment
Share on other sites

BIG UPDATE GUYS:

Shutdown just started working.

Sleep now seems to "go to sleep", but if I press the PWB or the mouse, it will start to power up (ie, lights come on, fans, etc) but even before the screen comes on it reboots. Then I can just start up (well, you will notice the HFS-J doing it's work because of the bad shutdown). Also, playing around with kexts, I got GPU temps going. Related to this, on boot, I get:

NVClockX: Speed: 399
NVClockX: 350
NVClockX: Speed:399

What is this detecting? My GPU clock speed (but it's actually 550!)?

Other issues with monitoring:

Mem voltage is reported as .12v, lol, it should be 1.6

I have two fans attached to the MB: the CPU fan and an extra exhaust. In the BIOS, I have the CPU fan set to AUTO (target=45ºC, level 5). The exhaust (http://www.newegg.com/Product/Product.aspx...N82E16835103091) is a three pin connector, hence I can only select the "level" (which goes from 1-4 I think, say I have it set at 2). I only get one fan speed read, Fan 0, and it's around 1000RPM, so I'm guessing this is my exhaust fan, right? If so, why isn't my CPU fan detected? And what about the GPU fan?

Some more stuff: I get CPU A, B, C, and D. In iStat Menus prefs, I set it to show multiple CPU cores as one, but it still shows A, B... so I believe that (iStat at least) doesn't like that nomenclature for CPU cores... Northbridge is named Northbridge 1, vCore CPU Voltage 1, and the heatsink Heatsink A; it would also be nice to remove the 1s and As, since I don't have 2 northbridges or CPUs, lol.

 

Attached are all the latest files (original/edited DSDT, boot log, extensions, com.apple..., smbios.plist) from my config.

 

Files.zip

Link to comment
Share on other sites

What/whose is that DSDT?

I don't think I need any further patching, are you saying that I don't need the patches I already applied?

this must be what you need

DTGP

HID/CID

IRQs

REMOVE

RENAME

SMBUS

SHUTDOWN

FIX WARNINGS

HPET

 

Look for USBs

they appear as integrated?

Use this DSDT and see

 

LPC works natively?

Link to comment
Share on other sites

 Share

×
×
  • Create New...