Jump to content

Editing custom personalities for ATI Radeon HD[45]xx


bcc9
 Share

775 posts in this topic

Recommended Posts

Hi Kizwan is every mobility cards sense ID's different? Would this method be something I could do?

Some have the same senseid while others are different. Better obtain required information on the targeted computer. First follow bcc9's guide & then finally follow mucha's guide. For bcc9's guide, in case you lost, just follow my brief/simple example for 32bit & 64bit. You should be able to follow & replicate the success on your computer. That is the first piece of the puzzle. For the last piece of the puzzle, read mucha's guide.

Link to comment
Share on other sites

Some have the same senseid while others are different. Better obtain required information on the targeted computer. First follow bcc9's guide & then finally follow mucha's guide. For bcc9's guide, in case you lost, just follow my brief/simple example for 32bit & 64bit. You should be able to follow & replicate the success on your computer. That is the first piece of the puzzle. For the last piece of the puzzle, read mucha's guide.

 

Your pics display LVDS, whereas mine is CRT, unknown and unknown. I will follow your posts using bcc9's info and then mucha's. thank you.

 

fat_magic 0xcafebabe
nfat_arch 2
architecture x86_64
cputype CPU_TYPE_X86_64
cpusubtype CPU_SUBTYPE_X86_64_ALL
offset 4096 <<-- START OFFSET FOR ARCH 64BIT -->>
size 149936
align 2^12 (4096)
architecture i386
cputype CPU_TYPE_I386
cpusubtype CPU_SUBTYPE_I386_ALL
offset 155648 <<-- START OFFSET FOR ARCH 32BIT -->>
size 148908
align 2^12 (4096)

EulemurInfo::createInfo(unsigned char, PlatformParameters&):
0000d982	pushl	%ebp
0000d983	movl	%esp,%ebp
0000d985	movl	0x0c(%ebp),%ecx
0000d988	movl	$0x0000ed34,0x08(%ecx)
0000d98f	movb	$0x03,0x03(%ecx) <<-- (3 Connections) -->>
0000d993	xorl	%edx,%edx
0000d995	movl	%edx,%eax
0000d997	shll	$0x04,%eax
0000d99a	addl	$0x000113e0,%eax <<--VIRTUAL ADDRESS-->>
0000d99f	movl	%eax,0x0c(%ecx,%edx,4)
0000d9a3	incl	%edx
0000d9a4	movzbl	0x03(%ecx),%eax
0000d9a8	cmpl	%edx,%eax
0000d9aa	jg	0x0000d995
0000d9ac	xorl	%eax,%eax
0000d9ae	leave
0000d9af	ret

Section
 sectname __const
  segname __TEXT
  addr 0x0000ed80 <<-- START ADDRESS FOR SEG-->>
  size 0x00002430
offset 61624 <<--OFFSET FOR SEG-->>
 align 2^5 (32)
reloff 83612
nreloc 1298
 flags 0x00000000
reserved1 0
reserved2 0

155648 + 61624 + 0x000113e0 - 0x0000ed80 = 0x37718 + 0xF0B8 + 0x000113e0 - 0x0000ed80 = 0x48E30

 

Am I doing this right?

 

dd if=ATIFramebuffer of=/tmp/eulemur bs=1 skip=226552 count=64

od -Ax -tx1 /tmp/eulemur

 

0000000	00  04  00  00  00  04  00  00  00  01  00  00  12  04  04  01
0000010	04  00  00  00  14  00  00  00  00  01  00  00  01  12  01  03
0000020	00  02  00  00  14  00  00  00  00  01  00  00  00  00  06  05
0000030	00  08  00  00  00  02  00  00  00  01  00  00  22  05  05  04

How would I change the 64 to represent only 3 connections?

Link to comment
Share on other sites

Guys I can't get RadeonHD to return info about encoder & transmitter... The kext loads, but then dmesg only returns an EDID table... Nothing similar to mucha output.... I've done all correctly, I've checked 100 times... On dong's thread I read that RadeonHD doesn't support HD5XXX series... Since I'm on 5650 mobility is there any other tool? Please help me I'm really struggling...

Link to comment
Share on other sites

Guys I can't get RadeonHD to return info about encoder & transmitter... The kext loads, but then dmesg only returns an EDID table... Nothing similar to mucha output.... I've done all correctly, I've checked 100 times... On dong's thread I read that RadeonHD doesn't support HD5XXX series... Since I'm on 5650 mobility is there any other tool? Please help me I'm really struggling...

Wondering if a linux distro could do a dump of the info?

Link to comment
Share on other sites

 

i'm sure it can there is 2 diff drivers, Xorg and another which is direct from AMD ATI's site. Might produce different results. I am mega pissed, I just totalled my mac setup, fully loaded I meant to rm -Rf a kext but i accidently rm -Rf /sbin/mount -uw / I was life wtf did i do that for, now it couldn't start back to friggin zero again. :/

 

Thanks for the below info

Personality: Eulemur
ConnectorInfo count in decimal: 3
Effective address for ConnectorInfo table in hex: 113e0 => 227096
dd if=ATIFramebuffer of=/tmp/fb bs=1 skip=227096 count=48
od -Ax -tx1 /tmp/fb
0000000	04  00  00  00  14  00  00  00  00  01  00  00  01  02  01  04
0000010	00  08  00  00  00  02  00  00  00  01  00  00  12  04  04  02
0000020	10  00  00  00  10  00  00  00  00  00  00  00  00  10  00  01

Link to comment
Share on other sites

Your pics display LVDS, whereas mine is CRT, unknown and unknown. I will follow your posts using bcc9's info and then mucha's. thank you.

 

fat_magic 0xcafebabe
nfat_arch 2
architecture x86_64
cputype CPU_TYPE_X86_64
cpusubtype CPU_SUBTYPE_X86_64_ALL
offset 4096 <<-- START OFFSET FOR ARCH 64BIT -->>
size 149936
align 2^12 (4096)
architecture i386
cputype CPU_TYPE_I386
cpusubtype CPU_SUBTYPE_I386_ALL
offset 155648 <<-- START OFFSET FOR ARCH 32BIT -->>
size 148908
align 2^12 (4096)

EulemurInfo::createInfo(unsigned char, PlatformParameters&):
0000d982	pushl	%ebp
0000d983	movl	%esp,%ebp
0000d985	movl	0x0c(%ebp),%ecx
0000d988	movl	$0x0000ed34,0x08(%ecx)
0000d98f	movb	$0x03,0x03(%ecx) <<-- (3 Connections) -->>
0000d993	xorl	%edx,%edx
0000d995	movl	%edx,%eax
0000d997	shll	$0x04,%eax
0000d99a	addl	$0x000113e0,%eax <<--VIRTUAL ADDRESS-->>
0000d99f	movl	%eax,0x0c(%ecx,%edx,4)
0000d9a3	incl	%edx
0000d9a4	movzbl	0x03(%ecx),%eax
0000d9a8	cmpl	%edx,%eax
0000d9aa	jg	0x0000d995
0000d9ac	xorl	%eax,%eax
0000d9ae	leave
0000d9af	ret

Section
 sectname __const
  segname __TEXT
  addr 0x0000ed80 <<-- START ADDRESS FOR SEG-->>
  size 0x00002430
offset 61624 <<--OFFSET FOR SEG-->>
 align 2^5 (32)
reloff 83612
nreloc 1298
 flags 0x00000000
reserved1 0
reserved2 0

155648 + 61624 + 0x000113e0 - 0x0000ed80 = 0x37718 + 0xF0B8 + 0x000113e0 - 0x0000ed80 = 0x48E30

 

Am I doing this right?

 

dd if=ATIFramebuffer of=/tmp/eulemur bs=1 skip=226552 count=64

od -Ax -tx1 /tmp/eulemur

 

0000000	00  04  00  00  00  04  00  00  00  01  00  00  12  04  04  01
0000010	04  00  00  00  14  00  00  00  00  01  00  00  01  12  01  03
0000020	00  02  00  00  14  00  00  00  00  01  00  00  00  00  06  05
0000030	00  08  00  00  00  02  00  00  00  01  00  00  22  05  05  04

How would I change the 64 to represent only 3 connections?

You don't need to do the last part (dd if=ATIFramebuffer of=/tmp/eulemur bs=1 skip=226552 count=64).

 

You select the wrong section (segment) there. The virtual_address is 0x000113e0. The section you selected have start addr 0x0000ed80 & size 0x00002430. So the range for this section is from 0x0000ed80 to (0x0000ed80 + 0x00002430), which means from 0x0000ed80 to 0x000111B0. From this, the virtual_address (0x000113e0) is not in the range 0x0000ed80 to 0x000111B0. So, the section you selected is incorrect. :D

Link to comment
Share on other sites

You don't need to do the last part (dd if=ATIFramebuffer of=/tmp/eulemur bs=1 skip=226552 count=64).

 

You select the wrong section (segment) there. The virtual_address is 0x000113e0. The section you selected have start addr 0x0000ed80 & size 0x00002430. So the range for this section is from 0x0000ed80 to (0x0000ed80 + 0x00002430), which means from 0x0000ed80 to 0x000111B0. From this, the virtual_address (0x000113e0) is not in the range 0x0000ed80 to 0x000111B0. So, the section you selected is incorrect. :)

 

Hi Kizwan thank you but picking this section still led me to the same calculation.

 

Section

sectname __literal4

segname __TEXT

addr 0x000111b0

size 0x00000004

offset 70888

align 2^2 (4)

reloff 0

nreloc 0

flags 0x00000003

reserved1 0

reserved2 0

 

155648 + 70888 + 0x000113e0 - 0x000111b0 = 0x37718 + 0x114E8 + 0x000113e0 - 0x000111b0 = 0x48E30

 

So I will need to patch below right?

0000000	00  04  00  00  00  04  00  00  00  01  00  00  12  04  04  01
0000010	04  00  00  00  14  00  00  00  00  01  00  00  01  12  01  03
0000020	00  02  00  00  14  00  00  00  00  01  00  00  00  00  06  05

 

Would it help if I already know the VGA setup? Control flags etc?

ATY,ActiveFlags 0x10

ATY,ControlFlags 0x14

av-signal-type 0x1

connector-type 0x4

Display = CRT, same as VGA port?

Link to comment
Share on other sites

Hi Kizwan thank you but picking this section still led me to the same calculation.

 

Section

sectname __literal4

segname __TEXT

addr 0x000111b0

size 0x00000004

offset 70888

align 2^2 (4)

reloff 0

nreloc 0

flags 0x00000003

reserved1 0

reserved2 0

 

155648 + 70888 + 0x000113e0 - 0x000111b0 = 0x37718 + 0x114E8 + 0x000113e0 - 0x000111b0 = 0x48E30

Are you sure that is right calculation?

155648 + 70888 + 0x000113e0 - 0x000111b0 = ?

 

155648 in decimal = 0x26000 in HEX

 

Would it help if I already know the VGA setup? Control flags etc?

ATY,ActiveFlags 0x10

ATY,ControlFlags 0x14

av-signal-type 0x1

connector-type 0x4

Display = CRT, same as VGA port?

For monitor connected to VGA port, display-type=CRT in IORegistry. For LVDS, display-type=LCD. ControlFlags for VGA is 0x10 & LVDS is 0x40 or 0x100. More at mucha's guide.

Link to comment
Share on other sites

Are you sure that is right calculation?

155648 + 70888 + 0x000113e0 - 0x000111b0 = ?

 

155648 in decimal = 0x26000 in HEX

 

 

For monitor connected to VGA port, display-type=CRT in IORegistry. For LVDS, display-type=LCD. ControlFlags for VGA is 0x10 & LVDS is 0x40 or 0x100. More at mucha's guide.

 

Hi Kizwan,

 

http://www.google.com.au/search?sourceid=c...e0+-+0x000111b0

155 648 + 70 888 + 0x000113e0 - 0x000111b0 = 227 096

227096 in hex is 0x37718

 

am i doing something wrong?

 

Also am i on the right path:

port0 > LVDS=0x00000002 - ControlFlag=0x0040 - Features = 0x09-------------------------HotplugId=0x00 - i2cid=96 > SenseLine = 0x07
port1 > HDMI =0x00000800 - ControlFlag=0x0200 - Features = 0x00 ------------------------ HotplugId=0x01 - i2cid=90> SenseLine = 0x01
port2 > VGA=0x00000010 - ControlFlag=0x0010 - Features = 0x00 -------------------------HotplugId=0x02 - i2cid=97 > SenseLine = 0x08

 

atlees-iMac:MacOS atlee$ lipo -detailed_info ATIFramebuffer
Fat header in: ATIFramebuffer
fat_magic 0xcafebabe
nfat_arch 2
architecture x86_64
cputype CPU_TYPE_X86_64
cpusubtype CPU_SUBTYPE_X86_64_ALL
offset 4096
size 149936
align 2^12 (4096)
architecture i386
cputype CPU_TYPE_I386
cpusubtype CPU_SUBTYPE_I386_ALL
offset 155648
size 148908
align 2^12 (4096)

Link to comment
Share on other sites

Yeah, that is correct.

 

My so called first try patch failed big time, no HDMI,LVDS or VGA lol

Before: Not Patched
Eulemur
04 00 00 00 14 00 00 00 00 01 00 00 01 02 01 04
00 08 00 00 00 02 00 00 00 01 00 00 12 04 04 02
10 00 00 00 10 00 00 00 00 00 00 00 00 10 00 01

After: Patched
Eulemur
02 00 00 00 40 00 00 00 00 01 09 00 12 00 00 07
00 08 00 00 00 02 00 00 00 01 00 00 20 01 01 01
10 00 00 00 10 00 00 00 00 00 00 00 00 10 02 08

 

I'm guessing it has something to do with encoder and transmitter?

Link to comment
Share on other sites

My so called first try patch failed big time, no HDMI,LVDS or VGA lol

Before: Not Patched
Eulemur
04 00 00 00 14 00 00 00 00 01 00 00 01 02 01 04
00 08 00 00 00 02 00 00 00 01 00 00 12 04 04 02
10 00 00 00 10 00 00 00 00 00 00 00 00 10 00 01

After: Patched
Eulemur
02 00 00 00 40 00 00 00 00 01 09 00 12 00 00 07
00 08 00 00 00 02 00 00 00 01 00 00 20 01 01 01
10 00 00 00 10 00 00 00 00 00 00 00 00 10 02 08

 

I'm guessing it has something to do with encoder and transmitter?

The patch are you doing right now is first step (it is not failed big time). Next to determine the correct encoder and transmitter. Please check in IORegistry to make sure internal monitor & external monitor (if any) are detected. Did you setup remote connection? Connect remotely to OS X via VNC & look in the IORegistryExplorer. Did you installed RadeonHD.kext earlier to obtain the dmesg (for the encoder)?

Link to comment
Share on other sites

The patch are you doing right now is first step (it is not failed big time). Next to determine the correct encoder and transmitter. Please check in IORegistry to make sure internal monitor & external monitor (if any) are detected. Did you setup remote connection? Connect remotely to OS X via VNC & look in the IORegistryExplorer. Did you installed RadeonHD.kext earlier to obtain the dmesg (for the encoder)?

 

Let me try VNC, will have a cruise around.

also RadeonHD does not work with 5000 series I have heard?

 

Very rarely can i make it to the desktop using 10.6.6 kexts while loading it just pauses before it reaches desktop but I can VNC in and it only loads ATIRadeonX3000 kext.

 

Sometimes I can load and screen goes blank but most of the time it just pauses. Will retry again.

 

Will be studying during the day but will get back to this shortly :) I'm more a web programmer type person so not very use to using binary and hex much, but i'm always willing to learn.

 

I'm going to give this new one a try think i have everything in order :D

Eulemur
02 00 00 00  00 01 00 00 00 09 00 00 12 00 00 07
00 08 00 00 00 02 00 00 00 00 00 00 11 01 02 01
10 00 00 00 10 00 00 00 00 00 00 00 10 10 01 08

 

No matter what i change i have tried combos of different setups encoders and transmitter some i can get a mucked up image on lvds, others all connectors nothing. all connector types always say NONE for all 3 connectors. no matter what i change the connector type to, the NONE never changes.

Link to comment
Share on other sites

I have same problem on my Acer Aspire 7741G w/ HD5650. I cant determine ENCODER and TRANSMITTER because RadeonHD.kext doesn't support HD5xxx (I used attached one). Maybe someone have RadeonHD.kext which supports HD5xxx?

 

Let's do it together!

RadeonHD.kext.zip

Link to comment
Share on other sites

thanks to @kizwan and @bcc9!

 

DVI and HDMI output (dual mode) is now working with my Sapphire Ultimate 4670 (passive cooling) with the Shrike framebuffer under 10.6.4

http://pastebin.com/WnznjGXK

 

0x36C18
0000000	02  00  00  00  40  00  00  00  09  00  00  00  00  01  00  03
0000010	00  08  00  00  00  02  00  00  00  01  00  00  20  01  02  05  (HDMI)
0000020	00  04  00  00  04  07  00  00  00  01  00  00  10  00  01  01  (DVI-Dual)
0000030	00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00

Link to comment
Share on other sites

Hi, bcc9:

Can you help me to find out why my MSI Hawk 5770 can not display 3 ports (DP, HDMI, & DVI) at the same time in SL_10.6.6 ?

 

./radeondump < 1002_68B8.rom.bin

ATOM BIOS Rom:

SubsystemVendorID: 0x1462 SubsystemID: 0x2140

IOBaseAddress: 0x0000

Filename: SV35125e.bin

BIOS Bootup Message: 113-MSITV214MS.114

JUNIPER BIOS UCODEV:122

Connector at index 0 type: DisplayPort (10)

Connector's i2cid: 91

Connector at index 1 type: HDMI-A (11)

Connector's i2cid: 94

Connector at index 2 type: DVI-I (2)

Connector's i2cid: 93

Connector at index 3 type: DVI-I (2)

Connector's i2cid: 93

________________________________________________________

Personality: Uakari

ConnectorInfo count in decimal: 4

Effective address for ConnectorInfo table in hex: 12840

4096 + 75840 +12840 - 12840 = 79936

 

dd if=ATIFramebuffer of=/tmp/uakari bs=1 skip=79936 count=64

od -Ax -tx1 /tmp/uakari

0000000 00 04 00 00 04 06 00 00 00 01 00 00 12 04 04 02 (DP audio)

0000010 00 08 00 00 00 02 00 00 00 01 00 00 22 05 05 05 (HDMI audio)

0000020 04 00 00 00 14 00 00 00 00 01 00 00 01 12 01 04 (DVI)

0000030 00 02 00 00 14 00 00 00 00 01 00 00 00 00 06 01

0000040

_____________________________________________________________

Personality: Vervet

ConnectorInfo count in decimal: 4

Effective address for ConnectorInfo table in hex: 12880

4096 + 75840 +12880 - 12840 = 80000

 

dd if=ATIFramebuffer of=/tmp/vervet bs=1 skip=80000 count=64

od -Ax -tx1 /tmp/vervet

0000000 00 08 00 00 00 02 00 00 00 01 00 00 22 05 05 05 (HDMI audio)

0000010 00 04 00 00 04 06 00 00 00 01 00 00 12 04 04 02 (DP audio)

0000020 04 00 00 00 14 00 00 00 00 01 00 00 01 12 01 04 (DVI)

0000030 00 02 00 00 14 00 00 00 00 01 00 00 00 00 06 00

0000040

________________________________________________________________

Up to now only the first TWO of these Three ports working.

Unless I dis-connect either DP or HDMI at first, otherwise the third DVI port can not be activated.

I have changed their order, but still get the same result: Need disconnect 1st or 2nd port to make the 3rd working.

Link to comment
Share on other sites

od -Ax -tx1 /tmp/vervet

0000000 00 08 00 00 00 02 00 00 00 01 00 00 22 05 05 05 (HDMI audio)

0000010 00 04 00 00 04 06 00 00 00 01 00 00 12 04 04 02 (DP audio)

0000020 04 00 00 00 14 00 00 00 00 01 00 00 01 12 01 04 (DVI)

0000030 00 02 00 00 14 00 00 00 00 01 00 00 00 00 06 00

0000040

________________________________________________________________

(Transmitter & Encoder are taken from mucha's guide)

Transmitter:-

#define UNIPHY_CD 0x01 // = UNIPHY_1:DUAL_LINK

#define UNIPHY_E 0x12 // = UNIPHY_2:LINK_A

#define UNIPHY_F 0x22 // = UNIPHY_2:LINK_B

 

Encoder:-

#define DIG_1 0x00 // = DIG_A

#define DIG_2 0x01 // = DIG_B

#define DIG_3 0x02 // = DIG_C Only for Radeon HD 5XXX Series and above

#define DIG_4 0x03 // = DIG_D Only for Radeon HD 5XXX Series and above

#define DIG_5 0x04 // = DIG_E Only for Radeon HD 5XXX Series and above

#define DIG_6 0x05 // = DIG_F Only for Radeon HD 5XXX Series and above

 

0000000 00 08 00 00 00 02 00 00 00 01 00 00 22 05 05 05 (HDMI audio)

0000010 00 04 00 00 04 06 00 00 00 01 00 00 12 04 04 02 (DP audio)

0000020 04 00 00 00 14 00 00 00 00 01 00 00 01 12 01 04 (DVI)

0000030 00 02 00 00 14 00 00 00 00 01 00 00 00 00 06 00

HDMI: DIG_F > UNIPHY_2 > LINK_B

DP: DIG_E > UNIPHY_2 > LINK_A

DVI: ? > UNIPHY_1 > DUAL_LINK (LINK_A+LINK_:rolleyes:

 

Hmm... I can't find anything wrong there but I don't know which encoder are you using for DVI (because it is not in the list). Please try change it to the one in the list.

 

As for the HotplugID, use 0, 1 & 2 instead of 1, 4, 5.

Link to comment
Share on other sites

(Transmitter & Encoder are taken from mucha's guide)

Transmitter:-

#define UNIPHY_CD 0x01 // = UNIPHY_1:DUAL_LINK

#define UNIPHY_E 0x12 // = UNIPHY_2:LINK_A

#define UNIPHY_F 0x22 // = UNIPHY_2:LINK_B

 

Encoder:-

#define DIG_1 0x00 // = DIG_A

#define DIG_2 0x01 // = DIG_B

#define DIG_3 0x02 // = DIG_C Only for Radeon HD 5XXX Series and above

#define DIG_4 0x03 // = DIG_D Only for Radeon HD 5XXX Series and above

#define DIG_5 0x04 // = DIG_E Only for Radeon HD 5XXX Series and above

#define DIG_6 0x05 // = DIG_F Only for Radeon HD 5XXX Series and above

 

0000000 00 08 00 00 00 02 00 00 00 01 00 00 22 05 05 05 (HDMI audio)

0000010 00 04 00 00 04 06 00 00 00 01 00 00 12 04 04 02 (DP audio)

0000020 04 00 00 00 14 00 00 00 00 01 00 00 01 12 01 04 (DVI)

0000030 00 02 00 00 14 00 00 00 00 01 00 00 00 00 06 00

HDMI: DIG_F > UNIPHY_2 > LINK_B

DP: DIG_E > UNIPHY_2 > LINK_A

DVI: ? > UNIPHY_1 > DUAL_LINK (LINK_A+LINK_:rolleyes:

 

Hmm... I can't find anything wrong there but I don't know which encoder are you using for DVI (because it is not in the list). Please try change it to the one in the list.

 

As for the HotplugID, use 0, 1 & 2 instead of 1, 4, 5.

Thanks for your prompt response.

I found that changes of Encoder to the following without any effect for me:

0000000 00 08 00 00 00 02 00 00 00 01 00 00 22 05 05 05 (HDMI audio)

0000010 00 04 00 00 04 06 00 00 00 01 00 00 12 04 04 02 (DP audio)

0000020 04 00 00 00 14 00 00 00 00 01 00 00 01 03 01 04 (DVI)

0000020 04 00 00 00 14 00 00 00 00 01 00 00 01 02 01 04 (DVI)

0000030 00 02 00 00 14 00 00 00 00 01 00 00 00 00 06 00

However, changes of HotplugID will crash my all display on rebooting.

So, what is your further advice for me ?

Link to comment
Share on other sites

Thanks for your prompt response.

I found that changes of Encoder to the following without any effect for me:

0000000 00 08 00 00 00 02 00 00 00 01 00 00 22 05 05 05 (HDMI audio)

0000010 00 04 00 00 04 06 00 00 00 01 00 00 12 04 04 02 (DP audio)

0000020 04 00 00 00 14 00 00 00 00 01 00 00 01 03 01 04 (DVI)

0000020 04 00 00 00 14 00 00 00 00 01 00 00 01 02 01 04 (DVI)

0000030 00 02 00 00 14 00 00 00 00 01 00 00 00 00 06 00

However, changes of HotplugID will crash my all display on rebooting.

So, what is your further advice for me ?

There are 6 encoder available. Try all of 'em. This is the only way since you can't use RadeonHD to obtain the dump. Other than this, I have no idea. Sorry. :)

 

Did all three ports works in windows?

Link to comment
Share on other sites

Hi guys, since there seems to be no solution to extract transmitter and encoder from hd5000 series, I think it's time we try with ALL combinations...

Since DIG to PHY is hardcoded in our cards we have these combinations for Transmitter and Encoder

 

T  E
10 00
00 00
20 01
11 02
01 02
21 03
12 04
02 04
22 05

 

So I'll start with LVDS:

 

Modded Eulemur:
0: 02 00 00 00 40 00 00 00 09 01 00 00 T  E  00 07(senseidfor me)
1: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
2: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

 

I'll try all 9 framebuffers... Also, several people are reporting that nullcpupowerman is affecting their videocard, mod your dsdt and get rid of it.

Link to comment
Share on other sites

Hi guys, since there seems to be no solution to extract transmitter and encoder from hd5000 series, I think it's time we try with ALL combinations...

Since DIG to PHY is hardcoded in our cards we have these combinations for Transmitter and Encoder

 

T  E
 10 00
 00 00
 20 01
 11 02
 01 02
 21 03
 12 04
 02 04
 22 05

 

So I'll start with LVDS:

 

Modded Eulemur:
 0: 02 00 00 00 40 00 00 00 09 01 00 00 T  E  00 07(senseid for me is  same as yours ? )
 1: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 2: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

 

I'll try all 9 framebuffers... Also, several people are reporting that nullcpupowerman is affecting their videocard, mod your dsdt and get rid of it.

 

HI i can help to test but i dont know how to do ?

 

I dont know should i edit kabyl boot loader ? confused. sometimes ago you edited the kabyl boot

 

 

loader for my 5730 0X68c0 is that enough or i should do somethings else ?

 

 

 

ATOM BIOS Rom: 
SubsystemVendorID: 0x1043 SubsystemID: 0x1c22
IOBaseAddress: 0xd000
Filename: n61j0421.n61
BIOS Bootup Message: 
Asus N61Ja MadisonXT noSG 650e/800m ASID:A31N61.001$						

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

 

 

1002_68C0.rar

 

now see am i in right way for Example :Eulmer

 

i should search

 

04 00 00 00 14 00 00 00 00 01 00 00 01 02 01 04
00 08 00 00 00 02 00 00 00 01 00 00 12 04 04 02
10 00 00 00 10 00 00 00 00 00 00 00 00 10 00 01

 

in ATIframbuffer

 

and replace with

 

Modded Eulemur:
 0: 02 00 00 00 40 00 00 00 09 01 00 00 T  E  00 07(senseidfor me is same as yours)
 1: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 2: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

 

and save it but in every test change the T & E

 

we should use all 10.6.6 kexts or lion kexts?

 

 

 

thanks

Link to comment
Share on other sites

I want to share with you my experiences. I have Acer Aspire 7741G (HD5650, 17")

 

So, I tried to enable my internal using this topic. I used 3 kexts from Lion (ATI5000Controller, ATIFramebuffer, ATISupport) and boot file from topic above. It didn't help me with internal, but i got 1280x1024 with QE/CI on my external VGA using.

 

Then I began modify personalities by this topic. Since I'm using Lion kexts, I edit ATI5000Controller, instead ATIFramebuffer. Location of personalities I've looked in this topic.

 

So, my FB is Eulemur. Originally it looks like this:

 

0400 0000 1400 0000 0001 0000 0102 0104

0008 0000 0002 0000 0071 0000 1204 0402

1000 0000 1000 0000 0000 0000 0010 0001

 

My connectors are:

 

Connector at index 0 type: LVDS (7)

Connector's i2cid: 96

Connector at index 1 type: HDMI-A (11)

Connector's i2cid: 91

Connector at index 2 type: VGA (1)

Connector's i2cid: 90

 

After modifications:

 

0200 0000 4000 0000 0901 0000 0x0x 0007

0008 0000 0002 0000 0071 0000 1204 0102

1000 0000 1000 0000 0000 0000 0010 0201

 

Now let me explain.

 

1. About 0 (which means LinkID) and TRANSMITTER byte:

 

/* Transmitter Bits 0-3 (TransmitterID) */

#define UNIPHY 0x00

#define UNIPHY_1 0x01

#define UNIPHY_2 0x02

 

/* Transmitter Bits 4-7 (LinkID) */

#define DUAL_LINK 0x00 // LINK_A + LINK_B

#define LINK_A 0x10

#define LINK_B 0x20

 

Since I have LVDS and my resolution 1600x900, link should always be 0, which means DUAL_LINK. And I have to change only the bits 0-3 (which mean TransmitterID) in range [0..2].

 

2. About 0 (which means DIGITAL) and ENCODER byte:

 

/* Encoder Bits 0-3 (DIG_ID : Digital) */

#define DIG_1 0x00 // = DIG_A

#define DIG_2 0x01 // = DIG_B

#define DIG_3 0x02 // = DIG_C Only for Radeon HD 5XXX Series and above

#define DIG_4 0x03 // = DIG_D Only for Radeon HD 5XXX Series and above

#define DIG_5 0x04 // = DIG_E Only for Radeon HD 5XXX Series and above

#define DIG_6 0x05 // = DIG_F Only for Radeon HD 5XXX Series and above

 

/* Encoder Bits 4-7 (DAC_ID : Analog) */

#define DAC 0x10

 

 

Since my LVDS - digital bits 4-7 should always be 0. And I have to change only the bits 0-3 (which mean DIG_ID) in range [0..5].

 

So, we have 18 combinations of LVDS connector:

 

0200 0000 4000 0000 0901 0000 0[b]0[/b]0[b]0[/b] 0007
0200 0000 4000 0000 0901 0000 0[b]0[/b]0[b]1[/b] 0007
0200 0000 4000 0000 0901 0000 0[b]0[/b]0[b]2[/b] 0007
0200 0000 4000 0000 0901 0000 0[b]0[/b]0[b]3[/b] 0007
0200 0000 4000 0000 0901 0000 0[b]0[/b]0[b]4[/b] 0007
0200 0000 4000 0000 0901 0000 0[b]0[/b]0[b]5[/b] 0007
0200 0000 4000 0000 0901 0000 0[b]1[/b]0[b]0[/b] 0007
0200 0000 4000 0000 0901 0000 0[b]1[/b]0[b]1[/b] 0007
0200 0000 4000 0000 0901 0000 0[b]1[/b]0[b]2[/b] 0007
0200 0000 4000 0000 0901 0000 0[b]1[/b]0[b]3[/b] 0007
0200 0000 4000 0000 0901 0000 0[b]1[/b]0[b]4[/b] 0007
0200 0000 4000 0000 0901 0000 0[b]1[/b]0[b]5[/b] 0007
0200 0000 4000 0000 0901 0000 0[b]2[/b]0[b]0[/b] 0007
0200 0000 4000 0000 0901 0000 0[b]2[/b]0[b]1[/b] 0007
0200 0000 4000 0000 0901 0000 0[b]2[/b]0[b]2[/b] 0007
0200 0000 4000 0000 0901 0000 0[b]2[/b]0[b]3[/b] 0007
0200 0000 4000 0000 0901 0000 0[b]2[/b]0[b]4[/b] 0007
0200 0000 4000 0000 0901 0000 0[b]2[/b]0[b]5[/b] 0007

 

I tried EVERYONE, but my internal still doesn't show anytehing!

 

And now some questions:

 

1. Maybe something wrong with boot file? I use attached one from this topic.

2. Maybe something wrong with ATY_Init or its version? I use attaced one (see below).

3. Maybe I should use 10.6.6 kexts, instead Lion?

4. Maybe something wrong with DIGs encoders (they were not initialized or something else)?

5. Maybe I should use DSDT? I don't have it yet (see this topic).

ATY_Init.kext_1_.zip

Link to comment
Share on other sites

I want to share with you my experiences. I have Acer Aspire 7741G (HD5650, 17")

 

So, I tried to enable my internal using this topic. I used 3 kexts from Lion (ATI5000Controller, ATIFramebuffer, ATISupport) and boot file from topic above. It didn't help me with internal, but i got 1280x1024 with QE/CI on my external VGA using.

 

Then I began modify personalities by this topic. Since I'm using Lion kexts, I edit ATI5000Controller, instead ATIFramebuffer. Location of personalities I've looked in this topic.

 

So, my FB is Eulemur. Originally it looks like this:

 

0400 0000 1400 0000 0001 0000 0102 0104

0008 0000 0002 0000 0071 0000 1204 0402

1000 0000 1000 0000 0000 0000 0010 0001

 

My connectors are:

 

Connector at index 0 type: LVDS (7)

Connector's i2cid: 96

Connector at index 1 type: HDMI-A (11)

Connector's i2cid: 91

Connector at index 2 type: VGA (1)

Connector's i2cid: 90

 

After modifications:

 

0200 0000 4000 0000 0901 0000 0x0x 0007

0008 0000 0002 0000 0071 0000 1204 0102

1000 0000 1000 0000 0000 0000 0010 0201

 

Now let me explain.

 

1. About 0 (which means LinkID) and TRANSMITTER byte:

 

/* Transmitter Bits 0-3 (TransmitterID) */

#define UNIPHY 0x00

#define UNIPHY_1 0x01

#define UNIPHY_2 0x02

 

/* Transmitter Bits 4-7 (LinkID) */

#define DUAL_LINK 0x00 // LINK_A + LINK_B

#define LINK_A 0x10

#define LINK_B 0x20

 

Since I have LVDS and my resolution 1600x900, link should always be 0, which means DUAL_LINK. And I have to change only the bits 0-3 (which mean TransmitterID) in range [0..2].

 

2. About 0 (which means DIGITAL) and ENCODER byte:

 

/* Encoder Bits 0-3 (DIG_ID : Digital) */

#define DIG_1 0x00 // = DIG_A

#define DIG_2 0x01 // = DIG_B

#define DIG_3 0x02 // = DIG_C Only for Radeon HD 5XXX Series and above

#define DIG_4 0x03 // = DIG_D Only for Radeon HD 5XXX Series and above

#define DIG_5 0x04 // = DIG_E Only for Radeon HD 5XXX Series and above

#define DIG_6 0x05 // = DIG_F Only for Radeon HD 5XXX Series and above

 

/* Encoder Bits 4-7 (DAC_ID : Analog) */

#define DAC 0x10

 

 

Since my LVDS - digital bits 4-7 should always be 0. And I have to change only the bits 0-3 (which mean DIG_ID) in range [0..5].

 

So, we have 18 combinations of LVDS connector:

 

0200 0000 4000 0000 0901 0000 0[b]0[/b]0[b]0[/b] 0007
0200 0000 4000 0000 0901 0000 0[b]0[/b]0[b]1[/b] 0007
0200 0000 4000 0000 0901 0000 0[b]0[/b]0[b]2[/b] 0007
0200 0000 4000 0000 0901 0000 0[b]0[/b]0[b]3[/b] 0007
0200 0000 4000 0000 0901 0000 0[b]0[/b]0[b]4[/b] 0007
0200 0000 4000 0000 0901 0000 0[b]0[/b]0[b]5[/b] 0007
0200 0000 4000 0000 0901 0000 0[b]1[/b]0[b]0[/b] 0007
0200 0000 4000 0000 0901 0000 0[b]1[/b]0[b]1[/b] 0007
0200 0000 4000 0000 0901 0000 0[b]1[/b]0[b]2[/b] 0007
0200 0000 4000 0000 0901 0000 0[b]1[/b]0[b]3[/b] 0007
0200 0000 4000 0000 0901 0000 0[b]1[/b]0[b]4[/b] 0007
0200 0000 4000 0000 0901 0000 0[b]1[/b]0[b]5[/b] 0007
0200 0000 4000 0000 0901 0000 0[b]2[/b]0[b]0[/b] 0007
0200 0000 4000 0000 0901 0000 0[b]2[/b]0[b]1[/b] 0007
0200 0000 4000 0000 0901 0000 0[b]2[/b]0[b]2[/b] 0007
0200 0000 4000 0000 0901 0000 0[b]2[/b]0[b]3[/b] 0007
0200 0000 4000 0000 0901 0000 0[b]2[/b]0[b]4[/b] 0007
0200 0000 4000 0000 0901 0000 0[b]2[/b]0[b]5[/b] 0007

 

I tried EVERYONE, but my internal still doesn't show anytehing!

 

And now some questions:

 

1. Maybe something wrong with boot file? I use attached one from this topic.

2. Maybe something wrong with ATY_Init or its version? I use attaced one (see below).

3. Maybe I should use 10.6.6 kexts, instead Lion?

4. Maybe something wrong with DIGs encoders (they were not initialized or something else)?

5. Maybe I should use DSDT? I don't have it yet (see this topic).

 

1-why you used ATY_Init i think we shouldn't use this

 

2-maldon can make your DSDT just do what he say ?

 

some reported that nullcpupowermanager is affecting their video card

 

so edit your DSDT

 

i'm waiting for checcco to answer that we should use 10.6.6 or lion kexts?

 

Finaly i think it's important to add the frambuffer example eulmer cod to original boot file for chameleon

Link to comment
Share on other sites

 Share

×
×
  • Create New...