如何從 Linux 連接到 3DS 的 SMB 共享?

如何從 Linux 連接到 3DS 的 SMB 共享?

任天堂的 New 3DS(「新」是名稱的一部分)能夠公開其 micro SD 卡的 SMB 共享。

它要求您定義 3DS 的顯示名稱以及使用者名稱和密碼。對於以下內容,假設我已命名設備my3ds並且用戶名是myuser。另外,我給了它一個靜態 IP - 假設它是1.2.3.4用於範例的。我可以成功 ping 這個 IP。

在 Windows 上,它可以毫無問題地運行。如果我進入\\my3ds資源管理器,它會顯示一個名為“microSD”的共用並允許存取其檔案。Windows端不需要安裝任何東西,它只是以與任何其他共享資料夾相同的方式查看它。
重要提示:當我執行此操作時,3DS 的螢幕上會顯示「已連接到 PC」。我在 Linux 上嘗試過的所有方法都沒有在 3DS 的螢幕上產生任何回應,這可能表示通訊在早期就失敗了。

以下是我嘗試過的不同方法以及每種方法的回應。我正在使用 Linux Mint 的 64 位元 KDE 版本。

1) 使用海豚
方法:在網址列中輸入smb://my3dssmb://my3ds/microSDsmb://myuser@my3dssmb://myuser@my3ds/microSD
回覆:Dolphin 顯示「正在載入資料夾」一段時間,然後逾時。

方法:上面,但使用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 用戶使用 cifs:// 協定而不是 smb:// 進行連線。這似乎相當於使用 1.0 版本mount -t cifs,這是預設的,但我也嘗試明確指定它,vers=1.0但沒有什麼區別。

我可以嘗試任何其他方法或 mount.cifs 或 smbclient 設定嗎?誰能解釋為什麼它不起作用?

編輯:根據要求,輸出smbclient -L

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

另外,Dolphin 嘗試連接的 tcpdump 的一部分,給定 IP(0.100 是 PC,0.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

答案1

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”

當我說某種工作時,我的意思是它工作一次,然後你必須卸載並重新連接......

我只是偶爾用它來複製單機遊戲。

答案2

這裡的重要訊息是,雖然您可以使用此 cifs 命令掛載任天堂共享,但您甚至不能嘗試在內部使用“ls”,這將斷開共享!因此,要傳輸文件,只需掛載共享,然後從命令列複製文件(您必須記住目標資料夾的位置),也不要使用自動完成!

相關內容