Des soucis entre macOS Ventura et les cartes Raspberry Pi Pico

Pierre Dandumont |

La fondation à l'origine des cartes Raspberry Pi vient de mettre en avant un problème particulier, qui touche les utilisateurs de macOS Ventura : la copie vers les cartes Raspberry Pi Pico et les produits dérivés ne fonctionne pas et affiche une erreur peu compréhensible.

Le fichier semble copié, mais le message de macOS Ventura est (presque) explicite : il y a un problème.

Le Raspberry Pi Pico est une carte de développement lancée en janvier 2021 (et améliorée récemment, avec l'ajout du Wi-Fi en juin 2022) assez différente des autres cartes Raspberry Pi. Ces dernières fonctionnent en effet sous GNU/Linux, alors que les cartes "Pico" exécutent directement du code (C, MicroPython, etc.) à la manière des Arduino. Et pour l'envoi des données vers la carte, la fondation utilise une technologie Microsoft qui pose un problème dans le cas présent : UF2 (USB Flashing Format).

Les deux variantes récentes du Raspberry Pi Pico, avec du Wi-Fi et des broches.

Cette solution open source émule une clé USB formatée en FAT16, un vieux système de fichiers, normalement pris en charge par la majorité des OS, pour permettre l'envoi des données vers la carte. Pour l'utilisateur, le fonctionnement est simple : il suffit de copier un fichier UF2 (généré par les outils de développement) avec l'explorateur de fichiers de l'OS (le Finder avec macOS) et la carte s'occupe ensuite de placer les données au bon endroit. Mais avec macOS Ventura, cette méthode ne fonctionne pas : la copie via le Finder amène sur une erreur. Les raisons ne sont pas encore très claires, mais elles sont a priori liées à la gestion des systèmes de fichiers — modifiée dans la dernière version de l'OS —, notamment dans la façon dont sont enregistrées les métadonnées. Ce souci touche pour le moment le Raspberry Pi Pico mais aussi toutes les cartes qui se basent sur la même puce (RP2040) ainsi que quelques cartes de type Arduino.

En attendant une éventuelle correction de la part d'Apple, il existe quelques solutions pour les amateurs de Raspberry Pi Pico. La première est probablement la plus simple mais pas la plus intuitive : une copie en ligne de commande. En utilisant l'argument -X, qui force le système à ne pas copier les métadonnées, tout fonctionne correctement. Il existe d'autres méthodes détaillées dans le post de blog de la fondation, mais elles sont moins pratiques ou nécessitent des outils externes. Pour copier le fichier de test blink.uf2 (qui fait clignoter une LED), il faut donc taper la commande suivante : cp -X blink.uf2 /Volumes/RPI-RP2/ et ensuite l'adapter à votre programme (le nom du volume ne bouge jamais).

avatar Gwynpl@ine | 

Pour ça le Mac n'a jamais été terrible, sur l'Arduino c'est pas au top non plus, surtout sur des cartes Chinoise. Personnellement rien de tel qu'un PC sous GNU/Linux pour ça !

avatar Matlouf | 

J'avais fait un petit projet Arduino sur mac, ça fonctionnait plutôt pas mal, en tout cas ça ne justifiait pas d'avoir un PC à côté, fut-il sous Linux.

Mais j'ai l'impression qu'avec les Raspberry c'est pas aussi facile.

avatar fte | 

Ou un… Raspberry Pi. :)

avatar vico94 | 

J’ai souvent eu des soucis usb avec des esp32 ou des Wemos D1 mini. En passant sur un pc cela fonctionnait souvent mieux.

avatar mk3d | 

C’est pas le bon endroit mais:
Pourriez-vous m’expliquer comment gérer les emplacements réseau sous Ventura?
On peut bien les choisir depuis le menu pomme -> emplacement mais pour les créer/modifier c’est ou? Impossible de trouver.
C’est la première fois que ça m’arrive avec macOS… enfin, macOiPadOS.

avatar DDivo | 

@mk3d

Alors celle-là, elle est bonne ! Je ne me souvenais plus de ce menu via le Finder, mais les emplacements que j’avais créés auparavant sont toujours présents sous Ventura, suite à une mise à jour majeure (pas de clean install).

Désolé pour ce hors sujet 🙏🏻

avatar mk3d | 

Total hors sujet à supprimer

avatar calotype | 

Très content de voir macg traiter de ce genre de sujets.
J’ai découvert le monde de l’arduino and co y’a quelques années. Ça a été une révélation de bricoleur même si le monde du code est une tare énorme me concernant mais avec l’énorme communauté existante, les librairies et un minimum d’opiniâtreté on arrive à faire des choses géniales !!

avatar smog | 

Le problème se pose quel que soit le logiciel utilisé pour transférer ? je pense à Thonny par ex.

avatar flux_capacitor | 

Ouf. Heureusement qu'il y a une solution avec CLI. Je retenais mon souffle jusqu'à la fin de l'article 🌬️

avatar marc_os | 

Apple a bidouillé ses drivers FAT / NTFS (depuis Ventura on ne peut officiellement plus distinguer les deux.)
Peut-être que dans la foulée ils ont cassé d'autres trucs, tant qu'à faire...

avatar fte | 

Si je devais résumer mon expérience des dix dernières années…

J’ai très souvent eu des soucis de multiples natures à travailler avec des microcontrôleurs depuis macOS. Depuis les M1, ça s’est fortement accentué, avec un workaround qui me convenait : une machine virtuelle Linux.

Je n’ai jamais eu de problème en bossant depuis un Linux. Un simple Raspberry suffit, même si ce n’est pas le plus leste à la détente.

J’ai eu quelques soucis ponctuels avec Windows, aux tous débuts de Win10, mais plus depuis des années. WSL2 est fantastique, ma vie est devenue si confortable.

J’ai des piles de Mac, donc je joue avec. Mais d’une part pas question de passer à Ventura a part une machine de test, d’autre part je réserve mon travail important à des machines qui ont ma confiance.

C’est dommage. Ça n’a pas toujours été ambiance méga méfiance avec ce que touche Apple, mais on y est en plein depuis des années et 2022 m’a encore plus éloigné de ces solutions, entre M1/M2, l’abandon de macOS Server en avril, les soucis de LDAP de Monterey dont aucun changement n’est documenté nulle part évidemment, Ventura qui empire les choses sur divers fronts sans apporter grand chose, les patch de sécurités maintenant limitées à la dernière version du système… de plus en plus à éviter, bientôt à fuire ?

CONNEXION UTILISATEUR