
O novo 3DS da Nintendo (“novo” faz parte do nome) tem a capacidade de expor uma parcela SMB de seu cartão micro SD.
Ele pede que você defina um nome para o 3DS aparecer, além de um nome de usuário e uma senha. A seguir, suponha que eu nomeei o dispositivo my3ds
e o nome de usuário é myuser
. Além disso, dei a ele um IP estático - digamos que seja 1.2.3.4
para exemplos. Posso fazer ping neste IP com sucesso.
No Windows, funciona sem problemas. Se eu entrar \\my3ds
no Explorer ele mostra um único compartilhamento chamado "microSD" e permite acesso aos seus arquivos.Não foi necessário instalar nada no Windows, ele apenas vê da mesma forma que qualquer outra pasta compartilhada.
Nota importante: Quando faço isso, o 3DS mostra “Conectado ao PC” na tela.Nenhum dos métodos que tentei no Linux produziu qualquer resposta na tela do 3DS, provavelmente indicando falha na comunicação desde o início.
A seguir estão os diferentes métodos que tentei e a resposta para cada um deles. Estou usando a edição KDE de 64 bits do Linux Mint.
1) Usando o Golfinho
Método:Inserindo smb://my3ds
, smb://my3ds/microSD
ou na barra de smb://myuser@my3ds
endereçosmb://myuser@my3ds/microSD
Resposta:O Dolphin exibe "carregando pasta" por um tempo e depois expira.
Método:O acima, mas usando 1.2.3.4
em vez demy3ds
Resposta:Dolphin diz que a pasta não existe.
2) Usandomount -t cifs
Usando mount -t cifs
e o nome da máquina:
$ 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)
Nota: O IP mostrado acima é aquele para o qual meu ISP redireciona nomes de host inválidos. Em outras palavras, meu roteador não consegue resolver problemas my3ds
.
Usando mount -t cifs
e o IP estático:
$ 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=********
...e aqui está. Não faz nada até que eu pressione Ctrl+C. O monitor do sistema mostra que o processo "mount.cifs" está em suspensão no disco e permanece mesmo após Ctrl + C. Mesmo rodar killall -9 mount.cifs
como root não os impede!
3) Usando smbclient
$ smbclient --user=myuser \\\\my3ds\\
Enter myuser's password:
Nenhuma resposta, apenas retorna.É a mesma coisa se eu usar o 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)
É estranho que outros métodos pareçam não conseguir resolver o nome, mas este mostra que não consegue resolver o IP.
De acordo comum comentário no Reddit, o Nautilus pode se conectar. Instalei o Nautilus e tentei, mas ainda falhou com o tempo limite, assim como o Dolphin.
Alegadamente, os usuários do Mac OSX se conectaram usando o protocolo cifs:// e não smb://. Isso parece ser o equivalente a usar a versão 1.0 com mount -t cifs
, que é o padrão, mas também tentei especificá-lo explicitamente com vers=1.0
e não fez diferença.
Existe algum outro método ou configuração para mount.cifs ou smbclient que eu possa tentar? Alguém pode explicar por que não funciona?
EDITAR:Conforme solicitado, a saída de smbclient -L
:
$ smbclient --user=myuser -L my3ds
Enter myuser's password:
Connection to my3ds failed (Error NT_STATUS_IO_TIMEOUT)
Além disso, parte de um tcpdump do Dolphin tentando se conectar, dado o IP (0,100 é o PC, 0,30 o 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 [email protected]$...
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..<..@[email protected]
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..(..@[email protected]
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..@[email protected]
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.....
EDITAR 2:Há algum progresso. Seguindo o conselho dehttps://askubuntu.com/questions/302159/ubuntu-13-04-will-not-connect-to-share-network-drivefez o Dolphin pedir um nome de usuário e senha em vez de apenas expirar. No entanto, ele continua pedindo isso indefinidamente.
Cada vez que isso acontece, a tela do 3DS muda para o status “conectado” por um momento e depois volta.
smbclient agora tem uma saída diferente:
$ smbclient --user=myuser -L my3ds
Enter myuser's password:
session setup failed: NT_STATUS_INVALID_NETWORK_RESPONSE
Responder1
sudo mount.cifs //3DS-3885/microSD -o user=3dsUser,password=3dsPass,ip=3dsIP,servern=3DS-3885,uid=linuxUser,gid=users,nounix,vers=1.0 mountPoint
Então, passei alguns meses atrás forçando brutalmente todas as opções CIFs para tentar fazê-las funcionar e foi isso que descobri que funciona.
A opção importante é "servern"
Quando digo que funciona, quero dizer que funciona uma vez, então você tem que desmontar e reconectar ...
Eu apenas o uso para copiar jogos únicos ocasionalmente.
Responder2
A informação importante aqui é que embora você possa montar o compartilhamento Nintendo usando este comando cifs, você não deve nem tentar "ls" dentro, o que desconectará o compartilhamento! Portanto, para transferir arquivos, basta montar o compartilhamento e copiar seus arquivos da linha de comando (você deve saber de cor a localização da pasta de destino), também não use o preenchimento automático!