-
Notifications
You must be signed in to change notification settings - Fork 822
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
P9 Explorer Integration not working #4027
Comments
Might be similar to #3995 |
I've updated to 1903 18362.30 as of yesterday and I'm noticing this issue as well. What I've noticed is this.
All tests done while Ubuntu is running. Did a clean install of the Ubuntu "app". |
@SvenGroot - Could you please take a look into this? |
After getting the final official 1903 build (I've previously been on 1903 as an insider), I went blew away both of my Pengwin-based environments and fully disabled and re-enabled the WSL feature. This seems to have resolved this issues for me on both of my systems. Since I has having this problem consistently on both machines, this suggests that something might have misfired in applying an update to an existing WSL install. |
Anybody who's still in this state, can you please give me the output of the following commands:
That would be very helpful in diagnosing this issue. For those who are interested, here's the reason why it works in cmd or PowerShell, but not in explorer.exe. \\wsl$ is essentially treated by the system as a network file system (even though it isn't really), which consist of two components: a redirector driver, and a network provider DLL. The former handles actual file system requests, while the latter provides information about connections and paths to the system. This DLL also implements things like "share" enumeration (distribution enumeration in WSL's case), and "map drive" functionality. The network provider DLL is not used when applications just try to create a file using a \\wsl$\distro path, which is what cmd and PowerShell do. Explorer on the other hand always tries to get information about a UNC path from the network provider DLL, and won't issue a file system call unless that's successful. So in the situation described in this thread, the redirector driver is fine, but the DLL is not working as intended for some reason. |
Turning off and on WSL worked for me. I didn't need to delete the instance. |
As requested.
|
@shinji257 Thanks, that's very interesting. It appears that P9NP is missing from the comma-separated list under HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetworkProvider\Order and HwOrder. It's present in ProviderOrder, but that doesn't do anything by itself if the value is not in the comma-separated list. This will cause Explorer and any other application that uses the network provider DLL to not consider our provider at all. You should be able to work around this by just adding P9NP as the first entry in the comma-separated list under both keys (in your case, this would be "P9NP,RDPNP,LanmanWorkstation,webclient"). You might need to restart for that change to take effect. This suggests there's some bug in the upgrade logic for this particular registry key. We'll investigate further and I'll keep you updated. |
Thank you. I've checked and verified that was indeed all that was needed to workaround for this issue and it updated both Order and HwOrder at the same time when I did that. EDIT: Restarting the system, relogging, or even reloading explorer.exe was not needed. The effect was immediate. |
Have a similar issue but on the worse side - just updated to Windows 1903, had the legacy lxrun distro installed (Bash on Windows). Have wiped it out and started fresh, enabled WSL feature and installed Ubuntu distro from MS store. The distro launches fine, but none of the "\wsl$" integration works for me - neither command prompt, nor explorer.
Any ideas what to look for next? |
Similar issue here. Microsoft Windows [Version 10.0.18362.175]
So it appears the order is correct. The other two queries are the same as @danluca . With cmd:
With Powershell:
Similar to other users, after upgrading to Windows 1903, I deleted my old distros, and installed a fresh one; installed a bunch of tools inside it, then I did an export of it. I remember at that point I was able to access the Linux files because I copied a file in it. Any idea how to diagnose this? I had a look at the Windows Event Logs, but could not see anything related to WSL. |
Can you post the output of running |
Ah! you're right, the server on the Linux distro simply did not start. Here is my wsl.conf. If I screwed up, I'm sorry.
|
Yes, that would be it. :) The \\wsl$ file system access communicates with the Plan 9 server running in WSL's init using a Unix socket, and that socket is created in in a directory under /mnt/c. So yeah, you need to enable automount for this to work (or at least explicitly mount your C: drive in fstab). Note that this is not the case in WSL 2, since in that case we communicate over a Hyper-V socket instead. |
@SvenGroot Thank you for your quick reply. Also I wanted to let you know, Thank You to all the WSL team, it is a great product and I use it everyday. And especially that 9P thing, it is super-awesome work. Keep it up! |
@SvenGroot had to add P9NP to the Order registry key on 2 systems - both were upgraded from WSL i1 n the last week |
Still doesn't work for me, any suggestions on how to debug this issue further? How can I check whether the P9 server is running? I've attached the log files (captured with logman per the instructions) and the output of the
The |
Ubuntu and Debian are working fine, but I can't access the subsystem files at all, and P9 doesn't seems to be there at all... I surely messed something up during the install, but can't find a fix. I also tried going backward and made a clean install trough the MS Store, didn't worked. Windows 10.0.17134
Also, |
@PureBasic it looks like you're using an older version of Windows that does not have the P9 feature. You need to upgrade your Windows version to 1903 or later (Windows Build 18362). |
@mscraigloewen |
Thanks, the registry fix worked for me. However, I still can't access anything under home, i.e. \wsl$\Ubuntu\home is empty ==> OK, just realized why |
Last time I check, it's the new ISO of windows is corrupted
You can try download new ISO, and reburn it. If you still face the problem,
then report the known broken ISO Checksum
|
@benyaminl in my case i started out with a clean company device image install that was win10 enterprise 20h2 and then ran Microsoft up to get to win11 enterprise 22h2 and then enrolled in insider beta to get to the 22623.1028 release. It was at that point that I ran "wsl --install" to get the Ubuntu 22.04 distro in place with the expected p9np provider entries missing. Given that it would seem issue isn't arising from iso I used to get initial win11 enterprise install in place right? |
@myusrn I also the same,but from Win 10 to Win 10 from Windows Update... it end up broken... and need clean install with next ISO (on uni lab), and after using new ISO, it works as it's, I think they need to take it seriusly when Windows Update/ISO is broken :/ |
@therealkenc Seems Some of Windows Folk accidentally fix this issue on Windows 10 22H2... after update, for some reason it working now, since December Weekly update 2022. Could people in MS release what are they changging that lead to this working? 2nd suspect is from VS Code WSL, between both, because I don't do any clean install |
Same here... since last Win10 Patch Day it is working now, but i have absolut no clue why... But it must came with a seperate smaller side patch since i'm running 21H2 and not 22H2... |
Unfortunately this is not working for me. Any suggestion? PS C:\Windows\system32> reg query HKLM\SYSTEM\CurrentControlSet\Control\NetworkProvider /s HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetworkProvider\HwOrder HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetworkProvider\Order HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetworkProvider\ProviderOrder PS C:\Windows\system32> reg query HKLM\SYSTEM\CurrentControlSet\Services\p9np /s HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\p9np HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\p9np\NetworkProvider PS C:\Windows\system32> reg query HKLM\SYSTEM\CurrentControlSet\Services\p9rdr /s HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\p9rdr PS C:\Windows\system32> As well after reboot the registry order is changed again |
Same here, not working anymore PS C:\Windows\system32> reg query HKLM\SYSTEM\CurrentControlSet\Control\NetworkProvider /s HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetworkProvider\HwOrder HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetworkProvider\Order HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetworkProvider\ProviderOrder PS C:\Windows\system32> reg query HKLM\SYSTEM\CurrentControlSet\Services\p9np /s HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\p9np HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\p9np\NetworkProvider PS C:\Windows\system32> reg query HKLM\SYSTEM\CurrentControlSet\Services\p9rdr /s HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\p9rdr PS C:\Windows\system32> and after rebook the order is reset |
I managed to make it work like this At first I was getting no access, then making this changes in registry made it:
After reboot it gets somehow reset, cbfsconnect2017 becomes first again, but now P9NP is second, but access works
|
dir p9np.dll Mode LastWriteTime Length Name -a--- 2023/8/9 18:25 173384 p9np.dll reg query HKLM\SYSTEM\CurrentControlSet\Control\NetworkProvider /s HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetworkProvider\HwOrder HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetworkProvider\Order HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetworkProvider\ProviderOrder reg query HKLM\SYSTEM\CurrentControlSet\Services\p9np /s HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\p9np HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\p9np\NetworkProvider reg query HKLM\SYSTEM\CurrentControlSet\Services\p9rdr /s HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\p9rdr The distribution version of my wsl2 is ubuntu20.04, I seem to have deleted /lib/wsl.conf and /lib/resolv.conf by mistake, and now I can’t open this file system |
@DLS-1213 Do what I suggested and fix the provider order. |
I need to reconfigure the settings every time the system updates. |
@brucmao Are you fixing it via the registry or via the provider order screen I screenshot earlier. If you do it via the provider order then the setting sticks between updates and you don't have to keep fixing it. |
I have tried both methods, but after a while, it becomes inaccessible again. I just set it up today through ncpa.cpl, so I will comment again when it stops working next time. |
It is mentioned in #7845, but I wonder if anyone has Box Drive installed. Having Box Drive installed was responsible for undoing my fix via registry or the If you see I have reinstalled Box, and I just use the workaround of entering |
I have RaiDrive installed which loads in cbfs6 and causes a similar issue. It ends up setting itself up with a ProviderOrder entry set at 0xfa (250) just like cbfsconnect2017. When I moved P9NP going through the control panel though it changed P9NP to have a value of 0x7d (125) and I think these are metric/priority values for the items here? I think this is what matters. I checked my HwOrder and Order keys and the ProviderOrder values there have cbfs6 listed first again but no broken Linux area in Explorer. |
Smart scan forbids using wsl or msbuild |
This great workaround saved my day on a Microsoft Windows 11 Pro system, almost 4 years after your post @SvenGroot, so you ar my hero!
Edit: Almost 5 years! |
i tried all your resolutions, nothing helped |
Adding P9NP as the first item in the ordered list worked for me. Also, I did not need to reboot. |
Anybody have the same problem, that the registry entry gets reset after every reboot? |
This is what worked for me. No reboot required (but still worked after one was performed). Thank you |
how do you update them in the cmd or shell? |
This way my Issue got resolved!! Steps: Navigate to Network Provider Keys: Edit the List: |
Hey folks this issue is really stale, so I'm closing it for our bookkeeping. If you're still seeing this please reopen it as a new issue, and that way we can properly triage it! Thank you! :) |
Please use the following bug reporting template to help produce issues which are actionable and reproducible, including all command-line steps necessary to induce the failure condition. Please fill out all the fields! Issues with missing or incomplete issue templates will be closed.
If you have a feature request, please post to the UserVoice.
If this is a console issue (a problem with layout, rendering, colors, etc.), please post to the console issue tracker.
Important: Do not open GitHub issues for Windows crashes (BSODs) or security issues. Please direct all Windows crashes and security issues to [email protected]. Ideally, please configure your machine to capture minidumps, repro the issue, and send the minidump from "C:\Windows\minidump".
Please fill out the below information:
Your Windows build number: (Type
ver
at a Windows Command Prompt)10.0.18362.86
What you're doing and what's happening: (Copy&paste the full set of specific command-line steps necessary to reproduce the behavior, and their output. Include screen shots if that helps demonstrate the problem.)
Based on the recent WSL blogs, I expect to see WSL as a network drive in Explorer or to be able to open my active WSL directory by typing
Explorer.exe .
When I enter the Explorer command from anywhere in the Linux filesystem, it opens my Windows Documents folder in Explorer
When I try to manually navigate to the path suggested by the blog posts, I get a 0x80004005
However, I can navigate to that directory from Powershell.
If it's relevant, here is a snapshop of my network devices. I've got some VPN stuff and Hyper-V V Switches, including for Docker for Windows.
The text was updated successfully, but these errors were encountered: