Bonjour
J’ai un Raspberry Pi4 B
J’ai un Sandisk Extreme qui est bien reconnu en usb3 mais mes taux de transfert plafonnent à 40Mo/s sous raspbian64bits. J’ai testé en faisant un rsync de la carte vers le disque.
Tout est à jour, firmware-linux installé en plus (j’ai également fait un rpi-upgrade) mais rien n’y fait.
J’ai effectué le même test avec la dernière version de Manjaro (installé sur une carte sd identique) et mes taux sont de 150Mo/s.
Faut-il attendre une mise à jour du kernel de raspbian ?
J’aurais dis la carte SD (du RPi) est la cause, mais tu as déjà vérifié ce point. Après il y a la nature du fichier que tu test, la taille de ce dernier. Utiliser un modèle identique n’est pas un moyen totalement fiable de tester le problème, car la carte qui a le problème… est peut-être elle même le problème.
Je rappel que la vitesse de copie dépend de la source, de la destination, et du buffer que le OS peut gérer. Si la carte SD pour X raison n’arrive pas a lire après une certaine vitesse, ou que l’écriture est lente, la vitesse sera réduite à un taux négociable entre les deux. Plus le fichier est gros, plus la vitesse de transfert sera base. Si le fichier est petit, il peut être chargé dans le buffer du OS pour après le transférer sur la destination. Cette option, le transfert en différé, a été utilisé souvent avec les clés USB sous Windows (la raison du éjecter avant de retirer). Le système copiait pas en temps réel sur la clé, pour accélérer la tâche en effectuant l’étape de lecture et par la suite d’écriture. Ce qui libère la source rapidement pour s’occuper de la destination en background.
La nature du document est aussi a vérifier, car un document compressé sera plus lent a transférer qu’un document qui ne l’est pas. C’est que par exemple un « .bmp » de 1Mo va en réalité être que 10k à envoyé une fois compressé par le système dans le protocole de copie. L’impact est visuellement peut présente car la plupart des fichiers utilisés sont déjà compressés. Seul moyen de réellement tester est d’utiliser un fichier avec du code très aléatoire et d’un très gros format. La compression est variable selon le OS, le programme, la mémoire et le support/protocole utilisé.
Après il y a la qualité du câble (identique je crois durant tes tests) et de son branchement (ça peut avoir bougé entre tes test).
Après, c’est la prise en charge du matériel depuis le OS. Selon les versions, distributions et personnalisations, il peu avoir des pilotes chargé ou non, différent ou non. Ceci n’implique pas nécessairement le Kernel directement et l’usage d’un pilote doit surement améliorer les performances que si tu utilise celui générique du système. Alors serais de voir si il existe un pilote ou une librairie qui permet d’optimiser ton matériel de lecture SD.
Merci d’avoir pris le temps de me répondre.
J’ai refait mes tests après un nouveau rpi-update il y avait une nouvelle version, avec la même carte SD pour le RPi (c’est une carte qui me sert pour les tests donc je peux la formater sans risque) même câble et même fichier de test (un mp4 de 2.1Go) mais je bloque à 40Mo/s sur raspbian. je vais essayer de trouver sous manjaro ce qu’il y a de plus dans les fichiers firmware/pilotes qui pourrait correspondre à mon Sandisk Extreme.
C’est comme si le xHCi n’était pas pris en compte (sous archlinux sur un PC j’avais dû l’installer manuellement pour atteindre des taux de transferts digne de l’usb3)
Après une recherche, j’ai compris ton problème, c’est le contrôleur USB le problème.
Dans un disque externe tu as l’unité de stockage et le contrôleur qui sert a communiquer en USB avec le PC et travailler avec l’unité de stockage.
Selon la version et le matériel, le contrôleur n’est pas correctement pris en charge. Bref, il te faut un pilote OU définir la « geometry des blocs » pour que le système puisse utiliser l’unité de stockage a son plein potentiel.