Jump to content

Mobility Radeon HD 4650:Full Resolution with QE & CI working on Internal LVDS screen


mucha
 Share

696 posts in this topic

Recommended Posts

Hello i have a mobility 4650 i can't find shrike hexadecimal code in atiframebuffer because i don't know the offset so, what's the offset of shrike in ati framebuffer 10.6.6?? And kizwan can you tell me how can i try your boot.mobility.0x9480.shrike?? Then how can i install it?? i have as bootloader PC-EFI 10.6 by netkas

Link to comment
Share on other sites

Hello i have a mobility 4650 i can't find shrike hexadecimal code in atiframebuffer because i don't know the offset so, what's the offset of shrike in ati framebuffer 10.6.6?? And kizwan can you tell me how can i try your boot.mobility.0x9480.shrike?? Then how can i install it?? i have as bootloader PC-EFI 10.6 by netkas

Please go to my previous post (at previous page). At my previous post, you can find offsets of the Shrike's connection table in the ATIFramebuffer file. There are two places; one for 32bit & another one for 64bit.

 

To install boot.mobility.0x9480.shrike; just rename it to boot. Replaced the PC-EFI 10.6's boot file with it.

Link to comment
Share on other sites

Thank you for your answer kizwan, but the ati.c source file shall i use it in some way with your bootloader(shrike)??

The ati.c is just for reference. Chameleon is an open source project, so when I uploaded modified binary file, I will be required to give the modified source code too.

Link to comment
Share on other sites

Ok thank you i know this, i've tryed your bootloader but it give me a screen with the apple logo and makes me a big strange line above , blocked by charging more and I'll see flash the lights on the block shift and num lock! It does this when I start thenotebook and still do not see the written bios. What should I do? Sorry for my bad english

Link to comment
Share on other sites

Make sure removed the DSDT.AML. These are the modified boot file (Peregrine, Shrike & Vervet) for ATI Mobility Radeon HD4650 (device ID 0x9480):-

The modified ati.c file (based on mucha's modified ati.c) for trunk:-

Please test these:-

  1. Peregrine:-
    --> 00000000	 02  00  00  00  40  00  00  00  09  01  00  00  02  00  00  07  (LVDS)
    --> 00000010	 10  00  00  00  10  00  00  00  00  01  00  00  00  10  01  01  (VGA)


    Offset of Peregrine connections table (2 connections):-

    • 32bit: 0x37278
    • 64bit: 0x10F60

[*]Shrike:-

--> 00000000	 02  00  00  00  40  00  00  00  09  01  00  00  02  00  00  07  (LVDS)
--> 00000010	 10  00  00  00  10  00  00  00  00  01  00  00  00  10  01  01  (VGA)
--> 00000020	 00  08  00  00  00  02  00  00  00  01  00  00  10  01  02  02  (HDMI)

Offset of Shrike connections table (3 connections):-

  • 32bit: 0x00037298
  • 64bit: 0x00010F80

[*]Vervet:-

--> 00000000	 02  00  00  00  40  00  00  00  09  01  00  00  02  00  00  07  (LVDS)
--> 00000010	 10  00  00  00  10  00  00  00  00  01  00  00  00  10  01  01  (VGA)
--> 00000020	 00  08  00  00  00  02  00  00  00  01  00  00  10  01  02  02  (HDMI)
--> 00000030	 00  04  00  00  00  04  00  00  00  01  00  00  20  01  04  05	 (DP)

Offset of Vervet connections table (4 connections):-

  • 32bit: 0x00037538
  • 64bit: 0x00013880

 

The encoders & transmitter already correct. Now we're focusing on injecting missing property for mobility card. Please test & post the IORegistry dumps. Thank you.

Kizwan,

I did many tests:

1. All new boot files give black screens, no VGA no HDMI either, no working VNC to dump.

2. I did tests with all three tables Shrike, peregrine and vervet, no results.

3. The last DSDT.aml gives kernel panic, the first one does not, but freezes at boot.

4. The only boot file that give me fully functional HDMI is a boot I compiled for Shrike. See attached. http://dl.dropbox.com/u/24426032/boot-Shrike

This is really puzzling. What is the problem? Thanks, almuras

 

Here are the dumps with my boot_Shrike

http://dl.dropbox.com/u/24426032/%20MacStudio%20Pro.ioreg

http://dl.dropbox.com/u/24426032/iMac.spx

Link to comment
Share on other sites

Kizwan,

I did many tests:

1. All new boot files give black screens, no VGA no HDMI either, no working VNC to dump.

2. I did tests with all three tables Shrike, peregrine and vervet, no results.

3. The last DSDT.aml gives kernel panic, the first one does not, but freezes at boot.

4. The only boot file that give me fully functional HDMI is a boot I compiled for Shrike. See attached. http://dl.dropbox.com/u/24426032/boot-Shrike

This is really puzzling. What is the problem? Thanks, almuras

 

Here are the dumps with my boot_Shrike

http://dl.dropbox.com/u/24426032/%20MacStudio%20Pro.ioreg

http://dl.dropbox.com/u/24426032/iMac.spx

The problem you experienced are really weird. Doesn't make sense at all. If the DSDT you gave me is from your notebook, it shouldn't cause any problem. You'll need to explain to me again regarding your setup; vanilla setup? vanilla kernel? foreign kexts? Did you inject the ATI mobility new property in the boot file?

Link to comment
Share on other sites

I have vanilla setup and kernel. Basic foreign kexts, like fakesmc, null CPU management, apple ps2.

In boot file I only injected video card id and shriek.

The strange thing I have hdmi working even without rom injection or even withou Edid my lvds is correctly recognized from Vnc

Link to comment
Share on other sites

Many thanks to bcc9 ^_^ for his genius discovery and for his method for finding and editing framebuffer personalities

I was planning to add this to bbc9 topics, but i couldn't add a replay only a new topic in new users lounge is allowed for me (I'm a member since 2006 ),so if a moderator can attach it it's welcome.

Most credit should go to bcc9 (radeondump & tutorial) & Dong (RadeonHD), this was not possible without his finding ,a previous knowledge of bbc9 method with some basic binary editing and terminal skills is a must have.

Sorry for my bad English and my Bad teaching skills, the most important is the idea.

Any additional useful information and feed-back is welcome

The bootlaoder is chameleon rev 747 with modded ati.c with corrected default framebuffer to Shrike and model name for my DeviceId: 0x9480 (Kabyl boot file is no go for me).

Many people are asking me for my ATIFramebuffer.kext, you should know that even on similar hardware it may not work due to different SenseID

 

The Guide (HowTo.rtf outdated ) in the attachements with some usefull files for quick editing

 

Updates:

 

1- the same method is tested in Mac OS X version 10.6.3 & the lastest update 10.6.7 and i report it's working perfectly for both

 

2- for the 10.6.3 system the personnality is 20 bytes (the SenseID byte is replaced by i2cid & SenseID is 4 bytes);

 

a-the original 10.6.3 Shrike ConnectorInfo:

 

02 00 00 00 40 00 00 00 09 00 00 00 02 01 00 00 03 00 00 00 
02 00 00 00 00 01 00 00 09 01 00 00 20 01 02 91 02 00 00 00 
00 04 00 00 04 03 00 00 00 01 00 00 10 00 01 90 01 00 00 00

 

b-My modded working 10.6.3 Shrike ConnectorInfo :

 

02 00 00 00 40 00 00 00 09 00 00 00 12 00 00 96 07 00 00 00 
10 00 00 00 10 00 00 00 00 01 00 00 00 10 01 95 06 00 00 00 
00 08 00 00 00 02 00 00 00 01 00 00 20 01 02 90 01 00 00 00

 

3- About the 10.6.7 Update:

 

a-ConnectorInfo are located in ATIFramebuffer.kext for the general combo update (the same as 10.6.6 system)

b-ConnectorInfo have migrated to ATIControlerXXXX.kext for 2011 MBP update (the kernel & ATi Drivers structure are closer to Lion 10.7 than to 10.6.6),

ATIController4600.kext contain only Shrike, Flicker & Gliff ConnectorInfo (which theorically restrict the possible framebuffer to use with a specific controller.kext)

ATIController4800.kext contain only Cardinal,Motmot & Quail ConnectorInfo.

 

The Online guide:

 

A- The Structure of a personality:

 

I'll take Shrike as framebuffer for the demonstration, cause it's used as default by Radeon HD 4670 (M96XT, DevID 0x9488 ) on iMac 10,1 & iMac11,2

which is the closest to the Mobility Radeon HD 4650 (M96, DevID 0x9480) on my board.

 

for Shrike we have by default 3 personalities , one for each connector (3 connectors allowed): port0, port1, port2.

 

02 00 00 00 40 00 00 00 09 01 00 00 02 01 00 03

02 00 00 00 00 01 00 00 09 01 00 00 20 01 02 02

00 04 00 00 04 03 00 00 00 01 00 00 10 00 01 01

 

let's take the first one which is for port 0 :

 

02 00 00 00 40 00 00 00 09 01 00 00 02 01 00 03

 

divide it to 8 parts:

 

02 00 00 00 - 40 00 00 00 - 09 01 - 00 00 - 02 - 01 - 00 - 03

 

Then byte swapped

 

1- ConnectorType : 02 00 00 00 > 0x00000002 - - -

2- ATY,ControlFlags : 40 00 00 00 > 0x00000040 +++

3- Features : 09 01 > 0x0109 +++

4- Unkown : 00 00 > 0x0000 - - -

5- Transmitter : 02 > 0x02 - - -

6- Encoder : 01 > 0x01 - - -

7- HotplugID : 00 > 0x00 - - -

8- SenseID : 03 > 0x03 ++++++

 

- - - > Value not important, but need to be accurate for better result

+++ > Important value, incorrect value == not working personality

 

Detailed info about possible value for each field is list below ( some are confirmed, some only guessed by studying different personalities and need some feed-back

from working system (for me LVDS and VGA value are confirmed)

 

1- ConnectorType;

 

/* 4 byte  ,from bbc9 radeondump */
	 #define CONNECTORTYPE_LVDS   0x00000002	
	 #define CONNECTORTYPE_DVI	  0x00000004
	#define CONNECTORTYPE_VGA	  0x00000010
	#define CONNECTORTYPE_S-V	  0x00000080		
	#define CONNECTORTYPE_DP	  0x00000400	
	 #define CONNECTORTYPE_HDMI   0x00000800

 

2- ATY,ControlFlags;

 

/* 4 byte the same as found on ioreg key: ATY,ControlFlags. hardcoded for each connector type 
u can try one by one until u find the working one for u
0x0002 : LVDS		>	ControlFlag : 0x0040 / 0x0100
0x0004 : DVI-?		>	ControlFlag : 0x0016 - 0x0014 / 0x214
0x0010 : VGA		>	ControlFlag : 0x0010
0x0080 : S-Video   	>	ControlFlag : 0x0002	  
0x0200 : DVI-?		>	ControlFlag : 0x0014 / 0x0214 - 0x0204
0x0400 : DisplayPort	>	ControlFlag : 0x0100 - 0x0104 - 0x0304 / 0x0604 - 0x0400
0x0800 : HDMI		>	ControlFlag : 0x0200
0x1000 : DVI-?		>	ControlFlag : 0x0016
*/

 

3-Features;

 

/* Features byte 0 , for example for LVDS screen it's almost 0x09 = 0x01 + 0x08 > Internal + Backlight */
#define FEATURE_USE_INTERNAL	   		0x01
#define FEATURE_USE_RGB_ON_YUV		0x04
#define FEATURE_USE_BACKLIGHT		  0x08
#define FEATURE_BACKLIGHT_INVERTED 	0x10
#define FEATURE_USE_CLAMSHELL		  0x20

/* 1 byte, hardcoded for each connector type
0x0002 : LVDS		>	Features  :  0x09
0x0004 : DVI-?		>	Features  :  0x00
0x0010 : VGA		>	Features  :  0x00
0x0080 : S-Video   	>	Features  :  0x04	 
0x0200 : DVI-?		>	Features  :  0x00
0x0400 : DisplayPort	>	Features  :  0x00
0x0800 : HDMI		>	Features  :  0x00
0x1000 : DVI-?		>	Features  :  0x00
*/

/* Features byte 1 , no idea ???*/

 

4- Unkown ;

 

5- Transmitter;

 

/* u can get this from dmesg after installing  Dong's RadeonHD with debug info */ 
/* Transmitter Bits 0-3 (TransmitterID) */
#define UNIPHY	  0x00
#define UNIPHY1   0x01
#define UNIPHY2   0x02

/* Transmitter Bits 4-7 (LinkID) */
#define DUALLINK  0x00 // LINKA + LINKB
#define LINKA		  0x10
#define LINKB		  0x20

/* Transmitter byte  */
#define UNIPHYA	 0x10 // = UNIPHY:LINKA
#define UNIPHYB	 0x20 // = UNIPHY:LINKB
#define UNIPHYAB   0x00 // = UNIPHY:DUALLINK
#define UNIPHYC	 0x11 // = UNIPHY1:LINKA
#define UNIPHYD	 0x21 // = UNIPHY1:LINKB
#define UNIPHYCD   0x01 // = UNIPHY1:DUALLINK
#define UNIPHYE	 0x12 // = UNIPHY2:LINKA
#define UNIPHYF	  0x22 // = UNIPHY2:LINKB
#define UNIPHYEF	0x02 // = UNIPHY2:DUALLINK
#define DACA			  0x00
#define DACB		  0x10

 

 

6- Encoder;

 

/* u can get this from Dmesg as above  for R8XX architecture and above there is 06 Digital Encoder: DIG_1 > DIG_6*/ 
/* Encoder Bits 0-3 (DIG_ID : Digital) */
#define DIG1   0x00 // = DIGA
#define DIG2   0x01 // = DIGB
#define DIG3   0x02 // = DIGC  Only for Radeon HD 5XXX Series  and above
#define DIG4   0x03 // = DIGD  Only for Radeon HD 5XXX Series  and above
#define DIG5   0x04 // = DIGE  Only for Radeon HD 5XXX Series  and above
#define DIG6   0x05 // = DIGF  Only for Radeon HD 5XXX Series  and above

/* Encoder Bits 4-7 (DAC_ID : Analog) */
#define DAC	 0x10

 

7- HotplugID;

 

/* 4 bits it's a unique id for each port, i have tried with 0 for port0, 1 for port1 and 2 for port2 and it's just working */

 

8- SenseID;

 

 /* SenseLine = (i2cid & 0xf) +1 ,you get  i2cid from bbc9 radeondump */   
 Bits 0-3: Sense Line   
 Bit	4: Use hw i2c flag

 

Now to some practice

 

 

B- Getting the ConnectorType, ATY,ControlFlags,Features, HotplugId and SenseLineId Values:

 

 

You will need :

1- videocard bios dump ( i have used everest for that and renamed it 1002_9480.rom ) ,

2- radeondump tool from bbc9

launch Terminal & type ./radeondump < your_videobios.rom > connector.txt

you will get something like this :

 

	Desktop Mucha$ ./radeondump < 1002_9480.rom 
ATOM BIOS Rom: 
SubsystemVendorID: 0x103c SubsystemID: 0x3629
IOBaseAddress: 0x7000
Filename: br33507.001 
BIOS Bootup Message: 
HP_Quanta_Jones_Cujo_M96M_DDR3 M96 DDR3 128bit 550e/667m					

Connector at index 0 type: LVDS (7)
Connector's i2cid: 96
Connector at index 1 type: VGA (1)
Connector's i2cid: 95
Connector at index 2 type: HDMI-A (11)
Connector's i2cid: 90

 

 

which means:

 

port0 > LVDS=0x00000002 - ControlFlag=0x0040 - Features = 0x09-------------------------HotplugId=0x00 - i2cid=96 > SenseLine = 0x07

port1 > VGA =0x00000010 - ControlFlag=0x0010 - Features = 0x00 ------------------------ HotplugId=0x01 - i2cid=95 > SenseLine = 0x06

port2 > HDMI=0x00000800 - ControlFlag=0x0200 - Features = 0x00 -------------------------HotplugId=0x02 - i2cid=90 > SenseLine = 0x01

 

 

C- Getting the Encoder & Transmitter ID Values:

 

 

For some useful info you may visit : "http://www.botchco.com/agd5f/?p=51"

and some Encoder-Transmitter Routing rules taking from commentary of linux drivers

"http://lxr.free-electrons.com/source/drivers/gpu/drm/radeon/radeon_encoders.c"

 

682 /*
683  * DIG Encoder/Transmitter Setup
684  *
685  * DCE 3.0/3.1 (RV6XX, Radeon HD 3XXX Series and older)
686  * - 2 DIG transmitter blocks. UNIPHY (links A and B ) and LVTMA.
687  * Supports up to 3 digital outputs
688  * - 2 DIG encoder blocks.
689  * DIG1 can drive UNIPHY link A or link B
690  * DIG2 can drive UNIPHY link B or LVTMA
691  *
692  * DCE 3.2 (RV7XX, Radeon HD 4XXX Series)
693  * - 3 DIG transmitter blocks. UNIPHY0/1/2 (links A and B ).
694  * Supports up to 5 digital outputs
695  * - 2 DIG encoder blocks.
696  * DIG1/2 can drive UNIPHY0/1/2 link A or link B
697  *
698  * DCE 4.0 (RV8XX, Radeon HD 5XXX Series)
699  * - 3 DIG transmitter blocks UNPHY0/1/2 (links A and B ).
700  * Supports up to 6 digital outputs
701  * - 6 DIG encoder blocks.
702  * - DIG to PHY mapping is hardcoded
703  * DIG1 drives UNIPHY0 link A, A+B
704  * DIG2 drives UNIPHY0 link B
705  * DIG3 drives UNIPHY1 link A, A+B
706  * DIG4 drives UNIPHY1 link B
707  * DIG5 drives UNIPHY2 link A, A+B
708  * DIG6 drives UNIPHY2 link B
709  *
710  * Routing
711  * crtc -> dig encoder -> UNIPHY/LVTMA (1 or 2 links)
712  * Examples:
713  * crtc0 -> dig2 -> LVTMA   links A+B -> TMDS/HDMI
714  * crtc1 -> dig1 -> UNIPHY0 link  B   -> DP
715  * crtc0 -> dig1 -> UNIPHY2 link  A   -> LVDS
716  * crtc1 -> dig2 -> UNIPHY1 link  B+A -> TMDS/HDMI
717  */

 

 

You need Dong's RadeonHD.kext , i have used the 10/20/2009 update, edit the info.plist to set the debug to true and verbose level to 2

then delete ATI4600 & ATIFramebuffer from S/L/E (make a back-up first) and install radeonHD reboot (your external VGA,DVI or HDMI screen most be connected)

once on desktop go to Terminal : sudo -s , type your password then dmesg >Encoder.txt

In my case i get as output:

----------------------------------------------------------------------------

CailWriteATIRegister(1724,40002)

CAIL: CailReleaseMemory

ParseTable said: CD_SUCCESS

Call to AtomBIOS Exec succeeded

DAC_LoadDetection Successful

rhdAtomBIOSScratchDACSenseResults

BIOSScratch_0: 0x40002

rhdAtomBIOSScratchDACSenseResults sensed RHD_SENSED_VGA

AtomOutputvalueDACA: Sensed Output: VGA

atomTMDSPropertyControl

atomTMDSPropertyControl

Setting AtomOutputvalueDACA to incoherent

atomTMDSPropertyControl

RHDConnectorEnableHDMI

atomTMDSPropertyControl

RHDHPDCheck

RHDHPDCheck returned: 0 mask: 1

RHDMonitorInit

rhdMonitorPanel

RHDAtomBiosFunc

rhdAtomLvdsGetTimings

rhdAtomLvdsTimings

rhdAtomLvdsTimings: LVDS Modeline: 1366x768 72000 1366 (1366) 1414 1446 (1486) 1486 768 (768) 771 775 (806) 806

Call to AtomBIOS Get Panel Mode succeeded

RHDAtomBiosFunc

rhdAtomLvdsGetTimings

rhdAtomLvdsDDC

rhdAtomLvdsDDC: unknown record type: 24

Query for AtomBIOS Get Panel EDID: failed

RHDAtomOutputAllocFree

Mapping DIG1 encoder to KLDSKP_UNIPHYE

Crtc[0]: found native mode from Monitor[LVDS Panel]:

Modeline "1366x768" 72 1366 1414 1446 1486 768 771 775 806

Connector "PANEL" uses Monitor "LVDS Panel":

RHDMonitorInit

Connector "VGA 1": Failed to retrieve Monitor information.

RHDValidateScaledToMode

rhdModeValidateCrtc

DxModeValid: ATOM CRTC 1

rhdAtomOutputModeValid

Listing modesetting layout:

ATOM CRTC 1: tied to Atom PLL 1 and LUT A:

Outputs: AtomOutputduleDemandUniphyE (PANEL)

ATOM CRTC 2: tied to Atom PLL 2 and LUT B:

Outputs: AtomOutputvalueDACA (VGA 1)

Unused Outputs: AtomOutputUniphyB

RHDModesPoolCreate

-------------------------------------------------------------------------------------

 

Based upon the above information my SPECIFIC videocard routing is:

 

CRTC0>DIG1>UNIPHYE>LVDS Encoder= 0x00 Transmitter = 0x12

CRTC1>DAC > DACA >VGA Encoder=0x10 Transmitter = 0x00

CRTC1>DIG2>UNIPHYB>HDMI Encoder= 0x01 Transmitter = 0x20 (i don't have a hdmi display to test)

 

Now doing the compilation , my new modded Shrike personalities :

 

02 00 00 00 40 00 00 00 09 01 00 00 12 00 00 07 LVDS

10 00 00 00 10 00 00 00 00 01 00 00 00 10 01 06 VGA

00 08 00 00 00 02 00 00 00 01 00 00 20 01 02 01 HDMI

 

This mod allowed me to get both LVDS an VGA display working with Resolution change, QE/CI Extended desktop and Mirroring

I have tested the same mod with Peregrine and i confirm it's also Working.

 

 

D- How to Easy Quick Patch your desired Framebuffer personality (without calculating the adresses and for both i386 and x86_64):

 

 

You should have a hexadecimal editor:

 

1- Download the attached : Sharks_FB.txt Birds_FB.txt and Monkeys_FB.txt,

2- Open the text file select and copy the desired personality hexadecimal code (the one you want to patch),

3- Open Logging in and Drag ATIFramebuffer binary to hexadecimal editor,

4- Select : edit>search , in the search fields paste the clipboard content and choose hex value & wrap option,

5- You should find 2 instances of the searched personality: the first one is for x86_64 and the second for i386 (make sure you have only 2),

6- Patch and save your binary, install reboot an ENJOY

 

For Radeon HD 3XXX and prior choose Sharks,

For Radeon HD 4XXX choose Birds,

For Radeon HD 5XXX choose Monkeys.

 

 

hey,plzz help me,i have the same videocard [ati hd 4650 1gb ddr3] and i delete my ATIFramebuffer and all the ati kext,can you give me your kexts for me,plzzz help me you can send me to djnono_nono@yahoo.com thank you very much!!!

Link to comment
Share on other sites

Hello can anyone post the ATIFramebuffer.kext patched for ati mobility 4650?? I've tryied to patch the ATIFramebuffer exec with my custom personalities the shrike framebuffer but it doesn't work for me it doesn't give me QE/CI. Kizwan HELP ME!!!!

Link to comment
Share on other sites

I have vanilla setup and kernel. Basic foreign kexts, like fakesmc, null CPU management, apple ps2.

In boot file I only injected video card id and shriek.

The strange thing I have hdmi working even without rom injection or even withou Edid my lvds is correctly recognized from Vnc

Please tell me what exactly you do when booting with the modified DSDT that I provided to you. What boot flags you use, including inside the com.apple.Boot.plist? Did you removed the nullcpupowermanagement kext?

 

Except the above question, I don't have any idea anymore. Something is wrong with your setup. Your notebook also unable to boot with the modified boot files I provided to you. The idea of the modified boot files are to test the new injected property. So, the ioreg dumps you gave earlier is not useful since you use your boot file without the new property injected.

 

Please take mine as an example. The Mac OS X on my notebook works without any disabler or nullcpupowermanagement kexts. Before the ATIFramebuffer solution exist, I already make sure OS X works as it should be. I fixed my DSDT & use correct machine identifier in SMBIOS.PLIST.

  1. These are the only foreign kexts I use:-
    • AppleACPIPS2Nub.kext
    • ApplePS2Controller.kext
    • fakesmc.kext
    • IDT92HD73C1X5_R3.kext (for audio)
    • IONetworkingFamily.kext (for ethernet)
    • DellBluetoothHCI.1.2.kext (for bluetooth)

[*]SMBIOS.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>SMbiosversion</key>
<string>IM111.88Z.0034.B02.1003171314</string>
<key>SMmanufacter</key>
<string>Apple Inc.</string>
<key>SMproductname</key>
<string>iMac11,1</string>
<key>SMserial</key>
<string>W895154Z5RU</string>
<key>SMsystemversion</key>
<string>1.0</string>
</dict>
</plist>

[*]com.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>GraphicsEnabler</key>
<string>Yes</string>
<key>Kernel</key>
<string>mach_kernel</string>
<key>Kernel Flags</key>
<string>arch=i386</string>
<key>Legacy Logo</key>
<string>Yes</string>
<key>SMBIOSdefaults</key>
<string>Yes</string>
</dict>
</plist>

[*]Modified DSDT with basic patch (RTC, LPCB, TIMR, IPIC & HPET fixed).

 

Sorry. If I have any more ideas, I'll let you know.

Link to comment
Share on other sites

Hello can anyone post the ATIFramebuffer.kext patched for ati mobility 4650?? I've tryied to patch the ATIFramebuffer exec with my custom personalities the shrike framebuffer but it doesn't work for me it doesn't give me QE/CI. Kizwan HELP ME!!!!

Since you ask help. Please do these:-

  1. Setup remote connection. You can connect to your mac remotely via vnc. This is useful to collect useful information such as IORegistry dump.
  2. I also need you to obtain RadeonHD's log in Mac OS X using dong's RadeonHD.kext. Please use dong's RadeonHD (10/20/2009 update). Remember, the 10/20/2009 update. In the package there is a tool called RadeonDump. Use it to obtain RadeonHD's log. Make sure you installed the RadeonHD.kext first & at least one external monitor connected to HDMI (if possible).
  3. Please execute RadeonDump like this:-
    sudo -s
    ./RadeonDump > Encoder.txt


  4. Please explain your OS X setup. Are you using vanilla kernel? (anything at all)
  5. Please list legacy or foreign kexts you currently use in OS X.
  6. I want to know the content of your com.apple.Boot.plist.

Link to comment
Share on other sites

Please tell me what exactly you do when booting with the modified DSDT that I provided to you. What boot flags you use, including inside the com.apple.Boot.plist? Did you removed the nullcpupowermanagement kext?

 

Except the above question, I don't have any idea anymore. Something is wrong with your setup. Your notebook also unable to boot with the modified boot files I provided to you. The idea of the modified boot files are to test the new injected property. So, the ioreg dumps you gave earlier is not useful since you use your boot file without the new property injected.

 

Please take mine as an example. The Mac OS X on my notebook works without any disabler or nullcpupowermanagement kexts. Before the ATIFramebuffer solution exist, I already make sure OS X works as it should be. I fixed my DSDT & use correct machine identifier in SMBIOS.PLIST.

  1. These are the only foreign kexts I use:-
    • AppleACPIPS2Nub.kext
    • ApplePS2Controller.kext
    • fakesmc.kext
    • IDT92HD73C1X5_R3.kext (for audio)
    • IONetworkingFamily.kext (for ethernet)
    • DellBluetoothHCI.1.2.kext (for bluetooth)

[*]SMBIOS.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>SMbiosversion</key>
<string>IM111.88Z.0034.B02.1003171314</string>
<key>SMmanufacter</key>
<string>Apple Inc.</string>
<key>SMproductname</key>
<string>iMac11,1</string>
<key>SMserial</key>
<string>W895154Z5RU</string>
<key>SMsystemversion</key>
<string>1.0</string>
</dict>
</plist>

[*]com.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>GraphicsEnabler</key>
<string>Yes</string>
<key>Kernel</key>
<string>mach_kernel</string>
<key>Kernel Flags</key>
<string>arch=i386</string>
<key>Legacy Logo</key>
<string>Yes</string>
<key>SMBIOSdefaults</key>
<string>Yes</string>
</dict>
</plist>

[*]Modified DSDT with basic patch (RTC, LPCB, TIMR, IPIC & HPET fixed).

 

Sorry. If I have any more ideas, I'll let you know.

 

Kizwan, I repeated tests,

I used only your listed kexts ([*]AppleACPIPS2Nub.kext

[*]ApplePS2Controller.kext

[*]fakesmc.kext

[*]IONetworkingFamily.kext (for ethernet)

[*]DellBluetoothHCI.1.2.kext,

I used your com.apple.Boot.plist and your SMBIOS.PLIST

I was able to obtain dumps via VNC or HDMI which worked for Shrike and Vervet.

Please see attached.

http://dl.dropbox.com/u/24426032/Peregrine%20dump.ioreg

http://dl.dropbox.com/u/24426032/Shrike%20dump.ioreg

http://dl.dropbox.com/u/24426032/Vervet%20dump.ioreg

 

Appreciate your help in advance,

almuras

Link to comment
Share on other sites

Hello can anyone post the ATIFramebuffer.kext patched for ati mobility 4650?? I've tryied to patch the ATIFramebuffer exec with my custom personalities the shrike framebuffer but it doesn't work for me it doesn't give me QE/CI. Kizwan HELP ME!!!!

 

 

this patched frambuffer with shrike this work for me.

ATIFramebuffer.kext.rar

Link to comment
Share on other sites

thanks kizwan for your guide.

I use your boot loader and evry thing going to work except gpu control that i didnt see it in my ioregistery expolerer .

and i dont no how can get registery dump to post it?

thanks.

Which guide you're referring to? You're probably using wrong machine identifier in smbios.plist. Please try iMac10,1. Does your internal LCD panel highest resolution is 1366x768?

 

I want to invite you to post your notebook configuration here. The idea is to collect tested configuration. Thank you.

 

Kizwan, I repeated tests,

I used only your listed kexts ([*]AppleACPIPS2Nub.kext

[*]ApplePS2Controller.kext

[*]fakesmc.kext

[*]IONetworkingFamily.kext (for ethernet)

[*]DellBluetoothHCI.1.2.kext,

I used your com.apple.Boot.plist and your SMBIOS.PLIST

I was able to obtain dumps via VNC or HDMI which worked for Shrike and Vervet.

Please see attached.

http://dl.dropbox.com/u/24426032/Peregrine%20dump.ioreg

http://dl.dropbox.com/u/24426032/Shrike%20dump.ioreg

http://dl.dropbox.com/u/24426032/Vervet%20dump.ioreg

 

Appreciate your help in advance,

almuras

I see you're using the modified boot file I created for you. I'll look to your IORegistry dump again later.

Link to comment
Share on other sites

Which guide you're referring to? You're probably using wrong machine identifier in smbios.plist. Please try iMac10,1. Does your internal LCD panel highest resolution is 1366x768?

 

I want to invite you to post your notebook configuration here. The idea is to collect tested configuration. Thank you.

 

 

I see you're using the modified boot file I created for you. I'll look to your IORegistry dump again later.

mucha guide that you simplifed it.

 

my internal LCD panel highest resolution is 1366x768

this is my ioregistery dump .and i dont how create smbios.plist with iMAc10.1 .it is identifed as macbook pro 4.1

can you plz post smbios.plist with imac 10.1.

thanks

and for tested configuration forum i am using the shrike moded with mucha because ur harware and is same

akbar_moradi___s_MacBook_Pro.zip

Link to comment
Share on other sites

mucha guide that you simplifed it.

 

my internal LCD panel highest resolution is 1366x768

this is my ioregistery dump .and i dont how create smbios.plist with iMAc10.1 .it is identifed as macbook pro 4.1

can you plz post smbios.plist with imac 10.1.

thanks

and for tested configuration forum i am using the shrike moded with mucha because ur harware and is same

Sure, I'll prepare smbios.plist with iMac10,1 as machine identifier.

 

For the tested configuration forum, can you post these information (just edit your post there). It's really important. Thank you for your time.

(Example of the report format)

A-System : HP Pavilion DV6-1240 - ATI Mobility Radeon HD4650 (Device ID: 0x9480) - Max internal screen resolution: 1366x768

 

B- Your graphic card connections, for example like this (the output might be different if you're using bcc9's latest tool):

ATOM BIOS Rom:
SubsystemVendorID: 0x103c SubsystemID: 0x3629
IOBaseAddress: 0x7000
Filename: br33507.001
BIOS Bootup Message:
HP_Quanta_Jones_Cujo_M96M_DDR3 M96 DDR3 128bit 550e/667m					

Connector at index 0 type: LVDS (7)
Connector's i2cid: 96
Connector at index 1 type: VGA (1)
Connector's i2cid: 95
Connector at index 2 type: HDMI-A (11)
Connector's i2cid: 90

 

C- RadeonHD's log, for example like this (yours might be different):-

Mapping DIG1 encoder to KLDSKP_UNIPHYB
Connector "DVI-D 1" uses Monitor "SMB2330H":
...
Mapping DIG2 encoder to KLDSKP_UNIPHYE
Crtc[1]: found native mode from Monitor[LVDS Panel]:
Modeline "1366x768"  67  1366 1383 1395 1434  768 771 773 781
Connector "PANEL" uses Monitor "LVDS Panel":
RHDValidateScaledToMode
rhdModeValidateCrtc
DxModeValid: ATOM CRTC 2
rhdAtomOutputModeValid
Listing modesetting layout:
ATOM CRTC 1: tied to Atom PLL 1 and LUT A:
Outputs: AtomOutputUniphyB (DVI-D 1)
ATOM CRTC 2: tied to Atom PLL 2 and LUT B:
Outputs: AtomOutputUniphyE (PANEL)
Unused Outputs: AtomOutputDACB

 

D- Please specify which framebuffer you use here & the connection table you use, for example like this:-

Shrike framebuffer:-
02 00 00 00 40 00 00 00 09 01 00 00 12 00 00 07 - LVDS
10 00 00 00 10 00 00 00 00 01 00 00 00 10 01 06 - VGA 
00 08 00 00 00 02 00 00 00 01 00 00 20 01 02 01 - HDMI

Link to comment
Share on other sites

Sure, I'll prepare smbios.plist with iMac10,1 as machine identifier.

 

For the tested configuration forum, can you post these information (just edit your post there). It's really important. Thank you for your time.

(Example of the report format)

A-System : HP Pavilion DV6-1240 - ATI Mobility Radeon HD4650 (Device ID: 0x9480) - Max internal screen resolution: 1366x768

 

B- Your graphic card connections, for example like this (the output might be different if you're using bcc9's latest tool):

ATOM BIOS Rom:
SubsystemVendorID: 0x103c SubsystemID: 0x3629
IOBaseAddress: 0x7000
Filename: br33507.001
BIOS Bootup Message:
HP_Quanta_Jones_Cujo_M96M_DDR3 M96 DDR3 128bit 550e/667m					

Connector at index 0 type: LVDS (7)
Connector's i2cid: 96
Connector at index 1 type: VGA (1)
Connector's i2cid: 95
Connector at index 2 type: HDMI-A (11)
Connector's i2cid: 90

 

C- RadeonHD's log, for example like this (yours might be different):-

Mapping DIG1 encoder to KLDSKP_UNIPHYB
Connector "DVI-D 1" uses Monitor "SMB2330H":
...
Mapping DIG2 encoder to KLDSKP_UNIPHYE
Crtc[1]: found native mode from Monitor[LVDS Panel]:
Modeline "1366x768"  67  1366 1383 1395 1434  768 771 773 781
Connector "PANEL" uses Monitor "LVDS Panel":
RHDValidateScaledToMode
rhdModeValidateCrtc
DxModeValid: ATOM CRTC 2
rhdAtomOutputModeValid
Listing modesetting layout:
ATOM CRTC 1: tied to Atom PLL 1 and LUT A:
Outputs: AtomOutputUniphyB (DVI-D 1)
ATOM CRTC 2: tied to Atom PLL 2 and LUT B:
Outputs: AtomOutputUniphyE (PANEL)
Unused Outputs: AtomOutputDACB

 

D- Please specify which framebuffer you use here & the connection table you use, for example like this:-

Shrike framebuffer:-
02 00 00 00 40 00 00 00 09 01 00 00 12 00 00 07 - LVDS
10 00 00 00 10 00 00 00 00 01 00 00 00 10 01 06 - VGA 
00 08 00 00 00 02 00 00 00 01 00 00 20 01 02 01 - HDMI

ok I am compare my ioregistery with mucha one in mucha show gfx0 but in mine show vga .did i need dsdt editing?

and other problem when i tray to open dvd file with dvd player it kernel panic with atix2000.kext depenency error

iokit . iopcifamiliy

iokit . iondvrsupport

iokit . iographics familiy error

i will get my rom dump and post in configuration forum as soon as posible.

thanks

Link to comment
Share on other sites

can you plz post smbios.plist with imac 10.1.

This is smbios.plist with machine identifier set to iMac10,1. Please install it in Extra folder. With iMac10,1 as machine identifier, you should get native speedstep support. You can observed it using an application called MSR Tools in 32bit mode.

iMac10_1.zip

Link to comment
Share on other sites

ok I am compare my ioregistery with mucha one in mucha show gfx0 but in mine show vga .did i need dsdt editing?

No need to. It's just cosmetic.

and other problem when i tray to open dvd file with dvd player it kernel panic with atix2000.kext depenency error

iokit . iopcifamiliy

iokit . iondvrsupport

iokit . iographics familiy error

This is hard to troubleshoot. May I know list of legacy/foreign kexts you're using?

i will get my rom dump and post in configuration forum as soon as posible.

thanks

Thank you very much!

Link to comment
Share on other sites

thanks it work for me and now i have gpu control and imac 10.1.

the kext in my /e/e is(AppleACPIBatteryManager.kext AppleACPIPS2Nub.kext FakeSMC.kext GenericBrightness.kext LegacyHDA.kext VoodooPS2Controller.kext )

and also i use usbpcifamiliyfix and usbdriverfix in /s/l/e/

i dont now what is problem when first time i install it dvd player play but now its get error and kernel panic.

thanks

Link to comment
Share on other sites

thanks it work for me and now i have gpu control and imac 10.1.

the kext in my /e/e is(AppleACPIBatteryManager.kext AppleACPIPS2Nub.kext FakeSMC.kext GenericBrightness.kext LegacyHDA.kext VoodooPS2Controller.kext )

and also i use usbpcifamiliyfix and usbdriverfix in /s/l/e/

i dont now what is problem when first time i install it dvd player play but now its get error and kernel panic.

thanks

I know GenericBrightness.kext but I never tried it. I never heard of usbpcifamiliyfix and usbdriverfix. Try removed these three kexts & see if that cure kernel panic with DVD Player.

 

BTW, can you post your new IORegistry dump? I just want to look.

Link to comment
Share on other sites

 Share

×
×
  • Create New...