web-dev-qa-db-ja.com

Linuxから3DSのSMB共有に接続する方法は?

ニンテンドーのNew3DS(「new」は名前の一部です)には、マイクロSDカードのSMBシェア)を公開する機能があります。

表示する3DSの名前と、ユーザー名とパスワードを定義するように求められます。以下では、デバイスにmy3dsという名前を付け、ユーザー名はmyuserであると想定します。また、静的IPを指定しました。例では1.2.3.4としましょう。このIPに正常にpingできます。

Windowsからは問題なく動作します。 Explorerに\\my3dsと入力すると、「microSD」という名前の単一の共有が表示され、そのファイルへのアクセスが許可されます。 Windows側に何もインストールする必要はありませんでした、他の共有フォルダと同じように表示されます。
重要な注意:これを行うと、3DSの画面に「ConnectedtoPC」と表示されます。これまでの方法はありませんLinuxから試してみると、3DSの画面に応答があり、おそらく通信が早い段階で失敗したことを示しています。

以下は、私が試したさまざまな方法と、それぞれの応答です。 LinuxMintの64ビットKDEエディションを使用しています。

1)Dolphinの使用
方法:smb://my3dssmb://my3ds/microSDsmb://myuser@my3dsまたはsmb://myuser@my3ds/microSDをアドレスバー
Response:Dolphinはしばらくの間「loadingfolder」を表示してからタイムアウトします。

方法:上記ですが、1.2.3.4の代わりにmy3dsを使用します
応答:Dolphinは、フォルダーが存在しないと言います。

2)mount -t cifsの使用
mount -t cifsとマシン名の使用:

$ 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)

注:上記のIPは、ISPが無効なホスト名をリダイレクトするIPです。言い換えれば、私のルーターはmy3dsを解決できません。

mount -t cifsと静的IPの使用:

$ 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=********

...そしてここでそれはハングします。 Ctrl + Cを押すまで何もしません。システムモニターは、プロセス「mount.cifs」がディスクスリープ状態にあり、Ctrl + Cの後も残っていることを示しています。 rootとしてkillall -9 mount.cifsを実行しても、それらは停止しません。

3)smbclientの使用

$ smbclient --user=myuser \\\\my3ds\\
Enter myuser's password:

応答なし、ただ戻るだけです。 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)

他の方法では名前を解決できないように見えるのは不思議ですが、これはIPを解決できないことを示しています。

Redditへのコメント によると、Nautilusは接続できます。 Nautilusをインストールして試しましたが、Dolphinと同じように、タイムアウトして失敗しました。

伝えられるところによると、Mac OSXユーザーはsmb://ではなくcifs://プロトコルを使用して接続しています。これは、デフォルトのmount -t cifsでバージョン1.0を使用するのと同じように見えますが、vers=1.0で明示的に指定しようとしましたが、違いはありませんでした。

私が試すことができる他の方法、またはmount.cifsまたはsmbclientの設定はありますか?なぜそれが機能しないのか誰かが説明できますか?

EDIT:要求に応じて、smbclient -Lの出力:

$ smbclient --user=myuser -L my3ds
Enter myuser's password: 
Connection to my3ds failed (Error NT_STATUS_IO_TIMEOUT)

また、IPを指定して接続しようとしているDolphinからのtcpdumpの一部(.100はPC、.30は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.....

編集2:いくつかの進歩があります。 https://askubuntu.com/questions/302159/ubuntu-13-04-will-not-connect-to-share-network-drive からのアドバイスに従って、Dolphinにユーザー名を尋ねさせましたタイムアウトするのではなく、パスワードを入力します。しかし、それは何度も何度もそれを求め続けます。
これが発生するたびに、3DSの画面はしばらくの間「接続済み」ステータスに変わり、その後元に戻ります。

smbclientの出力が異なります。

$ smbclient --user=myuser -L my3ds
Enter myuser's password: 
session setup failed: NT_STATUS_INVALID_NETWORK_RESPONSE
7
George T
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

それで、私は数ヶ月前にブルートですべてのcifsオプションを強制的に機能させようとしましたが、これがその種の機能であることがわかりました。

重要なオプションは「servern」です

私が一種の仕事を言うとき、私はそれが一度働くことを意味します、そしてあなたはアンマウントして再接続しなければなりません...

たまにシングルゲームをコピーするのに使っています。

9
mobad

ここで重要な情報は、このcifsコマンドを使用して任天堂の共有をマウントすることはできますが、内部で「ls」を実行しようとしないでください。これにより、共有が切断されます。したがって、ファイルを転送するには、共有をマウントし、コマンドラインからファイルをコピーするだけです(宛先フォルダーの場所を心から知っている必要があります)。オートコンプリートも使用しないでください。

0
Eric Fð