Jump to content

DSDT Patcher


fassl
 Share

752 posts in this topic

Recommended Posts

i tried new version of chameleon dsdt override, but still no luck. Chameleon wrote messages: New DSDT loaded. ...... No ACPI Version 2. Ignoring.

 

Everything ok, but HPET still dont work with AppleIntelCPUManagement.kext.

 

Or perhaps you have some kind of disabler kext installed. I would try it again on a clean install

Link to comment
Share on other sites

I was thinking about... This trick can't solve some commons problems ?

 

For example use of PCGenUSB to make USB 2.0 working (force acquiring ownership), or the use of some resolvers for SMBios (By modding DMI ???? no ?)...?

Battery ---yes i've seen it somewhere....? (Don't think about Audio and Graphics...)

 

....Just to know what we could hope !!!?

 

Thanks man, your work is great.

 

What do you think about OpenBIOS ???

Link to comment
Share on other sites

I was thinking about... This trick can't solve some commons problems ?

 

For example use of PCGenUSB to make USB 2.0 working (force acquiring ownership),

I don't know how exactly ownership is acquired probably modifing DSDT could help (since ACPI is the main interface to whatever stays from BIOS in protected mode) but perhaps not if problem is in reality somehow controlled-related. Will have a look at ACPI specs

or the use of some resolvers for SMBios

SMBIOS can indeed be loaded the same way as modified DSDT. I'll probably implement it.

Battery ---yes i've seen it somewhere....?

Again I don't know the exact protocol for battery on macs but it seems to involve SMC. And fassl already began emulating it. Let's wish him good luck

(Don't think about Audio and Graphics...)

Perhaps even that I heard that people make the built-in audio information appear by BIOS mod. Now I'm also looking for people having "VGA dongle" problem since perhaps it can be resolved by DSDT-mod

 

About coreboot: to use coreboot you need to flash your BIOS. Actually flashing BIOS you could modify DSDT since a long time OriginalMACNUT is doing this. Using coreboot is probably risky if you have no way of recovering your old BIOS. Also I don't think that coreboot wil ever support more than a handful of mobos. But I would like to be proven wrong about this last statement

Link to comment
Share on other sites

Again i was wondering... :D :D :)

 

With DSDT could you emulate a "redirection" ?

 

Explication :

I have a card reader not recognized by OS X, like a lot of users, because it seems to be not attached to any USB, Firewire or PCMCIA/ExpressCard controller:

 

08:03.1 SD Host controller [0805]: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter [1180:0822] (rev 22)
08:03.2 System peripheral [0880]: Ricoh Co Ltd R5C843 MMC Host Controller [1180:0843] (rev 12)
08:03.3 System peripheral [0880]: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter [1180:0592] (rev 12)
08:03.4 System peripheral [0880]: Ricoh Co Ltd xD-Picture Card Controller [1180:0852] (rev 12)

 

These components works natively for some users (like EEE users...), because they're attached to usb controller...That's why i have this idea...

These "SD Host controller" and "System peripherical" needs drivers (seems not to be USB or PCMCIA...), or perhaps could you attach them to usb, firewire (who has the same brand for me and works as an OHCI component=RICOH) or expresscard controller ???

 

No ?

I'm dreaming... But for those simple composants...perhaps...? :P^_^:huh: :huh: :huh: :huh: :huh:

Link to comment
Share on other sites

These components works natively for some users (like EEE users...), because they're attached to usb controller...That's why i have this idea...

These "SD Host controller" and "System peripherical" needs drivers (seems not to be USB or PCMCIA...), or perhaps could you attach them to usb, firewire (who has the same brand for me and works as an OHCI component=RICOH) or expresscard controller ???

At least on Aspire One the cardreaders (it has two) are attached on PCIe hotplug. They appear only when the card is inserted. But if OS doesn't support PCIe hotplug it doesn't see devices not initialised by BIOS. Perhaps sth can be done to make hotplug devices permanent (but I really doubt about it). You can also try inserting a card before boot. But even if you manage to show cardreader to OSX it won't help you much since unlike USB-attached cardreaders they need their own drivers and since AFAIK no mac comes with built-in cardreader your only option is to write your own driver.

P.S. I had a look and can say that writing a routine for overriding SMBIOS is easy but I wonder whether such solution would be practical since after nearly every hw change (eg RAM upgrade) you would need to recreate and repatch SMBIOS dump. Another solution would be to make the bootloader patch SMBIOS for known issues.

@superhai: since you have written SMBIOSresolver would you be interested in helping with SMBIOS patching in Chameleon? (just point me out what's generally needs to be fixed)

Link to comment
Share on other sites

Is it possible that after loading appleintelcpupowermanagment.kext my CPU become 2x slower??? Xbench says just that. Before cpu=78 mark, after cpu=36 mark. When i unload kext CPU jump to 78. Is that normal or what??? :)

Link to comment
Share on other sites

Is it possible that after loading appleintelcpupowermanagment.kext my CPU become 2x slower??? Xbench says just that. Before cpu=78 mark, after cpu=36 mark. When i unload kext CPU jump to 78. Is that normal or what???

 

the CPU PM kext is Apple's version of speedstep I believe, and it does throttle cpu, you can actually confirm this with superhai power management additions, by watching the application, not being able to throttle your cpu to your maximum cpu freq.

 

So either you disable it, or you can try messing around with the power management for pstates, or you have to edit the pstates in your dsdt. Any of those are a possibility.

 

I hope this clears that up.

Link to comment
Share on other sites

@superhai: since you have written SMBIOSresolver would you be interested in helping with SMBIOS patching in Chameleon? (just point me out what's generally needs to be fixed)

 

There are certain things that are more important than others. But the values I change in SMBIOSResolver are the following that smbios uses:

 

Table Type 0 (bios):

version (MBP41.88Z.00C1.B00.0802091544)

 

Table Type 1 (system):

manufacturer (Apple Inc.)

productname (MacBookPro4,1)

version (1.0)

serial-number (SECRETSERIAL)

 

Table Type 4 (cpu):

external-clock

maximum-clock

 

Table Type 17 (memory):

manufacturer (Unknown)

memorytype

memoryspeed

serialnumber (Unknown)

partnumber (Unknown)

devicelocator

banklocator

 

You should check if they contain a sane value, and if not update with a dummy value (what I have in parentesis is what I used). Except clock and memoryspeed, which should be calculated or provided from some kind of input file, for memory you could also make routine to read spd data via smbus, but i dont think that is feasible due to space. Serialnumbers could be made more appleish or just provide whatever is there.

Link to comment
Share on other sites

You should check if they contain a sane value, and if not update with a dummy value (what I have in parentesis is what I used). Except clock and memoryspeed, which should be calculated or provided from some kind of input file, for memory you could also make routine to read spd data via smbus, but i dont think that is feasible due to space. Serialnumbers could be made more appleish or just provide whatever is there.

Thank you. I will implement it soon but first I want to improve hw support of OSX of my own computer. I think that the best way would be that Chameleon replaces theese fields from ones present in config file if present. Then an example config file can be easily put with chameleon distribution. And the space restriction has been recently lifted

Link to comment
Share on other sites

Again i was wondering... :D :D :thumbsup_anim:

 

With DSDT could you emulate a "redirection" ?

 

Explication :

I have a card reader not recognized by OS X, like a lot of users, because it seems to be not attached to any USB, Firewire or PCMCIA/ExpressCard controller:

 

08:03.1 SD Host controller [0805]: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter [1180:0822] (rev 22)
08:03.2 System peripheral [0880]: Ricoh Co Ltd R5C843 MMC Host Controller [1180:0843] (rev 12)
08:03.3 System peripheral [0880]: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter [1180:0592] (rev 12)
08:03.4 System peripheral [0880]: Ricoh Co Ltd xD-Picture Card Controller [1180:0852] (rev 12)

 

These components works natively for some users (like EEE users...), because they're attached to usb controller...That's why i have this idea...

These "SD Host controller" and "System peripherical" needs drivers (seems not to be USB or PCMCIA...), or perhaps could you attach them to usb, firewire (who has the same brand for me and works as an OHCI component=RICOH) or expresscard controller ???

 

No ?

I'm dreaming... But for those simple composants...perhaps...? :P^_^:lol:;) ;) :huh: :huh:

 

 

Most internal card readers are attached to the usb bus. just like RICOH(i have one too), i can see my controller in usb device list(with chunnan's pcmcia driver patch) but there is no driver to load...

 

But: i have an "old" pcmcia 5in1 card reader, inserted it into my pcmcia port and voila: recognized by osx(hotplug) and i can read all supported cards inserted. So i think there has to be a driver integrated in osx, but i don't know where to look for or which driver is loaded when card reader inserted.....

 

Perhaps someone can help me to search so i could take a look at it...

Link to comment
Share on other sites

I've got following problem while compiling fixed dsdt:

 

./dsdt_fixed.txt  1676:								 Name (XX_0, Zero)
Error	4111 -		  Creating a named object in a While loop ^ 

./dsdt_fixed.txt  1750:								 Name (XX_0, Zero)
Error	4111 -		  Creating a named object in a While loop ^ 

./dsdt_fixed.txt  1933:							 Name (XX_0, Zero)
Error	4111 -	  Creating a named object in a While loop ^ 

./dsdt_fixed.txt  1945:										 Name (XX_1, Zero)
Error	4111 -				  Creating a named object in a While loop ^ 

./dsdt_fixed.txt  1978:											 Name (XX_2, Zero)
Error	4111 -					  Creating a named object in a While loop ^ 

./dsdt_fixed.txt  2011:												 Name (XX_3, Zero)
Error	4111 -						  Creating a named object in a While loop ^ 

./dsdt_fixed.txt  2058:													 Name (XX_4, Zero)
Error	4111 -							  Creating a named object in a While loop ^ 

./dsdt_fixed.txt  2091:														 Name (XX_5, Zero)
Error	4111 -								  Creating a named object in a While loop ^ 

./dsdt_fixed.txt  2138:															 Name (XX_6, Zero)
Error	4111 -									  Creating a named object in a While loop ^ 

./dsdt_fixed.txt  2185:																 Name (XX_7, Zero)
Error	4111 -										  Creating a named object in a While loop ^ 

./dsdt_fixed.txt  2562:							 Name (XX_0, Zero)
Error	4111 -	  Creating a named object in a While loop ^ 

./dsdt_fixed.txt  2636:							 Name (XX_0, Zero)
Error	4111 -	  Creating a named object in a While loop ^ 

./dsdt_fixed.txt  4760:							 Name (XX_0, Zero)
Error	4111 -	  Creating a named object in a While loop ^ 

./dsdt_fixed.txt  6737:			 Method (EVNT, 1, NotSerialized)
Warning  1087 -								^ Not all control paths return a value (EVNT)

./dsdt_fixed.txt  7055:					 Name (XX_0, Zero)
Error	4111 -									  ^ Creating a named object in a While loop

./dsdt_fixed.txt  7533:						 Name (XX_0, Zero)
Error	4111 -  Creating a named object in a While loop ^ 

./dsdt_fixed.txt  7624:						 Name (XX_0, Zero)
Error	4111 -  Creating a named object in a While loop ^ 

ASL Input:  ./dsdt_fixed.txt - 8075 lines, 321106 bytes, 3499 keywords
Compilation complete. 16 Errors, 1 Warnings, 0 Remarks, 37 Optimizations

 

Any ideas how to fix this issue?

 

Cheers,

mentorek

Debug_ToshibaP100.zip

Link to comment
Share on other sites

quick question: how to apply this to munky efi partition boot method??

 

thanks in advance ;)

 

From [Guide] Boot from EFI partition, zero modification installs on Intel SSE2 or better...:

 

** This functionality is coming to a Chameleon release very soon. Once Chameleon supports this approach, this project will be retired. Thanks to everyone who uses this bootloader, thanks for the support and the kind words :hysterical: **
Link to comment
Share on other sites

Most internal card readers are attached to the usb bus. just like RICOH(i have one too), i can see my controller in usb device list(with chunnan's pcmcia driver patch) but there is no driver to load...

Nearly all USB-attached controllers follow USB mass storage specs, so are supported by osx. Perhaps you have ownership problem. Try PCGenUSBEHCI.kext

 

But: i have an "old" pcmcia 5in1 card reader, inserted it into my pcmcia port and voila: recognized by osx(hotplug) and i can read all supported cards inserted. So i think there has to be a driver integrated in osx, but i don't know where to look for or which driver is loaded when card reader inserted.....

It's possible that OSX includes a driver since it's an external device. But it's also possible that your PCMCIA cardreader has a USB controller+USB cardreader

Link to comment
Share on other sites

There ara a few things this patcher doesn't do. It is OS checks, which seem differently implemented on every mb. On both my machines I have to remove the OS checks to get the HPET device.

 

And another neat and free tip on a saturday, if you edit your dsdt yourself, you can under each PCI (E/X) bus node put in a

Name (_SUN, 0xXX)

Where XX is bus number. This will show you the PCI device in system profiler. I recommend that you have a bit knowledge of ACPI DSDT before you do, so you dont put it wrong. And do not put in on motherboard internal bus devices.

Link to comment
Share on other sites

Another nice thing to add in your laptop DSDT: (Under _SB)

 

		Device (PNLF)
	 {
		 Name (_HID, EisaId ("APP0002"))
		 Name (_CID, "backlight")
		 Name (_UID, 0x0A)
		 Name (_STA, 0x0B)
	 }

 

Might help you in loading the backlight control

 

 

Where ???? Here ?

 

Scope (_SB)

{

Method (_INI, 0, NotSerialized)

{

If (DTSE)

{

TRAP (0x47)

}

}

}

Link to comment
Share on other sites

There ara a few things this patcher doesn't do. It is OS checks, which seem differently implemented on every mb. On both my machines I have to remove the OS checks to get the HPET device.

 

Thanks for the tip, will mind that.

 

greetz

 

Hello Guys!

I have little question!

If i patch DSDT table wrong can I directly harm my BIOS?!

 

Thank you!

 

If you use the chameleon bootloader with DSDT override it won't touch your BIOS at all.

Link to comment
Share on other sites

Hello Guys!

I have little question!

If i patch DSDT table wrong can I directly harm my BIOS?!

 

Thank you!

 

Chameleon doesn't flash your BIOS so after a hardware reboot no traces of DSDT override should be left. And after deleting of DSDT.aml you should be able to boot as before. But still neither I nor fassl take any responsibility. Theoretically a wrong command sent to hardware could damage but it's really unlikely. The risk is not bigger that e.g. replacing you graphics driver. I heard only of one case of wrong driver damaging hardware: it was a while ago and LG (if I remember correctly) made a series of DVD-burners on which a valid ATAPI-command (sth like cache flushing, don't remember anymore) was used to drop the firmware. It happened that this command wasn't used by win but was by linux. But it was an LG-fault to use a valid generic not firmware-management related ATAPI-command for flashing

Link to comment
Share on other sites

mackerintel : Thank you!

I'm on Windows XP and with HP Compaq 6730s!

I just want to decrease my fan speed from 50 % to 20%!

I know how to do it, but in case someting goes wrong...i want to be sure my bios will be fine

Thank you for the information!

 

Sorry I know it is Mac Board, but now I have my anwer!Thank you again!

I will only edin DSDT Table nothing more!

Link to comment
Share on other sites

 Share

×
×
  • Create New...