Apple a (encore) cassé le support de la Nintendo Switch en USB

C’est une drôle de saga : avec macOS Sequoia (15.1), Apple a (encore) cassé la prise en charge du MTP dans macOS et donc il (re)devient impossible de récupérer les images d’une Nintendo Switch facilement sur un Mac.

Le MTP, c’est quoi ? C’est un protocole de transfert de données (Media Transfer Protocol) imaginé par Microsoft dans les années 2000. Il remplace de plus en plus souvent le simple mode UMS (USB Mass Storage) qui permet de monter un périphérique comme s’il s’agissait d’une clé USB. La Nintendo Switch utilise le MTP, comme les smartphones Android (depuis un moment), certains appareils Garmin ou les Kindle de dernière génération. Il y a une bonne raison : c’est plus sûr pour les données.

En mode UMS, on a de façon basique un accès direct au système de fichiers de l’appareil. C’est une technologie efficace et bien prise en charge, mais avec quelques défauts. D’abord, il faut évidemment que l’appareil utilise un système de fichiers courant (généralement FAT32 ou exFAT), ce qui peut complexifier la mise en oeuvre. Ensuite, les risques de corruptions sont élevés : un utilisateur peut débrancher l’appareil pendant le transfert, un système d’exploitation peut décider de mettre ses fichiers cachés (coucou macOS), etc. L’exFAT, par exemple, est notoirement fragile en cas de débranchement un peu sauvage.

Le MTP règle ça avec une gestion à un bien plus haut niveau. L’appareil (la Switch, le smartphone, etc.) va en fait générer la liste des fichiers et au lieu de transférer au niveau du système de fichiers avec des blocs et tout ce qui va avec, c’est un logiciel qui va gérer le transfert des fichiers. Le problème du système de fichiers disparaît (c’est le protocole qui gère ça), celui de la corruption aussi. En cas de débranchement, on perd juste éventuellement le transfert en cours, sans potentiellement corrompre le système de fichiers. C’est un peu plus lent pour différents raisons, mais c’est plus sécurisé.

macOS gère mal le MTP

Apple a une prise en charge basique du MTP, au moins en théorie. Transfert d’images permet normalement de récupérer des données sur un client MTP, comme des photos ou des vidéos. On ne peut pas envoyer des données (photos, vidéos, musique, etc.) mais pour récupérer des images dans une Nintendo Switch ou un smartphone, ça fonctionne… en théorie. Mais en fait, j’en avais parlé plusieurs fois, Apple casse régulièrement le tout. Ça fonctionnait sous macOS Monterey (le premier à prendre en charge le MTP), c’était cassé sous macOS Ventura, ça fonctionnait sous macOS Sonoma… et c’est cassé sous macOS Sequoia.

Actuellement, et j’ai testé sur trois Mac (ainsi que sur un Mac resté sous macOS Sonoma dans sa dernière version), ça ne fonctionne pas. Transfert d’images voit la console mais ne liste pas les photos et vidéos. Sous macOS Ventura, c’était listé mais le transfert donnait une erreur. Ici, il n’y a rien de visible.

C’est vide

Je ne comprends pas comment Apple arrive à casser une technologie comme ça, ni même pourquoi macOS ne propose pas une prise en charge propre du MTP. En 2024, ça devient un problème étant donné que de nombreux appareils ne proposent que le MTP (comme les récents Kindle). De plus, Google a abandonné son outil Android File Transfer et OpenMTP, la seule solution disponible actuellement, est une plaie à utiliser. C’est un logiciel qui utilise Electron pour les transferts, donc il n’y a aucune intégration au système et c’est assez instable, avec des bugs.

Pour terminer, le problème ne vient pas de la Switch (ça marche sous Windows) mais ça fonctionne tout de même avec un smartphone Android.