Nintendo New 3DS ("новый" является частью названия) имеет возможность выставлять SMB-долю своей карты Micro SD.
Он попросит вас указать имя для отображения 3DS, а также имя пользователя и пароль. Предположим, что я назвал устройство my3ds
а имя пользователя - myuser
. Кроме того, я дал ему статический IP-адрес, например 1.2.3.4
для примеров. Я могу успешно пропинговать этот IP.
Из Windows работает без проблем. Если я \\my3ds
в проводнике, он покажет одну общую папку с именем "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 и попытался, но он все равно потерпел неудачу с тайм-аутом, как и 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 ........@..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.....
РЕДАКТИРОВАТЬ 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