Jump to content

Help with ATI V4800 Connectors Patch


jamiethemorris
 Share

11 posts in this topic

Recommended Posts

Hi, so I've done the connectors patch several times and managed to get it working on other computers... I feel like I should have gotten the hang of this by now. My 6850 I found a patch online that worked and my 6670 I managed to patch the framebuffer myself and get it working. With this card I don't know what I'm doing wrong. It's essentially the same as an HD5670, I get full qe/ci with 0x68d8 as a Fake ID. It's got 2 display ports and a DVI port (I think it's single link). Here is the output of Radeon BIOS Decode:

 

S3C02003.104:
 
REDWOOD FGL C02003 GDDR5 64Mx16 1G UCODEv:12602                             
 
Subsystem Vendor ID: 1002
       Subsystem ID: 240a
Object Header Structure Size: 320
Connector Object Table Offset: 3e
Router Object Table Offset: 0
Encoder Object Table Offset: eb
Display Path Table Offset: 12
Connector Object Id [19] which is [DISPLAY_PORT]
encoder obj id [0x21] which is [INTERNAL_UNIPHY2 (osx txmit 0x12 [duallink 0x2] enc 0x4)] linkb: false
Connector Object Id [19] which is [DISPLAY_PORT]
encoder obj id [0x21] which is [INTERNAL_UNIPHY2 (osx txmit 0x22 [duallink 0x2] enc 0x5)] linkb: true
Connector Object Id [2] which is [DVI_I]
encoder obj id [0x20] which is [INTERNAL_UNIPHY1 (osx txmit 0x11 [duallink 0x1] enc 0x2)] linkb: false
Connector Object Id [2] which is [DVI_I]
encoder obj id [0x15] which is [INTERNAL_KLDSCP_DAC1 (osx txmit 0x00 enc 0x10?)] linkb: false

I don't know why it shows 4 ports when it actually has 3. I tried all the 3 port framebuffers but they all left me with 2 blank screens. 

 

Using the vervet framebuffer gets one of my displays working so I decided to patch that one. This is the default framebuffer:

Vervet (4) @ 0x9b310
DP, DDVI, SDVI, HDMI
00040000000400000071000012040402
04000000140000000071000001120104
00020000140000000071000000000603
00080000000200000071000022050501
This is my modified one:

DP,DP, SDVI, SDVI
00040000 00040000 0071 0000 12 04 01 01
00040000 00040000 0071 0000 22 05 02 02
00020000 14000000 0071 0000 11 02 03 03
00020000 14000000 0071 0000 00 10 04 04
All this does is mirror both displays, which obviously I don't want. I'm using a DVI connector and one of the DP connectors.
 
What am I doing wrong?
Link to comment
Share on other sites

Your card has only 3 ports but bios decoder shows 4 ? Strange. And about your modified binary, I don't see anything related to sense ID in your vbios. Maybe try again with bcc9's radeon bios decode, redsock bios decode can be wrong sometimes

Link to comment
Share on other sites

Your card has only 3 ports but bios decoder shows 4 ? Strange. And about your modified binary, I don't see anything related to sense ID in your vbios. Maybe try again with bcc9's radeon bios decode, redsock bios decode can be wrong sometimes

bcc9's gave me the sense-id. The second DVI entry in the dump has the same sense id, and I notice it says KLDSCP. I googled it and it looks like that's for if you're using a DVI to VGA adapter. I'm not sure if that means I should be using a 3-connector framebuffer or not. Here is the new bios decode: 

ATOM BIOS Rom: 
SubsystemVendorID: 0x1002 SubsystemID: 0x240a
IOBaseAddress: 0xde00
Filename: S3C02003.104
BIOS Bootup Message: 
REDWOOD FGL C02003 GDDR5 64Mx16 1G UCODEv:12602                             
 
PCI ID: 1002:68c8
Connector at index 0
Type [@offset 44628]: DisplayPort (10)
Encoder [@offset 44632]: INTERNAL_UNIPHY2 (0x21)
i2cid [@offset 44728]: 0x91, OSX senseid: 0x2
Connector at index 1
Type [@offset 44638]: DisplayPort (10)
Encoder [@offset 44642]: INTERNAL_UNIPHY2 (0x21)
i2cid [@offset 44755]: 0x94, OSX senseid: 0x5
Connector at index 2
Type [@offset 44648]: DVI-I (2)
Encoder [@offset 44652]: INTERNAL_UNIPHY1 (0x20)
i2cid [@offset 44792]: 0x92, OSX senseid: 0x3
Connector at index 3
Type [@offset 44658]: DVI-I (2)
Encoder [@offset 44662]: INTERNAL_KLDSCP_DAC1 (0x15)
i2cid [@offset 44792]: 0x92, OSX senseid: 0x3
Link to comment
Share on other sites

Still not any real luck...

 

I added the correct sense id for each connector, set the output features properly, and experimented with different control flags... Before, with the unpatched Vervet fb, only the left display (DP) would work, but it would detect both displays in system information. With the patched framebuffer, only the right display  (DVI) works, but it detects both displays. When the DP is detected properly with Both Vervet and Uakari, i can see in IOReg they are using the 0x0400 control flag for DP. However that control flag doesn't seem to work when I patch the connectors. I tried using the default DP connector from Uakari and Vervet, but it gave me the same result - only the DVI works.

 

Both work with the generic framebuffer, which according to IOReg is using 0x0604 control flag for DP and 0x0014 for DVI. 0x0604 control flag doesn't work with DP in my patched framebuffer.

 

Anyway here is what I have currently:

 

00040000 00040000 0001 0000 12 21 01 02
00040000 00040000 0001 0000 22 21 02 05
00020000 14000000 0001 0000 11 20 03 03
00020000 14000000 0001 0000 00 15 04 03

I was planning on getting an R9 290X for my 2600k build, but now I'm hesitant because I'm afraid I'll have the same problem as this card and not be able to get all the connectors working.

 

I'm out of ideas. Anyone have a solution? 

Link to comment
Share on other sites

You should remove the patch for the port with INTERNAL_KLDSCP_DAC1, meaning remove the last line, I don't think it counts here

Edit: you can buy the R9-290X but as you can read in this topic: http://www.insanelymac.com/forum/topic/297728-r9-290x-help-for-mavericks/page-12 , we are all having an issue with the framebuffer here

Edit 2: So here's what I see your card's binaries patching goes:

00040000 04030000 0001 0000 02 00 01 02
00040000 04030000 0001 0000 02 00 02 05
00020000 04020000 0001 0000 01 00 03 03
You can try it and show me the result, or figure things by yourself
Link to comment
Share on other sites

Thanks, I'll give the patch a shot and let you know how it goes.

 

I meant to say 280X, not 290X. I thought about the 290X but I think it's out of my price range, I'd rather save my money to go towards Haswell-E. 280X seems to be reasonably affordable still. I haven't seen too many reports of whether anyone has it working 100% on all connectors.

Link to comment
Share on other sites

Basically the same thing with that patch as with the 4-connector framebuffer patches - I patched the Langur fb this time (3 ports). Both displays are detected and appear to be connected according the System Information and IOReg, but the display connected to DP is blacked out.

Link to comment
Share on other sites

Try plug out the monitor before the AMD kexts load then plug it in to see if it works or not. The R9-280X is good as I'm using in one of my build

Okay I'll give that a shot. Which model, and are you using multiple displays? 

Link to comment
Share on other sites

 Share

×
×
  • Create New...