-
Notifications
You must be signed in to change notification settings - Fork 12
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
WIN32_EXIT_CODE : 1077 (0x435) #1
Comments
Did you try the "Have disk..." option from the network services window? The error code is "No attempts to start the service have been made since the last boot", and I'm not sure why that would be. You could try starting the service manually with |
Thanks for your reply! |
Point the "Have disk..." at the INF/SYS files that you extracted. Those are for the LBFO driver. Error 31 is a device failure, which is a generic "device failure" error. Doesn't mean much other than "it didn't work", unfortunately. |
Ok thank you will try it tomorrow! |
I can also confirm also that Hyper-V Manager and the Hyper V Management Service on a physical machine with this hack is upset with this sometimes. The issue is fairly similar to what happens sometimes if you used a 3rd party VPN solution. In the past, the test computer had a Cisco VPN Anywhere client that became unsupported in Windows 10.
Your chance of experiencing this issue seems to go up if you have Windows VPN profiles Configured (L2TP, maybe others). |
I tried to apply this guide on Windows 10 with UEFI loading. The driver does not appear in the properties of the network card. After sorting out the problem, I found a solution and slightly altered the patch installation file. I tried both patches on a virtual machine, from server 2019 and 2022. Both got up correctly and made it possible to create a network interface. I am attaching my files. |
@gsuberland Since I have to upgrade my workstations to Win11 and Intel has just deprecated Intel ANS, there's currently no other solution, going forward, to do teaming with Intel NICs. I took a look at it and managed to make it work but I know why people may be having problems loading the Network Service Provider. In Win11, it will just refuse to load it and with "Have Disk" it will refuse again with an error code that pertains to unsigned. Time allowing I will be looking into getting the GUI working properly as well. PS Since I read about it in the blog, you shouldn't worry about sfc and dism as this is not part of the store. Neither tool will do anything to drivers and files that are not part of the component store. |
Nodens, can you explain how you identified that catalog file? I copied that one as well (i am also using windows 11 and a server 2022 source) In the browse dialogue it indicates the driver is digitally signed correctly, but once i select the file i still get 0xE000022F despite the proceeding screen saying its signed. I noted you chose a server-core package. the rest of my driver files came from the regular server install (non-core) that may not be relevant but since i am having a hard time figuring out how you determined the inf was signed (if i check the inf with sigcheck they all appear unsigned) i am not sure how to validate. |
So a small update, by booting the machine and disabling driver signing enforcement everything worked. maxim-kiselevich's readme states to do this straight away. I guess i am a little confused, all the efforts in copying cat files around, i thought those were efforts to keep driver singing enforement enabled. As mentioned above my MsLbfoProvider.sys file passes a sigcheck. The add service dialog initially says the driver is signed when i select the loadbalancing driver from the list, however here are the logs first with driver signing enforcement, and then later without. The inf file does not seemed to be signed, i take noden's comments to indicate he thought it was.
and without driver signing enforcement:
|
@cryptz2k My method for finding it was loading the Server 2022 Standard iso in a VMware Workstation VM and using sigcheck. Although I am making a script to identify both required catalog files without a VM. You can use |
My inf file indicates its not signed, is that typical if I don't have the right catalog file specified in the sigcheck command? I would have expected it to be invalid but still signed etc. If I pick the correct one will the file suddenly show as signed? Its working for me now, but I disabled driver integrity checking through the f8 boot process. I don't really mind for my home machine here, but I get the sense you are having luck without that step. |
There is a tutorial about packaging (creating a cat.. etc) and signing drivers somewhere on the internet. Back when I tested it, that's what I did.. so driver signing was on for me and it was OK. This was on a physical box. |
@cryptz2k If you run sigcheck without the -f switch it will try to verify with catalog files in the system environment. "Unsigned" just means it can't verify the signature. So -f switch will show you if you have the proper file. If you have the proper file and it's copied in the proper directory AND you have rebooted (I can't stress how important that this is because without a reboot windows will not "know" about the new catalog file since we're not installing properly, we're making it so it's already installed), sigcheck without -f will show the file as signed as well. Disabling Driver signature enforcement is a BIG NO-NO. It means that kernel mode drivers can be loaded with impunity. You're just asking for rootkits, RATs and possibly ransomware. |
Not sure what to make of it then, see below as a test I ran it without the -f flag. it says its signed, but during install it seems to encounter something else that is considers unsigned. I do see the inf has significantly less info but i am assuming yours is the same? C:\test> sigcheck mslbfoprovider.sys Sigcheck v2.80 - File version and signature viewer C:\test\mslbfoprovider.sys: C:\test> sigcheck mslbfoprovider.inf Sigcheck v2.80 - File version and signature viewer C:\test\mslbfoprovider.inf: C:\test> sigcheck -i mslbfoprovider.inf |
Alright this is correct. Start the service, sc start mslbfoprovider. It should start. Then use the powershell commands to make the team. |
The provider itself will not show up when you do properties on a NIC. Once you build the team it should be automatically added to the member NICs. |
Im fully operational, but only with driver signing enforcement disabled, if i enable it i get the error i posted yesterday: !! sig: Driver package does not contain a catalog file, and Code Integrity is enforced. its as if there is a third file in play. the only thing i can think of, and its a stretch, was i initially attempted to install the intel teaming software and thats when i found out it didnt work. Maybe theres something lingering from that but i sort of doubt it. I would have expected all of the intel stuff to be signed anyways |
You used the Have Disk method and that is your problem. If you look at the registry you'll see it's not using mslbfoprovider.inf but oemxx.inf. That's the problem, that you did it with DSE disabled and Have Disk method. That oemxx.inf file that was created and used in the registry is a copy of mslbfoprovider.inf BUT the inf does not specify a catalog for verification because it's not an oem driver inf but part of the server component store. The inf catalog file you ripped from the install.wim will never verify an oemxx.inf. It will only verify the original mslbfoprovider.inf. I warned about this in my original comment. |
Can confirm this is still working fine on Win10 21h2 using sources from Server 2019. A few notes - the driver will NOT load with regular boot - Driver Signature Enforcement simply won't allow it. The workaround for that is to left-shift reboot, startup menu, "7" to disable DSE, then load the driver and click yes on the scary red warning. Will have to try Nodens suggestion up there next time around. It's also totally possible to port the GUI across and use it to make/config teams. |
It seems to still work as of the end of march execpt i get an error when trying to create a team |
Have anyone managed to run in Win11 without 0xE000022F? For some reason I am not getting the LBFO in the list of installable services. With the "Have Disk" it throws the 0xE000022F Both .INF and .SYS return the sigcheck as "Signed" |
Is this still working for 21H2? I was able to install and make a team nic but it has no internet |
I started this thread a while back and tried just about everything. I’m sure it’s possible but I just went ahead and bought another NIC. Unsupported drivers and hacks will fail sooner or later as updates are rolled out. I do appreciate all the effort but at this point I’m not sure it’s worth the work of all the dedicated people who try/tried to make LBFO work again. |
Are there any 2 port 10gb cards that have win11 drivers that support teaming? I did this work around day one and have updated the system with all available updates to date without issue. It is probably only a matter of time though.
…________________________________
From: AgentDonut ***@***.***>
Sent: Friday, August 19, 2022 8:33:33 PM
To: gsuberland/lbfo_win10
Cc: Grant Albitz; Mention
Subject: Re: [gsuberland/lbfo_win10] WIN32_EXIT_CODE : 1077 (0x435) (#1)
Is this still working for 21H2?
I was able to install and make a team nic but it has no internet
—
Reply to this email directly, view it on GitHub<#1 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AWAS4YEA47IGVNMDQIAF4F3V2ARV3ANCNFSM4TTHSTUA>.
You are receiving this because you were mentioned.Message ID: ***@***.***>
[ { ***@***.***": "http://schema.org", ***@***.***": "EmailMessage", "potentialAction": { ***@***.***": "ViewAction", "target": "#1 (comment)", "url": "#1 (comment)", "name": "View Issue" }, "description": "View this Issue on GitHub", "publisher": { ***@***.***": "Organization", "name": "GitHub", "url": "https://github.com" } } ]
|
I am running Windows 10, Version 10.0.19044 Build 19044. I followed your advice @Nodens- but worked on the files from Windows Server 2019 (not 2022). I extracted the cat files and then in a batch script I checked mslbfoprovider.inf with sigcheck against every catalog and found that the inf checks OK for: Microsoft-Windows-ServerCore-Drivers-net-Package Next I updated @gsuberland 's extract.bat and install.bat to also include this additional catalog. When I try to install the Service from Properties of some network interface, I still do not see the driver listed, but, if I use the "Have Disk" option and use the path to the installed inf file (C:\Windows\System32\DriverStore\FileRepository\mslbfoprovider.inf_amd64_9afb7ecb68781bac), then I can see the "Microsoft Load Balancing/Failover Provider" in the list and YES as you mentioned, it sais that "This driver is digitally signed.". But, when I click on OK, I still get the "Could not add the requested feature. The error is: 0xE000022F". Do you think this version of the driver might be a bit too old and I should try and get the one from Windows Server 2022 even if I am running Windows 10? Thanks |
@Nodens- I tried with drivers from windows server 2022 datacenter evaluation and I can confirm it is the same behavior as I described in my previous reply. Here is the setup.bat adjusted to include the catalog for the inf as well:
|
Ok, so I recently had to install this again and I could not figure out why it worked for me in the first place. After a couple of hours of reverse engineering and brushing up on driver development resources I finally have the proper solution and understand completely why this didn't work for a lot of people (although I still don't understand how it worked for me initially..I must have hit some kind of Windows bug). This is going to be a long post. First of all. If you have already tried to use this and specially if you tried the "Have disk" method you need to do some cleaning. If someone reading this did not try to do this before, then skip this cleaning part and proceed to the installation part below.
Ok now we're at a clean state and it's time to install. I use the files from the --Installation:
Note: I use sigcheck64, if you use x86 version replace sigcheck64 with sigcheck.
Drivers-DriverInfFiles.reg:
Drivers-DriverPackages.reg:
That's it. PS Sorry for being so descriptive but I wanted to leave no room for error. |
I have updated this comment a few times =). Just wanted to say that after an upgrade to windows 11 22h2 today teaming broke. The nics were in an odd state because they had the Microsoft Multiplexor Driver associated to them but that was not able to be unchecked. I reset networking but the issue remained. I went through the registry and removed the entries for Ethernet and Ethernet 2 connections as well as uninstalled the physical Nics. After a reboot I had 2 normal nics again, both running ipv4/6 etc. I ran through your additional cleanup steps. i downloaded the july 2022 server 2022 iso. After a first run through the mslbfoprovider.sys file was stated as being unsigned. the file is from 5/8/2021 and it is version 10.0.20348.1. Truthfully I had provided it with the wrong cat file. I checked a working/fully patched 2022 server. It has the same .sys file and version etc. Sigcheck told me that file was signed by Microsoft-Windows-Server-Features-Package015 I checked index 4 catroot folder in the .wim and that file does not exist (Microsoft-Windows-Server-Features-Package015 I copied that (Microsoft-Windows-Server-Features-Package015 everything appears to be working now. I went back and learned that if I used Microsoft-Windows-Server-Features-Package015 |
@cryptz2k Without being able to examine the installation and image, I can only guess. Perhaps the installation is not using the 4th image from .wim? Or perhaps updates (either applied after installation or those pulled automatically during installation) updated the catalog file. As a side note, I had to install a few more workstations this way with 22H2 (fresh installations) and some of them required doing the EDIT: And I forgot, yes, upgrading windows build will break the network because windows basically installs an entirely new image and migrates user installed drivers, applications and data. Since this driver is not installed as a user installed driver ( There is only one thing that can be done that is only doable for very few people. If you have an EV code signing certificate you can edit the |
@Nodens- I don't think you need to do this every time you install a system. |
Ok, fair enough. I've stopped bothering to build a separate non-LBFO version anymore so any machine I've installed in the last year or so has it by default now. Very handy at times. Strictly, there's no LBFO support in the client OS either until you put it there. Exporting the Server 2019 GUI components works fine ... and they'll survive a sysprep too! EDIT: ohh nice. Have just applied the 22h2 update to my Win10 WKS testbed and LBFO is still functioning fine. I was expecting the major update to break it (could have sworn 21h2 did?). That's going to simplify rolling the new image :) |
It is VERY strange that 22H2 didn't break it for you. Are you running with DSE off? Or you somehow managed to installed it as user installed driver without editing the .inf? |
Yes, I was very surprised that it worked. So I updated another machine - no reset there either. I do recall 21h2 breaking it, but that Microsoft changed the update delivery system around this time. DSE: no, I load the driver after a left-shift reboot - which allows for temporary DSE suspension and easy restoration by simply, rebooting afterwards. I've been using this tweak to load modified Intel network drivers since Server 2012. The dev machine is offline ATM, but I'll be getting it out for a new image rolling shortly. Will get you a file list then. |
@gsuberland @Nodens- Here the 20Gbit/s is not reached with 2x 10 in the team, however there is a slight improvement over single link. 1.1GB/s versus 1.35GB/s. This setup is HPE 561FLR-T in two computers, no switch in between. TeamingMode static, LoadBalancingAlgorithm dynamic. More important the team adapter settings. All offloads enabled, VM enabled even when not using it. Lower speeds here with other settings. More tuning to come. Will update this post only if performance goes up. |
Sorry, life has been one spot fire after another for too many months. Directory listing of my GUI included archive
Sadly for my Win10 hacks here, it's time to roll a Win11 image for general deployment. |
Hmmm, New-NetSwitchTeam doesn't seem to work at all for load distribution. Three 1gbps lines plugged into the same switch, which has one of it's 10gbps ports to the server. NVMe to NVMe = 112MBps windows copies. Yeah nah. File ripping here I come. |
@SaturnusDJ There is currently a kernel issue in Windows Client, unfixed for months (see here: https://techcommunity.microsoft.com/t5/storage-at-microsoft/slower-smb-read-performance-for-large-files-in-22h2/ba-p/3643332/emcs_t/S2h8ZW1haWx8dG9waWNfc3Vic2NyaXB0aW9ufExGTlIzMTY4WTA0VldPfDM3Nzg1NTZ8U1VCU0NSSVBUSU9OU3xoSw#comments). It is listed in known issues on every KB update note but downplayed as to its severity (it also affects local transfers). RSS seems to not be working at all and there's some inherent problem with the buffering on the kernel level. That said, I'd suggest using LACP instead of static if your switch supports it as static if prone to a lot of issues like flapping and switching loops. @Egosumumbravir thanks a lot :) Regarding New-NetSwitchTeam, it is unfortunately designed to work with Hyper-V switches and you'd only see any load-balancing benefits if you're running Hyper-V VMs (think VMQ). |
@Nodens- Since my last post I peaked at ~1.7GB/s (~13.6Gbit/s). Changing adapter settings gave a significant improvement, however still far from what it should be. I have direct connection between two computers. No switch involved, their price is too high. Here are the adapter settings (for HPE 561FLR-T, in my case):
For Microsoft Network Adapter Multiplexor Driver:
Note that some of these properties of course are configuration depended, and those should have no impact on speed. Also, quite some of these settings go against the advise found online. |
The above was for Windows to Windows. Last weekend I looked at Windows <-> Linux.
Linux MTU of adapters and bond: 9710 This last one makes a huge difference. Speed from unstable 400-900MB/s to 1.5GB/s. |
@Nodens- thanks for adding your update! I finally managed to get the driver installed and although I did need to use 'Have Disk' it did say it was signed. I rewrote the extract as a powershell script that auto-mounts the iso and pulls out the files. This It was all for naught though.. because I was slapped with this same issue, and I cannot get past it. Although it has less options, Apparently this is a common thing to do within linux; so I'm wondering whether we can leverage WSL2 and somehow pass it control over the NICs and then use its IP as the gateway in windows. |
@Hashbrown777 The issue you've hit is not using the command with proper parameters.
|
@Nodens- it's just what he wrote in the article, and he provides screenshots sans vms *shrug |
From the url you linked:
It is for teaming up NICs with virtual switches for use with Hyper-V. It is not NIC Teaming. But like I said, unless you're using Hyper-V with VMs, you won't have any use for this. |
"use"!="manage" I took that to mean "you must use *-NetSwitchTeam cmdlets, dont attempt any others to administer the virtual nic". If what you're trying to say is true idk how the guy in the also-linked-there Medium article got his results, then. Also, the whole "proper parameters" with emphasis on double quotes came; I'm intimately familiar with pwsh and its arg passing, the error message can come up for a number of reasons (such as a valid but inappropriate nic). In this case my params were fine; it worked identically with SwitchTeam. The patch over getting LBFOTeam to work seems broken. I'll try again with the timer param on lbfoteam, but Im thinking of trying to do it natively in linux, esp if switchteam is just meant to work and work on a family of hyperv wsl's anyway, and have windows push all traffic through a master. |
I did not mean to imply that you're not familiar with powershell and I apologize if it came out as such. It is just that Apart from the syntax, the only other case I've seen it fail like that was when a windows build upgrade broke the team down and the NICs were stuck in a state of being team members without a team NIC present (so Remove-NetLbfoTeam could not be used to fix it). The fast fix for this case was resetting the network stack. |
Yeah I used tab auto complete to pull the list of accepted switches and I think I tried every combo of name and teamnicname :( I was just really glad to finally get it installed after attempting those outdated instructions for so long, then when it didn't work I found people running it legit on real server editions getting hit with the same issues :/ It'd be nice if the error was more descriptive, like which parameters are wrong (is it a bad combo of algorithm and teaming mode?), is it that the named adapter wasn't found (mispelled or not quote-encapsulated), or is it an adapter it doesn't work with (vm bridge or something or maybe wifi cards aren't supported). Im also wondering whether it somehow uses a different list of adapter names to the ones we see, mine may have been renamed and the cmdlet is still somehow referencing old values. |
I tried to extract files from many versions of the image using the method here, but I always got only three files. Why is that? |
You may need to go into your images and see. If you're referencing my script it pulled this directory for me (with the correct hardcoded strings..):
|
I even tried options other than Volume 4, but always got the following results: I was never able to get the |
As you say, I've also tried manually navigating to the directory where the |
@kingofotaku, if you're using an old version of Windows Server you'll be looking for a single |
Can you tell me what version you are using? I just need a file name. Many thanks! |
I have successfully installed LFBO on the latest Win 11 pro 22H2 Build 22621.2215 as of 8/27/2023. I wasn't successful using the original method though. I ended up being stuck with the exact same problem as @Pengen at the origin of this thread (which is how I landed here). Installing the driver with "have disk" did not fix the mslbfoprovider stop code issue. I couldn't start the service manually either. Reading this thread, I saw @maxim-kiselevich 's post and files, gave it a shot (using Windows safe mode with disabled signature check), bingo. No dice with his 2022 .bat file, but it works with the 2019 one. Thank you to @gsuberland , you are a true hero. Thank you to @maxim-kiselevich for sharing his files, and thanks to all of you for the feedback which helped a lot. Edit: mslbfoprovider was not starting at boot, needed to manually start it. Figured out how to change that in the registry ( "Edit mslbfo_service.reg and set Start"=dword:00000003 to either 1 (automatic start for kernel mode drivers only) or 2 automatic. Because 3 is manual and on reboot your NIC team will not go up. 1 is better in this case as it gets up sooner." I changed it to zero instead since it was defined as: I don't know whether 0, 1 or 2 is best, but 0 works like a charm. I've edited @maxim-kiselevich 's mslbfo_service.reg file, hopefully to bulletproof future reinstalls. Thanks again, played with transfers all night, I've never had such steady maxed out speeds! |
May I ask which version of Windows Server you have used? |
Sure, in @maxim-kiselevich 's files on the post above he included two versions: Only the first one worked for me. Link to his post here. |
thanks a lot |
Did a reinstall of Win 10 Pro. |
Did a fresh install on Windows 10 Pro as per https://github.com/gsuberland/lbfo_win10/issues/1#issuecomment-1250090585. Used the latest Server 2022 image. Had to modify catalog files in extract.bat as both changed and everything worked like a charm. No need for Have disk workaround. |
Did a reinstall today on a clean Windows 10 Pro, and the service refused to start. As a last resort did a "Have disk" option - and it started and working now. Figures. |
Hi @gsuberland ,
I've tried two times to get LBFO working following your blog post step by step. Microsoft Load Balancing/Failover Provider is missing from the Network Service options and both times I end up with this sc query:
SERVICE_NAME: mslbfoprovider
TYPE : 1 KERNEL_DRIVER
STATE : 1 STOPPED
WIN32_EXIT_CODE : 1077 (0x435)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0
During extract and install everything looks normal.
Any advise?
LBFO.txt
The text was updated successfully, but these errors were encountered: