doof Posted April 8, 2011 Share Posted April 8, 2011 Hi, I usually have better luck with Nvidia cards but I think you guys are on to some really useful stuff here. For the life of me I can't get anything out of radeon_bios_decode. I have tried numerous ROMs and i put them in my home folder along with R_B_D, open a terminal window and drop them, it either stops or says "No Atombios signature found" So obviously I am overlooking some crucial step that any moron who got through 1st grade should know but I must have been chewing pencils that day. Anyhow, to encourage someone to help me without using words like "noob" or "try googling", I thought I could contribute some needed pieces. fixrom.py is a python script written by pipomolo42 at MR. fixrom.py <filetofix.rom> <fixedfile.rom> will give you correct checksum and allow rom to load, flash, etc. I will also attach the Mac OEM Apple 5870, 5770, 4870 and 3870 ROMs so that they may be analyzed. Here are the rom dumps with the 6870 thrown in for good measure. 3870 MacBoook:vgax doof$ ./radeon_bios_decode < 3870M.ROM ATOM BIOS Rom: SubsystemVendorID: 0x174b SubsystemID: 0xe620 IOBaseAddress: 0x0000 Filename: SB33901.021e BIOS Bootup Message: 113-B33901-021e RV670 GDDR4_16Mx32 256bit 512MB 777e/1126m PCI ID: 1002:9501 Connector at index 0 Type [@offset 44876]: DVI-I (2) Encoder [@offset 44880]: INTERNAL_KLDSCP_TMDS1 (0x13) i2cid [@offset 44986]: 0x91, OSX senseid: 0x2 Connector at index 1 Type [@offset 44886]: DVI-I (2) Encoder [@offset 44890]: INTERNAL_KLDSCP_DAC2 (0x16) i2cid [@offset 44986]: 0x91, OSX senseid: 0x2 Connector at index 2 Type [@offset 44896]: 9 pin DIN (9) Encoder [@offset 44900]: INTERNAL_KLDSCP_DAC2 (0x16) Connector at index 4 Type [@offset 44916]: DVI-I (2) Encoder [@offset 44920]: INTERNAL_KLDSCP_DAC1 (0x15) i2cid [@offset 45054]: 0x90, OSX senseid: 0x1 Connector at index 5 Type [@offset 44926]: DVI-I (2) Encoder [@offset 44930]: INTERNAL_LVTM1 (0xf) i2cid [@offset 45054]: 0x90, OSX senseid: 0x1 4870 MacBoook:vgax doof$ ./radeon_bios_decode < 4870.ROM ATOM BIOS Rom: SubsystemVendorID: 0x106b SubsystemID: 0x00b2 IOBaseAddress: 0x0000 Filename: S3B77101.012 BIOS Bootup Message: Wekiva RV770 B77101 Board PCI ID: 1002:9440 Connector at index 0 Type [@offset 45006]: DVI-I (2) Encoder [@offset 45010]: INTERNAL_KLDSCP_DAC2 (0x16) i2cid [@offset 45078]: 0x93, OSX senseid: 0x4 Connector at index 1 Type [@offset 45016]: DVI-I (2) Encoder [@offset 45020]: INTERNAL_KLDSCP_LVTMA (0x1f) i2cid [@offset 45078]: 0x93, OSX senseid: 0x4 Connector at index 2 Type [@offset 45026]: DisplayPort (10) Encoder [@offset 45030]: INTERNAL_UNIPHY (0x1e) i2cid [@offset 45113]: 0x92, OSX senseid: 0x3 5770m MacBoook:vgax doof$ ./radeon_bios_decode < m5770.ROM ATOM BIOS Rom: SubsystemVendorID: 0x1002 SubsystemID: 0x2543 IOBaseAddress: 0x0000 Filename: S3C01002.102 BIOS Bootup Message: JUNIPER BIOS UCODEv:122 PCI ID: 1002:68b8 Connector at index 0 Type [@offset 44642]: DisplayPort (10) Encoder [@offset 44646]: INTERNAL_UNIPHY2 (0x21) i2cid [@offset 44770]: 0x91, OSX senseid: 0x2 Connector at index 1 Type [@offset 44652]: HDMI-A (11) Encoder [@offset 44656]: INTERNAL_UNIPHY2 (0x21) i2cid [@offset 44797]: 0x90, OSX senseid: 0x1 Connector at index 2 Type [@offset 44662]: DVI-I (2) Encoder [@offset 44666]: INTERNAL_UNIPHY1 (0x20) i2cid [@offset 44834]: 0x93, OSX senseid: 0x4 Connector at index 3 Type [@offset 44672]: DVI-I (2) Encoder [@offset 44676]: INTERNAL_KLDSCP_DAC2 (0x16) i2cid [@offset 44834]: 0x93, OSX senseid: 0x4 Connector at index 4 Type [@offset 44682]: DVI-I (2) Encoder [@offset 44686]: INTERNAL_UNIPHY (0x1e) i2cid [@offset 44871]: 0x92, OSX senseid: 0x3 Connector at index 5 Type [@offset 44692]: DVI-I (2) Encoder [@offset 44696]: INTERNAL_KLDSCP_DAC1 (0x15) i2cid [@offset 44871]: 0x92, OSX senseid: 0x3 5870 MacBoook:vgax doof$ ./radeon_bios_decode < MAC5870.ROM ATOM BIOS Rom: SubsystemVendorID: 0x106b SubsystemID: 0x00d0 IOBaseAddress: 0x0000 Filename: S3C07801.102 BIOS Bootup Message: CYPRESS XT GDDR5 32Mx32 BIOS UCODEv:126 PCI ID: 1002:6898 Connector at index 0 Type [@offset 44600]: DisplayPort (10) Encoder [@offset 44604]: INTERNAL_UNIPHY1 (0x20) i2cid [@offset 44684]: 0x90, OSX senseid: 0x1 Connector at index 1 Type [@offset 44610]: DisplayPort (10) Encoder [@offset 44614]: INTERNAL_UNIPHY1 (0x20) i2cid [@offset 44711]: 0x91, OSX senseid: 0x2 Connector at index 2 Type [@offset 44620]: DVI-I (2) Encoder [@offset 44624]: INTERNAL_UNIPHY2 (0x21) i2cid [@offset 44748]: 0x92, OSX senseid: 0x3 Connector at index 3 Type [@offset 44630]: DVI-I (2) Encoder [@offset 44634]: INTERNAL_KLDSCP_DAC1 (0x15) i2cid [@offset 44748]: 0x92, OSX senseid: 0x3 XFX 6870 MacBoook:vgax doof$ ./radeon_bios_decode < XFX.HD6870.1024.101007.bin ATOM BIOS Rom: SubsystemVendorID: 0x1682 SubsystemID: 0x3100 IOBaseAddress: 0x0000 Filename: 687AZNF.BIN BIOS Bootup Message: BARTS XT HYNIX/SAMSUNG GDDR5 32Mx32 BIOS PCI ID: 1002:6738 Connector at index 0 Type [@offset 44824]: DisplayPort (10) Encoder [@offset 44828]: INTERNAL_UNIPHY2 (0x21) i2cid [@offset 44952]: 0x90, OSX senseid: 0x1 Connector at index 1 Type [@offset 44834]: DisplayPort (10) Encoder [@offset 44838]: INTERNAL_UNIPHY2 (0x21) i2cid [@offset 44979]: 0x91, OSX senseid: 0x2 Connector at index 2 Type [@offset 44844]: HDMI-A (11) Encoder [@offset 44848]: INTERNAL_UNIPHY1 (0x20) i2cid [@offset 45006]: 0x93, OSX senseid: 0x4 Connector at index 3 Type [@offset 44854]: DVI-D (3) Encoder [@offset 44858]: INTERNAL_UNIPHY1 (0x20) i2cid [@offset 45033]: 0x95, OSX senseid: 0x6 Connector at index 4 Type [@offset 44864]: DVI-I (2) Encoder [@offset 44868]: INTERNAL_UNIPHY (0x1e) i2cid [@offset 45070]: 0x94, OSX senseid: 0x5 Connector at index 5 Type [@offset 44874]: DVI-I (2) Encoder [@offset 44878]: INTERNAL_KLDSCP_DAC1 (0x15) i2cid [@offset 45070]: 0x94, OSX senseid: 0x5 Link to comment Share on other sites More sharing options...
redsockosx Posted April 9, 2011 Share Posted April 9, 2011 Greetz again... Not being sure about what to set the txmit/encoder bytes to, I went ahead and wrote a quick atombios decoder that outputs different goods to bcc9's... (and armed with both sets, hmmm maybe I am one step closer). I didn't bother to do up the sense ids or i2cids, and was only focussed on the txmit/encoder bytes for R5xxx or better atombios goods (hmm) my attached bin doesn't do much error checking, but is used same way as bcc9's for consistency. Here is output of my Sapphire 5770 Flex 1GB card from my own... I have yet to plug in/test these values, but based on Mucha's thread and this one, maybe I'll get lucky ;-) ./redsock_bios_decoder <image.bin 148X0300.DP3: JUNIPER BIOS UCODEv:126 Subsystem Vendor ID: 174b Subsystem ID: 1484 Object Header Structure Size: 379 Connector Object Table Offset: 48 Router Object Table Offset: 0 Encoder Object Table Offset: 118 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 [0x20] which is [iNTERNAL_UNIPHY1 (osx txmit 0x11 [duallink 0x1] enc 0x2)] linkb: false Connector Object Id [12] which is [HDMI_TYPE_A] 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 [0x1e] which is [iNTERNAL_UNIPHY (osx txmit 0x10 [duallink 0x0] enc 0x0)] 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 Again I am not sure what the KLDSCP_DAC1 values should really be hence the ? mark there... unknown.. Hmmm, it says I am not permitted to upload this type of file as an attachment... Link here: redsock_bios_decoder Link to comment Share on other sites More sharing options...
redsockosx Posted April 11, 2011 Share Posted April 11, 2011 Well, to maybe save someone else the fine pleasure of trial and error w/ my particular card... In the end, using vanilla SL 10.6.7 kexts I was unable to get a second or third monitor working regardless of what framebuffer or personality entries I put. (I could certainly affect things with it however). The best I could get was an incorrectly/forced cloned HDMI display. QE/CI worked from the outset so that wasn't really the goal. What I ended up doing was installing the MBP 10.6.7 kexts, which gave me two correct screens, one from the DL-DVI and one from the HDMI. To get me a couple more monitors, I just went and bought another 5770 (non flex this time as there was no real point for osx, heh) and now have four monitors connected. Note: GraphicsEnabler=no was the goods for the MBP kexts, everything works fantastico. Also of note is that the ioreg for it now looks quite a bit different... Where it used to say things like ATY,Vervet@0 it says ATY,ATY,RadeonFrameBuffer@0 ... other flags/etc look same-same. happily operating on dual 5770 cards across four monitors... :-) Link to comment Share on other sites More sharing options...
atlee Posted April 12, 2011 Share Posted April 12, 2011 Regarding your script. BR38421.001 : MADISON Lenovo-Yx60-Madison Pro DDR3 64Mx16 500E/600M Subsystem Vendor ID: 103c Subsystem ID: 1448 Object Header Structure Size: 199 Connector Object Table Offset: 34 Router Object Table Offset: 0 Encoder Object Table Offset: 99 Display Path Table Offset: 12 Connector Object Id [14] which is [LVDS] encoder obj id [0x1e] which is [INTERNAL_UNIPHY (osx txmit 0x10 [duallink 0x0] enc 0x0)] linkb: false Connector Object Id [12] which is [HDMI_TYPE_A] encoder obj id [0x20] which is [INTERNAL_UNIPHY1 (osx txmit 0x21 [duallink 0x1] enc 0x3)] linkb: true Connector Object Id [5] which is [VGA] encoder obj id [0x15] which is [INTERNAL_KLDSCP_DAC1 (osx txmit 0x00 enc 0x10?)] linkb: false this is a good script so i can congratulate you and also i spent a lot of time getting the above info last time i was testing. The numbers you have above is what numbers i came down to in my final test. LVDS 10,00 HDMI 21,03 VGA 00,10 maybe a duallink DSDT patch might work? Link to comment Share on other sites More sharing options...
redsockosx Posted April 12, 2011 Share Posted April 12, 2011 maybe a duallink DSDT patch might work? After having played with it for several days on end, the MBP ATI kexts don't appear to be using a connectorinfo like the one we have been playing with here... It really does appear to be dynamically acquired in at least some description... I ended up abandoning all of the aforementioned as soon as I got the working GraphicsEnabler=no MBP kexts happening. Still, I am unable to get the DisplayPort working from my Flex card ... which I would have thought would be easier than the HDMI port, apparently not. Unknown really... I wasn't able to coax much out of using the modified txmit/encoder values... your mileage may vary... :-) Link to comment Share on other sites More sharing options...
atlee Posted April 12, 2011 Share Posted April 12, 2011 i understand the dual link patch where it boot's up the missing display example the theory was LVDS was being sent to GFX0 instead of GFX1 which my machine uses, but that theory failed for me. 10.6.7 stock using Lion DP2 kexts works good for me, i'm hoping Apple make 5650m work by default when Lion or earlier comes. HDMI and VGA work 100% for me. LVDS doesn't activate but it gives backlight. I forced the EDID from windows and i get correct resolution setup which is good. But EDID didn't fix it. i understand the dual link patch where it boot's up the missing display example the theory was LVDS was being sent to GFX0 instead of GFX1 which my machine uses, but that theory failed for me. 10.6.7 stock using Lion DP2 kexts works good for me, i'm hoping Apple make 5650m work by default when Lion or earlier comes. HDMI and VGA work 100% for me. LVDS doesn't activate but it gives backlight. I forced the EDID from windows and i get correct resolution setup which is good. But EDID didn't fix it. I think a blackscreen with backlight 10.6.7 stock won't be fixed with whatever is available. If ATI5000Controller controls T/E's. ATIFramebuffer used too. ATISupport is left. What does ATISupport do? ATI5000 and FB kext used to work together for resolution change. ATISupport used to work with ATIRadeonX3000 kext's. There has to be more features or controls that we are missing. to me 5000 kexts are complete or our card id's would not be in there. If it's a routing problem, dual link problem then DSDT fix should be able to fix it, but a long with a dual link DSDT fix you would also need to force your EDID for things to recognise properly in MacOSX. Just my thoughts. Link to comment Share on other sites More sharing options...
Azeazezar Posted April 12, 2011 Share Posted April 12, 2011 PCI ID: 1002:68c1 Connector at index 0 Type [@offset 45082]: LVDS (7) Encoder [@offset 45086]: INTERNAL_UNIPHY (0x1e) i2cid [@offset 45156]: 0x96, OSX senseid: 0x7 Connector at index 1 Type [@offset 45092]: HDMI-A (11) Encoder [@offset 45096]: INTERNAL_UNIPHY1 (0x20) i2cid [@offset 45179]: 0x91, OSX senseid: 0x2 Connector at index 2 Type [@offset 45102]: VGA (1) Encoder [@offset 45106]: INTERNAL_KLDSCP_DAC1 (0x15) i2cid [@offset 45206]: 0x90, OSX senseid: 0x1 I have tried a lot to get my 5650 mobility to work with my LVDS So far no succes. I get full QE/CI on both my vga and hdmi connector. Any help is welcome. Link to comment Share on other sites More sharing options...
atlee Posted April 12, 2011 Share Posted April 12, 2011 PCI ID: 1002:68c1Connector at index 0 Type [@offset 45082]: LVDS (7) Encoder [@offset 45086]: INTERNAL_UNIPHY (0x1e) i2cid [@offset 45156]: 0x96, OSX senseid: 0x7 Connector at index 1 Type [@offset 45092]: HDMI-A (11) Encoder [@offset 45096]: INTERNAL_UNIPHY1 (0x20) i2cid [@offset 45179]: 0x91, OSX senseid: 0x2 Connector at index 2 Type [@offset 45102]: VGA (1) Encoder [@offset 45106]: INTERNAL_KLDSCP_DAC1 (0x15) i2cid [@offset 45206]: 0x90, OSX senseid: 0x1 I have tried a lot to get my 5650 mobility to work with my LVDS So far no succes. I get full QE/CI on both my vga and hdmi connector. Any help is welcome. Plenty of stuff to read under ATI section then you will know the latest solutions so far Link to comment Share on other sites More sharing options...
k540kkk Posted April 12, 2011 Share Posted April 12, 2011 @atlee, You should have some rest. You wrote paragraphs twice in previous post. Link to comment Share on other sites More sharing options...
陈小龙 Posted April 12, 2011 Share Posted April 12, 2011 I also have a blank LVDS output with the backlight on, no matter what framebuffer I use. I've tried booting with every framebuffer listed by ati_personality.pl in ATI5000Controller.kext (I have an ATI 5650m). When I run "./radeon_bios_decode < 68C1.8001.0210.vga.rom", there's no i2cid or senseid listed. Is that because my LVDS screen isn't detected? Forcing a EDID has no effect whatsoever. The HDMI and VGA outputs work perfectly with QE/CI. so no problems there. Just LVDS is having problems. Here's what I've tried so far: Booting with every framebuffer in both 32 bit and 64 bit mode. Booting with GraphicsEnabler enabled and disabled. I've attached the VBIOS dump to this post. I'm not sure if there are any system logs that I should post. One last thing: I've tried to mess around with my DSDT, but even an unmodified DSDT won't compile (166 errors), so hopefully, the solution isn't to patch the DSDT. Thanks for all the work that's been done so far! Just a little bit more towards a perfect kext ! VBIOS.zip Link to comment Share on other sites More sharing options...
atlee Posted April 13, 2011 Share Posted April 13, 2011 @atlee, You should have some rest. You wrote paragraphs twice in previous post. i never noticied sorry, will not rest till succeeding full macosx setup, will try every new final and beta kext that comes out whilst also patching applehda for my audio. Link to comment Share on other sites More sharing options...
Derc Posted April 14, 2011 Share Posted April 14, 2011 Tell me why such low rates and how to fix it? I'm using a MacBook smbios.plist 5.2. Link to comment Share on other sites More sharing options...
dracon Posted April 15, 2011 Share Posted April 15, 2011 I'm trying to see about enabling HDMI audio on my Dell Studio XPS 435T with an ATI Radeon 4870. I've been reading through the thread, but some of it is a little over my head for the moment. I have a working custom DSDT.aml file for my computer. What would I need to do/provide/generate in order to see about getting the HDMI audio working on my machine? Thanks! Link to comment Share on other sites More sharing options...
atlee Posted April 16, 2011 Share Posted April 16, 2011 new lion build 11A430e, will see if kexts have changed newer kext's but still no further luck Bcc9, new output from new kexts. All other kexts looks like right hex output except for 5000 series Kext ATI5000Controller Personality: Douc ConnectorInfo count in decimal: 2 Disk offset in decimal 332616 0000000 24 08 50 6d 02 00 c7 44 24 04 ac 55 02 00 c7 04 0000010 24 50 6b 02 00 e8 d6 ff ff ff c7 05 50 6b 02 00 0000020 Personality: Langur ConnectorInfo count in decimal: 3 Disk offset in decimal 332616 0000000 24 08 50 6d 02 00 c7 44 24 04 ac 55 02 00 c7 04 0000010 24 50 6b 02 00 e8 d6 ff ff ff c7 05 50 6b 02 00 0000020 78 01 02 00 83 c4 18 5d c3 55 89 e5 83 ec 08 c7 0000030 Personality: Uakari ConnectorInfo count in decimal: 4 Disk offset in decimal 332616 0000000 24 08 50 6d 02 00 c7 44 24 04 ac 55 02 00 c7 04 0000010 24 50 6b 02 00 e8 d6 ff ff ff c7 05 50 6b 02 00 0000020 78 01 02 00 83 c4 18 5d c3 55 89 e5 83 ec 08 c7 0000030 05 50 6b 02 00 78 01 02 00 c7 04 24 50 6b 02 00 0000040 Personality: Zonalis ConnectorInfo count in decimal: 6 Disk offset in decimal 332616 0000000 24 08 50 6d 02 00 c7 44 24 04 ac 55 02 00 c7 04 0000010 24 50 6b 02 00 e8 d6 ff ff ff c7 05 50 6b 02 00 0000020 78 01 02 00 83 c4 18 5d c3 55 89 e5 83 ec 08 c7 0000030 05 50 6b 02 00 78 01 02 00 c7 04 24 50 6b 02 00 0000040 e8 ab ff ff ff 83 c4 08 5d c3 55 89 e5 b8 50 6b 0000050 02 00 5d c3 55 89 e5 31 c0 5d c3 90 55 89 e5 53 0000060 Personality: Alouatta ConnectorInfo count in decimal: 4 Disk offset in decimal 332616 0000000 24 08 50 6d 02 00 c7 44 24 04 ac 55 02 00 c7 04 0000010 24 50 6b 02 00 e8 d6 ff ff ff c7 05 50 6b 02 00 0000020 78 01 02 00 83 c4 18 5d c3 55 89 e5 83 ec 08 c7 0000030 05 50 6b 02 00 78 01 02 00 c7 04 24 50 6b 02 00 0000040 Personality: Hoolock ConnectorInfo count in decimal: 3 Disk offset in decimal 332616 0000000 24 08 50 6d 02 00 c7 44 24 04 ac 55 02 00 c7 04 0000010 24 50 6b 02 00 e8 d6 ff ff ff c7 05 50 6b 02 00 0000020 78 01 02 00 83 c4 18 5d c3 55 89 e5 83 ec 08 c7 0000030 Personality: Vervet ConnectorInfo count in decimal: 4 Disk offset in decimal 332616 0000000 24 08 50 6d 02 00 c7 44 24 04 ac 55 02 00 c7 04 0000010 24 50 6b 02 00 e8 d6 ff ff ff c7 05 50 6b 02 00 0000020 78 01 02 00 83 c4 18 5d c3 55 89 e5 83 ec 08 c7 0000030 05 50 6b 02 00 78 01 02 00 c7 04 24 50 6b 02 00 0000040 Personality: Baboon ConnectorInfo count in decimal: 3 Disk offset in decimal 332616 0000000 24 08 50 6d 02 00 c7 44 24 04 ac 55 02 00 c7 04 0000010 24 50 6b 02 00 e8 d6 ff ff ff c7 05 50 6b 02 00 0000020 78 01 02 00 83 c4 18 5d c3 55 89 e5 83 ec 08 c7 0000030 Personality: Eulemur ConnectorInfo count in decimal: 3 Disk offset in decimal 332616 0000000 24 08 50 6d 02 00 c7 44 24 04 ac 55 02 00 c7 04 0000010 24 50 6b 02 00 e8 d6 ff ff ff c7 05 50 6b 02 00 0000020 78 01 02 00 83 c4 18 5d c3 55 89 e5 83 ec 08 c7 0000030 Personality: Galago ConnectorInfo count in decimal: 2 Disk offset in decimal 332616 0000000 24 08 50 6d 02 00 c7 44 24 04 ac 55 02 00 c7 04 0000010 24 50 6b 02 00 e8 d6 ff ff ff c7 05 50 6b 02 00 0000020 Personality: Colobus ConnectorInfo count in decimal: 2 Disk offset in decimal 332616 0000000 24 08 50 6d 02 00 c7 44 24 04 ac 55 02 00 c7 04 0000010 24 50 6b 02 00 e8 d6 ff ff ff c7 05 50 6b 02 00 0000020 Personality: Mangabey ConnectorInfo count in decimal: 2 Disk offset in decimal 332616 0000000 24 08 50 6d 02 00 c7 44 24 04 ac 55 02 00 c7 04 0000010 24 50 6b 02 00 e8 d6 ff ff ff c7 05 50 6b 02 00 0000020 Personality: Nomascus ConnectorInfo count in decimal: 4 Disk offset in decimal 332616 0000000 24 08 50 6d 02 00 c7 44 24 04 ac 55 02 00 c7 04 0000010 24 50 6b 02 00 e8 d6 ff ff ff c7 05 50 6b 02 00 0000020 78 01 02 00 83 c4 18 5d c3 55 89 e5 83 ec 08 c7 0000030 05 50 6b 02 00 78 01 02 00 c7 04 24 50 6b 02 00 0000040 Personality: Orangutan ConnectorInfo count in decimal: 2 Disk offset in decimal 332616 0000000 24 08 50 6d 02 00 c7 44 24 04 ac 55 02 00 c7 04 0000010 24 50 6b 02 00 e8 d6 ff ff ff c7 05 50 6b 02 00 0000020 VERSA 6000 Kext ATI6000Controller Personality: Pithecia ConnectorInfo count in decimal: 3 Disk offset in decimal 500508 0000000 00 04 00 00 04 03 00 00 00 01 00 00 21 03 02 04 0000010 04 00 00 00 14 02 00 00 00 01 00 00 00 00 04 03 0000020 10 00 00 00 10 00 00 00 00 01 00 00 00 00 00 01 0000030 Personality: Bulrushes ConnectorInfo count in decimal: 6 Disk offset in decimal 500572 0000000 00 04 00 00 04 03 00 00 00 01 00 00 11 02 01 01 0000010 00 04 00 00 04 03 00 00 00 01 00 00 21 03 02 02 0000020 00 04 00 00 04 03 00 00 00 01 00 00 12 04 03 03 0000030 00 04 00 00 04 03 00 00 00 01 00 00 22 05 04 04 0000040 00 04 00 00 04 03 00 00 00 01 00 00 10 00 05 05 0000050 00 04 00 00 04 03 00 00 00 01 00 00 20 01 06 06 0000060 Personality: Cattail ConnectorInfo count in decimal: 4 Disk offset in decimal 500668 0000000 02 00 00 00 40 00 00 00 29 05 00 00 00 00 00 05 0000010 00 04 00 00 04 03 00 00 00 01 00 00 11 02 01 01 0000020 00 04 00 00 00 01 00 00 00 01 00 00 21 03 02 02 0000030 00 04 00 00 00 01 00 00 00 01 00 00 12 04 03 03 0000040 Personality: Hydrilla ConnectorInfo count in decimal: 5 Disk offset in decimal 500732 0000000 02 00 00 00 00 01 00 00 09 01 00 00 12 04 03 03 0000010 00 04 00 00 04 03 00 00 00 01 00 00 11 02 01 01 0000020 00 04 00 00 04 03 00 00 00 01 00 00 21 03 02 02 0000030 00 04 00 00 04 03 00 00 00 01 00 00 22 05 05 04 0000040 00 04 00 00 04 03 00 00 00 01 00 00 10 00 04 05 0000050 Personality: Duckweed ConnectorInfo count in decimal: 4 Disk offset in decimal 500828 0000000 00 04 00 00 04 03 00 00 00 01 00 00 12 04 04 01 0000010 00 04 00 00 04 03 00 00 00 01 00 00 22 05 05 02 0000020 00 08 00 00 04 02 00 00 00 01 00 00 11 02 03 04 0000030 00 02 00 00 04 02 00 00 00 01 00 00 00 00 06 05 0000040 Personality: Fanwort ConnectorInfo count in decimal: 4 Disk offset in decimal 500892 0000000 02 00 00 00 40 00 00 00 29 05 00 00 00 00 00 04 0000010 00 04 00 00 04 03 00 00 00 01 00 00 11 02 01 01 0000020 00 04 00 00 00 01 00 00 00 01 00 00 21 03 02 02 0000030 00 04 00 00 00 01 00 00 00 01 00 00 12 04 03 03 0000040 Personality: Elodea ConnectorInfo count in decimal: 5 Disk offset in decimal 500956 0000000 02 00 00 00 00 01 00 00 09 01 00 00 12 04 03 03 0000010 00 04 00 00 04 03 00 00 00 01 00 00 11 02 01 01 0000020 00 04 00 00 04 03 00 00 00 01 00 00 21 03 02 02 0000030 00 04 00 00 04 03 00 00 00 01 00 00 22 05 04 04 0000040 00 04 00 00 04 03 00 00 00 01 00 00 10 00 05 05 0000050 Personality: Kudzu ConnectorInfo count in decimal: 2 Disk offset in decimal 501052 0000000 00 04 00 00 04 03 00 00 00 01 00 00 12 04 03 03 0000010 00 08 00 00 04 02 00 00 00 01 00 00 11 02 01 01 0000020 Personality: Gibba ConnectorInfo count in decimal: 5 Disk offset in decimal 501084 0000000 00 04 00 00 04 03 00 00 00 01 00 00 12 04 05 01 0000010 00 04 00 00 04 03 00 00 00 01 00 00 22 05 04 02 0000020 00 08 00 00 04 02 00 00 00 01 00 00 11 02 06 04 0000030 00 02 00 00 04 02 00 00 00 01 00 00 00 00 03 05 0000040 04 00 00 00 04 02 00 00 00 01 00 00 11 02 01 03 0000050 Personality: Lotus ConnectorInfo count in decimal: 3 Disk offset in decimal 501180 0000000 00 04 00 00 04 03 00 00 00 01 00 00 11 02 01 01 0000010 00 04 00 00 00 01 00 00 00 01 00 00 21 03 02 02 0000020 00 08 00 00 04 02 00 00 00 01 00 00 22 05 04 04 0000030 Personality: Ipomoea ConnectorInfo count in decimal: 3 Disk offset in decimal 501244 0000000 00 04 00 00 04 03 00 00 00 01 00 00 12 04 01 05 0000010 00 08 00 00 04 02 00 00 00 01 00 00 11 02 04 03 0000020 10 00 00 00 10 00 00 00 00 01 00 00 00 00 00 02 0000030 Link to comment Share on other sites More sharing options...
almuras Posted April 16, 2011 Share Posted April 16, 2011 The problem:Under OSX the ATI driver uses a hard-coded set of personalities to define some of the video card's capabilities, most notably the connector layout. This is sufficient to support the limited number of configurations that Apple ships, but leads to non-working monitors (black displays) in many hackintosh configurations. Users have limited success & limited functionality by simply guessing which hard-coded personality best matches their video card. This is a rough draft Some prerequisites: Installation of OSX Developer tools (for examining personalities with otools)Somewhat working install of ATI radeon HD[45]xx card with Kabyl's chameleon branch: http://www.insanelymac.com/forum/index.php?showtopic=231768Understanding of hex editingAbility to troubleshoot by looking at ioregistry, understanding how to test ATI personalities using ATIConfigThere are currently 26 ATI framebuffer personalities defined in ATIFramebuffer's Info.plist. Each of these personalities defines a set of hard-coded information about the video card hardware. One of the key pieces that gets defined is the connector information, known as ConnectorInfo within the ATI driver. There is one ConnectorInfo structure for every potential connector that may be plugged into a video card. (Dual link DVI ports still count as a single ConnectorInfo). Each personality defines a table of these ConnectorInfo structures. The ConnectorInfo structure can be represented as the following 16 byte structure, in C code: typedef struct { int ConnectorType; /* known values below */ #define CONNECTORTYPE_LVDS 0x00000002 /* Ie internal Low Voltage display, such as laptop */ #define CONNECTORTYPE_DVI 0x00000004 #define CONNECTORTYPE_DP 0x00000400 /* Displayport */ #define CONNECTORTYPE_HDMI 0x00000800 int flags; int features; byte link_i2cid; /* Bits 0-3: i2cid Bits 4-7: link transmitter link */ byte dac_digidx; /* Bits 0-3: link encoder number Bits 4-7: link dac number */ byte hotplugid; byte senseid; /* Sense line is bits 0-3 Use hw i2c flag is bit 4 */ /* i2cid = (senseid & 0xf-1)+0x90 */ /* senseid = (i2cid & 0xf) +1*/ } ConnectorInfo; where integers are represented in intel little-endian byte order, and bit 0 is the LSB. Lets take a look at the driver's 32-bit code for seting up the ConnectorInfo. otool -arch i386 -vt ATIFramebuffer | c++filt | grep createInfo gives you the list of the 26 initialization routines. For all personalities, the initialization routine sets the connector count and a pointer to a static array of ConnectorInfo. I've written a script which will parse the personality initialization routines for you and calculate the effective address of the ConnectorInfo table, as well as the number of table entries. The script currently outputs information for all personalities found in the ATI Framebuffer kext. Usage: perl ati-personality.pl to output 32-bit kext information, or perl ati-personality.pl -x to output 64-bit kext information for 10.7 and 10.6.7 2011 MBPs, the ATI kexts have been revised, use: perl ati-personality.pl -a to get the connectorinfo from their new locations. See finding-patch-address.txt in the attached zip file for instructions if you wish to calculate the effective address & disk address yourself by hand. For example purposes lets focus on the 10.6.6 32-bit portion of the kext, and the uakari ConnectorInfo. From ati-personality.pl we learn: Personality: Uakari ConnectorInfo count in decimal: 4 Disk offset in decimal 226552 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 0000040 You can see above that the perl script found the location of the Uakari connector info and has dumped out the contents in hex. You can dump it yourself with: dd if=ATIFramebuffer of=/tmp/uakari bs=1 skip=226552 count=64 od -Ax -tx1 /tmp/uakari Since there are 4 connectors for this personality, we dump 4*16=64 bytes. Now we take a look at the ConnectorInfo. So we have for this personality connector-type 0x0400=displayport at port 0 connector-type 0x0004=DVI at port 1 connector-type 0x0002=?? at port 2 connector-type 0x0800=HDMI at port 3 Booting kabyl's chameleon branch on my Sapphire Radeon 5670 with this personality results in working DVI and working HDMI (with no audio). Note that due to a bug in that code, overriding the personality from Baboon (the default with 3 connectors total) to Uakari results in 3 injection strings not 4. So the 5670 hardware's ports are matched against only the first 3 entries in the uakari table. Looking at the ioregistry, one can see that port-number 1&2 matched and port 0 did not. (ATY_ActiveFlags != 1 when the port is matched). So my HDMI port was matched but with the wrong connector type (0x0002). This causes HDMI audio to fail. To fix this I overwrote bytes 0 thru 15 of port 2's table entry with port 3's. You can do this using your favorite hex editor. I used emacs xxd, followed by ascii editing, followed by xxd -r is probably a less awkard choice. The resulting table with the 3rd row changed: od -Ax -tx1 /tmp/uakari 000000 00 04 00 00 00 04 00 00 00 01 00 00 12 04 04 01 000010 04 00 00 00 14 00 00 00 00 01 00 00 01 12 01 03 000020 00 08 00 00 00 02 00 00 00 01 00 00 22 05 05 05 000030 00 08 00 00 00 02 00 00 00 01 00 00 22 05 05 04 000040 Now my HDMI audio port is recognized as type 0x0800, with the usual HDMI flags, but with the expected sense line (0x05). And viola, HDMI audio now works! Next, my Sapphire radeon 5670 actually has 3 ports - HDMI, DVI and displayport, and, alas, this personality is only working with 2 of them, even though the personality does include a displayport connector. Luckily I was able to find a different personality with which this card's displayport did work, the Vervet personality. Again from ati-personality.pl, we find Vervet's ConnectorInfo: Personality: Vervet ConnectorInfo count in decimal: 4 Disk offset in decimal 226616 0000000 00 04 00 00 00 04 00 00 00 01 00 00 12 04 04 02 0000010 04 00 00 00 14 00 00 00 00 01 00 00 01 12 01 04 0000020 00 02 00 00 14 00 00 00 00 01 00 00 00 00 06 03 0000030 00 08 00 00 00 02 00 00 00 01 00 00 22 05 05 01 0000040 My card does in fact match port-number 0 for the DP port, as seen in the ioregistry. So I copy the working senseid field from the vervet personality into the Uakari personality (replace the 0x01 at byte 15 of the first line with 0x02). Viola, all 3 ports are now working with my card... Hope this helps others with non-working ports or with HDMI audio problems. Questions/comments? I was trying to follow mucha's guide to fix framebuffer for my videocard but run into some problems. I have Dell Studio 1747 with Radeon Mobility 4650 (0x9480) My Radeon dump looks like this: RHDAtomOutputAllocFree Mapping DIG1 encoder to KLDSKP_UNIPHYE Crtc[0]: found native mode from Monitor[LVDS Panel]: Modeline "1600x900" 96 1600 1648 1680 1736 900 901 906 922 Connector "PANEL" uses Monitor "LVDS Panel": RHDValidateScaledToMode rhdModeValidateCrtc DxModeValid: ATOM CRTC 1 rhdAtomOutputModeValid Listing modesetting layout: ATOM CRTC 1: tied to Atom PLL 1 and LUT A: Outputs: AtomOutput UniphyE (PANEL) ATOM CRTC 2: unused Unused Outputs: AtomOutput DACA, AtomOutput UniphyA And my Atom BIOS is: ATOM BIOS Rom: SubsystemVendorID: 0x1028 SubsystemID: 0x02ea IOBaseAddress: 0x2000 Filename: BR034427.002 BIOS Bootup Message: BR034427-002 M96 DDR3 128bit 550e/700m Connector at index 0 type: VGA (1) Connector's i2cid: 90 Connector at index 1 type: LVDS (7) Connector's i2cid: 96 Connector at index 2 type: HDMI-A (11) Connector's i2cid: 91 Connector at index 3 type: DisplayPort (10) Connector's i2cid: 94 So I made my own framebuffer but it does not work. always black screen except HDMI; Here it is: port0 >VGA=0x00000010 - ControlFlag=0x0010 - Features = 0x00 -----------Hotplug=0x00 - i2cid=90 > SenseLine=0x01 port1 >LVDS=0x00000002 - ControlFlag=0x0040 - Features = 0x09 -----------Hotplug=0x01 - i2cid=96 > SenseLine=0x07 port2 >HDMI=0x00000800 - ControlFlag=0x0200 - Features = 0x00 -----------Hotplug=0x02 - i2cid=91 > SenseLine=0x02 port3 >DP=0x00000400 - ControlFlag=0x0100 - Features = 0x00 -----------Hotplug=0x03 - i2cid=94 > SenseLine=0x05 CRTC0>DIG1>UNIPHYE>LVDS Encoder= 0x00 Transmitter = 0x12 CRTC1>DAC > DACA >VGA Encoder=0x10 Transmitter = 0x00 CRTC1>DIG2>UNIPHYA>HDMI Encoder= 0x01 Transmitter = 0x10 02 00 00 00 40 00 00 00 09 01 00 00 12 02 01 07 LVDS 10 00 00 00 10 00 00 00 00 01 00 00 00 10 00 01 VGA 00 08 00 00 00 02 00 00 00 01 00 00 10 01 02 02 HDMI Only HDMI is fully working. For internal screen and VGA always black screens. I tried to change encoders and transmitters for dual link, still no progress. I do not know what I am doing wrong . Any help or suggestions are greatly appreciated!!! Thanks! Link to comment Share on other sites More sharing options...
陈小龙 Posted April 17, 2011 Share Posted April 17, 2011 Does anyone know why the i2cid and senseid for LVDS aren't being reported by radeon_biod_decode? ATOM BIOS Rom: SubsystemVendorID: 0x104d SubsystemID: 0x9071 IOBaseAddress: 0xd000 Filename: BR36874.001 BIOS Bootup Message: Sony M980 Madison LP DDR3 64Mx16 600E/790M LVDS/VGA/HDMI PCI ID: 1002:68c1 Connector at index 0 Type [@offset 45516]: LVDS (7) Encoder [@offset 45520]: INTERNAL_UNIPHY (0x1e) Connector at index 1 Type [@offset 45526]: HDMI-A (11) Encoder [@offset 45530]: INTERNAL_UNIPHY1 (0x20) i2cid [@offset 45609]: 0x94, OSX senseid: 0x5 Connector at index 2 Type [@offset 45536]: VGA (1) Encoder [@offset 45540]: INTERNAL_KLDSCP_DAC1 (0x15) i2cid [@offset 45636]: 0x90, OSX senseid: 0x1 I'm assuming this is why my LVDS isn't detected. I don't even get a backlight. My VBIOS is attached. VBIOS.zip Link to comment Share on other sites More sharing options...
atlee Posted April 17, 2011 Share Posted April 17, 2011 Does anyone know why the i2cid and senseid for LVDS aren't being reported by radeon_biod_decode? ATOM BIOS Rom: SubsystemVendorID: 0x104d SubsystemID: 0x9071 IOBaseAddress: 0xd000 Filename: BR36874.001 BIOS Bootup Message: Sony M980 Madison LP DDR3 64Mx16 600E/790M LVDS/VGA/HDMI PCI ID: 1002:68c1 Connector at index 0 Type [@offset 45516]: LVDS (7) Encoder [@offset 45520]: INTERNAL_UNIPHY (0x1e) Connector at index 1 Type [@offset 45526]: HDMI-A (11) Encoder [@offset 45530]: INTERNAL_UNIPHY1 (0x20) i2cid [@offset 45609]: 0x94, OSX senseid: 0x5 Connector at index 2 Type [@offset 45536]: VGA (1) Encoder [@offset 45540]: INTERNAL_KLDSCP_DAC1 (0x15) i2cid [@offset 45636]: 0x90, OSX senseid: 0x1 I'm assuming this is why my LVDS isn't detected. I don't even get a backlight. My VBIOS is attached. So you have a 5650m i am presuming? if so LVDS won't work no matter what you try at this stage, use an older version of the decoder, and your lvds does have a sense id, for some reason it just ain't showing, but i doubt sense id's have anything to do with switching on/off of the port. i can even get HDMI and VGA working using any sense id. Link to comment Share on other sites More sharing options...
almuras Posted April 18, 2011 Share Posted April 18, 2011 So you have a 5650m i am presuming? if so LVDS won't work no matter what you try at this stage, use an older version of the decoder, and your lvds does have a sense id, for some reason it just ain't showing, but i doubt sense id's have anything to do with switching on/off of the port. i can even get HDMI and VGA working using any sense id. If sense id does not mean anything do you know what mean other numbers on this dump, especially Encoder values and type values? Is it something to put into ATIframebuffer? ATOM BIOS Rom: SubsystemVendorID: 0x1028 SubsystemID: 0x02ea IOBaseAddress: 0x2000 Filename: BR034427.002 BIOS Bootup Message: BR034427-002 M96 DDR3 128bit 550e/700m PCI ID: 1002:9480 Connector at index 0 Type [@offset 45700]: VGA (1) Encoder [@offset 45704]: INTERNAL_KLDSCP_DAC1 (0x15) i2cid [@offset 45780]: 0x90, OSX senseid: 0x1 Connector at index 1 Type [@offset 45710]: LVDS (7) Encoder [@offset 45714]: INTERNAL_UNIPHY2 (0x21) i2cid [@offset 45803]: 0x96, OSX senseid: 0x7 Connector at index 2 Type [@offset 45720]: HDMI-A (11) Encoder [@offset 45724]: INTERNAL_UNIPHY (0x1e) i2cid [@offset 45826]: 0x91, OSX senseid: 0x2 Connector at index 3 Type [@offset 45730]: DisplayPort (10) Encoder [@offset 45734]: INTERNAL_UNIPHY (0x1e) i2cid [@offset 45853]: 0x94, OSX senseid: 0x5 Thanks! So you have a 5650m i am presuming? if so LVDS won't work no matter what you try at this stage, use an older version of the decoder, and your lvds does have a sense id, for some reason it just ain't showing, but i doubt sense id's have anything to do with switching on/off of the port. i can even get HDMI and VGA working using any sense id. If sense id does not mean anything do you know what mean other numbers on this dump, especially Encoder values and Type values? Is it something to put into ATIframebuffer? ATOM BIOS Rom: SubsystemVendorID: 0x1028 SubsystemID: 0x02ea IOBaseAddress: 0x2000 Filename: BR034427.002 BIOS Bootup Message: BR034427-002 M96 DDR3 128bit 550e/700m PCI ID: 1002:9480 Connector at index 0 Type [@offset 45700]: VGA (1) Encoder [@offset 45704]: INTERNAL_KLDSCP_DAC1 (0x15) i2cid [@offset 45780]: 0x90, OSX senseid: 0x1 Connector at index 1 Type [@offset 45710]: LVDS (7) Encoder [@offset 45714]: INTERNAL_UNIPHY2 (0x21) i2cid [@offset 45803]: 0x96, OSX senseid: 0x7 Connector at index 2 Type [@offset 45720]: HDMI-A (11) Encoder [@offset 45724]: INTERNAL_UNIPHY (0x1e) i2cid [@offset 45826]: 0x91, OSX senseid: 0x2 Connector at index 3 Type [@offset 45730]: DisplayPort (10) Encoder [@offset 45734]: INTERNAL_UNIPHY (0x1e) i2cid [@offset 45853]: 0x94, OSX senseid: 0x5 Any help is greatly appreciated. So far I have only HDMI working Thanks! Link to comment Share on other sites More sharing options...
almuras Posted April 18, 2011 Share Posted April 18, 2011 Greetz again... Not being sure about what to set the txmit/encoder bytes to, I went ahead and wrote a quick atombios decoder that outputs different goods to bcc9's... (and armed with both sets, hmmm maybe I am one step closer). I didn't bother to do up the sense ids or i2cids, and was only focussed on the txmit/encoder bytes for R5xxx or better atombios goods (hmm) my attached bin doesn't do much error checking, but is used same way as bcc9's for consistency. Here is output of my Sapphire 5770 Flex 1GB card from my own... I have yet to plug in/test these values, but based on Mucha's thread and this one, maybe I'll get lucky ;-) ./redsock_bios_decoder <image.bin 148X0300.DP3: JUNIPER BIOS UCODEv:126 Subsystem Vendor ID: 174b Subsystem ID: 1484 Object Header Structure Size: 379 Connector Object Table Offset: 48 Router Object Table Offset: 0 Encoder Object Table Offset: 118 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 [0x20] which is [iNTERNAL_UNIPHY1 (osx txmit 0x11 [duallink 0x1] enc 0x2)] linkb: false Connector Object Id [12] which is [HDMI_TYPE_A] 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 [0x1e] which is [iNTERNAL_UNIPHY (osx txmit 0x10 [duallink 0x0] enc 0x0)] 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 Again I am not sure what the KLDSCP_DAC1 values should really be hence the ? mark there... unknown.. Hmmm, it says I am not permitted to upload this type of file as an attachment... Link here: redsock_bios_decoder redsockosx, I tried your tool. Here is the dump: BR034427.002: BR034427-002 M96 DDR3 128bit 550e/700m Subsystem Vendor ID: 1028 Subsystem ID: 2ea Object Header Structure Size: 256 Connector Object Table Offset: 3c Router Object Table Offset: 0 Encoder Object Table Offset: c4 Display Path Table Offset: 10 Connector Object Id [5] which is [VGA] encoder obj id [0x15] which is [iNTERNAL_KLDSCP_DAC1 (osx txmit 0x00 enc 0x10?)] linkb: false Connector Object Id [14] which is [LVDS] encoder obj id [0x21] which is [iNTERNAL_UNIPHY2 (osx txmit 0x12 [duallink 0x2] enc 0x4)] linkb: false Connector Object Id [12] which is [HDMI_TYPE_A] encoder obj id [0x1e] which is [iNTERNAL_UNIPHY (osx txmit 0x10 [duallink 0x0] enc 0x0)] linkb: false Connector Object Id [19] which is [DISPLAY_PORT] encoder obj id [0x1e] which is [iNTERNAL_UNIPHY (osx txmit 0x20 [duallink 0x0] enc 0x1)] linkb: true I wonder what transmiter/encoder values will you recommend to use? Interestingly my line for HDMI using mucha's guide was 00 08 00 00 00 02 00 00 00 01 00 00 10 01 02 02 and working fine. Then I used your values for HDMI 00 08 00 00 00 02 00 00 00 01 00 00 00 00 02 02 and it worked too! Unfortunately, LVDS still black so far.... Link to comment Share on other sites More sharing options...
陈小龙 Posted April 18, 2011 Share Posted April 18, 2011 So you have a 5650m i am presuming? if so LVDS won't work no matter what you try at this stage, use an older version of the decoder, and your lvds does have a sense id, for some reason it just ain't showing, but i doubt sense id's have anything to do with switching on/off of the port. i can even get HDMI and VGA working using any sense id. Yes, I have a 5650m on a Sony Vaio laptop. How do I use an older version of the decoder? I'm guessing that I'll need older kexts? I'm currently using the Lion kexts from Developer Preview 1. Link to comment Share on other sites More sharing options...
twisted89 Posted May 2, 2011 Share Posted May 2, 2011 I've been trying to get my mini display port working on my 5970 using a edited personality but I'm having problems so I if anyone could help me out I would appreciate it a lot. Basically I've got 3 displays detected (DVi+DVI+DP) but only my 2 DVI's are currently working. I've tried changing the encoder for the display port but I'm still not getting any output. Heres my bios dump: ATOM BIOS Rom: SubsystemVendorID: 0x1682 SubsystemID: 0x3020 IOBaseAddress: 0x0000 Filename: S3C00001.102 BIOS Bootup Message: HEMLOCK MASTER XT BIOS UCODEV:120 PCI ID: 1002:689c Connector at index 0 Type [@offset 44592]: DisplayPort (10) Encoder [@offset 44596]: INTERNAL_UNIPHY2 (0x21) i2cid [@offset 44694]: 0x91, OSX senseid: 0x2 Connector at index 1 Type [@offset 44602]: DVI-I (2) Encoder [@offset 44606]: INTERNAL_UNIPHY1 (0x20) i2cid [@offset 44731]: 0x92, OSX senseid: 0x3 Connector at index 2 Type [@offset 44612]: DVI-I (2) Encoder [@offset 44616]: INTERNAL_KLDSCP_DAC2 (0x16) i2cid [@offset 44731]: 0x92, OSX senseid: 0x3 Connector at index 3 Type [@offset 44622]: DVI-I (2) Encoder [@offset 44626]: INTERNAL_UNIPHY (0x1e) i2cid [@offset 44768]: 0x94, OSX senseid: 0x5 Connector at index 4 Type [@offset 44632]: DVI-I (2) Encoder [@offset 44636]: INTERNAL_KLDSCP_DAC1 (0x15) i2cid [@offset 44768]: 0x94, OSX senseid: 0x5 Not sure why 4 DVI's are showing up considering I only have 2.... Here's what I'm currently using as a personality under Uakari: 00 04 00 00 04 06 00 00 00 01 00 00 02 04 01 02 (DP) 04 00 00 00 14 00 00 00 00 00 00 00 01 10 02 03 (DVI) 04 00 00 00 14 00 00 00 00 00 00 00 00 10 03 05 (DVI) 00 08 00 00 00 02 00 00 00 71 00 00 22 05 04 04 Link to comment Share on other sites More sharing options...
Martuzki Posted May 2, 2011 Share Posted May 2, 2011 How can i fix this? State (with this kexts): Internal LVDS Display has crazy colors (Attached pic) External VGA works (1920x1080) No QE/CI pls help P.S: Can someone help me over TeamViewer? Link to comment Share on other sites More sharing options...
prnoct90 Posted May 3, 2011 Share Posted May 3, 2011 Sapphire HD 5570 HDMI audio success. Credit to bcc9 for developing the method and tmongkol for proposing the working solution for the HD 5570. Configuration: DVI, HDMI, VGA Default Situation: 10.6.6, Kabyl rel 700 Boots to Baboon HDMI video no audio DVI is black screen The radeondump 0.2: ATOM BIOS Rom: SubsystemVendorID: 0x174b SubsystemID: 0xe142 IOBaseAddress: 0x0000 Filename: 2E142010.002 BIOS Bootup Message: REDWOOD C02101 DDR3 64Mx16 Connector at index 0 type: HDMI-A (11) Connector's i2cid: 92 Connector at index 1 type: DVI-I (2) Connector's i2cid: 93 Connector at index 2 type: DVI-I (2) Connector's i2cid: 93 Connector at index 3 type: VGA (1) Connector's i2cid: 90 tmongkol proposes Eulemur Framebuffer for the HDMI senseid change from: 00 08 00 00 00 02 00 00 00 01 00 00 12 04 04 02 to 00 08 00 00 00 02 00 00 00 01 00 00 12 04 04 03 Patched for Sapphire HD 5570 Eulemur: 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 03 0000020 10 00 00 00 10 00 00 00 00 00 00 00 00 10 00 01 0000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0000040 Result: HDMI video and audio working DVI video working (audio may not be possible with this card) Fully functional HD 5570 in 10.6.6 GT 430 retired. Thanks bcc9 and tmongkol I have this card. I am very new to this. I have already made the edits to my DSDT. Can you give me a more step by step way to do this? Thanks! Link to comment Share on other sites More sharing options...
Martuzki Posted May 3, 2011 Share Posted May 3, 2011 Can someone read out the BIOS Infos with Radeondump of this VBIOS file: http://db.tt/OxSn7vR (It's a 4570 mobility) bash-3.2# ./radeondump > 1002_9553.rom Usage: ./radeondump [-d] [regnum] [-r start,end] -d dump Radeon card BIOS ROM regnum dump Radeon card IO register values at regnum -r start,end dump Radeon card IO register values in the range of [start,end] -i dump EDID bash-3.2# Link to comment Share on other sites More sharing options...
twisted89 Posted May 3, 2011 Share Posted May 3, 2011 Can someone read out the BIOS Infos with Radeondump of this VBIOS file:http://db.tt/OxSn7vR (It's a 4570 mobility) bash-3.2# ./radeondump > 1002_9553.rom Usage: ./radeondump [-d] [regnum] [-r start,end] -d dump Radeon card BIOS ROM regnum dump Radeon card IO register values at regnum -r start,end dump Radeon card IO register values in the range of [start,end] -i dump EDID bash-3.2# Use radeon_bios_decode found at the bottom of the first post and the command should look like this: ./radeon_bios_decode < 1002_9553.rom Notice the bracket is the other way round. Link to comment Share on other sites More sharing options...
Recommended Posts