Войти

Или войди с помощью

Как заставить работать Handoff и AirDrop на MacBook/MacMini с Bluetooth 4.0, но официально не поддерживающих функцию

Владимир Кузин avatar |
Как заставить работать Handoff и AirDrop на MacBook/MacMini с Bluetooth 4.0, но официально не поддерживающих функцию
mainairdrophandoff

С выходом OS X Yosemite пользователи получили сразу целый ряд действительно полезных функций, но самый большой восторг вызвали HandOff и Continuity. Установка новой системы доступна целому ряду пользователей, а ее быстродействие зависит исключительно от аппаратной начинки ноутбука или компьютера. Несмотря на радость от возможности бесплатного обновления на новую OS X Yosemite, пользователей, работающих на «старых» маках ждало разочарование: самые долгожданные функции «Непрывности» работать отказались.

В этой достаточной длинной и кажущейся утомительной инструкции, я постараюсь помочь с решением такой обидной дискриминации со стороны Apple, а после утомительных манипуляций вы получите работающий Handoff и AirDrop между iOS и OS X.

Кто оказался «за бортом»?

Минимальные требования к компьютерам и ноутбукам, на которых Handoff будет работать без каких-либо ухищрений представлена на официальном сайте Apple и выглядит следующим образом:

manualmac1
Это минимальные требования для установки OS X Yosemite

Снимок экрана 2014-10-17 в 21.47.54
А так выглядят требования для работы Handoff и AirDrop

Увы, я, как и десятки тысяч пользователей, оказался «брошенным за борт». Мой MacBook Air mid 2011 отказался дружить с Handoff. Ни «чистая переустановка» OS X Yosemite, ни какие-либо манипуляции со включением и отключением Bluetooth, настройкой iPhone 6 и всевозможными «танцами с бубном» не привели к успеху. Но, как поется в песне: «Танцуй, пока молодой» и было решено бороться до победы.

Перед началом нашего достаточно долгого пути к Эвересту под названием Handoff, хочу предупредить, что все нижесказанное и предложенное вы делаете исключительно на свой страх и риск. Я рискнул и MacBook Air mid 2011 в связке с iPhone 6 прекрасно друг-друга дополняют.

Смотрим версию вашего Bluetooth модуля. Версия HCI должна быть 0x6 и никак иначе. В противном случае – добро пожаловать на EBAY и поиски необходимого совместимого с вашей версией Mac bluetooth-модуля.

bluetoothbefore

Как видно со скриншота, MBA mid 2011 не поддерживает ни Handoff, ни Instant Hotspot (но это мы еще посмотрим).

Инструкция

1. Скачиваем приложение 0xED и копируем в Программы на Mac. С помощью этой утилиты мы будем менять святая-святых системный код в HEX-формате.

2. Скачиваем приложение KextDrop и также устанавливаем в Программы на Mac. С помощью KextDrop мы будем устанавливать модифицированные «кексты» (драйвера).

3. Открываем Терминал и вводим:

Код:
sudo nvram boot-args="kext-dev-mode=1"

4. Перегружаем Mac.

5. Открываем Finder и нажимаем комбинацию клавиш CMD+Shift+G, вызвав окно перехода в директорию. Вбиваем следующий адрес:

    /System/Library/Extensions/

6. Находим в списке 2 кекста:

    IO80211Family.kext
    IOBluetoothFamily.kext

(ОБЯЗАТЕЛЬНО) В отдельном окне Finder создаем папку и копируем их туда. Этот шаг выполнить обязательно, поскольку так вы создаете резервную копию кекстов без изменений и если что-то пойдет не так, всегда можете переустановить их вновь.

7. Из директории /System/Library/Extensions/копируем кексты на Рабочий стол, а из самой директории удаляем. (Mac попросит ввода пароля администратора).

8. Переходим в терминал и вводим:

Код:
ioreg -l | grep "board-id" | awk -F" '{print $4}'

9. В терминале отобразится строчка:

    Mac–742912EFDBEE19B3

На каждом Mac код будет уникальным. Терминал не закрываем.

10. Открываем окно Finder, нажимаем комбинацию CMD+Shift+G и вводим:

    ~/Desktop/IO80211Family.kext/Contents/Plugins/AirPortBrcm4360.kext/Contents/MacOS

Попадаем в указанную директорию.

11. На файле AirPort4360 щелкаем правой кнопкой и выбираем Открыть с помощью – 0xED.

12. В открывшемся приложении 0xED нажимаем CMD+F и вводим в строке поиска «Mac-» (без кавычек). В первом подсвеченном результате меняем значение (Mac- не трогаем) на полученное ранее в терминале (в моем случае 742912EFDBEE19B3).
Аналогично проделываем замену со всеми кодами, где в начале стоит Mac-.

manualhex0

13. Сохраняем результат, нажав красную кнопку в редакторе 0xED.

14. Снова открываем Finder и через CMD+Shift+G переходим в директорию:

    ~/Desktop/IOBluetoothFamily.kext/Contents/MacOS

15. Правой клавишей вызываем Открыть с помощью0xED.

16. В редакторе нажимаем CMD+F и в строке поиска вводим:

    MacBookAir

17. Нажимаем Find next

18. В строке, имеющей вид:

Код:
‘MacBookAir4,1’‘MacBookAir4,2’‘Macmini5,1’‘Macmini5,2’‘Macmini5,3’

меняем ее на (вводите вручную, меняя цифры). Будьте особенно внимательны и не удалите ничего лишнего! Строчка должна иметь следующий вид:

Код:
‘MacBookAir1,1’‘MacBookAir1,1’‘Macmini1,1’‘Macmini1,1’‘Macmini1,1’

manualhex1

19. Нажимаем красную кнопку Save и сохраняем результат.

20. Открываем KextDrop.

21. Перетягиваем измененные кексты (те, которые на рабочем столе) в поле приложения KextDrop. Сперва перетягиваем IO80211Family.kext. Жмем Install. Затем – IOBluetoothFamily.kext.

22. Возвращаемся к Терминалу и вводим строчку:

Код:
sudo kextcache -system-prelinked-kernel

Ждем окончания обработки (не спешите).

23. Вводим строчку:

Код:
sudo kextcache -system-caches

Также дожидаеся окончания загрузки.

Код:
nvram -p

24. Перегружаем Mac.

25. Убедитесь, что подключены к интернету.

26. Переходим в Системные настройки – Общие. Ставим галочку напротив «Разрешить Handoff между этим Mac…» (ранее этот пункт был недоступен.

manualtip

Чтобы убедиться, что все прошло как нужно, перейдем в Отчет о системе (Меню Mac (яблоко в верхнем левом углу) – Об этом Mac. Переходим в пункт Bluetooth. Теперь напротив Поддержки Handoff и Instant Hotspot стоит Да.

bluetoothafter

27. На Mac переходим в Системные настройки – iCloud и выходим из учетной записи.

28. Тоже самое делаем и на iPhone: Настройки – iCloud – Выйти.

29. Перегружаем ОБА устройства.

30. Повторно входим в одну учетную запись на Mac и iPhone.

Поздравляю, функция Handoff настроена!

finishhandoff

Решаем возникшие проблемы

В случае, если что-то пошло не так или работать Handoff отказывается:

    – Убедитесь, что подключены к одной WiFi сети и на iPhone (iPad) / Mac включен Bluetooth.

    – Если что-то пошло не так и наблюдаются сбои в работе WiFi, при помощи утилиты KextDrop установите кексты-исходники (вы должны были скопировать их в пункте 7 данной инструкции) и повторите все снова.

    – AirDrop имеет свойство периодически «отваливаться». Чтобы этого не происходило: откройте Системные настройки – Bluetooth и просто сверните окно в трей.

    – Убедитесь, что на Mac и iPhone включена связка ключей.

    – Оба устройства должны быть заряжены не менее, чем на 25%.

    Исправьте права доступа в Дисковой утилите Mac.

Все вышеперечисленные шаги были проделанны мной на MacBook Air mid 2011 и в результате я получил рабочий Handoff и AirDrop. Спасибо пользователю dokterdok. Надеюсь, у вас также все получится. Удачи!

208
undefined
iPhones.ru
С выходом OS X Yosemite пользователи получили сразу целый ряд действительно полезных функций, но самый большой восторг вызвали HandOff и Continuity. Установка новой системы доступна целому ряду пользователей, а ее быстродействие зависит исключительно от аппаратной начинки ноутбука или компьютера. Несмотря на радость от возможности бесплатного обновления на новую OS X Yosemite, пользователей, работающих на «старых»...

Войди и оставь комментарий

Или войди с помощью

<- Назад Забыли пароль? Войти
  1. Артур Малосиев avatar
    Артур Малосиев 18 октябрь 2014
    0

    Шикарно!

    glushkov avatar
    glushkov18 октябрь 2014
    0

    @Артур Малосиев, Артур скажите как сделать чтобы Handoff не работало? Отключил в настройках но все равно все телефоны орут при звонке на любой из них((

    Владимир Кузин avatar
    Владимир Кузин18 октябрь 2014
    0

    @glushkov, на Маке выключите и отключите Bluetooth. И в настройках Facetime отключите возможность звонить через iPhone.

    DMDMDM avatar
    DMDMDM18 октябрь 2014
    0

    @Владимир Кузин, На пункте 22 пишет что-то про invalid signature. Это гуд?

    Владимир Кузин avatar
    Владимир Кузин18 октябрь 2014
    0

    @DMDMDM, не обращайте внимания. Дождитесь окончания.

    DMDMDM avatar
    DMDMDM18 октябрь 2014
    0

    @Владимир Кузин, Подтверждаю! Работает! Такой же Воздух, как у автора!!! Ура!!! Спасибо!!!

    Владимир Кузин avatar
    Владимир Кузин18 октябрь 2014
    0

    @DMDMDM, Сохраните Кекст на будущее (уже модифицированный). И рядом в папке копии оригинальных кекстов. Пожалуйста:)

    DMDMDM avatar
    DMDMDM18 октябрь 2014
    0

    @Владимир Кузин, Уже сохранил. Еще раз спасибо! Мне тааааак нужен эйрдроп, а комп полностью устраивал в остальном. Ай как я рад!!!!!

    glushkov avatar
    glushkov18 октябрь 2014
    0

    @Владимир Кузин, а на Маке у меня не Йосемити все равно отключить? А на всех устройствах нужно в facetime настройках отключить звонки?

    Eugene avatar
    Eugene18 октябрь 2014
    0

    @Артур Малосиев, Причем это до тех пор пока кекст не будет обновлен при следующем обновлении системы. И вообще, скользкий путь хакинтоша.

    Владимир Кузин avatar
    Владимир Кузин18 октябрь 2014
    0

    @Eugene, кто вам мешает сохранить Kext измененный и потом просто его вставлять при обновлении.

    DMDMDM avatar
    DMDMDM18 октябрь 2014
    0

    @Владимир Кузин, Это тот, что на рабочем столе? Который перетягивали…?

    evil.box avatar
    evil.box18 октябрь 2014
    0

    @evil.box, жаль в комментариях нету тега code, если вам нужен этот патч я могу его вам послать куда хотите

    Владимир Кузин avatar
    Владимир Кузин18 октябрь 2014
    0

    @evil.box, мои контакты указаны в посте – напишите мне сейчас.

    evil.box avatar
    evil.box19 октябрь 2014
    0

    @Владимир Кузин, пытался 2 раза но получаю в ответ

    Delivery to the following recipient failed permanently:

    [email protected]

    Technical details of permanent failure:
    Google tried to deliver your message, but it was rejected by the server for the recipient domain me.com by mx3.mail.icloud.com.

    Может у вас опечатка в адресе?

    Войди на сайт, чтобы ответить
    Ответить
  2. UHAHAN avatar
    UHAHAN 18 октябрь 2014
    0

    А AirDrop тоже из-за этого не работает?

    Владимир Кузин avatar
    Владимир Кузин18 октябрь 2014
    0

    @UHAHAN, да, после будет работать:)

    UHAHAN avatar
    UHAHAN18 октябрь 2014
    0

    @Владимир Кузин, спасибо… ушел на ебай искать подходящий БТ, у меня HCI 0x4;-)

    iCid avatar
    iCid18 октябрь 2014
    0

    Ууоо!! =)) Жесть. Первый раз вижу такой сложный мануальчик на айфонсах =)

    И надо было опрос сделать “Получилось?”

    iCid avatar
    iCid18 октябрь 2014
    0

    @iCid, упс. должно было быть в общую ветку

    Войди на сайт, чтобы ответить
    Ответить
  3. Semarrgl avatar
    Semarrgl 18 октябрь 2014
    0

    И эти люди ругают виндоус. :)

    coca avatar
    coca18 октябрь 2014
    0

    @Semarrgl, а что делать?

    iCid avatar
    iCid18 октябрь 2014
    0

    @Semarrgl, у эппл есть ответ на все: “хотите без рукоблудства – покупайте последние девайсы”

    Войди на сайт, чтобы ответить
    Ответить
  4. Ejik avatar
    Ejik 18 октябрь 2014
    0

    а как насчет iMac 2010/2011 ?

    Владимир Кузин avatar
    Владимир Кузин18 октябрь 2014
    0

    @Ejik, какой Bluetooth стоит? (читайте начало статьи)

    Arsunt avatar
    Arsunt19 октябрь 2014
    0

    @Владимир Кузин, на самом деле я еще с первой беты, как хакер со стажем, слежу за развитием этой функции в Yosemite. И могу с уверенностью сказать, что за ограничение отвечает фреймворк /System/Library/PrivateFrameworks/Sharing.framework, а в частности его переменная deviceSupportsAWDL.supportsAWDL, причем в 0 или 1 ее устанавливает простая условная конструкция, носящая исключительно маркетинговый характер, сверяя установленный в системе модуль Wi-Fi с тем, что стоит во всех новых маках. Более того, этому фреймворку по большому счету наплевать, имеет ли Bluetooth функцию Low Energy или нет. Казалось бы поменяй я два байта кода, и всем придет волшебство… но нет, к сожалению каждый такой системный фреймворк подписан электронно-цифровой подписью Apple, и любые модификации приводят к тому, что система, загружаясь, отвергает модифицированный файл. В данном случае, файл жизненно необходим для загрузки, и вся система виснет намертво, так и не загрузившись.

    P.S. Но есть еще возможность конкретно модифицировать kext, чтобы он подошел к любому iMac и даже к любому устройству с Bluetooth 2.0. Благо Apple свои кексты не подписывают электронно-цифровой подписью.

    denik705 avatar
    denik70519 октябрь 2014
    0

    Т.е. всетаки есть возможность запустить эту функцию на iMac 2011 mid? Если да, то можно узнать как?

    Arsunt avatar
    Arsunt19 октябрь 2014
    0

    @denik705, я над этим работаю. Всю необходимую информацию я выудил из дизассемблированного Sharing.framework, теперь осталось, зная правила игры, научиться обходить эти досадные проверочки. Какой у вас используется кекст, кстати? В терминале введите:
    kextstat | grep AirPort
    Там будет написано что-то вроде com.apple.driver.AirPort.Brcm4331

    denik705 avatar
    denik70519 октябрь 2014
    0

    @Arsunt, com.apple.driver.AirPort.Atheros40 (700.74.5)

    Владимир Кузин avatar
    Владимир Кузин19 октябрь 2014
    0

    @Arsunt, напишите мне (контакты внизу поста).

    Владимир Кузин avatar
    Владимир Кузин19 октябрь 2014
    0

    @Arsunt, да, таким простым путем, увы, не получается пройти. Хотя в сети уже начали выкладывать готовые кексты, но не все рабочие:(

    Oleg Air avatar
    Oleg Air20 октябрь 2014
    0

    @Arsunt, Я так понимаю, что для работы нужно соответствующее железо, а именно WiFi стандарта АС и Bluetooth 4.0.

    В моем МБП стоит Блютус второй версии и ни замена “байта” (если бы не использовалась ЭЦП), ни манипуляции с кекстом мне не помогут, увы.

    Arsunt avatar
    Arsunt20 октябрь 2014
    0

    @Oleg Air, usb-свисток с BT-3.0 + любая совместимая Dual-Band WiFi на Mini PCI-E с чипом Broadcom (с подмененным кекстом), даже без поддержки 802.11ac. У товарищей-хакинтошников с этим набором все работает. У автора поста, кстати, нет 802.11ac, но с подменой кекста все работает.

    P.S. Не торопитесь расстраиваться, есть у меня пара идей, как обойти защиту Apple. Уже в процессе.

    vetok avatar
    vetok27 октябрь 2014
    0

    @Arsunt, а где можно будет с результатом ознакомиться? )

    Arsunt avatar
    Arsunt27 октябрь 2014
    0

    @vetok, я держу контакт с Владимиром Кузиным. Если получится полноценная утилита или патч, ожидайте статью на iPhones.ru. Если говорить о технических деталях, то проблему защиты фреймворка цифровой подписью удалось решить (нашлись способы “переподписать” файл), ограничители фреймворка снять также удалось, но есть сложности с совместимостью кекстов Airport – Apple внедрили функцию AWDL только в некоторые из них. Какой у вас используется кекст, кстати? В терминале введите:
    kextstat | grep AirPort
    Там будет написано что-то вроде com.apple.driver.AirPort.Brcm4331. Эта информация напрямую указывает на сложность включения совместимости конкретно на вашем устройстве.

    vetok avatar
    vetok27 октябрь 2014
    0

    @Arsunt, а у нас кстати вот
    com.apple.driver.AirPort.Atheros40 (700.74.5)

    Войди на сайт, чтобы ответить
    Ответить
  5. cheguevara avatar
    cheguevara 18 октябрь 2014
    0

    откройте Системные настройки – Bluetooth и просто сверните окно в трех.

    В трей, скорее всего

    Владимир Кузин avatar
    Владимир Кузин18 октябрь 2014
    0

    @cheguevara, спасибо, поправил:)

    Войди на сайт, чтобы ответить
    Ответить
  6. djrol avatar
    djrol 18 октябрь 2014
    0

    Apple совсем оборзели урезают старые устройства, новые прошивки глючат на старый телефонах. Капец, больше нет покупать никакую их продукцию. IPad Air с ios 8 стал жестоко тупить. Постоянно глючить ориентация, глючит оболочка, подтормаживает. Очень желею что поставил ios 8! С радостью бы откатился на ios 7. iPhone 4s до сих пор на 6.1.3. И обновлять не собираюсь!! Дайте решить пользователю нужны ему эти функции или нет, не надо их урезать!! Друзья скажите есть еще возможность откатить айпад на ios 7?

    admiless avatar
    admiless19 октябрь 2014
    0

    @djrol, правильно, в мире android/MS устройство с вероятностью 90% помрет с той прошивкой, с которой куплено. зато никто не парится что новых плюшек не поддерживает и вообще, а просто идут и покупают новый девайс с новой прошивкой. где это видано, чтоб поддержка устройств была 3 года! да бред конечно, каждый год новая прошивка – новое устройство!
    Хм… стоп! а кто вам мешает сейчас каждый год покупать новый девайс с выходом новой прошивки и не жаловаться, что старое железо не так работает как хотелось бы и выбора не дают.

    Язь avatar
    Язь19 октябрь 2014
    0

    @admiless, хм, а вариант, что не все готовы тратить по 80 килорублей (и это при условии, что семьи нет) каждый год только на яблодевайсы, вы не рассматриваете?

    admiless avatar
    admiless20 октябрь 2014
    0

    @Язь, вариант что компьютер должен окупается за год, иначе он вам прост оне нужен. не подходит?
    ведь покупая грузовик, вы как минимум рассчитываете, что он окупится, а не покупаете его “возить тещу за грибами” :)
    для тех у кого не окупается компьютер (iPhone относится так же к компьютерам) он попросту не нужен, написать смс/позвонить можно с телефона за 10€ так-же как и с iPhone.

    при покупке ТВ вы не возмущаетесь, что в новой модели есть какие-то фишки (да-да, некоторые современные ТВ имеют прошивку и даже меняется она), а в вашей прошлогодней из нет и не предвидится, при том, что изначально при покупке ТВ вы вы изначально рассчитываете на службу их минимум 3 года (гарантийная)
    или покупая автомобиль, вы требуете чтоб чтоб на вашу старую модель магнитолы заменили на магнитолу с тачскрином, просто потому, что в новой модели такая идет в комплекте?
    можно возразить, что цены несопоставимы, но ведь вы не требуете полностью ни новый ТВ, ни новый автомобиль, а просто нововведения, которые отсутствуют в вашей старой модели.

    djrol avatar
    djrol19 октябрь 2014
    0

    @admiless, про айфон я молчу меня полностью устраивает прошивка 6.1.3. И на iPad меня устраивала 7.1. Я не обновляю портативные устройства заведомо зная что apple будет их урезать в дальнейшем. Я не доволен что они урезали handoff в моем imac. Я такое человек что я не меняю гаджеты пока они не умрут. И простите каждый год выкладывать за Imac мне не позволяет здравый смысл.

    admiless avatar
    admiless20 октябрь 2014
    0

    @djrol, по вашей логике я тогда должен работать на G4 прошлого века выпуска, ведь он все еще не умер. а не продать его в свое время и купить новый. с того времени я сменил больше десятка компьютеров, просто продавая старые и покупая новые: здравый смысл и экспириенс (не могу подобрать правильное слово на русском, опыт несколько размыто) подсказывает, что продав через год старый можно вполне себе купить новый не сильно просев по бюджету. и как я уже выше отвечал, если компьютер не окупается за год – он сравним с ТВ

    Войди на сайт, чтобы ответить
    Ответить
  7. djrol avatar
    djrol 18 октябрь 2014
    0

    Нет желания…

    Войди на сайт, чтобы ответить
    Ответить
Помни о правилах — если начал оффтопить, то не удивляйся потом.

Нашли орфографическую ошибку в новости?

Выделите ее мышью и нажмите Ctrl+Enter.