bcc9 Posted March 21, 2011 Author Share Posted March 21, 2011 The nvcap was derived from graphic card's ROM file. The same method works for other notebook model but not on sony. The internal LCD doesn't detected at all (in IORegistry).Hmm, a lot of unknown/guess fields described in those posts. Not as far along as we are here with the ATI driver PS: I'd love to know what field to set in NVCAP or NVMT or display-cfg to get the connector-type to come out as HDMI (0x00000800). Link to comment Share on other sites More sharing options...
uukk Posted March 22, 2011 Share Posted March 22, 2011 I have a little trouble, my DP doesn't work. This is my edited ATIFramebuffer: Mac-Pro-di-fabry:tmp fabry$ od -Ax -tx1 /tmp/uakari3 0000000 00 04 00 00 00 04 00 00 00 01 00 00 12 04 04 03 0000010 04 00 00 00 14 00 00 00 00 01 00 00 01 12 01 01 0000020 04 00 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 and this is my ioreg of the bad connector: my radeondump: Mac-Pro-di-fabry:Desktop fabry$ ./radeondump < 1002_6898.rom ATOM BIOS Rom: SubsystemVendorID: 0x1043 SubsystemID: 0x0346 IOBaseAddress: 0x0000 Filename: SV36460.107 BIOS Bootup Message: 6898.12.20.0.5.AS02 U126 Connector at index 0 type: DisplayPort (10) Connector's i2cid: 92 Connector at index 1 type: HDMI-A (11) Connector's i2cid: 93 Connector at index 2 type: DVI-I (2) Connector's i2cid: 94 Connector at index 3 type: DVI-I (2) Connector's i2cid: 94 and the stock Uakari ATIFramefuffer: Mac-Pro-di-fabry:tmp fabry$ od -Ax -tx1 /tmp/uakari2 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 I have only change the senseid of firsth row from 01 to 03 and the connector of DVI at row 3 from 200 to 4 (DVI) but the DP still not work and the active flags don't match. What I missing? many regards Link to comment Share on other sites More sharing options...
jsl Posted March 23, 2011 Share Posted March 23, 2011 Hi, bcc9 After using a true DP-->DP cable or DP-->HDMI active Eyefinity convertor I can activate DP audio, HDMI audio and DVI 3 ports at the same time now with Uakari or Vervet FB in Asus EAH 5850 or MSI Hawk 5770 card. Also I can Sleep/Wake by USB mouse/keyboard at the main dispaly either DVI or HDMI. Thanks again without your and mucha's guides I can not do it so well. I have a little trouble, my DP doesn't work.This is my edited ATIFramebuffer: Mac-Pro-di-fabry:tmp fabry$ od -Ax -tx1 /tmp/uakari3 0000000 00 04 00 00 00 04 00 00 00 01 00 00 12 04 04 03 0000010 04 00 00 00 14 00 00 00 00 01 00 00 01 12 01 01 0000020 04 00 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 and this is my ioreg of the bad connector: my radeondump: Mac-Pro-di-fabry:Desktop fabry$ ./radeondump < 1002_6898.rom ATOM BIOS Rom: SubsystemVendorID: 0x1043 SubsystemID: 0x0346 IOBaseAddress: 0x0000 Filename: SV36460.107 BIOS Bootup Message: 6898.12.20.0.5.AS02 U126 Connector at index 0 type: DisplayPort (10) Connector's i2cid: 92 Connector at index 1 type: HDMI-A (11) Connector's i2cid: 93 Connector at index 2 type: DVI-I (2) Connector's i2cid: 94 Connector at index 3 type: DVI-I (2) Connector's i2cid: 94 and the stock Uakari ATIFramefuffer: Mac-Pro-di-fabry:tmp fabry$ od -Ax -tx1 /tmp/uakari2 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 I have only change the senseid of firsth row from 01 to 03 and the connector of DVI at row 3 from 200 to 4 (DVI) but the DP still not work and the active flags don't match. What I missing? many regards Change to : 0000000 00 04 00 00 04 06 00 00 00 01 00 00 12 04 04 03 and using a true DP-->DP cable for DP monitor or DP-->HDMI active Eyefinity convertor for HDMI monitor. Please read my posts for Asus EAH 5850 and MSI Hawk 5770. Link to comment Share on other sites More sharing options...
uukk Posted March 23, 2011 Share Posted March 23, 2011 Change to :0000000 00 04 00 00 04 06 00 00 00 01 00 00 12 04 04 03 and using a true DP-->DP cable for DP monitor or DP-->HDMI active Eyefinity convertor for HDMI monitor. Please read my posts for Asus EAH 5850 and MSI Hawk 5770. I use a true DP-->DP cable (I have a DELL U2711P) but the display port still not work after your configuration... Link to comment Share on other sites More sharing options...
bcc9 Posted March 23, 2011 Author Share Posted March 23, 2011 I use a true DP-->DP cable (I have a DELL U2711P) but the display port still not work after your configuration... Check the transmitter/encoder values per mucha's thread? Link to comment Share on other sites More sharing options...
jsl Posted March 25, 2011 Share Posted March 25, 2011 I use a true DP-->DP cable (I have a DELL U2711P) but the display port still not work after your configuration... Please try : 0000000 00 04 00 00 00 05 00 00 00 01 00 00 12 04 04 03 That means 0x400 0x500 instead of 0x400 0x604 for Connector-type and ATY-ControlFlag I found this because in 10.6.4 which used these different values for DP display port. Link to comment Share on other sites More sharing options...
VCH888 Posted March 25, 2011 Share Posted March 25, 2011 Hmm, a lot of unknown/guess fields described in those posts. Not as far along as we are here with the ATI driver PS: I'd love to know what field to set in NVCAP or NVMT or display-cfg to get the connector-type to come out as HDMI (0x00000800). Off the topic add these lines in dsdt for getting HDMI audio. Credit to toleda. "@1,connector-type", Buffer (0x04) { 0x00, 0x08, 0x00, 0x00 }, Link to comment Share on other sites More sharing options...
kizwan Posted March 25, 2011 Share Posted March 25, 2011 Hi tmongkol, Finally I got HDMI audio working. So, ATI HDMI audio on notebook works. The legacy kext which responsible in injecting my HD4570's device ID is causing the problem. Removed the legacy kext & add HD4570's device ID in ATI4600Controller.kext fixed the problem. Link to comment Share on other sites More sharing options...
bcc9 Posted March 25, 2011 Author Share Posted March 25, 2011 add these lines in dsdt for getting HDMI audio. Thanks, I had tried that and it isn't sufficient to get working audio in my 9400m case. It's good to hear that setting connector-type is sufficient for some other nvidia cases (fermi cards). A few weeks ago when I digged further into NVDAResman, I saw that in the nvidia case, av-signal-type must also be set correctly, where 0x8 is the working hdmi value, but it turns up as 0x2 for the 9400m. Unfortunately av-signal-type is set by NVDAResman and injecting the working value has no effect. I was able to patch NVDAResman to cause av-signal-type to come out with the expected value, at which point the HDMI audio option finally did automatically hotplug on my 9400m. However audio doesn't actually pass thru If I could figure out the logic NVDAResman is using to set av-signal-type (based upon NVMT? NVCAP? display-cfg?) then I think I might have a working solution. av-signal-type is coming up as 0x8 automatically in the fermi case? Link to comment Share on other sites More sharing options...
VCH888 Posted March 25, 2011 Share Posted March 25, 2011 Hi tmongkol, Finally I got HDMI audio working. So, ATI HDMI audio on notebook works. The legacy kext which responsible in injecting my HD4570's device ID is causing the problem. Removed the legacy kext & add HD4570's device ID in ATI4600Controller.kext fixed the problem. @ kizwan That's great. So, most of HD 4xxx that have HDMI port should be able to get HDMI audio. (edited) @ bcc9 I asked toledo to answer your fermi question since I didn't have it. update: got av-signal-type <08 00 00 00> Link to comment Share on other sites More sharing options...
frostxx Posted March 25, 2011 Share Posted March 25, 2011 Now remains someone to do *dmg package with all the settings for HD4570 Link to comment Share on other sites More sharing options...
uukk Posted March 26, 2011 Share Posted March 26, 2011 Please try :0000000 00 04 00 00 00 05 00 00 00 01 00 00 12 04 04 03 That means 0x400 0x500 instead of 0x400 0x604 for Connector-type and ATY-ControlFlag I found this because in 10.6.4 which used these different values for DP display port. Thank you jls but does't work... I have switched to MBPro 10.6.7 ATI kext and all three connector are full recognized (i see in the ioreg). The ATY_ActiveFlags match the DP but the monitor still black. I connect DVI and DP both and set the "clone mode", i can see in System Preference panel the DP monitor and I can configure it (changing resolution ecc.) but every thing I change it's still black... I'm very frustrating... Have you a idea? many regards Link to comment Share on other sites More sharing options...
kizwan Posted March 26, 2011 Share Posted March 26, 2011 Thank you jls but does't work...I have switched to MBPro 10.6.7 ATI kext and all three connector are full recognized (i see in the ioreg). The ATY_ActiveFlags match the DP but the monitor still black. I connect DVI and DP both and set the "clone mode", i can see in System Preference panel the DP monitor and I can configure it (changing resolution ecc.) but every thing I change it's still black... I'm very frustrating... Have you a idea? many regards Probably transmitter is wrong. Try get RadeonHD's log in linux. Link to comment Share on other sites More sharing options...
uukk Posted March 26, 2011 Share Posted March 26, 2011 Probably transmitter is wrong. Try get RadeonHD's log in linux. How can I get this detailed log? I have search in dmesg and /var/log/Xorg.0.log but seems not very detailed. many regards Link to comment Share on other sites More sharing options...
kizwan Posted March 26, 2011 Share Posted March 26, 2011 How can I get this detailed log?I have search in dmesg and /var/log/Xorg.0.log but seems not very detailed. many regards The log should look like this or similar:- [ 7.528400] [drm] Loading RV710 Microcode [ 7.583699] [drm] ring test succeeded in 1 usecs [ 7.583941] [drm] radeon: ib pool ready. [ 7.584065] [drm] ib test succeeded in 0 usecs [ 7.584069] [drm] Enabling audio support [ 7.667456] [drm] Unknown TV standard; defaulting to NTSC [ 7.667603] [drm] Radeon Display Connectors [ 7.667606] [drm] Connector 0: [ 7.667609] [drm] LVDS [ 7.667613] [drm] DDC: 0x7f68 0x7f68 0x7f6c 0x7f6c 0x7f70 0x7f70 0x7f74 0x7f74 [ 7.667616] [drm] Encoders: [ 7.667619] [drm] LCD1: INTERNAL_UNIPHY2 [ 7.667622] [drm] Connector 1: [ 7.667624] [drm] VGA [ 7.667628] [drm] DDC: 0x7e40 0x7e40 0x7e44 0x7e44 0x7e48 0x7e48 0x7e4c 0x7e4c [ 7.667630] [drm] Encoders: [ 7.667633] [drm] CRT1: INTERNAL_KLDSCP_DAC1 [ 7.667636] [drm] Connector 2: [ 7.667638] [drm] HDMI-A [ 7.667641] [drm] HPD1 [ 7.667644] [drm] DDC: 0x7e50 0x7e50 0x7e54 0x7e54 0x7e58 0x7e58 0x7e5c 0x7e5c [ 7.667647] [drm] Encoders: [ 7.667649] [drm] DFP1: INTERNAL_UNIPHY Please post the log here. Thank you. Link to comment Share on other sites More sharing options...
uukk Posted March 26, 2011 Share Posted March 26, 2011 Please post the log here. Thank you. this is my log: log Link to comment Share on other sites More sharing options...
kizwan Posted March 26, 2011 Share Posted March 26, 2011 this is my log: log It doesn't contain the required information. You'll need to install RadeonHD driver but I don't think your GPU is supported though because RadeonHD is an old driver. Try install radeon driver & obtain the log. Link to comment Share on other sites More sharing options...
uukk Posted March 26, 2011 Share Posted March 26, 2011 It doesn't contain the required information. You'll need to install RadeonHD driver but I don't think your GPU is supported though because RadeonHD is an old driver. Try install radeon driver & obtain the log. [ 10.139051] [drm] ring test succeeded in 1 usecs [ 10.139122] [drm] radeon: ib pool ready. [ 10.139229] [drm] ib test succeeded in 0 usecs [ 10.139238] failed to evaluate ATIF got AE_BAD_PARAMETER [ 10.139241] radeon 0000:01:00.0: Error during ACPI methods call [ 10.140737] [drm] Radeon Display Connectors [ 10.140738] [drm] Connector 0: [ 10.140740] [drm] DisplayPort [ 10.140741] [drm] HPD5 [ 10.140743] [drm] DDC: 0x6450 0x6450 0x6454 0x6454 0x6458 0x6458 0x645c 0x645c [ 10.140745] [drm] Encoders: [ 10.140746] [drm] DFP1: INTERNAL_UNIPHY2 [ 10.140748] [drm] Connector 1: [ 10.140749] [drm] HDMI-A [ 10.140750] [drm] HPD4 [ 10.140752] [drm] DDC: 0x6460 0x6460 0x6464 0x6464 0x6468 0x6468 0x646c 0x646c [ 10.140753] [drm] Encoders: [ 10.140754] [drm] DFP2: INTERNAL_UNIPHY2 [ 10.140755] [drm] Connector 2: [ 10.140756] [drm] DVI-I [ 10.140757] [drm] HPD6 [ 10.140758] [drm] DDC: 0x6470 0x6470 0x6474 0x6474 0x6478 0x6478 0x647c 0x647c [ 10.140759] [drm] Encoders: [ 10.140760] [drm] DFP3: INTERNAL_UNIPHY [ 10.140761] [drm] CRT1: INTERNAL_KLDSCP_DAC1 [ 10.285979] type=1400 audit(1301163220.775:2): apparmor="STATUS" operation="profile_load" name="/sbin/dhclient3" pid=664 comm="apparmor_parser" [ 10.286026] type=1400 audit(1301163220.775:3): apparmor="STATUS" operation="profile_replace" name="/sbin/dhclient3" pid=613 comm="apparmor_parser" [ 10.286309] type=1400 audit(1301163220.775:4): apparmor="STATUS" operation="profile_load" name="/usr/lib/NetworkManager/nm-dhcp-client.action" pid=664 comm="apparmor_parser" [ 10.286346] type=1400 audit(1301163220.775:5): apparmor="STATUS" operation="profile_replace" name="/usr/lib/NetworkManager/nm-dhcp-client.action" pid=613 comm="apparmor_parser" [ 10.286492] type=1400 audit(1301163220.775:6): apparmor="STATUS" operation="profile_load" name="/usr/lib/connman/scripts/dhclient-script" pid=664 comm="apparmor_parser" [ 10.286520] type=1400 audit(1301163220.775:7): apparmor="STATUS" operation="profile_replace" name="/usr/lib/connman/scripts/dhclient-script" pid=613 comm="apparmor_parser" [ 10.286719] 2:1:1: cannot get freq at ep 0x1 [ 10.305456] usbcore: registered new interface driver snd-usb-audio [ 10.386849] [drm] Internal thermal controller with fan control [ 10.386860] [drm] radeon: power management initialized [ 10.510876] [drm] fb mappable at 0xE0140000 [ 10.510878] [drm] vram apper at 0xE0000000 [ 10.510879] [drm] size 14745600 [ 10.510880] [drm] fb depth is 24 [ 10.510880] [drm] pitch is 10240 [ 10.943162] Console: switching to colour frame buffer device 320x90 [ 10.949130] fb0: radeondrmfb frame buffer device [ 10.949131] drm: registered panic notifier [ 10.949135] Slow work thread pool: Starting up Link to comment Share on other sites More sharing options...
bcc9 Posted March 26, 2011 Author Share Posted March 26, 2011 Probably transmitter is wrong. Try get RadeonHD's log in linux. That's what I suggested 3 days ago As to uukk's encoder value, his log shows: [ 10.140745] [drm] Encoders: [ 10.140746] [drm] DFP1: INTERNAL_UNIPHY2 for the displayport connector. Per mucha's thread, post #1: "DIG5 drives UNIPHY2 link A, A+B" and " #define DIG5 0x04 // = DIGE Only for Radeon HD 5XXX Series and above" so you want 0x04 for the encoder byte for your displayport, if I'm understanding mucha correctly. Looks like you already have 0x4 for this byte so the encoder value checks out... For transmitter, " #define UNIPHYE 0x12 // = UNIPHY2:LINKA" and you have it set to 0x12 (single link), which I guess is right. Does your HDMI port work right (maybe LINKA&LINKB are swapped)? Link to comment Share on other sites More sharing options...
uukk Posted March 26, 2011 Share Posted March 26, 2011 That's what I suggested 3 days ago As to uukk's encoder value, his log shows: [ 10.140745] [drm] Encoders: [ 10.140746] [drm] DFP1: INTERNAL_UNIPHY2 for the displayport connector. Per mucha's thread, post #1: "DIG5 drives UNIPHY2 link A, A+B" and " #define DIG5 0x04 // = DIGE Only for Radeon HD 5XXX Series and above" so you want 0x04 for the encoder byte for your displayport, if I'm understanding mucha correctly. Looks like you already have 0x4 for this byte so the encoder value checks out... Yes I have already this: Mac-Pro-di-fabry:tmp fabry$ od -Ax -tx1 /tmp/uakari3 0000000 00 04 00 00 00 04 00 00 00 01 00 00 12 04 04 03 0000010 04 00 00 00 14 00 00 00 00 01 00 00 01 12 01 01 0000020 04 00 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 but I try to change the transmitter to 0x02: 0000000 00 04 00 00 00 04 00 00 00 01 00 00 02 04 04 03 0000010 04 00 00 00 14 00 00 00 00 01 00 00 01 12 01 01 0000020 04 00 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 Link to comment Share on other sites More sharing options...
bcc9 Posted March 26, 2011 Author Share Posted March 26, 2011 Yes, I'd recommend trying the other values for the transmitter byte, 0x2, 0x22, unless you know that the HDMI port is working right with the 0x22 transmitter byte. Link to comment Share on other sites More sharing options...
uukk Posted March 26, 2011 Share Posted March 26, 2011 Yes, I'd recommend trying the other values for the transmitter byte, 0x2, 0x22, unless you know that the HDMI port is working right with the 0x22 transmitter byte. The Display Port.... Link to comment Share on other sites More sharing options...
wmarsh Posted March 27, 2011 Share Posted March 27, 2011 I would get the Linux information using F6 to get boot options, then enter without quotes "radeon.modeset=0" The full log is in /var/logs/Xorg.0.log You get much more information. And I would definitely try other encoders. In my case, both RadeonHD and Linux say DIG1(Radeon)=DIG0(Linux) but my system gives a black screen with encoder 00 but connects with encoder 01. Link to comment Share on other sites More sharing options...
bcc9 Posted March 27, 2011 Author Share Posted March 27, 2011 The Display Port.... My point was that if you know that the HDMI port is working with transmitter byte 0x22 then the HDMI port is for sure linkb and that would make the displayport for sure linka, as both your hdmi&displayport are apparently sharing phy2. Link to comment Share on other sites More sharing options...
bcc9 Posted March 27, 2011 Author Share Posted March 27, 2011 I've made a new version of radeondump, now called radeon_bios_decode to avoid confusion with dong's tool. Attached to post #1 in a sec... This version computes the OSX senseid value for you, and also prints out the encoder ID information. The encoder information is obtained from the ATOM BIOS just like the other values. No need to run a kext or boot linux to obtain these values. What else do I need to add? Example: ./radeon_bios_decode < rom ATOM BIOS Rom: SubsystemVendorID: 0x174b SubsystemID: 0xe151 IOBaseAddress: 0x0000 Filename: 3E151DAF.HY1 BIOS Bootup Message: REDWOOD XT C02002 GDDR5 64Mx16 1G UCODEv:126 Connector at index 0 Type: DisplayPort (10) Encoder: id: 21 name: INTERNAL_UNIPHY2 i2cid: 0x91, OSX senseid: 0x2 Connector at index 1 Type: HDMI-A (11) Encoder: id: 21 name: INTERNAL_UNIPHY2 i2cid: 0x94, OSX senseid: 0x5 Connector at index 2 Type: DVI-I (2) Encoder: id: 20 name: INTERNAL_UNIPHY1 i2cid: 0x92, OSX senseid: 0x3 Connector at index 3 Type: DVI-I (2) Encoder: id: 15 name: INTERNAL_KLDSCP_DAC1 i2cid: 0x92, OSX senseid: 0x3 Link to comment Share on other sites More sharing options...
Recommended Posts