Ich habe den Fehler auch seit Update auf 1709 und habe mir aus Neugierde mal den Unterschied zwischen aktivem und deaktiviertem smb v1 client mal mit Wireshark genauer angeschaut.
Ohne aktives Laufwerksmapping sieht es so aus, dass ich bei deaktiviertem smb v1 eine Datei einmalig kopieren bzw. grundsätzlich esen kann, beim zweiten Versuch kommt die Fehlermeldung. Wenn man danach geschätzte 10-20 Sekunden wartet, kommt eine smb Tree Disconnect Message und danach kann die Datei wieder gelesen werden.
Interessant fand ich dabei, dass beim fehlgeschlagenen Folgeversuch keinerlei Anfragen an die Synology geschickt werden - Windows "weiß" vorher schon dass es nicht klappt - oder meint das zumindest fälschlicherweise.
Wenig überraschend wird beim Negotiate Protocol Request mit aktivem smbV1 eine längere Liste von Dialekten gesendet, nämlich:
PC NETWORK PROGRAM 1.0, LANMAN1.0, Windows for Workgroups 3.1a, LM1.2X002, LANMAN2.1, NT LM 0.12, SMB 2.002, SMB 2.???,
während bei deaktiviertem nur folgende angeboten werden:
NT LM 0.12, SMB 2.002, SMB 2.???
Nicht wundern über das SMB 2.???. Das wird in einem zweiten Protokoll-Handshake dann genauer vereinbart, mit idemtischem Ergebnis, nämlich Dialect 0x0311
Danach fallen dann zwei Unterschiede auf: bei aktivem smbv1 wird als Antwort auf den Create-Request (um die Datei zum lesen zu öffnen), als QFid folgendes geliefert:
Opaque File ID: 84c54b020000000000fd0000000000000000000000000000...
bei deaktiviertem smbv1 dagegen
Opaque File ID: 000000000000000000fd0000000000000000000000000000...
Der zweite Unterschied und vermutlich eigentliche Fehler ist aber der nächste Find-Request, der dazu dient einen Verzeichnisinhalt aufzulisten:
[Info Level: SMB2_FIND_ID_BOTH_DIRECTORY_INFO (37)]
Als Ergebnis kommen alle Dateien des Verzeichnisses, inklusive "." und ".."
Der große Unterschied ist das Feld File Id. Bei aktivem smbv1 ist dort folgendes
".": 0x0000000000000f20
"..": 0x0000000000000002
"testdatei": 0x00000000024bc584
bei deaktiviertem smbv1
".": 0x0000000000000000
"..": 0x0000000000000000
"testdatei": 0x0000000000000000
Also alle File Id sind dann 0. Ich vermute, dass genau das dann windows dazu bewegt beim nächsten Versuch das Verzeichnis als ungültig zu betrachten.
Viel weiter hilfts natürlich jetzt niemandem, weil trotzdem Synology den Fehler beheben muss - vermutlich wird irgend etwas nicht vollständig initialisiert wenn beim Protokoll aushandeln eines der Protokolle fehlt - aber ich fand es trotzdem interessant, und vielleicht noch jemand anderes auch ;-)
Schöne Grüße
wech