24 votes

Problème de connexion iPhone-Mac et que fait le processus usbd ?

Je sais qu'il y a 2-3 questions dans cette communauté concernant des problèmes de connexion entre iPhones et Macs via une connexion USB, et je connais une solution temporaire pour y remédier. Mais je voudrais savoir ce que fait exactement le usbd et pourquoi cela cause-t-il des problèmes de connexion entre certains iPhones et certains Macs ?

La question

Le problème est que certains Macs et iPhones n'ont pas une connexion stable lorsqu'ils sont connectés via le câble USB Lighting d'Apple. L'iPhone tente souvent de se reconnecter très rapidement, parfois 2 à 3 fois par seconde, et continue de le faire dans une boucle sans fin. Parfois, il s'arrête si vous remuez le câble d'éclairage USB, si vous l'insérez dans un autre port USB ou si vous mettez en pause le processus Mac en question. usbd dans le terminal.

En ce qui me concerne, le problème semble être plus répandu avec le port USB gauche de mon MacBook Pro (mais il se produit occasionnellement avec le port USB droit). En outre, il est beaucoup plus susceptible de se produire lorsque l'iPhone est sur une faible charge (c'est-à-dire 0-30%), mais il est connu pour se produire sur des charges plus élevées occasionnellement comme 70-80%.

Étrangement, cela n'affecte pas tous les iPhone qui se connectent avec mon câble USB Lighting d'Apple ou avec mon iPhone qui se connecte à d'autres Macs (sur différentes versions d'OS) en utilisant le même câble. Je suis donc assez perplexe quant à la raison pour laquelle cela se produit ?

Solution temporaire

Une solution temporaire répondant aux questions précédentes consiste à exécuter une commande sudo dans le Terminal pour arrêter l'application usbd de s'exécuter sur votre Mac. La commande est sudo killall -STOP -c usbd qui met en pause le processus jusqu'à ce que vous redémarriez votre Mac ou que vous entriez la commande sudo killall -CONT -c usbd pour redémarrer le processus. D'après les commentaires sur cette solution temporaire, elle semble résoudre le problème de connexion pour la plupart des gens.

Étapes de dépannage jusqu'à présent

En dehors de la mise en pause de la usbd Je travaille avec AppleCare et ses ingénieurs depuis plusieurs mois pour savoir s'il s'agit d'un problème logiciel et pourquoi cela se produit avec mon iPhone XS et mon MacBook Pro (modèle : 11,3, Retina 15" fin 2013 fonctionnant sous MacOS Mojave 10.14.6) en utilisant le câble officiel Apple USB vers Lighting.

Nous avons effectué de nombreuses étapes de dépannage et la plupart d'entre elles ne semblent pas résoudre le problème, à l'exception de la mise en pause de l'application. usbd processus. Cependant, les ingénieurs d'Apple refusent de croire usbd est à l'origine du problème. Les étapes de dépannage que nous avons entreprises jusqu'à présent :

  • Réinitialisation de la NVRAM et du contrôleur SMC
  • Démarrage en mode SAFE
  • Création d'un nouvel utilisateur sur mon MacBook Pro
  • Installation d'une nouvelle partition et installation de MacOS Catalina 10.15
  • Réinstallation du paquet de micrologiciels pour appareils mobiles sur mon MacBook
  • Réinitialiser tous les réglages de l'iPhone (mais pas l'effacer et remettre les réglages d'usine)
  • Suppression des launchdaemons non-Apple sur mon Mac
  • Désactivation des logiciels anti-virus (VirusBarrier d'Intego) et des VPN sur mon Mac
  • J'ai supprimé le plist du Mac dans le dossier de verrouillage associé à mon iPhone. Cette liste est utilisée pour vérifier que le Mac et mon iPhone se sont fait confiance auparavant.
  • Réinitialiser les paramètres de confidentialité sur mon iPhone. La réinitialisation des paramètres de confidentialité supprime également le fichier de confiance sur l'iPhone, qui est utilisé pour vérifier que vous avez fait confiance au Mac, de la même manière que le fichier lockdown plist sur le Mac.
  • Triage et démarrage de mon MacBook Pro dans MacOS High Sierra 10.13 au Genius Bar d'Apple.
  • Remplacement de la carte logique et de la carte E/S du MacBook Pro
  • J'ai essayé plusieurs iPhone XS au Genius Bar d'Apple, et tous ont présenté le même problème avec leurs propres câbles USB d'Apple pour l'éclairage.

Après que le Genius Bar d'Apple ait remplacé la carte logique et la carte d'E/S (en parfait état), le même problème de connexion s'est produit avec plusieurs iPhone dans leur magasin, en utilisant leurs propres câbles d'éclairage USB Apple. Je ne suis pas sûr des modèles d'iPhone qu'ils ont testés, mais ils ont essayé avec l'iPhone XS et XS Max au minimum.

Il est intéressant de noter que la seule fois où le problème ne s'est pas produit, c'est lorsqu'ils ont pris un câble d'éclairage complètement neuf dans l'atelier. Par conséquent, ils ont suggéré qu'il pourrait s'agir d'un problème de câble d'éclairage, mais cela n'explique pas pourquoi cela ne se produit qu'avec certains iPhones et certains modèles de Mac, mais n'affecte pas les autres appareils utilisant le même câble (potentiellement défectueux) ?

De plus, bien que je n'aie jamais eu de câble effiloché et que je range mes câbles de manière appropriée, les nouveaux câbles présentent le problème dans le mois qui suit leur utilisation, mais encore une fois pas avec tous les Macs ou tous les iPhones ?

Mes propres enquêtes

Bien que je ne maîtrise pas à 100% le fonctionnement du logiciel, j'ai bricolé quelques commandes dans le terminal, supprimé le fichier plist de lockdown via rootless, lu les messages d'événement du journal de la console relatifs à la connexion de mon iPhone, et essayé de rechercher en ligne des solutions possibles expliquant ce que la usbd le processus le fait. Mais aucune solution n'a été trouvée jusqu'à présent pour résoudre le problème.

Lire la description de la page de manuel pour le usbd j'ai trouvé le usbd est utilisé pour configurer spécifiquement les appareils iOS connectés au Mac. Je ne pense pas qu'il soit utilisé pour d'autres connexions USB, car il fonctionne bien avec mes disques durs externes/disques flash.

La page de manuel décrit le usbd comme suit :

usbd permet au système de configurer les périphériques USB iOS pour qu'ils se chargent et pour présenter des notifications relatives aux périphériques USB.

Cette commande n'est pas destinée à être invoquée directement.

La seule autre chose que je sais sur le usbd est qu'il permet aux Macs de fournir une alimentation supplémentaire de 1600mA aux appareils iOS, alors que la spécification USB maximale ne permet qu'une alimentation de 500mA. La mise en pause du usbd réduit la puissance de sortie du port USB à la norme de 500 mA, ce qui ralentit considérablement la charge de l'iPhone, mais assure une connexion stable. Vous pouvez observer la différence dans la sortie de puissance en exécutant la commande system_profiler SPUSBDataType dans le terminal.

Lorsque le usbd est en cours, j'obtiens la puissance de sortie suivante :

Current Available (mA): 500
Current Required (mA): 500
Extra Operating Current (mA): 1600
Sleep current (mA): 2100

Désactivation de usbd et en entrant la commande ci-dessus, on obtient la puissance de sortie suivante :

Current Available (mA): 500
Current Required (mA): 500
Extra Operating Current (mA): 0

En outre, à part la mise en pause de la usbd Les seules autres fois où la connexion fonctionne sont lorsque mon Mac exécute Linux ou Windows sur une partition, mais je ne pense pas qu'ils fournissent la même puissance que s'ils fonctionnaient sous MacOS.

Conclusion et question

Après avoir effectué de nombreuses étapes de dépannage avec Apple, ils suggèrent qu'il s'agit d'un problème de câble USB Lighting, mais cela n'explique pas pourquoi le même câble fonctionne avec d'autres Macs ou d'autres appareils.

La seule solution réelle (mais temporaire) est de mettre en pause la usbd mais, comme je l'ai établi, cela réduit la puissance de sortie de la connexion USB de l'iPhone, ce qui signifie que le chargement prendra plus de temps, même si la connexion est stable et continue.


Donc, pour répondre à ma question, quelqu'un pourrait-il fournir des informations supplémentaires sur ce que fait exactement la usbd Quelqu'un pourrait-il nous dire s'il s'agit d'un bug logiciel ou d'un problème physique de câble d'éclairage ?

J'apprécierais si quelqu'un avait une idée de la cause profonde du problème, et j'espère que nous pourrons trouver une solution pour les nombreuses autres personnes touchées par le même problème. Merci beaucoup pour votre temps.


Veuillez noter qu'il s'agit de ma première question sur ce stackexchange. Je vous prie donc de m'excuser si mon message pose problème.

2 votes

Je dirais définitivement que c'est un problème logiciel, en regardant le nombre d'essais que vous avez fait avec d'autres matériels...

0 votes

Merci @X_841 pour votre commentaire. C'est ce que je pensais aussi, mais il est étrange qu'Apple refuse de reconnaître qu'il s'agit d'un bug.

0 votes

Eh bien, Apple est Apple parfois... Avez-vous un magasin de réparation local ? Appelez-le, expliquez-lui votre problème et ce que vous avez fait, je suis sûr qu'il confirmera que vous avez évité un bug matériel.

2voto

Daniela Teodori Points 21

J'ai eu le même problème et je pensais que mon Mac avait un problème de courant dans les connecteurs usb. J'ai résolu le problème en utilisant des câbles usb vers lightning d'une autre marque, certifiés pour les appareils Apple. Ils semblent être un peu plus épais que ceux d'origine. J'ai rencontré ce problème sur plusieurs anciens iMac (2012-2014) et à chaque fois j'ai résolu le problème en utilisant un câble d'une autre marque.

0 votes

J'ai remarqué que les câbles de chargement d'Apple n'ont pas une décharge de traction très robuste et qu'ils sont parfois défectueux en un an. Une façon de les améliorer avant ils échouent est de les recouvrir d'une pellicule rétractable, d'environ trois millimètres sur le plastique dur et suffisamment sur le câble pour dépasser légèrement la gaine supplémentaire intégrée.

2voto

cmdr_keen Points 41

Merci beaucoup d'avoir fait le travail de recherche sur cette question ! Ma belle-mère a ce problème à chaque fois qu'elle branche son iPhone pour télécharger des photos. Je devais donc trouver une solution simple pour que ma grand-mère puisse transférer les photos de ses petits-enfants sur son ordinateur malgré les déconnexions constantes. En utilisant les informations fournies par @AVelj pour la solution temporaire, j'ai créé un LaunchDaemon pour la rendre permanente. Voici ce que j'ai fait.

J'ai créé un shell script appelé connect-iPhone.sh qui contenait le texte suivant :

#!/bin/bash
killall -STOP -c usbd

Je l'ai stocké à /Users/<username>/Documents/connect-iPhone.sh

Puis j'ai créé un autre fichier nommé pauseusbd.plist avec le texte suivant :

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
    <dict>
        <key>Label</key>
        <string>com.pauseusbd.app</string>

        <key>Program</key>
        <string>/Users/<username>/Documents/connect-iPhone.sh</string>

        <key>RunAtLoad</key>
        <true/>
    </dict>
</plist>

J'ai gardé ça pour /Bibliothèque/LaunchDaemons . Puis j'ai utilisé ce qui suit pour faire de Root le propriétaire :

sudo chown root:wheel /Library/LaunchDaemons/pauseusbd.plist

Puis j'ai exécuté ce qui suit pour charger le plist afin qu'il s'exécute à chaque redémarrage :

sudo launchctl load /Library/LaunchDaemons/pauseusbd.plist

Bien sûr, cela empêchera les appareils Apple de se recharger plus rapidement que ne le permet la spécification USB, mais cela permettra également de rester connecté. Et c'est tout ce dont se soucie ma belle-mère qui aime les petits-enfants. Elle a un chargeur mural pour se recharger.

Je sais que cela ne répond pas directement à la question de l'OP, mais je voulais fournir une solution de contournement plus permanente pour tous ceux qui sont confrontés à ce problème. Et merci encore à @AVelj pour la documentation complète !

Références :

Ce poste !

Plist dans /System/Library/LaunchAgents ne se charge pas au redémarrage.

Quelles sont les différences entre les LaunchAgents et les LaunchDaemons ?

0 votes

Hé, merci beaucoup pour votre contribution ! Je suppose que cela fonctionnera également avec d'autres shells comme Fish et Zsh.

0 votes

C'est exactement ce que je veux réaliser. Cependant, je pense avoir suivi toutes vos étapes correctement mais j'ai toujours le même problème. Si cela a fonctionné pour vous, je ne sais pas ce qui pourrait ne pas fonctionner ici.

1voto

gio91ber Points 101

Merci beaucoup pour ce rapport détaillé. J'ai le même problème sur MacOS 10.15.4, je n'ai jamais eu de problème avec le même câble et le même iPhone sur MacOS 10.13.

Il se peut que l'on ait ajouté quelques vérifications de câbles à usbd afin d'arrêter l'utilisation non officielle du câble.

Il y a une chose amusante, cependant. Ici, à Catalina, même quand usbd a été tué, voici la sortie de system_profiler SPUSBDataType :

 iPhone:

      Product ID: 0x12a8
      Vendor ID: 0x05ac (Apple Inc.)
      Version: 8.01
      Serial Number: [REDACTED]
      Speed: Up to 480 Mb/s
      Manufacturer: Apple Inc.
      Location ID: 0x14200000 / 18
      Current Available (mA): 500
      Current Required (mA): 500
      Extra Operating Current (mA): 1600
      Sleep current (mA): 2100

et ça charge l'iPhone assez rapidement.

Y a-t-il un moyen de désactiver définitivement usbd ?

Je dirige aussi locate usbd voici /usr/share/sandbox/com.apple.usbd.sb :

;; Copyright (c) 2012 Apple Inc.  All Rights reserved.
;;
;; WARNING: The sandbox rules in this file currently constitute 
;; Apple System Private Interface and are subject to change at any time and
;; without notice. The contents of this file are also auto-generated and not
;; user editable; it may be overwritten at any time.
;;

(version 1)

(deny default)
(import "system.sb")

(allow distributed-notification-post)

(allow mach-per-user-lookup)

(allow file*
       (literal "/private/var/root/Library/Preferences/com.apple.usbd.plist")
)

(allow file-read*
       (literal "/AppleInternal")
       (literal "/usr/libexec")
       (literal "/usr/libexec/usbd")
       (literal "/private/var/root")
       (literal "/dev/console")
       (literal "/private/var/root/Library/Preferences/.GlobalPreferences.plist")
       (literal "/Library/Preferences/.GlobalPreferences.plist")
       (literal "/Library/Application Support/CrashReporter/SubmitDiagInfo.domains")
       (regex   "^/private/var/root/Library/Preferences/ByHost/\.GlobalPreferences\..*\.plist$")
)

(allow file-read-metadata
    (literal "/")
    (literal "/Library")
    (literal "/Library/Application Support/CrashReporter/SubmitDiagInfo.domains")
    (literal "/private")
    (literal "/private/var")
    (literal "/private/var/root")
)

;;crashtracer support

(allow system-socket)
(allow file-read-metadata
    (subpath "/Library/Application Support/CrashReporter/SubmitDiagInfo.domains")
    (literal "/Library/Caches/com.apple.DiagnosticReporting.HasBeenAppleInternal"))

(allow mach-lookup
    (global-name "com.apple.USBAgent")
    (global-name "com.apple.PowerManagement.control")
    (global-name "com.apple.SystemConfiguration.configd")
    (global-name-regex #"^com.apple.distributed_notifications")
)

(allow ipc-posix-shm
       (ipc-posix-name "apple.shm.notification_center")
)

(allow iokit-open
       (iokit-user-client-class "IOUSBDeviceUserClientV2")
)

Cela signifie-t-il quelque chose pour quelqu'un ? Je voudrais vérifier les différences entre les usbd de 10.13 à 10.15.

0 votes

Bienvenue à Ask Different. Si personne ne peut répondre à cette question, l'idéal est de poser une question de suivi et de créer un lien ici. De bons détails qui aideront les autres, mais les gens pourraient ne pas voir votre question secondaire et considérer celle-ci comme une réponse.

1 votes

@bmike merci, et désolé de m'être trompé.

1 votes

Ne vous inquiétez pas. Bienvenue sur le site. Vous mettez en place un excellent contenu.

-1voto

error404 Points 1

usbd est censé faire comme vous l'avez déjà mentionné et je ne soupçonne pas que ce soit un problème.

Il me semble que c'est un problème de câble :

  1. Chaque fois que vous avez utilisé un nouveau câble, le problème a été résolu.
  2. Au bout d'un certain temps, les câbles perdent leur qualité pour plusieurs raisons.
  3. Les iPhones plus récents nécessitent un courant plus stable. (Besoin d'une citation !)

2 votes

Comment expliquez-vous le problème du câble alors qu'il fonctionne sur le même MacBook avec un autre système d'exploitation installé/exécuté ?

1 votes

De plus, les câbles ne perdent pas leur qualité (avec une utilisation normale) en un mois !

0 votes

Votre troisième point n'a aucun sens pour moi. Je dirais plutôt que c'est le contraire, puisque votre batterie se dégrade avec le temps...

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X