Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#26 Le 31/10/2018, à 11:38

NicoApi73

Re : Formatage impossible clé USB

ok, je comprends pourquoi je ne trouvais pas où elle était déclarée.

Naziel a écrit :

Si on veut remettre la clé en marche il faudrait sûrement reflasher le bout de code dans le controller de la clé usb (j'ai déjà essayé pour le fun, j'ai jamais réussi)

C'est la table des bad blocks qu'il faut écraser. Je ne pense pas qu'elle soit accessible. Ca ne change pas le problème que certains blocks ont morts et donc la clé inutilisable.

Ce qu'il faut savoir également, c'est que la flash NAND se dégrade (également) à la lecture. Elle a un nombre de cycle d'écriture limité, mais aussi un nombre de cycle de lecture limité (bien supérieur à celui de l'écriture)

Hors ligne

#27 Le 31/10/2018, à 11:44

Nuliel

Re : Formatage impossible clé USB

Oui, elle n'est pas accessible, mais il est possible de reflasher certaines clés usb et ainsi supprimer cette table. Mais je n'ai jamais réussi pour l'instant

Ce qu'il faut savoir également, c'est que la flash NAND se dégrade (également) à la lecture. Elle a un nombre de cycle d'écriture limité, mais aussi un nombre de cycle de lecture limité (bien supérieur à celui de l'écriture)

Merci pour l'info, je ne savais pas

Hors ligne

#28 Le 31/10/2018, à 11:53

moko138

Re : Formatage impossible clé USB

NicoApi73 a écrit :

C'est l'exécutable que tu as regardé. La page d'un des développeur se trouve ici : http://www.rodsbooks.com/gdisk/ Tu trouves le lien à la fin de la page man (dans see also)

Et la page sourceforge dans laquelle se trouve le code source de la dernière version : https://sourceforge.net/projects/gptfdi … isk/1.0.4/

Salut NicoApi73,
Merci, le 1er lien est très intéressant.
Le second me fournit un zip contenant des exécutables pour windows.

Donc
a) Je n'ai pas trouvé de code source.
b) Avec quel outil ça se lit ?

Merci !


%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel :  À la découverte de dcraw

Hors ligne

#29 Le 31/10/2018, à 11:55

Nuliel

Re : Formatage impossible clé USB

Le code source c'est le fichier  gptfdisk-1.0.4.tar.gz
C'est dans le fichier gpt.cc que se trouve l'erreur rencontrée.
Je l'ai trouvé à coup de grep sur les sources

Un éditeur de texte est largement suffisant

Dernière modification par Nuliel (Le 31/10/2018, à 12:02)

Hors ligne

#30 Le 31/10/2018, à 12:06

NicoApi73

Re : Formatage impossible clé USB

J'utilise beaucoup geany (c'est dans les dépôts officiels).

C'est effectivement le tar.gz qui contient l'ensemble des sources.

C'est programmé en C++, relativement bien commenté.

Le main se trouve dans sgdisk.cc

La class principale (GPTDataCL) se trouve dans gptcl.cc, qui hérite de GPTData qui se trouve dans gpt.cc (avec les headers .h associés)

Dernière modification par NicoApi73 (Le 31/10/2018, à 12:31)

Hors ligne

#31 Le 31/10/2018, à 12:41

moko138

Re : Formatage impossible clé USB

NicoApi73 a écrit :

C'est la table des bad blocks qu'il faut écraser.

NON.   NE PAS CONFONDRE !

Les badblocks sont codés dans le système de fichiers d'une partition - et encore : seulement s'il est de type Linux.
Donc leur liste disparaît avec un dd if=/dev/zero ... ou avec un reformatage.

Les secteurs défectueux, au sens où smartctl, sur un hdd ou sur un ssd, les voit,
sont stockés indépendamment des données,
dans deux listes :
- la Primary-List, (secteurs défectueux en sortie d'usine),
- la Secondary-List, (secteurs se révélant défectueux plus tard),

Concernant les clefs usb,
je manque d'informations.
Et la conception doit varier selon le sérieux du fabricant.
J'imagine seulement que, chez les fabricants sérieux, le stockage des badblocks et celui des secteurs défectueux sont séparés, comme pour les hdd et ssd.


Quant à flasher la puce, ça revient à remettre le thermomètre à 37°C : ça n'empêche pas le malade d'être fiévreux.
.

= =

.
Annexes

man e2fsck
       -c     Cette  option oblige e2fsck à exécuter le programme badblocks(8)
              pour trouver les blocs défectueux du système de fichiers avec un
              test en lecture seule. Ils seront alors marqués comme défectueux
              et ajoutés à l'inœud des blocs défectueux pour éviter qu'ils  ne
              soient  utilisés  pour  un  fichier  ou  un répertoire. Si cette
              option est précisée deux fois, la recherche des blocs défectueux
              sera effectuée avec un test non destructif en lecture-écriture.
man mke2fs
       -c     Vérifier  les  blocs défectueux avant de créer le système de fichiers. Si cette
              option est indiquée deux fois, alors un test en lecture/écriture plus lent  est
              utilisé à la place d'un test rapide en lecture seule.

On peut, moyennant certaines options, lancer badblocks sur tout ou partie d'un disque, indépendamment des partitions.
Mais dans ce cas la sortie N'est PAS écrite dans le disque :

man badblocks
       -o fichier_sortie
              Écrire la liste des blocs défectueux dans  le  fichier  indiqué.
              Sans  cette  option,  badblocks  affiche  la liste sur la sortie
              standard. Le  format  de  ce  fichier  peut  être  utilisé  avec
              l'option -l de e2fsck(8) ou de mke2fs(8).
 

%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel :  À la découverte de dcraw

Hors ligne

#32 Le 31/10/2018, à 12:46

moko138

Re : Formatage impossible clé USB

Naziel a écrit :

Le code source c'est le fichier  gptfdisk-1.0.4.tar.gz
C'est dans le fichier gpt.cc que se trouve l'erreur rencontrée.
Je l'ai trouvé à coup de grep sur les sources

Un éditeur de texte est largement suffisant

Merci !  smile


%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel :  À la découverte de dcraw

Hors ligne

#33 Le 31/10/2018, à 21:04

NicoApi73

Re : Formatage impossible clé USB

moko138 a écrit :
NicoApi73 a écrit :

C'est la table des bad blocks qu'il faut écraser.

NON.   NE PAS CONFONDRE !

Les badblocks sont codés dans le système de fichiers d'une partition - et encore : seulement s'il est de type Linux.
Donc leur liste disparaît avec un dd if=/dev/zero ... ou avec un reformatage.

Les secteurs défectueux, au sens où smartctl, sur un hdd ou sur un ssd, les voit,
sont stockés indépendamment des données,
dans deux listes :
- la Primary-List, (secteurs défectueux en sortie d'usine),
- la Secondary-List, (secteurs se révélant défectueux plus tard),

Concernant les clefs usb,
je manque d'informations.
Et la conception doit varier selon le sérieux du fabricant.
J'imagine seulement que, chez les fabricants sérieux, le stockage des badblocks et celui des secteurs défectueux sont séparés, comme pour les hdd et ssd.

C'est vrai que les termes utilisés peuvent porter à confusion. Je parlais de ce que tu as nommé secteurs défectueux et dont la gestion au plus prêt du composant s'appelle BBM (Bad Block Management). Si tu connaissais déjà ce que je mets ci-dessous, veuilles bien m'en excuser.

Ce que je connais concerne les SLC NAND (Single Level Cell). Il y a peut être des différences pour les MLC (Multi Level Cell), voire d'autres méthodes de gestions, mais là je ne connais pas.

Au niveau de la gestion de la mémoire flash NAND, il y a un double système de gestion des défauts, l'un au niveau des bits dans un bloc, avec un système de correction d'erreur par bloc (ECC pour Error Correcting Code) et l'un au niveau des blocs (BBM), utilisant une table des bad blocks. C'est à cette table que je faisais référence, que certains appellent DBBT pour Discovered Bad Block Table. Cette table est mise à jour quand le nombre d'erreurs corrigeables pour un bloc est atteint.

Certains microcontroleurs et SOC sont paramétrables pour gérer directement la flash (ils ont des registres de configuration dédiés pour ça). Là on ne parle bien sûr que de la mémoire, sans contrôleur autour. Il est donc (théoriquement) possible d'accéder à la DBBT. Je ne pense pas que ce soit faisable sur une clé USB (encore moins un ssd) car ces modules ont de l'électronique embarquée qui gère directement la mémoire.

L'article wikipedia en anglais est plus complet que l'article français: https://en.wikipedia.org/wiki/Flash_memory. Le paragraphe NAND memories aborde ces sujets. C'est cohérent avec ce que je connais.

Pour préciser mon post #26, à la lecture il y a un risque de corrompre les cellules adjacentes. Ce qui n'est pas réellement une usure contrairement à ce que j'ai écrit. Les blocs sont monitorés en lecture et quand un nombre de lecture est atteint, le bloc est recopié dans un autre bloc.

La qualité de ce type de produits est étroitement lié à la qualité de la puce. S'il y a trop de fuite dans les portes (NAND gates), il y a corruption des données (pas uniquement la porte concernée, ça peut migrer dans les cellules adjacentes physiquement). Normalement, ça peut être effacé en formatant et habituellement ce n'est pas mémorisé dans la DBBT.
De même, le nombre de badblocks (secteurs défectueux) en sortie d'usine est également un gage de qualité, au même titre que le nombre moyen d'écriture garanti et celui de lecture. Par contre à ce niveau, quand une cellule devient défectueuse, elle ne peut pas être régénérée et le bloc est considéré comme inutilisable.

Pour l'instant je ne sais pas mettre ceci en relation avec les annexes que tu as données. Ce que j'ai écrit ci-dessus correspond plus aux retours des informations smart.

Dernière modification par NicoApi73 (Le 01/11/2018, à 12:33)

Hors ligne

#34 Le 31/10/2018, à 21:33

moko138

Re : Formatage impossible clé USB

Merci ! Non, je ne connaissais pas cela.


%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel :  À la découverte de dcraw

Hors ligne

#35 Le 31/10/2018, à 23:41

Jpomec

Re : Formatage impossible clé USB

Ca a l'air hyper intéressant ce que vous racontez, mais je manque cruellement de background. Vous n'auriez pas un petit lien pour que je me fasse les dents ?

Hors ligne

#36 Le 31/10/2018, à 23:57

moko138

Re : Formatage impossible clé USB

On a abordé plusieurs aspects !
Tu peux lorgner de ce côté-ci, entre autres : thouvest.ovh/pages/hdd_defectueux/


%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel :  À la découverte de dcraw

Hors ligne

#37 Le 01/11/2018, à 13:07

NicoApi73

Re : Formatage impossible clé USB

Bonjour,

Pour ce qui est de la technologie, les fondeurs mettent parfois des informations à disposition. Tu peux regarder chez des fabricants tels Micron, Macronix, Microchip, Cypress... On parle bien là de la partie mémoire, sur une clé par exemple, il y a de l'électronique autour (en général ce sont des puces intégrées qui contiennent la mémoire et le driver HW).

Sur le net tu peux trouver des informations intéressantes, mais aussi beaucoup de choses qui sont incomplètes ou fausses.

Hors ligne

#38 Le 01/11/2018, à 13:32

Nuliel

Re : Formatage impossible clé USB

Tite question: peut on avoir le nom du controller de la clé usb sur linux?

Hors ligne

#39 Le 01/11/2018, à 13:52

NicoApi73

Re : Formatage impossible clé USB

Comme ça, je ne sais pas répondre. Je vais regarder si je trouve quelque chose.

Hors ligne

#40 Le 01/11/2018, à 14:12

moko138

Re : Formatage impossible clé USB

Je tente

lsusb | grep Lexar
Bus 001 Device 012: ID 05dc:c75c Lexar Media, Inc. 

Je récupère 001 012 et je lance

sudo lsusb -D /dev/bus/usb/001/012

Mais je ne sais pas si le "Controller" y figure (si oui, c'est codé).

(Ce retour ressemble furieusement à celui de lsusb -v | grep -A100 Lexar ).


%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel :  À la découverte de dcraw

Hors ligne

#41 Le 01/11/2018, à 14:15

Nuliel

Re : Formatage impossible clé USB

Perso j'ai

naziel@naziel-HP-desktop:~$ lsusb -d 154b:0053 -v

Bus 001 Device 005: ID 154b:0053 PNY Flash Drive
Couldn't open device, some information will be missing
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x154b PNY
  idProduct          0x0053 Flash Drive
  bcdDevice            1.00
  iManufacturer           1 
  iProduct                2 
  iSerial                 3 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           32
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              480mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         8 Mass Storage
      bInterfaceSubClass      6 SCSI
      bInterfaceProtocol     80 Bulk-Only
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               1
naziel@naziel-HP-desktop:~$ 

mais le controller est il listé dedans? (j'ai pas l'impression)

Je sais pas à quoi correspond bus et device

Hors ligne

#42 Le 01/11/2018, à 14:38

lykhead

Re : Formatage impossible clé USB

bonjour,

essayer déjà par supprimer la dite partition contenu sur la clefs USB sous gnome avec l’outil disque.

ensuite si sa fonctionne recréer une partition et la formater dans le système de fichier convenant.

sinon peut etre une piste http://brico-localh0st.blogspot.com/201 … seule.html


il n'y a jamais de bon ou de mauvais choix, uniquement des directions qui diffèrent.
Fedora 35
MSI A320M pro / A10-9700 AMD APU w/ Radeon R7 3,8 GHz / 8Ghz
SSD 120Go / HDD 4To

Hors ligne

#43 Le 01/11/2018, à 14:49

moko138

Re : Formatage impossible clé USB

bus usb :    correspond à l'un des hubs internes
port usb :    n° de la prise usb
device usb : n° d'ordre de branchement, arbitrairement affecté par le système ; peut changer en cours de session, même sans débranchement.

Exemple :

dmesg | grep -i usb | grep -Ei "disconnect|new"

[ 1483.188890] usb 2-7: USB disconnect, device number 3
[ 1483.812749] usb 2-7: new low-speed USB device number 4 using ohci_hcd

[256345.441790] usb 1-10: USB disconnect, device number 10
[256345.716056] usb 1-10: new high-speed USB device number 11 using ehci_hcd

C'est pourquoi en dépannage usb, je demande souvent, en complément de dmesg

lsusb ; echo ; lsusb -t

qui permet d'écarter les périphériques usb non concernés et de voir le module utilisé.


%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel :  À la découverte de dcraw

Hors ligne

#44 Le 01/11/2018, à 15:02

Nuliel

Re : Formatage impossible clé USB

moko138 a écrit :

bus usb :    correspond à l'un des hubs internes
port usb :    n° de la prise usb
device usb : n° d'ordre de branchement, arbitrairement affecté par le système ; peut changer en cours de session, même sans débranchement.

C'est noté, merci smile

Hors ligne

#45 Le 09/03/2019, à 09:29

moko138

Re : Formatage impossible clé USB

Encore mieux que    lsusb ; echo ; lsusb -t    voici, tout trié,

lsusb | sort ; echo ; lsusb -t

  smile

= =

Et grâce à ton   lsusb -d xxxx:yyyy -v
j'ai enfin compris que, en cas de retour insuffisamment explicite de lsusb,

lsusb 
(...) ID 0461:4d22 Primax Electronics, Ltd       # <-- Rien

     (Est-ce une souris, une camera, un hub... ?)

     il suffit de reporter les identifiants "0461:4d22" dans cette commande :

lsusb -vd 0461:4d22 2>/dev/null | grep -E "id|bInterface"

pour avoir la réponse :

  idVendor           0x0461 Primax Electronics, Ltd
  idProduct          0x4d22 
      bInterfaceNumber        0
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      1 Boot Interface Subclass
      bInterfaceProtocol      2 Mouse      # <-- C'est une souris

  smile


%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel :  À la découverte de dcraw

Hors ligne

#46 Le 09/03/2019, à 10:20

Nuliel

Re : Formatage impossible clé USB

C'est mieux comme cela,  -v est vraiment verbeux!

Hors ligne