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

Настройка USB в 10.11 - 10.13

Тема в разделе 'Установка, до и после...', создана пользователем denskop, 13 июн 2015.

  1. NatRUS

    NatRUS iНовичок

    Симпатии:
    0
    В общем, начал разбираться в этой теме, когда начал собирать инфо по портам и лазить в plist кекста, то столкнулся с парочкой проблем:
    1. какой из них использовать для создания легаси кекста?
    Снимок экрана 2017-12-07 в 0.34.11.
    2. посмотрев каждый из этих файлов, не нашел в нем мою модель iMac. могу ли я взять легаси кекст из этого поста, поменять в нем название iMac модели на свою (iMac18,2) и подправив его использовать или как-то иначе надо?
    3. Вот это мне совсем голову сломало. Для того, чтобы мне увидеть все свои порты (пока что 2 из них не работают), мне надо увеличить лимит USB портов, для этого используют кекст-патч в кловере. Вопрос, как его прописать? у меня ничего не получается. он говорит, что формат записи для <data> не подходит (беру из этой ссылки). Я понимаю, что это не hex формат, но я не понимаю, как это перевести в нужный кловеру формат. И что-то не получается найти нужную информацию по этому поводу. Помогите, пожалуйста...
    4. У меня на материнке есть один Type-C разъем, но нет устройства с этим разъемом, как мне понять на каком устройстве он висит и как его прописать в кекст?
    5. И еще, у меня RHUB в DSDT прописан вот так, как ниже. Все ли верно и не нужен ли в HS* метод, как в SS*?

    Заранее благодарю за помощь! Хочется, чтобы все хорошо работало... Спасибо!
    КОД (open)

    Код:
    Device (RHUB)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                    {
                        If (DVID == 0xFFFF)
                        {
                            Return (Zero)
                        }
    
                        If (CondRefOf (\_SB.PCI0.XHC.RHUB.PS0X))
                        {
                            PS0X ()
                        }
    
                        Return (Zero)
                    }
    
                    Method (_PS2, 0, Serialized)  // _PS2: Power State 2
                    {
                        If (DVID == 0xFFFF)
                        {
                            Return (Zero)
                        }
    
                        If (CondRefOf (\_SB.PCI0.XHC.RHUB.PS2X))
                        {
                            PS2X ()
                        }
    
                        Return (Zero)
                    }
    
                    Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                    {
                        If (DVID == 0xFFFF)
                        {
                            Return (Zero)
                        }
    
                        If (CondRefOf (\_SB.PCI0.XHC.RHUB.PS3X))
                        {
                            PS3X ()
                        }
    
                        Return (Zero)
                    }
    
                    Device (HS01)
                    {
                        Name (_ADR, One)  // _ADR: Address
                    }
    
                    Device (HS02)
                    {
                        Name (_ADR, 0x02)  // _ADR: Address
                    }
    
                    Device (HS03)
                    {
                        Name (_ADR, 0x03)  // _ADR: Address
                    }
    
                    Device (HS04)
                    {
                        Name (_ADR, 0x04)  // _ADR: Address
                    }
    
                    Device (HS05)
                    {
                        Name (_ADR, 0x05)  // _ADR: Address
                    }
    
                    Device (HS06)
                    {
                        Name (_ADR, 0x06)  // _ADR: Address
                    }
    
                    Device (HS07)
                    {
                        Name (_ADR, 0x07)  // _ADR: Address
                    }
    
                    Device (HS08)
                    {
                        Name (_ADR, 0x08)  // _ADR: Address
                    }
    
                    Device (HS09)
                    {
                        Name (_ADR, 0x09)  // _ADR: Address
                    }
    
                    Device (HS10)
                    {
                        Name (_ADR, 0x0A)  // _ADR: Address
                    }
    
                    Device (USR1)
                    {
                        Method (_ADR, 0, NotSerialized)  // _ADR: Address
                        {
                            Return ((USRA () + Zero))
                        }
                    }
    
                    Device (USR2)
                    {
                        Method (_ADR, 0, NotSerialized)  // _ADR: Address
                        {
                            Return ((USRA () + One))
                        }
                    }
    
                    Device (SS01)
                    {
                        Method (_ADR, 0, NotSerialized)  // _ADR: Address
                        {
                            Return ((SSPA () + Zero))
                        }
                    }
    
                    Device (SS02)
                    {
                        Method (_ADR, 0, NotSerialized)  // _ADR: Address
                        {
                            Return ((SSPA () + One))
                        }
                    }
    
                    Device (SS03)
                    {
                        Method (_ADR, 0, NotSerialized)  // _ADR: Address
                        {
                            Return ((SSPA () + 0x02))
                        }
                    }
    
                    Device (SS04)
                    {
                        Method (_ADR, 0, NotSerialized)  // _ADR: Address
                        {
                            Return ((SSPA () + 0x03))
                        }
                    }
    
                    Device (SS05)
                    {
                        Method (_ADR, 0, NotSerialized)  // _ADR: Address
                        {
                            Return ((SSPA () + 0x04))
                        }
                    }
    
                    Device (SS06)
                    {
                        Method (_ADR, 0, NotSerialized)  // _ADR: Address
                        {
                            Return ((SSPA () + 0x05))
                        }
                    }
                }
     
  2. spidermoon

    spidermoon iНовичок

    Симпатии:
    14
    Патч на лимит портов:
    Снимок экрана 2017-12-06 в 18.28.15.
    Patch (open)
    Код:
                <dict>
                    <key>Comment</key>
                    <string>change 15 port limit to 30 in XHCI kext 10.13</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    g32MEA==
                    </data>
                    <key>MatchOS</key>
                    <string>10.13</string>
                    <key>Name</key>
                    <string>AppleUSBXHCIPCI</string>
                    <key>Replace</key>
                    <data>
                    g32MHw==
                    </data>
                </dict>

    Можете взять мой Legacy и переделать под свою Мак-модель.
    В dsdt ничего менять не не нужно. В современных биосах порты USB прописаны нормально. Вот небольшой мануал.
    По Type-C смотрите через IORegistryExplorer подключив к нему устройство.
    У меня usb3.1 на отдельном чипе Asmedia (1 порт Type A, 1 порт Type-C) сейчас вообще не прописан в dsdt.
    В ioreg имеет такой вид (подключена флешка usb3.0 в Type-A разъем):
    Снимок экрана 2017-12-06 в 19.21.43.
     

    Вложения:

  3. Andrey1970

    Andrey1970 iГуру

    Симпатии:
    4`176
    @NatRUS,внимательно читай мануал и сделаешь без патча.
    Я когда делал себе легоси и начинал писать этот мануал, еще никакого патча на лимит не было.

    Снимок экрана 2017-12-06 в 20.13.09.

    Временно применив патч - просто упрощает ритуальный танец.
    Если в итоге, портов останется 15 или меньше, то патч следует удалить.
     
  4. NatRUS

    NatRUS iНовичок

    Симпатии:
    0
    Прости за может быть нубский вопрос, но я просто должен уточнить, чтобы быть на все сто уверен. Я в кексте просто меняю название мак модели и делаю под себя порты, верно? Просто уточняю, чтобы наверняка
     
  5. NatRUS

    NatRUS iНовичок

    Симпатии:
    0
    Да, это я читал, но так как я не понимал, какой из плагинов кекстов нужно использовать, то решил что про патч вопрос тоже спрошу. А если портов окажется больше 15, то патч оставить? Или достаточно будет в port-count указать?
    И маленькой вопрос по патчу. Вот в коде написан формат, который plist editor отказывается в переменную DATA записывать, а на скриншоте он в другом формате записан. Значит ли это, что, если я через тот-же блокнот вставлю эти строки, то он под себя все сконвертирует или через плист эдитор списать значения со скрина? Спасибо!


    Отправлено с моего iPhone используя Tapatalk
     
  6. RodionS

    RodionS iГуру

    Симпатии:
    3`868

    Вложения:

  7. spidermoon

    spidermoon iНовичок

    Симпатии:
    14
    Все верно. Меняете Мак-модель и разбираетесь с портами.
    UsbConnector тоже посмотрите. В моем легаси UsbConnector 3 -- HS03/SS03,..HS10/SS10 (парные) - это порты usb 3.0, т. е. один физический разъем на плате имеет подключение как HS и SS. HS11 и HS12 - это 2 физических порта usb 2.0 и прописываются, следуя спецификации ACPI, как UsbConnector 0. В Эппловских plist встречается UsbConnector 255 (0xFF), как я понимаю, это для внутренних устройств распаянных на плате, типа блютуза.
    GA-Z270XP-SLI_USB. Снимок экрана 2017-12-07 в 4.32.25.

    В plist и так указан port-count 1A000000 = 26 портов. Если превысите лимит в 15 портов, то в бутлоге увидите:
    Код:
    kernel: (AppleUSBXHCI) 000001.798574 [email protected]: AppleUSBXHCI::interruptOccurred: clearing change bits on unused port 22 with portSC 0x802a0
    kernel: (AppleUSBXHCI) 000001.807819 [email protected]: AppleUSBXHCI::interruptOccurred: clearing change bits on unused port 23 with portSC 0x802a0
    kernel: (AppleUSBXHCI) 000001.816996 [email protected]: AppleUSBXHCI::interruptOccurred: clearing change bits on unused port 24 with portSC 0x802a0
    kernel: (AppleUSBXHCI) 000001.826097 [email protected]: AppleUSBXHCI::interruptOccurred: clearing change bits on unused port 25 with portSC 0x802a0
    kernel: (AppleUSBXHCI) 000001.835155 [email protected]: AppleUSBXHCI::interruptOccurred: clearing change bits on unused port 26 with portSC 0x802a0
    А в IORegistryExplorer портов не досчитаетесь. Патч в такой ситуации необходим, но можно и "вписаться" в лимит как написано в мануале.
    Патч с обходом лимита с 15 до 30 o_O портов выложил в предыдущем посте наглядный и в виде текста. Можете через Property List Editor с картинки вписать, а можете при помощи текстового редактора скопировав код.
     

    Вложения:

  8. Andrey1970

    Andrey1970 iГуру

    Симпатии:
    4`176
    Пишите везде UsbConnector 3 и не заморачивайтесь.
     
  9. Andrey1970

    Andrey1970 iГуру

    Симпатии:
    4`176
    @NatRUS, от патча кране желательно избавиться, он не постоянен, лучше сделать один раз и забыть.
    Можно не прописать некоторые не задействованные порты, например на материнке под шлейф(если этот порт не используется), чтобы уложиться в лимит 15 портов.
     
  10. NatRUS

    NatRUS iНовичок

    Симпатии:
    0
    Да, я от него избавлюсь. У меня в кексте, в результате получилось как раз 14 портов. Спасибо вам за помощь. Все заработало, стал опредялять кто есть внешний накопитель, а что нет


    Отправлено с моего iPhone используя Tapatalk
     
  11. slice

    slice Apple Life Dev Разработчик

    Симпатии:
    10`208
    Легаси точно также может слететь при очередном апдейте системы. Структура USB драйверов менялась неоднократно, и никто не обещает, что больше не будет меняться.
    Патч на количество портов у меня представлен в двух вариантах MatchOS=10.12 и 10.13. Будут разногласия, еще один появится.

    Патч и порт-каунт не взаимозаменяемы.
     
  12. Andrey1970

    Andrey1970 iГуру

    Симпатии:
    4`176
    @slice, мы говорим о usb на 10.11 и новее, ничего там в плистах не менялось, только новые мак модели добавлялись.
    Я как сделал легоси на 10.11, так и использую на всех новых осях.
    А патч за это время менялся много раз.
     
    Последнее редактирование: 7 дек 2017
  13. slice

    slice Apple Life Dev Разработчик

    Симпатии:
    10`208
    Мне лень делать этот легаси, а юзеры не умеют.
    А патч скопировал, и все! Менялся три раза. 10.11, 10.12, 10.13.
    У меня, кстати, если не считать портов USB-C, которые в данный момент неподключены, снаружи видны 15 портов (USB2/3 считаем дважды) и еще два на клаву и мышь, так что мне вырезать нечего, мне патчить обязательно.
     
  14. NatRUS

    NatRUS iНовичок

    Симпатии:
    0
    ну у меня без легаси кекста не видит, что внешний, а что нет и программы сторонние, которым критично, чтобы накопитель был внешний юсб, не определяют его как юсб диск, а внешний жесткий вообще как внутренний определяется.
    а после создания этого кекста все хорошо
     
  15. Andrey1970

    Andrey1970 iГуру

    Симпатии:
    4`176
    @slice, не три раза, а больше, в каждой версии оси как минимум 2 раза.
    Потом еще надо дождаться пока кто-то сделает и запостит патч.
    Но дело даже не в этом, а в том что у многих без легоси: usb-диски определяются как внутренние, с соответствующими проблеммами в ДУ.
    15 дырок - это не значит 15 портов.
    У меня 16 физических дырок и 26 вариантов подцепа(10 USB3 - SSP и HS, плюс 6 USB2 - HS), а прописать потребовалось 14 портов.
    Ты забыл про концентраторы, там на одном порту - 4 устройства могут обслуживаться.
     
    Последнее редактирование: 7 дек 2017
    Круглянин нравится это.
  16. slice

    slice Apple Life Dev Разработчик

    Симпатии:
    10`208
    У меня внешний USB2 HDD видится с желтой иконкой, то есть внешний, и на первом компьютере, и на втором. Я для этого палец о палец не ударил. Это не от драйвера зависит? То есть не от кекста, которому вы подменяете инфо-плист? Он у меня нетронутый, как пришел с очередным апдейтом, такой и есть.

    И да, я не делал патчей ДСДТ типа EHC1->EH01
     
  17. Andrey1970

    Andrey1970 iГуру

    Симпатии:
    4`176
    @slice, тебе повезло, но так не на любом железе.
    У меня на №1 тоже желтый даже без легоси, а №2 желтый только с легосью.

    А я разве говорил что нужно EHC1->EH01 делать?
     
    Последнее редактирование: 7 дек 2017
    Круглянин нравится это.
  18. spidermoon

    spidermoon iНовичок

    Симпатии:
    14
    Как не бил в бубен, как не плясал, а пока не сделал Legacy, в Parallels юсби устройств не видел.
     
  19. Doctor78

    Doctor78 iНовичок

    Симпатии:
    2
    А у меня 3.0 две штуки на asmedia,но они без usbinjectall не пашут.Как вы их через legacy заставили работать?
     
  20. slice

    slice Apple Life Dev Разработчик

    Симпатии:
    10`208
    Может проблема Интел - неИнтел?
     
Similar Threads: Настройка 1011
Форум Заголовок Дата
Установка, до и после... Настройка OS X Yosemite на Acer E1 531g (571) 20 фев 2015
Установка, до и после... Настройка AppStore, iMessage и iCloud в OS X 4 окт 2013
Установка, до и после... Настройка Видео, Сеть, Звук И Прочее 10.7 1 мар 2011

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