Как настроить usb mac os

Порты USB на компьютерах Mac

В зависимости от модели компьютера Mac порты USB могут быть типа A (USB-A) и типа C (USB-C).

Порты USB типа A имеют такую форму и могут также называться портами USB, USB 2 или USB 3, в зависимости от поддерживаемой спецификации USB.

Порты USB типа C имеют такую форму и доступны на компьютерах Mac как порты USB 3, Thunderbolt 3 или Thunderbolt / USB 4.

Спецификации USB

Спецификации порта USB определяют его максимальную скорость передачи данных и параметры питания. Это в первую очередь важно тогда, когда требуется максимальная скорость для устройства USB или когда устройству USB требуется питание большей мощности, чем оно получает.

Чтобы узнать, какие спецификации поддерживает порт USB на вашем компьютере Mac, выберите меню Apple () > «Об этом Mac», щелкните «Поддержка», затем щелкните «Спецификации». Дополнительные сведения, в том числе об устройствах USB, напрямую подключенных к компьютеру Mac, также можно найти в приложении Информация о системе.

Спецификации USB на компьютере Mac Передача данных Питание через порт
USB 4 До 40 Гбит/с До 100 Вт при 20 В
USB 3 (USB 3.1 2-го поколения) До 10 Гбит/с До 15 Вт при 5 В
USB 3 (USB 3.1 1-го поколения) До 5 Гбит/с До 900 мА при 5 В
USB 2 До 480 Мбит/с До 500 мА при 5 В
USB 1.1 До 12 Мбит/с До 500 мА при 5 В

Если устройство USB работает медленно или не распознается

Все спецификации USB совместимы друг с другом, однако показатели скорости передачи данных и мощности питания ограничиваются кабелем или устройством с самой ранней спецификацией. Например, если подключить устройство USB 3 к порту USB 2, скорость и мощность питания устройства будут ограничены возможностями порта USB 2.

  • Убедитесь, что порт USB на компьютере Mac и кабель USB, используемый вашим устройством, как минимум соответствуют спецификациям порта USB самого устройства.
  • Подключите устройство непосредственно к компьютеру Mac, а не к USB-концентратору или другому устройству.
  • Если устройство USB было получено с адаптером питания переменного тока, вероятно, следует его использовать. Устройству может потребоваться большая мощность питания, чем может предоставить порт, к которому оно подключено.
  • Обновление программного обеспечения для Mac. Также уточните у производителя устройства USB наличие обновлений прошивки или другого программного обеспечения. Затем перезапустите компьютер Mac.

Информация о продуктах, произведенных не компанией Apple, или о независимых веб-сайтах, неподконтрольных и не тестируемых компанией Apple, не носит рекомендательного или одобрительного характера. Компания Apple не несет никакой ответственности за выбор, функциональность и использование веб-сайтов или продукции сторонних производителей. Компания Apple также не несет ответственности за точность или достоверность данных, размещенных на веб-сайтах сторонних производителей. Обратитесь к поставщику за дополнительной информацией.

Источник

Открытие флешки на MacBook

Открываем флешку на МакБуке

Процедура открытия USB-носителя на MacBook почти ничем не отличается от таковой на любом другом ноутбуке.

  1. Подключите накопитель к порту USB на устройстве или к хабу.
  2. Нужно подождать некоторое время, до минуты, пока флешка определится системой. По умолчанию в новейших версиях macOS (High Sierra и Mojave) на рабочем столе появится ярлык быстрого доступа к подключённому носителю – дважды кликните по нему для для просмотра содержимого.

Если указанный ярлык не появился, доступ к флешке можно получить через Finder – откройте его с панели Dock.

Найдите в меню слева блок «Места» – в нём должно быть отображено имя подключённого носителя. Щёлкните по нему для доступа к файлам на флешке.

Процедура элементарная, и с ней справится даже неопытный пользователь macOS.

Решения возможных проблем

Даже macOS не застрахована от сбоев, в том числе и во время подключения флешек. Рассмотрим самые частые из проблем.

Макбук не распознаёт флешку

Самой частой неполадкой является отсутствие реакции системы на подключение накопителя. Причин этого может быть много, как программных, так и аппаратных. Рассмотрим оптимальную последовательность действий в такой ситуации.

  1. Первым делом переподключите флешку в другое гнездо USB на устройстве или на концентраторе.
  2. Проверьте, работает ли накопитель на другом компьютере, под управлением Windows или Linux. Заодно проверьте, в какой формат файловой системы отформатирована флешка – macOS не работает с накопителями, отформатированными в системах Linux-based (ext*).
  3. Проверьте разъёмы USB на МакБуке, подключив к ним другие гаджеты.

Если накопитель работает в других системах, скорее всего проблема в вашем устройстве либо концентраторе. Последний можно заменить без особого труда, тогда как устранить неисправности ноутбука Apple самостоятельно не выйдет, и придётся обратиться в сервисный центр.

Флешка открывается, но файлы на неё не копируются

Порой пользователь MacBook сталкивается с проблемой, когда USB-накопитель открывается без проблем, файлы на нём можно запустить или скопировать, но вот поместить туда данные из macOS не выходит. Это означает, что подключённая флешка отформатирована в файловую систему NTFS, извлекать из которой файлы «яблочная» операционка может, но записывать в неё – нет.

Выходов из этой ситуации существует два. Первый – воспользоваться компьютером с Windows, на котором накопитель следует отформатировать в систему FAT32 или exFAT, с которыми macOS может работать без проблем.

Второй способ заключается в загрузке специальной утилиты, которая позволяет полноценно манипулировать с носителями в NTFS. Самой известной из них является Paragon NTFS for Mac.

Утилита позволяет проводить операции монтирования и размонтирования накопителей в формате НТФС, а также проверку дисков на наличие ошибок.

Заключение

Открыть флешку на MacBook не сложнее, чем на любом другом компьютере, пусть и возникают сложности с определением некоторых файловых систем.

Помимо этой статьи, на сайте еще 12315 инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.

Отблагодарите автора, поделитесь статьей в социальных сетях.

Источник

О порте USB на Mac

На Вашем компьютере могут быть порты USB . Через них можно легко подключать внешние устройства, например клавиатуру, мышь, трекпад, принтер, устройства iOS или iPadOS или цифровую камеру, не перезагружая компьютер. USB-порты обеспечивают определенное питание, поэтому большинству устройств не нужны кабели питания. Вы можете приобрести адаптеры, позволяющие подключать устройства, не поддерживающие USB, к USB-порту.

Примечание. Ваш компьютер Mac также может быть оснащен одним или несколькими портами USB-C. См. раздел О порте USB-C.

Об устройствах USB и ноутбуках Mac

Если у Вас ноутбук Mac, USB-устройства могут вызвать более быструю разрядку аккумулятора компьютера. Если Вы используете устройство длительное время, будет целесообразно подключить адаптер питания для портативного компьютера.

Об отключении USB-устройств хранения данных

Когда компьютер включен, перед отсоединением USB-устройства хранения данных извлеките диск (перетяните его в Корзину).

О подключении нескольких устройств

К одному USB-порту можно подключить несколько устройств, если использовать USB-концентратор. Подключите устройства к USB-портам на концентраторе, затем подключите концентратор к компьютеру. Большинство USB-концентраторов имеют адаптеры питания и должны быть соединены с розеткой питания.

Проверьте, что устройства USB 3.0 SuperSpeed подключаются к концентратору USB 3.0 SuperSpeed, устройства USB 2.0 Hi-Speed — к концентратору USB 2.0 Hi-Speed, и т. д.

Источник

Настройка автоматического подключения коммутируемого модема на Mac

Можно настроить автоматическое подключение модема к Интернету при использовании приложения, которое требует интернет-подключения, например Safari или Почты.

Когда Ваш модем настроен, каждый раз при открытии приложения, требующего подключения к Интернету, модем будет набирать номер Вашего интернет-провайдера и выполнять подключение.

На Mac выберите меню Apple

> «Системные настройки», затем нажмите «Сеть».

Выберите свой модем в списке слева.

Если модема нет в списке, убедитесь, что он установлен на компьютере или подключен к USB-разъему, если это внешний модем. Нажмите кнопку «Добавить» внизу списка, нажмите всплывающее меню «Интерфейс», затем выберите «Модем». Присвойте имя модему, затем нажмите «Создать». Введите настройки для учетной записи PPP.

Нажмите «Дополнения», затем — «PPP».

Выберите «При необходимости подключаться автоматически».

Настройте другие параметры подключения, такие как «Отключение при выходе пользователя из системы» или «Отключение при переключении учетной записи пользователя».

Источник

Работа с USB устройствами в программе на C в MacOS X

Приветствую уважаемых читателей.
В этой небольшой статье я бы хотел рассмотреть вопрос взаимодействия с оборудованием (в данном случае с USB устройствами) в операционной системе MacOS X.
Будет рассмотрены очень интересный и полезный фреймворк IOKit, способ получения уведомлений о добавлении/удалении обордования, а так же получения полной информации об устройствах. Конечно данный материал не претендует на какую либо уникальность, т.к. каждый может разобраться с этими вопросами самостоятельно, изучив документацию Apple, а так же покурив разнообразные исходники на opensource.apple.com
Моя статья — попытка восполнить пробелл в русскоязычном материале подобного рода и описать некоторые грабли, с которыми могут столкнуться новичики.
Все кто заинтересовался — добро пожаловать под кат.

IOKit.
В ядре MacOS X существует замечательная вещь — фреймворк IOKit. Это объектно-ориентированный С++ фреймворк, разработанный специально для поддержки инфраструктуры драйверов оборудования. Правда С++ там несколько урезанный, например в нем отсутствуют исключения, RTTI, шаблоны. Остальная же часть ядра написана преемущественно на С.
Сам IOKit можно разделить на две части: собственно kernel framework, на котором пишутся драйвера и юзерспейсный IOKit.framework, предназначенный для простого доступа к kernel модулям (и соответственно оборудованию) из пользовательских приложений.
Объектно-ориентированная природа IOKit позволяет удобно отображать реальную физическую модель оборудования: USB устройство подключено, через USB порт подключено к хабу, хаб подключен соответствующему контроллеру в компьютере, этот контроллер, через шину PCI подключен к остальному чипсету материнской платы. Каждый IOKit драйвер является в этой модели либо конечным узлом (например USB модем) либо же связующим модулем (например контроллер USB порта), в терминологии Apple, последний назыается nub.
В комлект поставки XCode входит графическая утилита IORegExplorer, позволяющая просмотреть всю структуру IOKit модулей, прочитать разнообразные параметры и техническую информацию.

Сущетствует и консольный аналог утилиты — ioreg.

В этой статье будет рассмотрена работа только с юзерспейсным IOKit.framework. Если кого-то из читателей заинтересовал kernel framework — можно прочитать статью habrahabr.ru/post/36875, а так же замечательную книгу OS X and iOS Kernel Programming.

Получение уведомлений USB
Как уже говорилось выше, работать мы будем с USB, поэтому нам понадобится всего один заголовочный файл

Начнем с того, что подпишемся на получение уведомлений о добавлении/удалении USB устройств. В этом нам поможет специальный объект типа IONotificationPortRef.
Создадим и проинициализируем экземпляр IONotificationPortRef

Мы создали своего рода виртуальный порт, для прослушивания событий из IOKit (пока что не определено, каких именно). kIOMasterPortDefault — это константа, определяющая некий порт «по умолчанию» для получения сообщений из IOKit, всегда используйте это значение.

Теперь определим, какие именно сообщения мы хотим получать. Для этого необходимо создать так называемый словарь, воспользовавшись соответствующим контейнером базового фреймворка MacOS X.

Ключевым методом тут является IOServiceMatching, создающий словарь устройств класса USB, думаю, что это очевидно (существуют и другие константы, например для FireWire и т.п., позволяющие получать соответствующие уведомления). Далее мы «забираем» владения этим объектом, с помощью CFRetain. Это нужно для того, что бы не возникли проблемы с возможным двойным освобождением объекта в методах фреймворка IOKit. Собственно нам самим освобождать этот объект не нужно, в других же случаях никогда не забывайте вызывать CFRelease для аллоцированных в куче объектов (не полученных каким-либо Get* методом). Кроме того, всегда проверяйте, свежесозданные/свежеполученный *Ref объекты базового фрейморвка, на NULL, т.к. это, по сути, обычные указатели и работать с ними нужно соответствующе.

Далее «навесим» этот словарь на ранее созданный порт, как matching notification. Делается это методом IOServiceAddMatchingNotification.
Рассмотрим его внимательно

Первый параметр notifyPort — собственно порт, созданный нами ранее.
Второй параметр notificationType — тип уведомлений для данного словаря, такие как kIOTerminatedNotification, kIOMatchedNotification, kIOFirstMatchNotification. Думаю, что из названий этих констант вполне понятно, что они означают.
Третрий параметр matching — собственно словарь. Тип объекта, как можно заметить, — CFDictionaryRef. Это не проблема, т.к. CFMutableDictionaryRef без проблем приводится в тип CFDictionaryRef.
Четвертый метод callback — самый интересный. Это указатель на callback метод, вызываемый при поступлении соответствующего события. О нем чуть ниже.
Пятый параметр refCon — контекст коллбэк метода, тут можно передать свои данные этой функции.
Последний параметр notification — итератор, предназаченный для перебора коллекции устройств, этот аргумент инициализуруется в IOServiceAddMatchingNotification и так же передается callback методу, указывая на самое первое устройство в коллекции.

В случае успеха IOServiceAddMatchingNotification возвращает нуль, иначе — положительное число, код ошибки.

Callback функция определена таким образом:
typedef void (*IOServiceMatchingCallback)(void *refcon, io_iterator_t iterator);
Как видно, функция принимает те самые последние два аргумента из IOServiceAddMatchingNotification.

Нам необходимо объявить две такие функции — на добавление и на удаление устройств

А теперь, наконец, настроим уведомления.

Никакой дополнительной инициализации методов не требуется и обязательно проверяйте result код после каждого вызова IOServiceAddMatchingNotification.

Теперь нам необходимо настроить поток с циклом, в котором будет крутится наш прослушиватель. В MacOS X для данных целей предусмотрен соответствующий объект — CFRunLoop. Для нормальной работы данному объекту необходимо указатать так называемый источник и запустить в контексте текущего либо же какого-то другого потока, а после окончания работы — остановить.
Сделаем это так:

В данном случае мы добавляем источник уведомлений с помощью специального метода IONotificationPortGetRunLoopSource, использую наш порт уведомлений, кроме того, мы указываем идентификатор необходимого поток — в данном случае текущий поток CFRunLoopGetCurrent()

Далее этот поток можно стартовать и начинать получать уведомления. Но есть один нюанс, что бы все заработало — коллбэк методы нужно единожды вызвать вручную, как бы «протерировав» коллекцию. Если этого не сделать — уведомления приходить не будут.

Стар потока выполняется методом CFRunLoopRun(); Все, в этой точке выполнение кода не будет идти дальше. Остановить этот цикл можно только с помощью CFRunLoopStop, аргументом, этому методу, передается идентификатор того потока, где был запущен CFRunLoopRun, собственно то значение, что вернуло выше CFRunLoopGetCurrent. В многопоточной среде рекомендую сохранять это значение, что бы иметь возможность остановить RunLoop из контекста другого потока, просто указав корректный, сохраненный идентиификатор.

После остановки потока необходимо немного прибрать за собой:

Получение информации о USB устройствах
Итак, мы научились получать уведомления о добавлении/удалении USB устройств, теперь посмотрим как можно получить всю информацию об устройствах, непосредственно в callback методах.
По хорошему, оба методы должны сводится к вызову одного метода iterate_usb_devices

Здесь мы осуществляем проход по коллекции устройств, с помощью переданного итератора и IOIteratorNext, после использования объект необходимо освобождать в IOObjectRelease.
Каждый полученный объект usbDevice является источником всей необходимой информации. Простейший пример:

В случае успеха будет выведено читабельное имя устройства, например «Novatel wireless modem». io_name_t является по сути обычной char массивом.

Другой пример, получение полного пути к устройству, в иерархии IOKit:

Это самые простейшие случаи, т.к. с объектом usbDevice связан ещё целый словарь разнообразнейших параметров в виде пары ключ-значение. По соответствующим ключам можно получать соответствующие значения параметров, например, получим VendorID устройства.

Данный метод ищет соответствующий параметр по строковому ключу, в данном случае «idVendor» (CFSTR — это метод фреймворка MacOS X, выполняющий быстрое преобразование C-строки во внутренний объект типа CFStringRef)

IORegistryEntrySearchCFProperty возвращает NULL, если поиск не увенчался успехом, либо же указатель на объект искомого типа, в данном случае — CFNumberRef. Что бы «выудить» нормальное числовое значение из CFNumberRef, необходимо воспользоваться следующим:

Получение «ProductID» выполняется точно таким же образом, только в качестве ключа следует использовать строку «idProduct»

Разумеется, что список параметров и соответствующих ключей можно сильно варьироваться от устройства к устройству. У читателя может возникнут соответствующий вопрос — как узнать, какие параметры и по каким ключам нужно искать у данного устройства и как отобразить сразу все значения?
Делается это довольно просто:

В случае успешного выполнения данного метода мы получим в свое распоряжение словарь, заполненный всеми ключами/значениями устройства.
Самый простой способ, теперь, для печати этого словаря на экран — фреймворковый CFShow. Пару слов о нем, CFShow — это универсальный метод для задампливания любых объектов CoreFoundation Framework в MacOS X — CFMutableDictionaryRef, CFStringRef, CFNumberRef и т.д. Вывод выполняется в stderr.
Итак, выводим содержимое словаря на экран:

Теперь у нас есть список всех ключей и всех параметров, для данного устройтсва и мы можем использовать это знание, для получение конкретных значений в виде конкретных объектов (либо через IORegistryEntrySearchCFProperty, либо непосредственно из словаря, воспользовавшись методами для работы со словарями)

Рабочее приложение.
Теперь я бы хотел привести пример небольшого приложения, содержащего все, что выше описано. Кроме всего прочего, я решил добавить в этот пример обработку сигналов, что бы уметь корректно завершать приложение по Сtrl-С.
Примечание: В реальных проектах никогда не выполняйте такие действия в обработчике сигнала, почему, можете прочитать, например, в этом сообщении

Компиляция приложения выполняется командой
gcc usbnotify.c -framework IOKit -framework Foundation -o notifier
или же
clang usbnotify.c -framework IOKit -framework Foundation -o notifier
Результат выполнения обеих команд будет идентичен.

Ниже можно увидеть скриншоты работающего приложения с выводом информации о подключаемых и отключаемых устройствах

Источник

Читайте также:  Windows установилась без драйверов
Оцените статью