Salux,
dernier petit joujou en date pour bidouilleur du dimanche : un petit oscillo de poche (https://www.miniware.com.cn/product/ds213-mini-oscilloscope/). Premiers tests ce week-end, ça marche plutôt pas mal pour l'usage basique que je compte en faire.
Le machin est capable de stocker sur son disque interne (ouaouh, 8Mo :o !!) les mesures faites. En théorie il devrait même pouvoir les ressortir vers un PC. Pas trouvé grand-chose sur cette capacité d'export de fichier, mais d'après les rares trucs que j'ai pu lire, sans windows10 point de salut :(
Donc pas beaucoup d'espoir, mais comme je sais qu'il y a des gens compétents ici je tente tout de même ma chance... Une idée de possible bidouille pour réussir à monter ce disque sous TW ? Sais pas exactement ce que c'est comme mémoire, c'est un STM32 qui gère l'interface usb.
Ci-dessous les erreurs remontées par dmesg à la connexion usb du machin :
[12241.434763] usb 3-1: new full-speed USB device number 21 using xhci_hcd
[12241.562850] usb 3-1: device descriptor read/64, error -71
[12241.798835] usb 3-1: device descriptor read/64, error -71
[12242.038761] usb 3-1: new full-speed USB device number 22 using xhci_hcd
[12242.166756] usb 3-1: device descriptor read/64, error -71
[12242.402726] usb 3-1: device descriptor read/64, error -71
[12242.510966] usb usb3-port1: attempt power cycle
[12242.922743] usb 3-1: new full-speed USB device number 23 using xhci_hcd
[12242.944667] usb 3-1: New USB device found, idVendor=0483, idProduct=5720, bcdDevice= 2.00
[12242.944684] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[12242.944690] usb 3-1: Product: STM32 Mass Storage
[12242.944693] usb 3-1: Manufacturer: STMicroelectronics
[12242.944697] usb 3-1: SerialNumber: 9ÿÔ\x05BA09'\xc2\x87\x01W
[12242.946289] usb-storage 3-1:1.0: USB Mass Storage device detected
[12242.946921] scsi host6: usb-storage 3-1:1.0
[12243.959554] scsi 6:0:0:0: Direct-Access MiniWare 8MB_Disk PQ: 0 ANSI: 2
[12243.960264] sd 6:0:0:0: Attached scsi generic sg1 type 0
[12243.960628] sd 6:0:0:0: [sdb] 2048 4096-byte logical blocks: (8.39 MB/8.00 MiB)
[12243.960824] sd 6:0:0:0: [sdb] Write Protect is off
[12243.960829] sd 6:0:0:0: [sdb] Mode Sense: 03 00 00 00
[12243.961026] sd 6:0:0:0: [sdb] No Caching mode page found
[12243.961029] sd 6:0:0:0: [sdb] Assuming drive cache: write through
[12243.973090] sdb:
[12243.973259] sd 6:0:0:0: [sdb] Attached SCSI removable disk
[12244.115751] sd 6:0:0:0: [sdb] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK cmd_age=0s
[12244.115769] sd 6:0:0:0: [sdb] tag#0 Sense Key : Illegal Request [current]
[12244.115775] sd 6:0:0:0: [sdb] tag#0 Add. Sense: Logical block address out of range
[12244.115783] sd 6:0:0:0: [sdb] tag#0 CDB: Read(10) 28 00 00 00 07 fe 00 00 01 00
[12244.115788] critical target error, dev sdb, sector 16368 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 2
[12244.116421] sd 6:0:0:0: [sdb] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK cmd_age=0s
[12244.116433] sd 6:0:0:0: [sdb] tag#0 Sense Key : Illegal Request [current]
[12244.116439] sd 6:0:0:0: [sdb] tag#0 Add. Sense: Logical block address out of range
[12244.116445] sd 6:0:0:0: [sdb] tag#0 CDB: Read(10) 28 00 00 00 07 fe 00 00 01 00
[12244.116448] critical target error, dev sdb, sector 16368 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2
[12244.116471] Buffer I/O error on dev sdb, logical block 2046, async page read
Hello. :p
J'ai rien compris mais j'ai trouvé ça : https://elinux.org/STM32
Mais ça n'a peut-être rien à voir...
à plus,
oh!rocks
Effectivement, pas grand-chose à voir, manifestement j'ai mal posé ma question !
Mon objectif n'est pas d'utiliser un STM32 avec Linux, mais juste de récupérer des fichiers stockés sur un machin qui utilise un STM32.
J'ai un mini oscillo numérique qui stocke des fichiers dans sa mémoire interne. Ce machin dispose d'une interface USB, et j'aimerais récupérer ces fichiers sur mon PC qui tourne sur tumbleweed.
Un peu naïvement j'avais espéré que le machin pouvait proposer une interface un peu standard, et que mon PC aurait vu se connecter un périphérique de stockage USB. Pas complètement idiot comme hypothèse, puisque dans les logs dmesg ça commence pas mal : "USB Mass Storage device detected"
Malheureusement ça coince un peu plus loin, et je ne suis pas capable de comprendre le pourquoi du comment...
Bonjour,
essaie avec windows en machine virtuelle ? Voir un peu ce que ça donne.
PS: j'aime beaucoup l'engin, sympas :)
J'aime bien l'idée :) ... mais d'un point de vue bêtement pratique, comment faire ?
Ça fait bientôt 15 ans que mon dernier windows est passé par la fenêtre, alors bon. Installer un windows dans une VM, je n'ai aucune idée de comment procéder !
Et puis y'a quand même la question de la licence, que je n'ai envie ni de payer ni de contourner illégalement.
Tu me fais un chèque on va s'arranger comme ça 8) . Trêve de plaisanterie, chacun a le droit de télécharger une iso de windows comme il le souhaite.
Commence déjà par installer virtualbox par exemple, comme ceci:
https://www.how2shout.com/linux/how-to-install-virtualbox-on-opensuse-tumbleweed-leap/
N'oublie pas de t'ajouter aux membres du groupe 'vboxusers', soit comme dans le tuto, soit comme ceci:
sudo usermod -a -G vboxusers TON_NOM_UTILISATEUR
Vérification:
thierry@toto-PC:~> groups
users wireshark vboxusers
Essaie maintenant d'ouvrir virtualbox, si ça s'ouvre, c'est bon, sinon recommence…
Donne maintenant le retour de:
zypper se -is virtualbox
Ensuite, tu télécharges une iso, par exemple, de windows 10 (tu vois, c'est officiel):
https://www.microsoft.com/fr-fr/software-download/windows10ISO
Fais ces deux étapes déjà… (installation de virtualbox et téléchargement de windows)
Merci bcp pour tous ces conseils. Je vais finalement contourner le problème autrement.
Mon PC est un portable pro que j'ai acheté d'occasion il y a un bon paquet d'années. J'avais de suite remplacé le disque magnétique (trop lent) par un tout petit SSD (ça coûtait cher à l'époque !), et installé openSUSE dessus.
Et ben au fond d'un tiroir j'ai retrouvé le vieux disque d'origine, avec son Win10 que je n'avais jamais booté. 2 coups de tournevis (c'est bien, pour ça, les gammes pro), inversion des disques et hop, au moins j'ai pu tester. Connexion OK avec l'oscillo, directement reconnu comme un disque USB, aucun problème pour récupérer tout ce qui est stocké dessus :D
Maintenant que je sais qu'au moins ça fonctionne, j'ai remis mon SSD avec tumbleweed en place. Pas super chaud pour mettre une VM Win10 sur cette machine-là, trop petit le SSD. Après, 2 options : je mets mon disque win10 dans un boîtier USB, ou je l'installe à demeure dans ma tour à côté de Leap.
Ça restera moins confortable à l'usage qu'un Win10 en VM mais je ne compte pas faire un usage intensif du transfert de fichiers depuis l'oscillo, ça me suffira largement.
Sujet résolu, merci !
Il faudrait déterminer le type de système de fichiers, puis le monter manuellement. On aurait pu le déterminer dans windows (quand windows peut aider, pourquoi s'en priver ? ), dommage. On peut aussi y aller au flair, il n'existe pas beaucoup de systèmes de fichiers pour ce cas. Comme tu veux…
Merci de ta réponse.Je ne serais pas contre insister un peu, c'est vrai qu'un montage direct sous Linux serait + confortable. Mais bon, le problème m'a l'air ardu et surtout je ne sais pas par où le prendre.
J'ai bien l'impression que ça n'est pas un problème de système de fichiers : voir dans mon 1er post les logs d'erreur remontés par dmesg, déjà l'accès au niveau device block coince.
Je l'ai remonté sur win pour vérifier, ça m'affiche un device "MiniWare 8MB_Disk" et système de fichiers FAT. J'ai regardé quels fichiers de drivers win étaient utilisés : disk.sys, EhStorClass.sys, partmg.sys, stdcfltn.sys (le tout dans c:\windows\system32\drivers).
Du coup je suis un peu sec...
Salut
Tu pourrais déjà essayer un
lsblk
un root pouvoir comme est vu le disque.
La réponse aux commandes lsusb et lsblk (je n'ai fait apparaître que ce qui correspond au disque)
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
(...)
sdb 8:16 1 8M 0 disk
# lsusb
(...)
Bus 003 Device 004: ID 0483:5720 STMicroelectronics Mass Storage Device
J'espère que ça vous dira quelque chose, parce que de mon côté je ne suis pas vachement plus avancé !
Essaye de monter ton système de fichier:
Ensuite va vérifier si tu as accès à /mnt/oscillo
* le paquet `
dosfstools` doit être installé
Ah ben ça alors, ah ben ça alors... :o
Franchement je ne m'y attendais pas : ça fonctionne ! :D
Avec les erreurs remontées par dmesg, et l'absence de montage automatique, je dois reconnaître que je n'y croyais pas vraiment, ça paraissait un peu trop simple. Comme quoi faut pas s'inventer des problèmes compliqués là où il n'y en n'a pas.
Je reste cependant un peu perplexe... s'il suffit d'un "mount -t vfat", pourquoi donc ça ne se monte pas tout seul à la connexion comme une bonne vieille clé usb ? Parce qu'il n'y a pas de table de partition ? (confirmé par fdisk)
Comprends pas tout, mais au moins ça fonctionne, merci !
edit : je vais quand même regarder de + près cette question de partitionnement. Après vérification des 512 premiers bytes du block device, on a bien le 0x55AA en position 511 et 512, qui marquent en théorie une structure de type Master Boot Record
Que te donne cette commande ? (quand ton oscillo est branché)
ll /dev/disk/by-id/usb*
ou ça:
cat /proc/partitions
https://www.linuxquestions.org/questions/linux-software-2/format-a-usb-flash-disk-without-partition-4175696760/
https://unix.stackexchange.com/questions/38679/what-are-the-ramifications-of-not-having-a-valid-partition-table/38684#38684
→ il y a plein d'autres liens qui en parlent.
Je trouve le cas intéressant. Pourrais-tu partager une image, stp ? Je suis curieux de voir un peu plus précisément. À moins que tu aies déjà fait des mesures top secrètes avec l'oscilloscope.
dd if=/dev/sdb of=/home/ton_nom_utilisateur/oscillo.img
(ne te gourre pas, ne mets pas sdb derrière of=…, attention avec dd;
et tu remplaces naturellement `
ton_nom_utilisateur` par le tien…)
https://www.partage-fichiers.com/
C'est possible.
Comme tu ne souhaites pas partager ton image (ou pas le temps), je me suis débrouillé avec une vielle clé usb avec laquelle j'ai fait quelques essais. Je t'apporte une partie de la réponse ici (https://drive.google.com/file/d/1O1PBhzpAfRxhPgcHUAVweHoAMJANjf-1/view?usp=sharing). C'est de l'hexa… Si tu as envie de la lire, c'est intéressant, mais de l'hexa…
Par contre je ne le conseillerais pas forcément. Ça a l'air de fonctionner, j'ai fait quelques essais, mais le clé n'est pas toujours bien automatiquement reconnu, même si elle fonctionne (avec le peu d'essais que j'ai fait). Je viens de voir comment `Partition Manager` la considère, il me dit que le système de fichier est inexistant !
Je pense qu'il cherche simplement une partition, mais comme il n'en trouve pas, pour lui la clé comme vierge ou inconnue… Je pense que c'est la raison pour laquelle le montage automatique ne fonctionne pas → comme tu l'as dit.
Salut,
pas encore pris le temps de décoder à la main la MBR. J'ai déjà joué à ce type d'exercice un certain nombre de fois, direct en hexa ça se fait bien avec juste un peu de patience. En tout cas rien de dramatique si le montage automatique ne fonctionne pas, je me contenterai largement de la commande mount à taper à la main.
Pas passé beaucoup de temps sur l'oscillo. Premiers retours : ça marche franchement pas mal, le côté miniature et sur batterie est tout de même très pratique. Pour dégrossir quelques mesures rapidement, c'est top. En revanche la résolution de l'écran est vraiment faible, pour faire une analyse + précise mieux vaut passer par le PC (mount -t vfat :)) ). Au-delà des bmp, on peut exporter en .csv, ou encore en format ".buf". Pas trouvé de doc là-dessus, mais en regardant bêtement dedans j'ai l'impression que c'est tout simplement un export binaire des 4 voies d'acquisition avec 8 bits de résolution. Si on veut voir le channel A il suffit de prendre 1 octet sur 4. Dessiner un graphique avec python et matplotlib ça se fait en 4 ou 5 lignes de code, et ça permet de se promener facilement dans la courbe (zoom, etc)
Ci-dessous une image binaire des 512 premiers octets
00000000 eb 3c 90 4d 53 44 4f 53 35 2e 30 00 10 01 01 00 |.<.MSDOS5.0.....|
00000010 02 00 02 00 08 f8 01 00 01 00 01 00 00 00 00 00 |................|
00000020 00 00 00 00 00 00 29 4d 75 4d 00 4e 4f 20 4e 41 |......)MuM.NO NA|
00000030 4d 45 20 20 20 20 46 41 54 31 32 20 20 20 33 c9 |ME FAT12 3.|
00000040 8e d1 bc f0 7b 8e d9 b8 00 20 8e c0 fc bd 00 7c |....{.... .....||
00000050 38 4e 24 7d 24 8b c1 99 e8 3c 01 72 1c 83 eb 3a |8N$}$....<.r...:|
00000060 66 a1 1c 7c 26 66 3b 07 26 8a 57 fc 75 06 80 ca |f..|&f;.&.W.u...|
00000070 02 88 56 02 80 c3 10 73 eb 33 c9 8a 46 10 98 f7 |..V....s.3..F...|
00000080 66 16 03 46 1c 13 56 1e 03 46 0e 13 d1 8b 76 11 |f..F..V..F....v.|
00000090 60 89 46 fc 89 56 fe b8 20 00 f7 e6 8b 5e 0b 03 |`.F..V.. ....^..|
000000a0 c3 48 f7 f3 01 46 fc 11 4e fe 61 bf 00 00 e8 e6 |.H...F..N.a.....|
000000b0 00 72 39 26 38 2d 74 17 60 b1 0b be a1 7d f3 a6 |.r9&8-t.`....}..|
000000c0 61 74 32 4e 74 09 83 c7 20 3b fb 72 e6 eb dc a0 |at2Nt... ;.r....|
000000d0 fb 7d b4 7d 8b f0 ac 98 40 74 0c 48 74 13 b4 0e |.}.}....@t.Ht...|
000000e0 bb 07 00 cd 10 eb ef a0 fd 7d eb e6 a0 fc 7d eb |.........}....}.|
000000f0 e1 cd 16 cd 19 26 8b 55 1a 52 b0 01 bb 00 00 e8 |.....&.U.R......|
00000100 3b 00 72 e8 5b 8a 56 24 be 0b 7c 8b fc c7 46 f0 |;.r.[.V$..|...F.|
00000110 3d 7d c7 46 f4 29 7d 8c d9 89 4e f2 89 4e f6 c6 |=}.F.)}...N..N..|
00000120 06 96 7d cb ea 03 00 00 20 0f b6 c8 66 8b 46 f8 |..}..... ...f.F.|
00000130 66 03 46 1c 66 8b d0 66 c1 ea 10 eb 5e 0f b6 c8 |f.F.f..f....^...|
00000140 4a 4a 8a 46 0d 32 e4 f7 e2 03 46 fc 13 56 fe eb |JJ.F.2....F..V..|
00000150 4a 52 50 06 53 6a 01 6a 10 91 8b 46 18 96 92 33 |JRP.Sj.j...F...3|
00000160 d2 f7 f6 91 f7 f6 42 87 ca f7 76 1a 8a f2 8a e8 |......B...v.....|
00000170 c0 cc 02 0a cc b8 01 02 80 7e 02 0e 75 04 b4 42 |.........~..u..B|
00000180 8b f4 8a 56 24 cd 13 61 61 72 0b 40 75 01 42 03 |...V$..aar.@u.B.|
00000190 5e 0b 49 75 06 f8 c3 41 bb 00 00 60 66 6a 00 eb |^.Iu...A...`fj..|
000001a0 b0 4e 54 4c 44 52 20 20 20 20 20 20 0d 0a 52 65 |.NTLDR ..Re|
000001b0 6d 6f 76 65 20 64 69 73 6b 73 20 6f 72 20 6f 74 |move disks or ot|
000001c0 68 65 72 20 6d 65 64 69 61 2e ff 0d 0a 44 69 73 |her media....Dis|
000001d0 6b 20 65 72 72 6f 72 ff 0d 0a 50 72 65 73 73 20 |k error...Press |
000001e0 61 6e 79 20 6b 65 79 20 74 6f 20 72 65 73 74 61 |any key to resta|
000001f0 72 74 0d 0a 00 00 00 00 00 00 00 ac cb d8 55 aa |rt............U.|
Bonjour,
J'ai regardé il y a quelque semaines déjà. Pour conclure, je pense que les deux octets
#01FE → 0x55 → 01010101
#01FF → 0xAA → 10101010
indique simplement qu'il s'agit d'un "secteur boot",
- uniquement avec un système de fichiers sans partition,
- ou bien alors, et c'est plus souvent le cas, avec une structure contenant notamment une table de partition.
Intéressant:
Je viens de mettre à jour le firmware de mon imprimante, dans les notes de mises à jour on peut y lire: