Cannot get SMB Multichannel to work (Win 8.1 <-> 10)

Notice: Page may contain affiliate links for which we may earn a small commission through services like Amazon Affiliates or Skimlinks.

Chuntzu

Active Member
Jun 30, 2013
383
98
28
Yes, each NIC should have different subnet IP.
Not with tp5. They made the enhancement to allow s2d hyper converged on one subnet. Smb multichannel does not natively require multiple subnets. You can run all connections on one subnet as long as you are not running it on Windows cluster and sofs

Sent from my SM-N920T using Tapatalk
 
  • Like
Reactions: iLya

Chuntzu

Active Member
Jun 30, 2013
383
98
28
Just thought of this and I guess I haven't tested or at least can't remember if I have tried, but you may need the share to be on Windows server to benefit from smb multichannel I know rdma is only available in windows server. I will have to do a file copy from Windows 10 to windows 10 and very multichannel is working (98% sure multichannel works in client os to client os transfers just not rdma).

Sent from my SM-N920T using Tapatalk
 

MrFlppy

Member
Jun 11, 2016
41
1
8
39
Can anyone find meaning in this step already posted?

Maybe a lead (from 5.1):

Step 3: Verify the SMB connection

On the SMB client, start a long-running file copy to create a lasting session with the SMB Server. While the copy is ongoing, open a PowerShell window and run the following cmdlets to verify the connection is using the right version of SMB and that SMB Multichannel is working:

Get-SmbConnection

Get-SmbMultichannelConnection

Get-SmbMultichannelConnection -IncludeNotSelected
Get-SmbConnection shows "Dialect : 3.02" and "NumOpens : 3" but the cmdlets Get-SmbMultichannelConnection and Get-SmbMultichannelConnection -IncludeNotSelected do not show anything, meaning after entering them and pressing [Enter] nothing happens and PowerShell awaits fresh input.
 

iLya

Member
Jun 22, 2016
48
5
8
My understanding of the Get-SmbMultichannelConnection is to show you the client and server connection information if there are any established and Get-SmbMultichannelConnection -IncludeNotSelected is to show you all connections that include connections that are not selected for SMB Multichannel communication maybe if you are connecting to another share that doesn't support multichannel.

When I run the Get-SmbMultichannelConnection, I see both of the IPs that are assigned to my server listed.
This would indicate to me that for some reason your configuration is preventing the usage of SMB multichannel on the network interfaces.

Just wondering when you run the Get-SmbConnection, does it show you the name of the server or the share that you are connecting to in the "ServerName" column?
 

MrFlppy

Member
Jun 11, 2016
41
1
8
39
My understanding of the Get-SmbMultichannelConnection is to show you the client and server connection information if there are any established and Get-SmbMultichannelConnection -IncludeNotSelected is to show you all connections that include connections that are not selected for SMB Multichannel communication maybe if you are connecting to another share that doesn't support multichannel.

When I run the Get-SmbMultichannelConnection, I see both of the IPs that are assigned to my server listed.
This would indicate to me that for some reason your configuration is preventing the usage of SMB multichannel on the network interfaces.

Just wondering when you run the Get-SmbConnection, does it show you the name of the server or the share that you are connecting to in the "ServerName" column?
Yes, using Get-SmbConnection shows everything normally, including the server and share name - I didn't mentioned it since I thought that only the dialect details were important.
 

MrFlppy

Member
Jun 11, 2016
41
1
8
39
Update:
To Ensure that the switch is not somehow at fault I connected the two PCs directly with two 1 Gbps connections - still the exact same image with one NIC at 99 % and the other one idling.

In this scenario only the IPv4 addresses and the subnet mask were set (gateway and DNS empty).
 

iLya

Member
Jun 22, 2016
48
5
8
FYI, One big difference in my configuration is that I am using Windows 2016 TP5 which uses SMB Dialect 3.1.1
I'll see if I can provision a couple of Windows 2012 R2 VMs and see if I can get them to work using SMB.
 

iLya

Member
Jun 22, 2016
48
5
8
FYI, I've been able to confirm that building a standard Windows 2012 R2 and pointing to an SMB share works without any special configuration at least on the client side.
 

MrFlppy

Member
Jun 11, 2016
41
1
8
39
I'll test it with Server 2012 R2 Update 1 on both systems, hopefully it'll work, I'll get back to you as soon as I got news.
 

MrFlppy

Member
Jun 11, 2016
41
1
8
39
Update: SMB Multichannel IS finally working, between two Server 2012 R2 systems. Same hardware, same downloaded driver packages and switch settings as the original Windows 8.1 and 10 situation. It's also working between the two switches with a LACP LAG (hash algorithm SRC IP + DEST IP). The ports that are connected to the PCs are not set up as LAG in any way (neither the switch nor the Windows side).

I'm feeling a bit srewed by Intel: The I350-T2/T4 driver menus have more functions under Server 2012 R2 (regarding RSS and RSS load balancing). As noted I used the same driver packages as previously with the 8.1 and 10 Pro setups.
 

MrFlppy

Member
Jun 11, 2016
41
1
8
39
This s.... stuff is beginning to go on my nerves. Encouraged by last weeks success with fresh installs of Server 2012 R2 on both systems I made the same with 10 Pro (the exact same driver files) and it's not working again :(

Does anyone have SMB-Multichannel functioning under 10 Pro (no Server Preview versions?
 

Hirn

New Member
Aug 30, 2016
6
4
3
41
Hey, SMBMC is working fine with Win10 Pro (both are running v1511) out-of-the-box.

Started a filecopy via Windows Explorer on PC2:
1.JPG


Copyjob from PC1 to PC2 with both NICs connected:
2.JPG
Slightly above 200MB/s.

Copyjob from PC1 to PC2 with only one NIC connected:
3.JPG
Slightly above 100MB/s.

Copyjob from PC1 to PC2 with one NIC disconnected while copying:
4.JPG
When one NIC gets disconnected the copyjob pauses for about 10-15 seconds, then it resumes and completes.

NICs on PC1:
5.JPG

I would say SMBMC is quite robust. Drivers for the NICs are a complete clusterf***.
On PC2 the dualport NIC is running with Win10 standard drivers (Microsoft Version 9.13.41.3).
On PC1 the 82579V NIC still uses the Windows 7 driver (Intel Version 12.15.31.4), the CT Desktop Adapter is running with the Win10 standard driver (Microsoft Version 12.12.50.6). I'm pretty sure all the options (RSS, Offload etc.) are left at default.

Have you tried using the Win10 standard drivers for your NICs? Or aren't there any included?
 
  • Like
Reactions: MrFlppy

MrFlppy

Member
Jun 11, 2016
41
1
8
39
@Hirn: Thank you for sharing your experiences, that gives me some hope. I was about to purchase support from Microsoft to finally get an answer to where the issue's exactly located.
Even considered that SMB Multichannel is only supposed to work in Server Windows Editions.

Now that I think of it, I think I only tested it with the latest downloaded drivers (but without Intel management tools) and not with the ones included in Windows, I'll try this next when I have the chance and will report back.

Can you by any chance check if it also works between 10 and 8.1 or between two 8.1 machines? I really dislike the way Microsoft is currently going with 10 and their "feature upgrades" that reduce user control.
 
Last edited:

Hirn

New Member
Aug 30, 2016
6
4
3
41
Hmm, I don't think i've ever tried it between two 8.1 PCs. I know it was working between an 8.1 Client and a 2012R2 server on one of our customers sites. I don't think there's any 8.1 Clients left now, we have upgraded all to Win10.
But I can install 8.1 on my "PC2" and try it with the same hardware that has SMBMC working with Win10. tomorrow.

One thing I remembered: are both of your networks set to the "private" profile? And try disconnecting each NIC once and access "Network" in Windows Explorer, if the yellow bar pops up select "yes let me find other PCs" or whatever it says. If my memory serves me correct SMBMC isn't working if one of the networks is set to public.
 

MrFlppy

Member
Jun 11, 2016
41
1
8
39
Cannot thank you enough for assisting here.

Could you check if SMBMC still works...
- if the ethernet adapters use IPv4 only (IPv6 deactivated)
- use manual IPv4 settings, no DHCP, gateway or DNS used (I'd like to use it in a very basic network without internet access or a router)
 

Hirn

New Member
Aug 30, 2016
6
4
3
41
No problem at all. I'm curious myself :)

- IPv4 only: SMBMC still working
- manual IPv4 settings (no Gateway and DNS on second NIC set), network profile "public": SMBMC NOT working, only the NIC with a set Gateway and "private" profile is used.
- manual IPv4 settings (no Gateway and DNS on second NIC set), network profile forced to "private": SMBMC is working

So like I said in the last post: it doesn't work with "public" networks. If you don't want your systems to have internet access you can either leave the Gateway blank and force the network to be "private":
gpedit.msc-> Computer Configuration -> Windows Settings -> Security Settings -> Network List Manager Policies -> Unidentified Networks ->private (be aware all unidentified networks will be set to private)

or you can simply set a random IP from your network to be the "Gateway". For it's Network Location Awareness thingy Windows doesn't care if the gateway is really a gateway..or if it's a network printer, IP-Cam, Telephone..the IP you set just has to exist.
 
  • Like
Reactions: MrFlppy and Marsh

cesmith9999

Well-Known Member
Mar 26, 2013
1,442
486
83
This explains why I never see this issue at work or at home. I have a domain setup in both locations.

Hirn, thank you for your investigation.

Chris
 

MrFlppy

Member
Jun 11, 2016
41
1
8
39
On my current systems the network was in fact set up as a public network. I then used the IPv4 address of a managed switch as a gateway and changed the public network to a private one via regedit

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles

and changed "Category" from 0 to 1. After a reboot (all systems) the network shows up as private but still only one NIC on each system is used during a large file transfer process :-/

Currently between 8.1 and 10. I guess I'll try a fresh setup next where the network was never set to "public" in the first place.
 

Hirn

New Member
Aug 30, 2016
6
4
3
41
I think the regkey is bugged in win10.
On all my Win10 PCs the category is set to 1, even if the network is public or a Domain. Can you try setting something else in your network as the Gateway (should result in a new unknown network) and forcing private network via gpedit?
 

MrFlppy

Member
Jun 11, 2016
41
1
8
39
Tried both and unfortunately no change :(

Will try the clean setup over the weekend, then I can check if maybe the downloaded Intel drivers are at fault (although they do work with SMBMC in Server 2012 R2/2016 TP5).