La New 3DS de Nintendo ("nouvelle" fait partie du nom) a la capacité d'exposer un partage SMB de sa carte micro SD.
Il vous demande de définir un nom pour la 3DS, ainsi qu'un nom d'utilisateur et un mot de passe. Pour ce qui suit, supposons que j'ai nommé l'appareil my3ds
et le nom d'utilisateur est myuser
. De plus, je lui ai donné une IP statique - disons qu'il est 1.2.3.4
pour les exemples. Je peux envoyer un ping à cette IP avec succès.
Sous Windows, il fonctionne sans problème. Si j'entre \\my3ds
dans l'explorateur, il affiche un seul partage nommé "microSD" et permet d'accéder à ses fichiers. Il n'a pas été nécessaire d'installer quoi que ce soit du côté de Windows il le considère comme n'importe quel autre dossier partagé.
Remarque importante : lorsque je fais cela, le 3DS affiche "Connected to PC" (Connecté au PC) sur son écran. Aucune des méthodes que j'ai essayées sous Linux n'a produit de réponse sur l'écran de la 3DS, ce qui indique probablement que la communication échoue dès le début.
Voici les différentes méthodes que j'ai essayées et la réponse pour chacune d'entre elles. J'utilise l'édition KDE 64 bits de Linux Mint.
1) Utilisation de Dolphin
Méthode : Entrée smb://my3ds
, smb://my3ds/microSD
, smb://myuser@my3ds
ou smb://myuser@my3ds/microSD
dans la barre d'adresse
Réponse : Dolphin affiche "loading folder" pendant un certain temps puis s'arrête.
Méthode : La même chose que ci-dessus, mais en utilisant 1.2.3.4
代わりに my3ds
Réponse : Dolphin indique que le dossier n'existe pas.
2) Utilisation mount -t cifs
Utilisation mount -t cifs
et le nom de la machine :
$ sudo mount -t cifs //my3ds/microSD /media/3DS/ -o username=myuser
Password for myuser@//my3ds/microSD:
mount.cifs kernel mount options: ip={wrong IP},unc=\\my3ds\microSD,user=myuser,pass=********
mount error(115): Operation now in progress
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
Note : L'adresse IP affichée ci-dessus est celle vers laquelle mon fournisseur d'accès redirige les noms d'hôtes invalides. En d'autres termes, mon routeur ne peut pas résoudre les noms suivants my3ds
.
Utilisation mount -t cifs
et l'IP statique :
$ sudo mount -t cifs //1.2.3.4/microSD /media/3DS/ --verbose -o username=myuser
Password for myuser@//1.2.3.4/microSD:
mount.cifs kernel mount options: ip=1.2.3.4,unc=\\1.2.3.4\microSD,user=myuser,pass=********
...et là, ça bloque. Il ne fait rien jusqu'à ce que je fasse Ctrl+C. Le moniteur système indique que le processus "mount.cifs" est en veille disque, et cela reste le cas même après Ctrl+C. Même en exécutant killall -9 mount.cifs
que la racine ne les arrête pas !
3) Utilisation de smbclient
$ smbclient --user=myuser \\\\my3ds\\
Enter myuser's password:
Il n'y a pas de réponse, il revient simplement. C'est la même chose si j'utilise l'IP.
$ smbclient --user=myuser \\\\192.168.1.30\\microsd
Enter myuser's password:
Connection to 192.168.1.30 failed (Error NT_STATUS_RESOURCE_NAME_NOT_FOUND)
Il est étrange que les autres méthodes semblent ne pas pouvoir résoudre le nom, mais que celle-ci montre qu'elle ne peut pas résoudre l'IP.
Selon le un commentaire sur Reddit Nautilus peut se connecter. J'ai installé Nautilus et j'ai essayé, mais il échoue toujours avec un timeout, tout comme Dolphin.
Selon certaines informations, des utilisateurs de Mac OSX se sont connectés en utilisant le protocole cifs:// et non smb://. Cela semble être l'équivalent de l'utilisation de la version 1.0 avec le protocole mount -t cifs
qui est l'option par défaut, mais j'ai également essayé de la spécifier explicitement avec l'option vers=1.0
et cela n'a fait aucune différence.
Existe-t-il une autre méthode ou un autre paramètre pour mount.cifs ou smbclient que je pourrais essayer ? Est-ce que quelqu'un peut m'expliquer pourquoi cela ne fonctionne pas ?
EDITです: Comme demandé, la sortie de smbclient -L
:
$ smbclient --user=myuser -L my3ds
Enter myuser's password:
Connection to my3ds failed (Error NT_STATUS_IO_TIMEOUT)
Aussi, une partie d'un tcpdump de Dolphin essayant de se connecter, étant donné l'IP (.100 est le PC, .30 la 3DS) :
21:00:10.004622 ARP, Request who-has 192.168.1.30 tell 192.168.1.100, length 28
0x0000: 0001 0800 0604 0001 4ceb 4294 e68e c0a8 ........L.B.....
0x0010: 0164 0000 0000 0000 c0a8 011e .d..........
21:00:10.007552 ARP, Reply 192.168.1.30 is-at 40:d2:8a:35:24:f2, length 28
0x0000: 0001 0800 0604 0002 40d2 8a35 24f2 c0a8 ........@..5$...
0x0010: 011e 4ceb 4294 e68e c0a8 0164 ..L.B......d
21:00:10.007590 IP 192.168.1.100.60644 > 192.168.1.30.139: tcp 0
0x0000: 4500 003c a0bb 4000 4006 162e c0a8 0164 E..<..@.@......d
0x0010: c0a8 011e ece4 008b 550d 6daa 0000 0000 ........U.m.....
0x0020: a002 7210 d4e3 0000 0204 05b4 0402 080a ..r.............
0x0030: ffff cd11 0000 0000 0103 0307 ............
21:00:10.019595 IP 192.168.1.30.139 > 192.168.1.100.60644: tcp 0
0x0000: 4500 0030 0964 4000 4006 ad91 c0a8 011e E..0.d@.@.......
0x0010: c0a8 0164 008b ece4 67a2 d9fd 550d 6dab ...d....g...U.m.
0x0020: 7012 ffff 0dd8 0000 0204 0550 0101 0402 p..........P....
21:00:10.019726 IP 192.168.1.100.60644 > 192.168.1.30.139: tcp 0
0x0000: 4500 0028 a0bc 4000 4006 1641 c0a8 0164 E..(..@.@..A...d
0x0010: c0a8 011e ece4 008b 550d 6dab 67a2 d9fe ........U.m.g...
0x0020: 5010 7210 c827 0000 P.r..'..
21:00:10.019864 IP 192.168.1.100.60644 > 192.168.1.30.139: tcp 72
0x0000: 4500 0070 a0bd 4000 4006 15f8 c0a8 0164 E..p..@.@......d
0x0010: c0a8 011e ece4 008b 550d 6dab 67a2 d9fe ........U.m.g...
0x0020: 5018 7210 380d 0000 8100 0044 2044 4244 P.r.8......D.DBD
0x0030: 4a44 4343 4f44 4244 4744 4943 4f44 4243 JDCCODBDGDICODBC
0x0040: 4f44 4444 4143 4143 4143 4143 4100 2045 ODDDACACACACA..E
0x0050: 4845 4645 5046 4345 4845 4643 4e45 4f44 HEFEPFCEHEFCNEOD
0x0060: 4644 4646 4445 4d43 4143 4143 4141 4100 FDFFDEMCACACAAA.
21:00:10.022602 IP 192.168.1.30.139 > 192.168.1.100.60644: tcp 0
0x0000: 4500 0028 0965 4000 4006 ad98 c0a8 011e E..(.e@.@.......
0x0010: c0a8 0164 008b ece4 67a2 d9fe 550d 6df3 ...d....g...U.m.
0x0020: 5010 ffb7 3a38 0000 P...:8..
21:00:10.022832 IP 192.168.1.30.139 > 192.168.1.100.60644: tcp 5
0x0000: 4500 002d 0966 4000 4006 ad92 c0a8 011e E..-.f@.@.......
0x0010: c0a8 0164 008b ece4 67a2 d9fe 550d 6df3 ...d....g...U.m.
0x0020: 5018 ffb7 3729 0000 8300 0001 80 P...7).......
21:00:10.022894 IP 192.168.1.100.60644 > 192.168.1.30.139: tcp 0
0x0000: 4500 0028 a0be 4000 4006 163f c0a8 0164 E..(..@.@..?...d
0x0010: c0a8 011e ece4 008b 550d 6df3 67a2 da03 ........U.m.g...
0x0020: 5010 7210 c7da 0000 P.r.....
21:00:10.023078 IP 192.168.1.100.60644 > 192.168.1.30.139: tcp 0
0x0000: 4500 0028 a0bf 4000 4006 163e c0a8 0164 E..(..@.@..>...d
0x0010: c0a8 011e ece4 008b 550d 6df3 67a2 da03 ........U.m.g...
0x0020: 5011 7210 c7d9 0000 P.r.....
21:00:10.023268 IP 192.168.1.100.60645 > 192.168.1.30.139: tcp 0
0x0000: 4500 003c 9181 4000 4006 2568 c0a8 0164 E..<..@.@.%h...d
0x0010: c0a8 011e ece5 008b fd08 5c97 0000 0000 ..........\.....
0x0020: a002 7210 3df5 0000 0204 05b4 0402 080a ..r.=...........
0x0030: ffff cd16 0000 0000 0103 0307 ............
21:00:10.023588 IP 192.168.1.30.139 > 192.168.1.100.60644: tcp 0
0x0000: 4500 0028 0967 4000 4006 ad96 c0a8 011e E..(.g@.@.......
0x0010: c0a8 0164 008b ece4 67a2 da03 550d 6df3 ...d....g...U.m.
0x0020: 5011 ffb7 3a32 0000 P...:2..
21:00:10.023642 IP 192.168.1.100.60644 > 192.168.1.30.139: tcp 0
0x0000: 4500 0028 a0c0 4000 4006 163d c0a8 0164 E..(..@.@..=...d
0x0010: c0a8 011e ece4 008b 550d 6df4 67a2 da04 ........U.m.g...
0x0020: 5010 7210 c7d8 0000 P.r.....
EDIT 2 : Il y a des progrès. Suivant les conseils de https://askubuntu.com/questions/302159/ubuntu-13-04-will-not-connect-to-share-network-drive a fait en sorte que Dolphin demande un nom d'utilisateur et un mot de passe au lieu de s'arrêter tout simplement. Cependant, il continue à les demander encore et encore, sans fin.
Chaque fois que cela se produit, l'écran de la 3DS passe à l'état "connecté" pendant un moment, puis revient en arrière.
smbclient a maintenant une sortie différente :
$ smbclient --user=myuser -L my3ds
Enter myuser's password:
session setup failed: NT_STATUS_INVALID_NETWORK_RESPONSE