
Новая игровая приставка Nintendo 3DS (в названии которой есть слово «новая») способна предоставлять доступ к разделу SMB на своей карте micro SD.
Он просит вас определить имя, под которым будет отображаться 3DS, а также имя пользователя и пароль. Для следующего предположим, что я назвал устройство my3ds
, а имя пользователя — myuser
. Также я дал ему статический IP — скажем, 1.2.3.4
для примеров. Я могу успешно пинговать этот IP.
Из Windows это работает без проблем. Если я захожу \\my3ds
в Explorer, он показывает одну общую карту с именем "microSD" и разрешает доступ к ее файлам.Не нужно было ничего устанавливать на стороне Windows., он просто видит ее так же, как и любую другую общую папку.
Важное примечание: когда я это делаю, на экране 3DS отображается сообщение «Подключено к ПК».Ни один из методов, которые я пробовал в Linux, не дал никакого отклика на экране 3DS, что, вероятно, указывает на сбой связи на раннем этапе.
Ниже приведены различные методы, которые я пробовал, и ответ для каждого из них. Я использую 64-битную версию KDE Linux Mint.
1) Использование Dolphin
Метод:Ввод smb://my3ds
, smb://my3ds/microSD
, smb://myuser@my3ds
или smb://myuser@my3ds/microSD
в адресную строку
Ответ:Dolphin некоторое время отображает сообщение «Загрузка папки», а затем отключается.
Метод:Вышеуказанное, но с использованием 1.2.3.4
вместоmy3ds
Ответ:Дельфин говорит, что папка не существует.
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, который он показывает выше, — это тот, на который мой провайдер перенаправляет недействительные имена хостов. Другими словами, мой маршрутизатор не может разрешить 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. Даже запуск killall -9 mount.cifs
от имени root не останавливает их!
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)
Также, часть tcpdump от Dolphin, пытающегося подключиться, учитывая IP (.100 — это ПК, .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
Итак, несколько месяцев назад я потратил некоторое время, пытаясь перебрать все опции CIF, чтобы заставить его работать, и вот что я обнаружил.
Важная опция - "servern"
Когда я говорю «работает», я имею в виду, что оно работает один раз, а затем вам приходится отключать и подключать заново...
Я просто иногда использую его для копирования отдельных игр.
решение2
Важная информация здесь заключается в том, что хотя вы можете смонтировать общий ресурс Nintendo с помощью этой команды cifs, вы даже не должны пытаться использовать "ls" внутри, это отключит общий ресурс! Поэтому для передачи файлов просто смонтируйте общий ресурс и скопируйте файлы из командной строки (вы должны знать наизусть расположение папки назначения), также не используйте автодополнение!