simonjohnharris Posted August 19, 2015 Author Share Posted August 19, 2015 Hi again Herve After keeping the laptop undocked, I plugged in a VGA cable and was able to use the external monitor so it's just the DVI's that are not working. What I then did was retrieve the AppleIntelSNBGraphics.kext file from the OS X Base System (the vanilla one I assume) and overwrote the patched VGA copy. The result is that both DVI outputs are now working from the Docking Station. Everything is now resolved, even Bluetooth (except iPhone 6 is not supported) which is why I thought BT wasn't working at all. I just need to buy a compatible Wi-Fi card as I understand the Intel Centrinos are not supported. Thanks very much for your help. If you do end up patching the AppleIntelSNBGraphics.kext file for all four ports, then I'll be interested in a copy. Link to comment Share on other sites More sharing options...
Administrators Hervé Posted August 19, 2015 Administrators Share Posted August 19, 2015 I re-tested my E6220 with patched SNB framebuffer kext on my Port Replicator. Results were as I expected: DVI no longer worked but VGA did. --> Therefore, we simply need to identify which vanilla display port line natively supports DVI output on those laptops and reinstate it alongside the patched HDMI + VGA lines. It's a fairly quick and simple task of testing different combinations... Vanilla SNB framebuffer kext: 01 02 04 00 10 07 00 00 10 07 00 00 // Nb of connectors -> "04" 05 03 00 00 02 00 00 00 30 00 00 00 // built-in laptop display 02 05 00 00 00 04 00 00 07 00 00 00 // display port 03 04 00 00 00 04 00 00 09 00 00 00 // display port 04 06 00 00 00 04 00 00 09 00 00 00 // display port Existing E6220 patched SNB framebuffer kext: 01 02 03 00 10 07 00 00 10 07 00 00 // Nb of connectors reduced to 3 -> "03" 05 03 00 00 02 00 00 00 30 00 00 00 // unmodified line for laptop built-in display 02 05 00 00 00 08 00 00 06 00 00 00 // HDMI display port 06 02 00 00 00 04 00 00 09 00 00 00 // VGA display port 00 00 00 00 00 00 00 00 00 00 00 00 // Unused, dead line We can therefore reinstate the number of connectors to 4 and, on the basis that display port line starting with "02 05" corresponds to HDMI output, try to retrofit the 4th and unused display port line to one of the settings below: 03 04 00 00 00 04 00 00 09 00 00 00 or 04 06 00 00 00 04 00 00 09 00 00 00 Link to comment Share on other sites More sharing options...
Administrators Hervé Posted August 19, 2015 Administrators Share Posted August 19, 2015 Ok, sorted, it's the last choice ("04 06 ..."). With the following revised SNB framebuffer patch, the E6220 now has DVI and VGA output supported out of the Port Replicator in addition to built-in VGA + HDMI outputs: 01 02 04 00 10 07 00 00 10 07 00 00 // vanilla: nb of connectors -> "04" 05 03 00 00 02 00 00 00 30 00 00 00 // vanilla: laptop's own LCD display 02 05 00 00 00 08 00 00 06 00 00 00 // patched: HDMI display port (built-in port) 06 02 00 00 00 04 00 00 09 00 00 00 // patched: VGA display port (built-in + docking-station port) 04 06 00 00 00 04 00 00 09 00 00 00 // vanilla: DVI display port (docking-station port) Tested Ok with Mavericks 10.9.5, Yosemite 10.10.5 and El Capitan DB6. This should work with all E6x20 models. 2 points to note: laptop's built-in VGA port is disabled when computer is docked to my port replicator; so it's either-or, as expected. I could not get display to work properly with 2 external displays, one on DVI, one on VGA; all 3 displays were detected properly but built-in LCD + VGA outputs remained dark, only DVI screen showed desktop. Might work with some additional patch, I don't know at this stage. Could be a conflict of port numbers as I think I used #9 on both. So, for the moment, it's one or the other on the port replicator. System may behave differently with a different docking station such as model E-Port Plus K09A001 for instance. Will try and test if/when I have time. Here is the revised 10.10.5 patched SNB framebuffer kext: 10.10.5_newly_patched_AppleIntelSNBGraphicsFB.kext.zip Link to comment Share on other sites More sharing options...
simonjohnharris Posted August 19, 2015 Author Share Posted August 19, 2015 Thanks for your work on this Herve!! I tried the patched kext. Both DVI's worked when docked but the VGA did not when undocked. Can't try HDMI yet but will do when I get home. Not sure why this is and I have not got the skills to patch this file. Can you guide me through identifying what line each port is for? Otherwise, maybe you could patch a few files for each scenario if it's not too much trouble. Would love to have DVI, VGA and HDMI working!! Thanks Link to comment Share on other sites More sharing options...
Administrators Hervé Posted August 19, 2015 Administrators Share Posted August 19, 2015 My mistake, I think I was too quick uploading the file and posted the vanilla kext, not the newly patched one! I've modified the post; try again. PS: let's look at the camera matter in a separate thread but read my existing E6320 guide. It mentions it. Link to comment Share on other sites More sharing options...
simonjohnharris Posted August 20, 2015 Author Share Posted August 20, 2015 Hi Herve I tried the new patch which worked for the most part. As you mentioned, one DVI output worked from the Docking Station and when undocked, the VGA also worked. I didn't try HDMI as yet as I don't have the correct cable. The only problem using this patch kext is that if you boot the laptop on the dock, although the external monitor shows the boot up, the screen goes blank after it's booted. The only way I could use this was to boot up first, then dock it. For now, I have had to restore the vanilla kext so that the laptop boots docked with no issues and that both external monitors work through the DVI outputs. If it's possible, I would really like a kext file that supports both DVI's and the HDMI and that can be used when booting docked. I'm not bothered about having VA work if I have the other ports working. I'll raise a separate topic on the webcam. Thanks! Link to comment Share on other sites More sharing options...
Administrators Hervé Posted August 20, 2015 Administrators Share Posted August 20, 2015 Patched kext works when I boot laptop (lid opened, haven't tried lid closed) with DVI or VGA connected to docking station, but not both. Which docking station or port replicator do you have? 'seems you have 2 external screens and, indeed, I could not get that to work properly with the patched kext (VGA + DVI). There's a E-Port Plus docking station I can also test at work. That has 2 x DVI + 2 x DP + 1 x VGA ports so it's much more than the simpler E-Port I was using that had 1 x DVI + 1 x VGA + 1 x DP at the back. I suspect you have the E-Port Plus and it may well be that the vanilla SNB frame buffer kexts supports both DVI off your dock. For HDMI, you would just need to patch the 0205 line I guess. All details provided previously and in the HD3000 thread I linked to in one of my previous posts above. Link to comment Share on other sites More sharing options...
simonjohnharris Posted August 21, 2015 Author Share Posted August 21, 2015 Yes it seems I do have the E-Port Plus docking station. So to patch the vanilla SNB Framebuffer file, is it a case of just doing a search and replace within the kext file? search 02 05 00 00 00 04 00 00 07 00 00 00 replace 02 05 00 00 00 08 00 00 06 00 00 00 If it works, this will give me both DVI outputs and HDMI. Link to comment Share on other sites More sharing options...
Administrators Hervé Posted August 21, 2015 Administrators Share Posted August 21, 2015 Correct! You can use apps such as 0xED hex editor to that effect. It's a nice app to use. There are others like HexFiend. Remember to do your search in Hex, not in Text. To complete your patch, proceed as follows: Copy the SNB framebuffer kext found in /S/L/E to your desktop Right click on the desktop SNB kext and select Show Package Contents Open up the binary file found Contents/MacOS subfolder with your Hex editor app Apply your above modifications Save the file Copy the modified kext back to /S/L/E Rebuild permissions + cache from Terminal: sudo chmod -Rf 755 /System/Library/Extensions sudo chown -Rf 0:0 /System/Library/Extensions sudo touch /System/Library/Extensions sudo kextcache -Boot -U / Reboot One word of caution though: make sure to apply your Hex replacement to the line of the correct section, i.e. ensure you do have the vanilla lines (listed in previous posts) right above and below the 02 05 ... line you'll modify. Link to comment Share on other sites More sharing options...
Administrators Hervé Posted March 1, 2016 Administrators Share Posted March 1, 2016 After further testing, HD3000 of E6220 is to be able to support the following combinaisons of 2 x concurrent displays: LCD + VGA, LCD + DVI, LCD + HDMI, VGA + HDMI, VGA + DVI, DVI + DVI, etc. Please note that Intel SandyBridge graphics cannot support 3 independant displays. I've updated my E6220 SNB patch to reflect port number and connector types as reported in IOReg: 01 02 04 00 10 07 00 00 10 07 00 00 // vanilla: nb of connectors -> "04" 05 03 00 00 02 00 00 00 30 00 00 00 // vanilla: laptop's own LCD display 02 05 00 00 00 08 00 00 05 00 00 00 // patched: HDMI, display port #5 (built-in port) 06 02 00 00 00 04 00 00 08 00 00 00 // patched: VGA, display port #8, (built-in + docking-station port) 04 06 00 00 00 04 00 00 07 00 00 00 // vanilla: DVI, display port #7, (docking-station port) NB: VGA output is also fully functional with connector type 0001 0000, 0010 0000 or 1000 0000 not just with DVI/DP connector type 0004 0000. Link to comment Share on other sites More sharing options...
Recommended Posts