Скачать утилиты (Tools)

ESP Mounter Pro — данной программой, монтируете EFI раздел диска с системой где находится загрузчик. Любые plist файл редактируете в программе — PlistEdit Pro.

Откройте файл config.plist, и поиском найдите ключ «XhciPortLimit«, выставьте значение — NO.  Сохранить и закрыть файл. Если данное значение ключа уже установлено как NO, приступаем к следующему этапу.

На разделе EFI диска с установленной системой, по пути EFI\CLOVER\kexts\Other или EFI\OC\kexts, находится USB kext — XHC-injector.kext. В нём описаны все возможные порты, и работают совместно с патчем на лимит портов в config.plist(без него максимум 15 портов). Пришло время обходиться без патча, для этого инструкция ниже:

Откройте программу IORegistryExplorer. Найдите в программе устройство XHC, как на картинке ниже, и начинайте подключать устройство USB2.0 в каждый порт поочередно. Смотрите соответствие портов HSx в IOReg к какому порту он привязан на материнской плате. Записывая результат на бумаге или как вам удобно.

Когда закончили подключать все USB порты, можно удалить их из кекста XHC-injector.kext на основе составленной карты, те порты HSx, что в IOReg никак не идентифицировались — удаляем и перезагружаем ПК.

Далее, на освободившееся место в лимит из 15 портов, подтянутся порты SSx (USB3.0). Но не все, а столько, сколько для них хватило места. Например удалили 7 портов HSx, на их место придут 7 портов SSx. Делаете аналогичную процедуру, только уже с устройством USB3.0, получаете финальный результат.

Для удобства, можно выписать все порты и их соответствие, на подобной схеме.

Найденные порты в IOReg и их соответствие на материнской плате.

Редактирование XHC-injector.kext: заходим в kext, ПКМ — показать содержимое пакета — Contents — открыть Info.plist.

IOKitPersonalities — iMac19,1-XHC — IOProviderMergeProperties — ports. Тут удаляем ненужные порты, которые при поиске не были активны в IOReg.

Убраны SS01, SS02 — т.к. проводные мышка и клавиатура сидят в этих портах на HS01, HS02

Убраны HS03, HS04 — т.к. это порты на передней панели, которые отданы только для USB3.0 (SS03, SS04)

HS11, HS12, HS14, SS06 — убраны, т.к. не используются совсем.

UsbConnector (можно прописать на все порты — 3):

0 — внешний USB1 и USB2 на OHCx и EHCx.
3 — внешний USB2 и USB3 на XHC.
9 — внешний USB Type-C.
255 — внутренний USB (например: встроенная в ноутбук web-камера, встроенный в ноутбук блютуз).

Сохраняем, перезагружаем, смотрим результат.

3 ответа к “Патч на лимит USB портов 10.12 — 11.x. Создание собственного legacy kext’а для своей материнской платы.

  1. Здравствуйте! После успешной модификации кекста по данной инструкции требуется ли удалить/отключить «патч на лимит USB 3.0 портов»?

    1. Здравствуйте, не обязательно, их наличие или отсутствие в конфиге на последней версии системы, никак не влияет на неё.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

1 × 3 =