1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.

GA-H87-HD3

Тема в разделе 'Gigabyte', создана пользователем TimeWalker, 20 июл 2013.

  1. TimeWalker

    TimeWalker iГуру

    Симпатии:
    929
    [​IMG]

    * На борту:
    - UEFI старого типа, от 7-ой серии чипсета (в отличии от материнок с Z87, на который плюются уже многие на оверах)
    - H87, начиная с F4e Gigabyte включил поддержку разгона процессоров с индексом K
    - ALC892 (6-port + SPDIF), разъем FP в нижнем левом углу платы, что в моем кейсе создает проблему подключения передней панели, которая находится в вверхней части корпуса.
    - RTLF8111E
    - Intel HD4600 от процессора, [8086:0412] Intel Haswell Desktop (GT2), есть в кекстах 10.8.5 beta и выше
    - VGA/DVI/HDMI, по спецификации чипсета все выходы могут работать одновременно, но VGA в OSX не работает
    - 6x SATA 3.0
    - 4x + 2x (FP) USB3.0 + 2x USB2.0

    * Важные моменты :
    - В качестве загрузчика используется UEFI Clover с набором драйверов OsxAptioFixDrv-64.efi, OsxFatBinaryDrv-64.efi, VBoxHfs-64.efi, FSInject-64.efi. С XPC пришлось окончательно расстаться из-за зависания на Entering GUI now ... чтоб миновать который нужно переподключить монитор. Хамелеон (и его клоны) не трогал с 2009 года, так что не спрашивать ничего по нему.. не знаю ничего.
    - В BIOS (заводской BIOS F3, F5 пока не пробовал тк изменения незначительны): EHCI/XHCI Handoff - Enabled, OS Type - Windows 8 WHQL, CSM Support - Never
    - Пока нет десктопо-подобных платформ на Hasell, приходится прикидываться MacBookAir6,2 для пущей верности. Можно, конечно и MacPro5,1 (особенно, чтоб не ставить antipop для звука), но я как-то предпочел пойти по фен-шую.
    - В силу того, что процессоры Haswell имеют низший множитель 8x(800MHz), не уверен, справляется ли Кловер с генераций стейтов, поэтому для этого использовался ssdtPRGen.sh последней версии.
    Show Spoiler


    - Заводской DSDT разнесен на несколько дополнительных (supplemental) таблиц SSDT, в которых прописана информация, касаемо SATA, EHCI, XHC, GFX0, B0D3 (аналог HDAU). Если заводские таблицы дропнуть, то могут возникать проблемы, например привод станет внешним.. или графика не будет подниматься. Поэтому я заводские таблицы не дропаю, а докладываю свои, дополняющие заводские устройства методами _DSM.
    - DSDT непосредственно тоже не правится, потому что это бесополезный труд. Поменять что-либо в биосе или прошить новый - вся работа на смарку.
    - В силу недоделанности VT-d со стороны Apple приходится дропать таблцу DMAR.
    - Заметил, что по какой-то причине (хотя проверка OSYS должна удовлетворяться) не включается HPET, поэтому в дополнении к кастомной таблице в кловере приходится применять маску 0x0010:
    PHP:
        <key>ACPI</key>
        <
    dict>
            <
    key>FixDsdtMask</key>
            <
    string>0x0010</string>
            <
    key>DropDMAR</key>
            <
    true/>
            <
    key>DropOemSSDT</key>
            <
    false/>
        </
    dict>
    - В GUI кловера на мониторе устанавливается его полное разрешение (Full HD), никакие дополнительные драйвера не нужны.
    - В отличии от платы с чипсетом Z87, тут необходимо поднять LPCB, тк его ид нет в кекстах. Простая подмена ид не дала результата, а вот комплексная подмена - дала. Делается через DSDT, тк в кловере маска фикса LPC подставляет ид от ICH10, что по моим соображениям не очень целесообразно. заодно поднимем и SMBUS:
    Show Spoiler

    PHP:
            Scope (\_SB.PCI0.LPCB)
            {
                
    Method (_DSM4NotSerialized)
                {
                    
    Store (Package (0x0A)
                        {
                            
    "device-id",
                            
    Buffer (0x04)
                            {
                                 
    0x440x8C0x000x00
                            
    },

                            
    "IOName",
                            
    Buffer (0x0D)
                            {
                                
    "pci8086,8c44"
                            
    },

                            
    "name",
                            
    Buffer (0x0D)
                            {
                                
    "pci8086,8c44"
                            
    },

                            
    "subsystem-id",
                            
    Buffer (0x04)
                            {
                                 
    0x700x720x000x00
                            
    },

                            
    "subsystem-vendor-id",
                            
    Buffer (0x04)
                            {
                                 
    0x860x800x000x00
                            
    }
                        }, 
    Local0)
                    
    DTGP (Arg0Arg1Arg2Arg3RefOf (Local0))
                    Return (
    Local0)
                }
            }

            
    Scope (\_SB.PCI0.SBUS)
            {
                
    Device (BUS0)
                {
                    
    Name (_CID"smbus")
                    
    Name (_ADRZero)
                    
    Device (BLC0)
                    {
                        
    Name (_ADRZero)
                        
    Name (_CID"smbus-ddcblc")
                        
    Method (_DSM4NotSerialized)
                        {
                            
    Store (Package (0x04)
                                {
                                    
    "refnum",
                                    
    Zero,
                                    
    "address",
                                    
    0x28
                                
    }, Local0)
                            
    DTGP (Arg0Arg1Arg2Arg3RefOf (Local0))
                            Return (
    Local0)
                        }

                        
    Method (_STA0NotSerialized)
                        {
                            Return (
    0x0F)
                        }
                    }
                }
            }


    * Что работает

    - Звук ALC892, задние 6 портов, передний порт наушников (микрофон не пробовал). Спасибо abxite за фактически готовое решение для 10.8 и 10.9, а так же за идею патча названия ресурсов.
    Инжект лейаута через Кловер:
    PHP:
        <key>PCI</key>
        <
    dict>
            <
    key>HDAInjection</key>
            <
    integer>92</integer>
        </
    dict>
    Или же через DSDT:
    Show Spoiler

    PHP:
            Scope (\_SB.PCI0.HDEF)
            {
                
    Method (_DSM4NotSerialized)
                {
                    
    Store (Package ()
                        {
                            
    "built-in",
                            
    Buffer (One)
                            {
                                 
    0x01
                            
    },
          
                            
    "layout-id",
                            
    Unicode ("\"),
                            "
    PinConfigurations",
                            Buffer (Zero) {},
                            "
    PlatformFamily",
                            Buffer (One)
                            {
                                 0x00
                            }
                        }, Local0)
                    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                    Return (Local0)
                }
            }


    - Видео HD4600 - работают цифровые выходы DVI и HDMI, аналоговый VGA не работает и система с подключеным VGA монитором не будет загружаться. Поднять VGA пока не представляется возможным и неизвестно будет ли возможным.
    Кловер пока не умеет инжектирвать полный SMBIOS для Haswell платформ (MacBookAir6,1 или 6,2) поэтому прописать его придется самому, чтоб поднять графику (пример в атаче). Не обязательно использовать эти платформы, можно и MacPro5,1... а можно перекантоваться и подождать релиза новых машин на Haswell.
    Для того, чтоб графика заработала необходимо указать один из идентификатором IGD платформ, на данной плате я использую 0x0a160000. Через кловер это можно сделать так:

    PHP:
        <key>Graphics</key>
        <
    dict>
           <
    key>InjectIntel</key>
            <
    true/>
            <
    key>ig-platform-id</key>
            <
    string>0x0A160000</string>
        </
    dict>
    Либо тоже самое, но через DSDT:
    Show Spoiler

    PHP:
            Scope (\_SB.PCI0.GFX0)
            {
                
    Method (_DSM4NotSerialized)
                {
                    
    Store (Package ()
                        {
                            
    "AAPL,ig-platform-id",
                            
    Buffer (0x04)
                            {
                                 
    0x000x000x160x0A
                            
    },

                            
    "device-id",
                            
    Buffer (0x04)
                            {
                                 
    0x160x0A0x000x00
                            
    },

                            
    "hda-gfx",
                            
    Buffer (0x0A)
                            {
                                
    "onboard-1"
                            
    }
                        }, 
    Local0)
                    
    DTGP (Arg0Arg1Arg2Arg3RefOf (Local0))
                    Return (
    Local0)
                }
            }


    - Сеть 8111E-VL работает на старом драйвере lnx2mac, который у меня ни на старой машине (RTL8168), ни на ноутбуке никогда не вызывал проблем со сном (вопреки тому, что говорит слайс. конечно может где-то с ним и есть проблем) Каюсь, уже несколько раз словил проблему выделения адреса по DHCP из вне диапазона рутера (192.254, а рабочий диапазон 192.168). Лучше поставить RealtekRTL8111 от Mieze / slice.
    Для того, чтоб работал AppStore и iCloud необходимо указать, что карта является встроенной - делаем через DSDT для верности:
    Show Spoiler

    PHP:
            Scope (\_SB.PCI0.RP03.PXSX)
            {
                
    Method (_DSM4NotSerialized)
                {
                    
    Store (Package (0x06)
                        {
                            
    "built-in",
                            
    Buffer (One)
                            {
                                 
    0x00
                            
    },

                            
    "device_type",
                            
    Buffer (0x09)
                            {
                                
    "ethernet"
                            
    },

                            
    "model",
                            
    Buffer (0x17)
                            {
                                
    "Realtek RTL8111F/8168B"
                            
    }
                        }, 
    Local0)
                    
    DTGP (Arg0Arg1Arg2Arg3RefOf (Local0))
                    Return (
    Local0)
                }
            }

    Messages работают, если правильно прописать MLB и ROM в конфиге.
    [​IMG]

    - USB 2.0 и USB 3.0 - не знаю нужно ли, но прописал везде device-internal и информацию по току (current). Предпочитаю прописывать в DSDT, нежели использовать инжектор в Кловере (один раз с переходом версий долго ломал голову, почему сломался сон ..)
    По какой-то непонятной мне причине, всё что подключается в 2 верхних USB2.0, яблочный блутус (HEADR_1) и передняя панель USB2.0 (HEADR_2) садится на USB3.0 шину. В USB3.0 портах работают как устройства USB2.0 (садятся на High-Speed), так и USB3.0 (на Super-Speed).
    Фикс для DSDT выглядит следующим образом:
    Show Spoiler

    PHP:
            Scope (\_SB.PCI0.EHC1)
            {
                
    Method (_DSM4NotSerialized)
                {
                    
    Store (Package (0x0B)
                        {
                            
    "AAPL,current-available",
                            
    0x0834,
                            
    "AAPL,current-extra",
                            
    0x0A8C,
                            
    "AAPL,current-extra-in-sleep",
                            
    0x0A8C,
                            
    "AAPL,max-port-current-in-sleep",
                            
    0x0834,
                            
    "AAPL,device-internal",
                            
    0x02,
                            
    Buffer (One)
                            {
                                 
    0x00
                            
    }
                        }, 
    Local0)
                    
    DTGP (Arg0Arg1Arg2Arg3RefOf (Local0))
                    Return (
    Local0)
                }
            }

            
    Scope (\_SB.PCI0.EHC2)
            {
                
    Method (_DSM4NotSerialized)
                {
                    
    Store (Package (0x0B)
                        {
                            
    "AAPL,current-available",
                            
    0x0834,
                            
    "AAPL,current-extra",
                            
    0x0A8C,
                            
    "AAPL,current-extra-in-sleep",
                            
    0x0A8C,
                            
    "AAPL,max-port-current-in-sleep",
                            
    0x0834,
                            
    "AAPL,device-internal",
                            
    0x02,
                            
    Buffer (One)
                            {
                                 
    0x00
                            
    }
                        }, 
    Local0)
                    
    DTGP (Arg0Arg1Arg2Arg3RefOf (Local0))
                    Return (
    Local0)
                }
            }

            
    Scope (\_SB.PCI0.XHC)
            {
                
    Method (_DSM4NotSerialized)
                {
                    
    Store (Package (0x0B)
                        {
                            
    "AAPL,current-available",
                            
    0x0834,
                            
    "AAPL,current-extra",
                            
    0x0A8C,
                            
    "AAPL,current-extra-in-sleep",
                            
    0x0A8C,
                            
    "AAPL,max-port-current-in-sleep",
                            
    0x0834,
                            
    "AAPL,device-internal",
                            
    Zero,
                            
    Buffer (One)
                            {
                                 
    0x00
                            
    }
                        }, 
    Local0)
                    
    DTGP (Arg0Arg1Arg2Arg3RefOf (Local0))
                    Return (
    Local0)
                }
            }


    - Сон\Выключение\Перезагрузка
    Никаких проблем с вышеупомянут с видео HD4600 нет, с Кловером 1954 пробовал оставлять машину на ночь, просыпается абсолютно нормально. Перезагрузка работает, в том числе и через Startup Disk в панели управления. Могу пробудить машину с Wireless Keyboard или Magic Mouse, моуг с кнопки. Дополнительных флагов (darkwake) для этого не требуется.. Выключается нормально, не так как на ноутбуке с Tiano. Все переменные сохраняются в реальный NVRAM, остаются после перезагрузок и выключений, то есть никакие EmuVariable и rc.shutdown не нужны.

    * Что не работает:

    - Как упоминалось выше, не работает VGA выход и не факт, что вообще когда-либо заработает.

    * Набор джентельмена (как всё настроено на данном этапе) прилагаю:
    - AppleHDA от 10.8.5 (12F33), ресурсы можно использовать в кекстах 10.9, переписываться после обновлений не будут
    - FakeSMC с плагинами мониторинга от козлека (755 билд), мониторит даже мощности, но не мониторит графику (профиль через Алиас), прописан пинконфиг от AppleHDA
    - RealtekRTL81xx для встроеной сети, !!! использовать RealtekRTL8111.kext от слайса или Mieze
    - Таблица (SSDT-9) со всеми инжекатми
    - Таблица (SSDT-8) для процессора i5-4570S
    - Таблица (SLIC) для активации Windows при загрузке из-под кловера, [GBTS, SLIC2.1]
    - Конфиг (OEM/H87-HD3/config.plist), в котором надо прописать свой серийник и MLB

    http://www.mediafire.com/download/s15659irsvi7xxz/H87-HD3_Clover_1954_ML10.8.5.zip

    Показатели, в принципе, совсем не плохие:
    [​IMG]
    [​IMG]
     
    Последнее редактирование: 10 авг 2014
    hromovs, GLXOZ, koma.n и 9 другим нравится это.
  2. voll@

    voll@ iПрофи

    Симпатии:
    116
    а что разве [8086:8c44] не совместимый? вроде вижу его в кексте
     

    Вложения:

  3. chrome

    chrome iГуру

    Симпатии:
    796
    Это наверно от Z87.
     
  4. voll@

    voll@ iПрофи

    Симпатии:
    116
    да у меня именно такой, вот черт не заметил у него H87
     
  5. TimeWalker

    TimeWalker iГуру

    Симпатии:
    929
    нет желания скинуть DSDT на предмет посмотреть? матери одинаковые, только чипсет отличный. а то я сижу как идиот все выходные, процессор на руках будет только в понедельник. так я хоть SSDT напишу с патчами..
     
  6. voll@

    voll@ iПрофи

    Симпатии:
    116
    прикреплю последний дарвин дамп
     

    Вложения:

  7. TimeWalker

    TimeWalker iГуру

    Симпатии:
    929
    спасибо, наклепал патчей... надеюсь, что долго колупаться не придется. вроде всё подготовил.
    SSDT таблица для процессора написана, патчи для DSDT написаны, конфиг для кловера написан, фреймбуфер Азул разобран (достаточно слепо, но думаю, работать должно), кекст на сеть найден. останется звук поднять ...
     
  8. sirock

    sirock iПрофи

    Симпатии:
    138
    Молодец конечно, еще машину даже не запустил, а уже все патчи наклепал и подготовил))
    Респект, отписывайся об успехах))
     
  9. Oscar09

    Oscar09 iЮзер

    Симпатии:
    154
    voll@,
    Для Haswell проца обозначение в Кловере выглядит так
    Код:
    <key>CPU</key>
        <dict>
            <key>ProcessorType</key>
            <string>0x0605</string>       
        </dict>
    из SMBIOS.txt оригинала MacBookAir6,2
    Код:
    Apple specific Processor Type
        cpu=0605
     
    nevod-7 нравится это.
  10. nevod-7

    nevod-7 iНовичок

    Симпатии:
    33
    с этим обозначением процессор определится, как i5
    <key>ProcessorType</key>
    <string>0x0705</string>
    определился i7... ''косметика''
     
    Oscar09 нравится это.
  11. abxite

    abxite iГуру

    Симпатии:
    1`328
    TimeWalker,
    процессор на руках?
     
  12. TimeWalker

    TimeWalker iГуру

    Симпатии:
    929
    Процессор на руках, кулер примащиваю натфилями :) сегодня думаю отчитаюсь, во всяком случае частично!
     
    abxite нравится это.
  13. apalych

    apalych iГуру

    Симпатии:
    1`245
    Кулер надфилями? Эт хорошо! Потом ещё молоточком постучи, чтобы закрепилось жёстко :).
    Ждём-с с нетерпением...
    ЗЫ: TimeWalker, вариант с кастомной макмоделью не рассматривал?
     
  14. TimeWalker

    TimeWalker iГуру

    Симпатии:
    929
    и вот я дома .. с неочень хорошими новостями. поставил процессор, поставил кулер и, похоже, мать DOA, потому что пост не идет.
    бип-код в атаче, вроде как отсутствие питания... БП точно рабочий, проверил на старой плате.. завтра поеду менять, только эта заморочка походу на неделю, у них на месте нет. мне как всегда везет :(
     

    Вложения:

    • Voice 001.zip
      Размер файла:
      185.7 КБ
      Просмотров:
      10
  15. voll@

    voll@ iПрофи

    Симпатии:
    116
    эхх, жаль, а я то размечтался что буду у тебя все копировать :)
     
  16. joshhh

    joshhh iЮзер

    Симпатии:
    28
    Хотел брать такую же мать и топовый проц на i7 4770, но в итоге плюнул на все и взял ретинабук, может быть еще соберу мелкий настольник чуть позже...
     
  17. NikolayRUS

    NikolayRUS iНовичок

    Симпатии:
    2
  18. TimeWalker

    TimeWalker iГуру

    Симпатии:
    929
    ну всё не всё - дело спорное. у меня основная задача поднять встроеную графику, поскольку одна из основных целей перехода на новую платформу - экономия электроэнергии.
    HD4600 по производительности должна соревноваться с GTS250 (которая в свою очередь равнялась на AMD HD4850), и по тестам цинебенча это очень подтверждается. только вот GTS250 жрет Ватт эдак 120-200, а то и того больше + 775 процессор имеет TDP 105W, а процессор, который я взял вместе со встроеной графикой - не больше 65W.
    теперь осталось дождаться поставки новой платы и можно колдовать ... ненавижу пустые ожидания :(
     
    Moorre, chrome, apalych и ещё 1-му нравится это.
  19. apalych

    apalych iГуру

    Симпатии:
    1`245
    Вот именно, из-за потребляемой мощности в своё время делал из своей GTS250 "очень-очень GREEN". Снижал частоты на G3-стейте до возможного минимума, а на стейте G0 выискал некий компромис прожёрливость/производительность. Но всё-равно, 70-75 Ватт -- это многовато. А вот с HD3000 (i3-2125) и с HD4000 (i5-3570K) картинка по потреблению уже совершенно иная. В любом случае, вскоре "для дома, для семьи" буду брать i5-4570S, или какой-то подобный "S" и какую-то мини-ITX, а прожорливый зоопарк переедет в офис.
     
    chrome нравится это.
  20. chrome

    chrome iГуру

    Симпатии:
    796
    120-200w, это в час что-ли? Еще процессор, монитор, еще всякое. Прикинул, как крот из дюймовочки, много получается.
    Никогда на это внимание не обращал. А зря. Спасибо за информацию.
     

Поделиться этой страницей