ovpn-dco-win
                                
                                
                                
                                    ovpn-dco-win copied to clipboard
                            
                            
                            
                        OpenVPN error on network device Windows 10 22H2 x64
(This was initially posted on the forum and a request was made to log it as a ticket here)
I am trying to use OpenVPN to access the ProtonVPN servers and following their instructions to set it up.
Protonvpn works on my machine by itself fine, but OpenVPN is giving me network error in the logs when trying to connect:
I followed your instructions on the forum as per below, but it hasnt resolved the issue yet. Though I had found a workaround which I am applying and then it works fine (disable the network adaptor with the issue)
Here is what I did as per request...
- 
Re-enabled the currently disabled network adaptor that was causing the issue (OpenVPN Data Channel Offload)
 - 
Installed version OpenVPN-2.6.0-I004-amd64.msi to Windows 10 x64
 - 
But then I realised hadnt run it using the logging method requested, so removed it and then ran it again using "msiexec /i OpenVPN-2.6.0-I004-amd64.msi /L*V log.txt"
 - 
sourced C:\Windows\INF\setupapi.dev.log
 - 
tested OpenVPN and same problem if OpenVPN Data Channel Offload (ROOT#NET#0004#) network adaptor is left enabled, copy of connection log for the attempt that failed is here:
 
"2023-02-16 07:23:35 DEPRECATED OPTION: --cipher set to 'AES-256-CBC' but missing in --data-ciphers (AES-256-GCM:AES-128-GCM). OpenVPN ignores --cipher for cipher negotiations. 2023-02-16 07:23:35 OpenVPN 2.6.0 [git:v2.6.0/b999466418dddb89] Windows-MSVC [SSL (OpenSSL)] [LZO] [LZ4] [PKCS11] [AEAD] [DCO] built on Feb 6 2023 2023-02-16 07:23:35 Windows version 10.0 (Windows 10 or greater), amd64 executable 2023-02-16 07:23:35 library versions: OpenSSL 3.0.7 1 Nov 2022, LZO 2.10 2023-02-16 07:23:35 MANAGEMENT: TCP Socket listening on [AF_INET]127.0.0.1:25341 2023-02-16 07:23:35 Need hold release from management interface, waiting... 2023-02-16 07:23:35 MANAGEMENT: Client connected from [AF_INET]127.0.0.1:49587 2023-02-16 07:23:35 MANAGEMENT: CMD 'state on' 2023-02-16 07:23:35 MANAGEMENT: CMD 'log on all' 2023-02-16 07:23:35 MANAGEMENT: CMD 'echo on all' 2023-02-16 07:23:35 MANAGEMENT: CMD 'bytecount 5' 2023-02-16 07:23:35 MANAGEMENT: CMD 'state' 2023-02-16 07:23:35 MANAGEMENT: CMD 'hold off' 2023-02-16 07:23:35 MANAGEMENT: CMD 'hold release' 2023-02-16 07:23:37 MANAGEMENT: CMD 'username "Auth" "xxxxxxxx"' 2023-02-16 07:23:37 MANAGEMENT: CMD 'password [...]' 2023-02-16 07:23:37 NOTE: --fast-io is disabled since we are running on Windows 2023-02-16 07:23:37 Outgoing Control Channel Authentication: Using 512 bit message hash 'SHA512' for HMAC authentication 2023-02-16 07:23:37 Incoming Control Channel Authentication: Using 512 bit message hash 'SHA512' for HMAC authentication 2023-02-16 07:23:37 TCP/UDP: Preserving recently used remote address: [AF_INET]185.107.95.209:443 2023-02-16 07:23:37 CreateFile failed on ovpn-dco device: \?\ROOT#NET#0004#{cac88484-7515-4c03-82e6-71a87abac361}\ovpn-dco 2023-02-16 07:23:37 MANAGEMENT: Client disconnected 2023-02-16 07:23:37 All ovpn-dco adapters on this system are currently in use or disabled. 2023-02-16 07:23:37 Exiting due to fatal error
- Even though network adaptors have changed position in the windows list, checking through their details I find ROOT#NET#0004# is the "OpenVPN Data Channel Offload" adaptor still. Disabling it allows OpenVPN to connect and function. The below is the log after a successful connection is established once I disabled the adaptor:
 
"
2023-02-16 07:28:55 DEPRECATED OPTION: --cipher set to 'AES-256-CBC' but missing in --data-ciphers (AES-256-GCM:AES-128-GCM). OpenVPN ignores --cipher for cipher negotiations. 2023-02-16 07:28:55 Note: ovpn-dco-win driver is missing, disabling data channel offload. 2023-02-16 07:28:55 OpenVPN 2.6.0 [git:v2.6.0/b999466418dddb89] Windows-MSVC [SSL (OpenSSL)] [LZO] [LZ4] [PKCS11] [AEAD] [DCO] built on Feb 6 2023 2023-02-16 07:28:55 Windows version 10.0 (Windows 10 or greater), amd64 executable 2023-02-16 07:28:55 library versions: OpenSSL 3.0.7 1 Nov 2022, LZO 2.10 2023-02-16 07:28:55 MANAGEMENT: TCP Socket listening on [AF_INET]127.0.0.1:25341 2023-02-16 07:28:55 Need hold release from management interface, waiting... 2023-02-16 07:28:55 MANAGEMENT: Client connected from [AF_INET]127.0.0.1:49745 2023-02-16 07:28:56 MANAGEMENT: CMD 'state on' 2023-02-16 07:28:56 MANAGEMENT: CMD 'log on all' 2023-02-16 07:28:56 MANAGEMENT: CMD 'echo on all' 2023-02-16 07:28:56 MANAGEMENT: CMD 'bytecount 5' 2023-02-16 07:28:56 MANAGEMENT: CMD 'state' 2023-02-16 07:28:56 MANAGEMENT: CMD 'hold off' 2023-02-16 07:28:56 MANAGEMENT: CMD 'hold release' 2023-02-16 07:28:57 MANAGEMENT: CMD 'username "Auth" "xxxxxxx"' 2023-02-16 07:28:57 MANAGEMENT: CMD 'password [...]' 2023-02-16 07:28:57 NOTE: --fast-io is disabled since we are running on Windows 2023-02-16 07:28:57 Outgoing Control Channel Authentication: Using 512 bit message hash 'SHA512' for HMAC authentication 2023-02-16 07:28:57 Incoming Control Channel Authentication: Using 512 bit message hash 'SHA512' for HMAC authentication 2023-02-16 07:28:57 TCP/UDP: Preserving recently used remote address: [AF_INET]185.107.95.209:7770 2023-02-16 07:28:57 Socket Buffers: R=[65536->65536] S=[65536->65536] 2023-02-16 07:28:57 Attempting to establish TCP connection with [AF_INET]185.107.95.209:7770 2023-02-16 07:28:57 MANAGEMENT: >STATE:1676496537,TCP_CONNECT,,,,,, 2023-02-16 07:28:57 TCP connection established with [AF_INET]185.107.95.209:7770 2023-02-16 07:28:57 TCPv4_CLIENT link local: (not bound) 2023-02-16 07:28:57 TCPv4_CLIENT link remote: [AF_INET]185.107.95.209:7770 2023-02-16 07:28:57 MANAGEMENT: >STATE:1676496537,WAIT,,,,,, 2023-02-16 07:28:58 MANAGEMENT: >STATE:1676496538,AUTH,,,,,, 2023-02-16 07:28:58 TLS: Initial packet from [AF_INET]185.107.95.209:7770, sid=fdf43217 bf2327bf 2023-02-16 07:28:58 WARNING: this configuration may cache passwords in memory -- use the auth-nocache option to prevent this 2023-02-16 07:28:59 VERIFY OK: depth=2, C=CH, O=ProtonVPN AG, CN=ProtonVPN Root CA 2023-02-16 07:28:59 VERIFY OK: depth=1, C=CH, O=ProtonVPN AG, CN=ProtonVPN Intermediate CA 1 2023-02-16 07:28:59 VERIFY KU OK 2023-02-16 07:28:59 Validating certificate extended key usage 2023-02-16 07:28:59 ++ Certificate has EKU (str) TLS Web Client Authentication, expects TLS Web Server Authentication 2023-02-16 07:28:59 ++ Certificate has EKU (oid) 1.3.6.1.5.5.7.3.2, expects TLS Web Server Authentication 2023-02-16 07:28:59 ++ Certificate has EKU (str) 1.3.6.1.5.5.8.2.2, expects TLS Web Server Authentication 2023-02-16 07:28:59 ++ Certificate has EKU (oid) 1.3.6.1.5.5.8.2.2, expects TLS Web Server Authentication 2023-02-16 07:28:59 ++ Certificate has EKU (str) TLS Web Server Authentication, expects TLS Web Server Authentication 2023-02-16 07:28:59 VERIFY EKU OK 2023-02-16 07:28:59 VERIFY OK: depth=0, CN=node-nl-20.protonvpn.net 2023-02-16 07:28:59 Control Channel: TLSv1.3, cipher TLSv1.3 TLS_AES_256_GCM_SHA384, peer certificate: 4096 bit RSA, signature: RSA-SHA256 2023-02-16 07:28:59 [node-nl-20.protonvpn.net] Peer Connection Initiated with [AF_INET]185.107.95.209:7770 2023-02-16 07:28:59 TLS: move_session: dest=TM_ACTIVE src=TM_INITIAL reinit_src=1 2023-02-16 07:28:59 TLS: tls_multi_process: initial untrusted session promoted to trusted 2023-02-16 07:29:00 MANAGEMENT: >STATE:1676496540,GET_CONFIG,,,,,, 2023-02-16 07:29:00 SENT CONTROL [node-nl-20.protonvpn.net]: 'PUSH_REQUEST' (status=1) 2023-02-16 07:29:00 PUSH: Received control message: 'PUSH_REPLY,dhcp-option DNS 10.83.0.1,redirect-gateway def1,explicit-exit-notify,comp-lzo no,route-gateway 10.83.0.1,topology subnet,ping 10,ping-restart 60,socket-flags TCP_NODELAY,ifconfig 10.83.0.7 255.255.0.0,peer-id 0,cipher AES-256-GCM' 2023-02-16 07:29:00 OPTIONS IMPORT: timers and/or timeouts modified 2023-02-16 07:29:00 OPTIONS IMPORT: --explicit-exit-notify can only be used with --proto udp 2023-02-16 07:29:00 OPTIONS IMPORT: compression parms modified 2023-02-16 07:29:00 OPTIONS IMPORT: --socket-flags option modified 2023-02-16 07:29:00 OPTIONS IMPORT: --ifconfig/up options modified 2023-02-16 07:29:00 OPTIONS IMPORT: route options modified 2023-02-16 07:29:00 OPTIONS IMPORT: route-related options modified 2023-02-16 07:29:00 OPTIONS IMPORT: --ip-win32 and/or --dhcp-option options modified 2023-02-16 07:29:00 OPTIONS IMPORT: peer-id set 2023-02-16 07:29:00 OPTIONS IMPORT: data channel crypto options modified 2023-02-16 07:29:00 interactive service msg_channel=464 2023-02-16 07:29:00 open_tun 2023-02-16 07:29:00 tap-windows6 device [OpenVPN TAP-Windows6] opened 2023-02-16 07:29:00 TAP-Windows Driver Version 9.24 2023-02-16 07:29:00 Set TAP-Windows TUN subnet mode network/local/netmask = 10.83.0.0/10.83.0.7/255.255.0.0 [SUCCEEDED] 2023-02-16 07:29:00 Notified TAP-Windows driver to set a DHCP IP/netmask of 10.83.0.7/255.255.0.0 on interface {16D5FAA5-B104-4F89-8481-B67667876A39} [DHCP-serv: 10.83.0.0, lease-time: 31536000] 2023-02-16 07:29:00 Successful ARP Flush on interface [16] {16D5FAA5-B104-4F89-8481-B67667876A39} 2023-02-16 07:29:00 MANAGEMENT: >STATE:1676496540,ASSIGN_IP,,10.83.0.7,,,, 2023-02-16 07:29:00 IPv4 MTU set to 1500 on interface 16 using service 2023-02-16 07:29:00 Blocking outside dns using service succeeded. 2023-02-16 07:29:00 Data Channel: using negotiated cipher 'AES-256-GCM' 2023-02-16 07:29:00 Outgoing Data Channel: Cipher 'AES-256-GCM' initialized with 256 bit key 2023-02-16 07:29:00 Incoming Data Channel: Cipher 'AES-256-GCM' initialized with 256 bit key 2023-02-16 07:29:05 TEST ROUTES: 0/0 succeeded len=-1 ret=0 a=0 u/d=down 2023-02-16 07:29:05 Route: Waiting for TUN/TAP interface to come up... 2023-02-16 07:29:06 TEST ROUTES: 0/0 succeeded len=-1 ret=0 a=0 u/d=down 2023-02-16 07:29:06 Route: Waiting for TUN/TAP interface to come up... 2023-02-16 07:29:07 TEST ROUTES: 0/0 succeeded len=-1 ret=0 a=0 u/d=down 2023-02-16 07:29:07 Route: Waiting for TUN/TAP interface to come up... 2023-02-16 07:29:08 TEST ROUTES: 1/1 succeeded len=0 ret=1 a=0 u/d=up 2023-02-16 07:29:08 C:\Windows\system32\route.exe ADD 185.107.95.209 MASK 255.255.255.255 192.168.88.254 2023-02-16 07:29:08 Route addition via service succeeded 2023-02-16 07:29:08 C:\Windows\system32\route.exe ADD 0.0.0.0 MASK 128.0.0.0 10.83.0.1 2023-02-16 07:29:08 Route addition via service succeeded 2023-02-16 07:29:08 C:\Windows\system32\route.exe ADD 128.0.0.0 MASK 128.0.0.0 10.83.0.1 2023-02-16 07:29:08 Route addition via service succeeded 2023-02-16 07:29:08 Initialization Sequence Completed 2023-02-16 07:29:08 MANAGEMENT: >STATE:1676496548,CONNECTED,SUCCESS,10.83.0.7,185.107.95.209,7770,192.168.88.168,49746
- I had a quick check through both attached logs for privacy issues and removed password/username data where I found it. If I have left something in there which should not be revealed, please let me know.
 
Hi @mdkberry,
I checked the logs and so far I could not spot anything wrong. I need to get more data, could you please:
- Install 2.6.0-I005 - it has some tweaks to the driver which might help
 - Replace your 
C:\Program Files\OpenVPN\bin\openvpn.exewith the one from this artifacts bundle - I added some additional logging to the adapter selection logic - Set 
verb 6in your.ovpnprofile to enable that additional logging - Enable driver logs at boot - run this reg file on your machine
 - Reboot
 - Reproduce the problem
 - Provide me openvpn log and driver log, which will appear at 
C:\Windows\System32\LogFiles\WMI\ovpn-dco.etl 
I am getting a similar error using 2.6.2. My scenario is possibly a little different though. I have a persistent vpn connection configured which works perfectly, but I sometime need to open a second vpn connection manually using the gui client. When I do this I get this log.
2023-04-04 09:24:04 OpenVPN 2.6.2 [git:v2.6.2/3577442530eb7830] Windows-MSVC [SSL (OpenSSL)] [LZO] [LZ4] [PKCS11] [AEAD] [DCO] built on Mar 24 2023
2023-04-04 09:24:04 Windows version 10.0 (Windows 10 or greater), amd64 executable
2023-04-04 09:24:04 library versions: OpenSSL 3.0.8 7 Feb 2023, LZO 2.10
2023-04-04 09:24:04 DCO version: v0
2023-04-04 09:24:08 TCP/UDP: Preserving recently used remote address: [AF_INET]X.X.X.X:1194
2023-04-04 09:24:08 All ovpn-dco adapters on this system are currently in use or disabled.
2023-04-04 09:24:08 Exiting due to fatal error
The manual connection works if I stop the OpenVPNService service.
Is there a way to get this to work or is it a limitation of the ovpn-dco-win driver?
Hi @Makin-Things ,
I sometime need to open a second vpn connection
If you need to open a second VPN connection, you need to create an additional DCO adapter. You should have a shortcut in your Start menu Add a new dco-win virtual network adapter.

And now I feel really stupid, but no amount of googling gave me that solution. tbh I didn't think to look for other stuff in the start menu, but just the gui menus. Possibly a doco/faq update to add that? Thank you.
You are right, this should be better communicated to users. As a minimum a better error message explaining what to do. The ultimate solution would be to create adapters on demand in this case.
On demand would be awesome. Also, sorry for hijacking what I thought was a related issue when it turns out it definitely wasn't.
Hi @Makin-Things ,
I sometime need to open a second vpn connection
If you need to open a second VPN connection, you need to create an additional DCO adapter. You should have a shortcut in your Start menu Add a new dco-win virtual network adapter.
I have the same issue but unfotunately one or multiple new dco-win adapters not help. 😖 I have Windows 11 (22H2).
What does the log looks like when you have multiple DCO adapters and try to connect?Lähetetty iPhonestaRobin Hermann @.***> kirjoitti 1.5.2023 kello 16.41:
Hi @Makin-Things ,
I sometime need to open a second vpn connection
If you need to open a second VPN connection, you need to create an additional DCO adapter. You should have a shortcut in your Start menu Add a new dco-win virtual network adapter.
I have the same issue but unfotunately one or multiple new dco-win adapters not help. 😖 I have Windows 11 (22H2).
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>
@lstipakov not much:
2023-05-02 07:54:01 OpenVPN 2.6.3 [git:v2.6.3/94aad8c51043a805] Windows-MSVC [SSL (OpenSSL)] [LZO] [LZ4] [PKCS11] [AEAD] [DCO] built on Apr 26 2023
2023-05-02 07:54:01 Windows version 10.0 (Windows 10 or greater), amd64 executable
2023-05-02 07:54:01 library versions: OpenSSL 3.1.0 14 Mar 2023, LZO 2.10
2023-05-02 07:54:01 DCO version: v0
2023-05-02 07:54:03 TCP/UDP: Preserving recently used remote address: [AF_INET]xx.xx.xxx.xxx:xxxx
2023-05-02 07:54:03 All ovpn-dco adapters on this system are currently in use or disabled.
2023-05-02 07:54:03 Exiting due to fatal error
                                    
                                    
                                    
                                
I cannot reproduce this - just tried two simultaneous DCO connection. Could you past log with verb 6? Here is my logs for the second connection:
2023-05-02 09:34:55 us=93000 OpenVPN 2.6.3 [git:unknown/unknown] Windows-MSVC [SSL (OpenSSL)] [LZO] [LZ4] [PKCS11] [AEAD] [DCO] built on May  1 2023
2023-05-02 09:34:55 us=93000 Windows version 10.0 (Windows 10 or greater), amd64 executable
2023-05-02 09:34:55 us=93000 library versions: OpenSSL 3.1.0 14 Mar 2023, LZO 2.10
2023-05-02 09:34:55 us=93000 DCO version: v0
2023-05-02 09:34:55 us=93000 MANAGEMENT: TCP Socket listening on [AF_INET]127.0.0.1:25373
2023-05-02 09:34:55 us=93000 Need hold release from management interface, waiting...
2023-05-02 09:34:55 us=593000 MANAGEMENT: Client connected from [AF_INET]127.0.0.1:64367
2023-05-02 09:34:55 us=718000 MANAGEMENT: CMD 'state on'
2023-05-02 09:34:55 us=718000 MANAGEMENT: CMD 'log on all'
2023-05-02 09:34:56 us=15000 MANAGEMENT: CMD 'echo on all'
2023-05-02 09:34:56 us=15000 MANAGEMENT: CMD 'bytecount 5'
2023-05-02 09:34:56 us=15000 MANAGEMENT: CMD 'state'
2023-05-02 09:34:56 us=31000 MANAGEMENT: CMD 'hold off'
2023-05-02 09:34:56 us=31000 MANAGEMENT: CMD 'hold release'
2023-05-02 09:34:56 us=31000 WARNING: No server certificate verification method has been enabled.  See http://openvpn.net/howto.html#mitm for more info.
2023-05-02 09:34:56 us=31000 Control Channel MTU parms [ mss_fix:0 max_frag:0 tun_mtu:1250 tun_max_mtu:0 headroom:126 payload:1600 tailroom:126 ET:0 ]
2023-05-02 09:34:56 us=31000 Data Channel MTU parms [ mss_fix:0 max_frag:0 tun_mtu:1500 tun_max_mtu:1600 headroom:136 payload:1768 tailroom:562 ET:0 ]
2023-05-02 09:34:56 us=31000 TCP/UDP: Preserving recently used remote address: [AF_INET]aaa.bbb.ccc.ddd:1194
2023-05-02 09:34:56 us=31000 Enumerate drivers in registy: 
2023-05-02 09:34:56 us=31000 NetCfgInstanceId: {6C0B8124-3335-4925-A358-5A8F7D7594CA}, Driver: ovpn-dco
2023-05-02 09:34:56 us=31000 NetCfgInstanceId: {5760F0EC-DB24-4CF7-864A-88D62446027B}, Driver: wintun
2023-05-02 09:34:56 us=31000 NetCfgInstanceId: {64668BCF-6456-420F-81A4-752A724C0B52}, Driver: tap-windows6
2023-05-02 09:34:56 us=31000 NetCfgInstanceId: {FF4BDA60-579A-4F5A-A9A8-9ACB1ECD341E}, Driver: ovpn-dco
2023-05-02 09:34:56 us=31000 Enumerate device interface lists:
2023-05-02 09:34:56 us=31000 NetCfgInstanceId: {CFE28319-61B5-44AE-9EB6-9296DC727BC9}, Device Interface: \\?\SWD#MSRRAS#MS_PPPOEMINIPORT#{cac88484-7515-4c03-82e6-71a87abac361}
2023-05-02 09:34:56 us=31000 NetCfgInstanceId: {42B45AA7-2361-470E-8D91-1FD167770BEF}, Device Interface: \\?\ROOT#VMS_VSMP#0001#{cac88484-7515-4c03-82e6-71a87abac361}
2023-05-02 09:34:56 us=31000 NetCfgInstanceId: {6C0B8124-3335-4925-A358-5A8F7D7594CA}, Device Interface: \\?\ROOT#NET#0000#{cac88484-7515-4c03-82e6-71a87abac361}\{6C0B8124-3335-4925-A358-5A8F7D7594CA}
2023-05-02 09:34:56 us=31000 NetCfgInstanceId: {6C0B8124-3335-4925-A358-5A8F7D7594CA}, Device Interface: \\?\ROOT#NET#0000#{cac88484-7515-4c03-82e6-71a87abac361}\ovpn-dco
2023-05-02 09:34:56 us=31000 NetCfgInstanceId: {5760F0EC-DB24-4CF7-864A-88D62446027B}, Device Interface: \\?\ROOT#NET#0001#{cac88484-7515-4c03-82e6-71a87abac361}
2023-05-02 09:34:56 us=31000 NetCfgInstanceId: {0E0DE525-9C73-4961-9AC8-3A15EA5AB631}, Device Interface: \\?\SWD#MSRRAS#MS_PPTPMINIPORT#{cac88484-7515-4c03-82e6-71a87abac361}
2023-05-02 09:34:56 us=31000 NetCfgInstanceId: {1D5B0428-FC73-4044-B17F-330F3CD45D2C}, Device Interface: \\?\SWD#MSRRAS#MS_AGILEVPNMINIPORT#{cac88484-7515-4c03-82e6-71a87abac361}
2023-05-02 09:34:56 us=31000 NetCfgInstanceId: {B1BBBC18-CAD2-4588-A513-D85C9FAB9218}, Device Interface: \\?\SWD#MSRRAS#MS_NDISWANBH#{cac88484-7515-4c03-82e6-71a87abac361}
2023-05-02 09:34:56 us=31000 NetCfgInstanceId: {FD4DC00B-C4F9-4586-AECE-EE02E0ECD53A}, Device Interface: \\?\SWD#MSRRAS#MS_NDISWANIP#{cac88484-7515-4c03-82e6-71a87abac361}
2023-05-02 09:34:56 us=31000 NetCfgInstanceId: {E4528C43-B149-4FDB-A633-AAF86B754F29}, Device Interface: \\?\SWD#MSRRAS#MS_SSTPMINIPORT#{cac88484-7515-4c03-82e6-71a87abac361}
2023-05-02 09:34:56 us=31000 NetCfgInstanceId: {73D1BFE4-63A4-40CE-A7D1-81DCDCD83107}, Device Interface: \\?\PCI#VEN_8086&DEV_24FD&SUBSYS_00108086&REV_78#84FDD1FFFFE81E6C00#{cac88484-7515-4c03-82e6-71a87abac361}
2023-05-02 09:34:56 us=31000 NetCfgInstanceId: {DB30EF69-31D1-4DD8-893F-8D941E6CBCA2}, Device Interface: \\?\PCI#VEN_8086&DEV_15D8&SUBSYS_225C17AA&REV_21#3&11583659&1&FE#{cac88484-7515-4c03-82e6-71a87abac361}
2023-05-02 09:34:56 us=31000 NetCfgInstanceId: {2960E1E9-3251-41E6-A5A8-789C415C0F45}, Device Interface: \\?\ROOT#VMS_MP#0001#{cac88484-7515-4c03-82e6-71a87abac361}
2023-05-02 09:34:56 us=31000 NetCfgInstanceId: {1897FA47-7457-423B-9537-AAB2B4B73D4E}, Device Interface: \\?\{5d624f94-8850-40c3-a3fa-a4fd2080baf3}#vwifimp_wfd#5&3a2dc7ac&1&11#{cac88484-7515-4c03-82e6-71a87abac361}
2023-05-02 09:34:56 us=31000 NetCfgInstanceId: {35AA0192-5433-49C6-86AF-9D09C96ACBAF}, Device Interface: \\?\{5d624f94-8850-40c3-a3fa-a4fd2080baf3}#vwifimp_wfd#5&3a2dc7ac&1&12#{cac88484-7515-4c03-82e6-71a87abac361}
2023-05-02 09:34:56 us=31000 NetCfgInstanceId: {01CA972F-2E92-4483-AF0F-972085D03C4A}, Device Interface: \\?\BTH#MS_BTHPAN#6&2d9163f5&0&2#{cac88484-7515-4c03-82e6-71a87abac361}
2023-05-02 09:34:56 us=31000 NetCfgInstanceId: {24E93F33-5286-4BE7-BC72-69A11285CAF2}, Device Interface: \\?\SWD#MSRRAS#MS_NDISWANIPV6#{cac88484-7515-4c03-82e6-71a87abac361}
2023-05-02 09:34:56 us=31000 NetCfgInstanceId: {257B89AE-3B56-4CB5-AE57-EF68DC0ECE40}, Device Interface: \\?\SWD#MSRRAS#MS_L2TPMINIPORT#{cac88484-7515-4c03-82e6-71a87abac361}
2023-05-02 09:34:56 us=31000 NetCfgInstanceId: {0CAC02BE-811D-4553-B988-E19257437AB8}, Device Interface: \\?\ROOT#VMS_VSMP#0000#{cac88484-7515-4c03-82e6-71a87abac361}
2023-05-02 09:34:56 us=31000 NetCfgInstanceId: {230CA413-C39E-42C4-9238-CE5C1E2235E6}, Device Interface: \\?\ROOT#VMS_MP#0000#{cac88484-7515-4c03-82e6-71a87abac361}
2023-05-02 09:34:56 us=31000 NetCfgInstanceId: {C4BFB002-A1B7-4470-9601-5AA4BAD02E49}, Device Interface: \\?\ROOT#NET#0003#{cac88484-7515-4c03-82e6-71a87abac361}
2023-05-02 09:34:56 us=31000 NetCfgInstanceId: {64668BCF-6456-420F-81A4-752A724C0B52}, Device Interface: \\?\ROOT#NET#0002#{cac88484-7515-4c03-82e6-71a87abac361}
2023-05-02 09:34:56 us=31000 NetCfgInstanceId: {FF4BDA60-579A-4F5A-A9A8-9ACB1ECD341E}, Device Interface: \\?\ROOT#NET#0004#{cac88484-7515-4c03-82e6-71a87abac361}\ovpn-dco
2023-05-02 09:34:56 us=31000 NetCfgInstanceId: {FF4BDA60-579A-4F5A-A9A8-9ACB1ECD341E}, Device Interface: \\?\ROOT#NET#0004#{cac88484-7515-4c03-82e6-71a87abac361}\{FF4BDA60-579A-4F5A-A9A8-9ACB1ECD341E}
2023-05-02 09:34:56 us=31000 Using device interface: \\?\ROOT#NET#0000#{cac88484-7515-4c03-82e6-71a87abac361}\ovpn-dco
2023-05-02 09:34:56 us=46000 CreateFile failed on ovpn-dco device: \\?\ROOT#NET#0000#{cac88484-7515-4c03-82e6-71a87abac361}\ovpn-dco: Access is denied.   (errno=5)
2023-05-02 09:34:56 us=46000 Using device interface: \\?\ROOT#NET#0004#{cac88484-7515-4c03-82e6-71a87abac361}\ovpn-dco
2023-05-02 09:34:56 us=46000 ovpn-dco device [Local Area Connection 4] opened
2023-05-02 09:34:56 us=46000 dco_create_socket
2023-05-02 09:34:56 us=46000 UDP link local: (not bound)
2023-05-02 09:34:56 us=46000 UDP link remote: [AF_INET]aaa.bbb.ccc.ddd:1194
2023-05-02 09:34:56 us=46000 MANAGEMENT: >STATE:1683009296,WAIT,,,,,,
2023-05-02 09:34:56 us=46000 UDP WRITE [14] to [AF_INET]aaa.bbb.ccc.ddd:1194: P_CONTROL_HARD_RESET_CLIENT_V2 kid=0 [ ] pid=0 DATA len=0
After trying and failing device \\?\ROOT#NET#0000, openvpn tries and succeeds with \\?\ROOT#NET#0004.
Any news?
Please try the latest release (2.6.4) with verb 6 logs.
[...]The ultimate solution would be to create adapters on demand in this case.
Beware that some users maintain tunnels manually using the GUI only and with restricted permissions under Windows as non-admin. One can't easily add new interfaces in such cases unless it's done by the interactive service or stuff. Additionally, it seems that the OpenVPN MSI creates some usefully names OpenVPN Data Channel Offload, while your mentioned shortcut and the called tapctl.exe create --hwid ovpn-dco seems to create new interfaces with pretty bad generic names, e.g. LAN-Verbindung 2 in German language. If OpenVPN really creates many of these somewhat generic named interfaces, it might be difficult to know which was created why and used for what.
How does OpenVPN decide which DCO to use at all? It seems to simply try the existing ones in order? I have multiple tunnels configured and all have their own individually named interface, but --dev-node is ignored when DCO is available. Is something like that available to assign one DCO interface to one concrete tunnel config or do I need to think in DCO interface pools instead? I additionally have one TAP-based VPN for which Windows' interface I configured a pretty low metric directly in the Windows GUI settings, simply because of the 1:1 mapping. Things like these wouldn't be possible anymore with some pool-approach.
Beware that some users maintain tunnels manually using the GUI only and with restricted permissions under Windows as non-admin. One can't easily add new interfaces in such cases unless it's done by the interactive service or stuff.
Yeah, interactive service would be a one way to do it. A simpler solution would be to call tapctl, which due to manifest prompts for elevation, but that won't work for users without admin access or non-interactive connections.
Additionally, it seems that the OpenVPN MSI creates some usefully names
OpenVPN Data Channel Offload, while your mentioned shortcut and the calledtapctl.exe create --hwid ovpn-dcoseems to create new interfaces with pretty bad generic names, e.g.LAN-Verbindung 2in German language. If OpenVPN really creates many of these somewhat generic named interfaces, it might be difficult to know which was created why and used for what.
Right. Probably tapctl could be a little smarter and, if no name is given, use driver-specific name and some random suffix at the end?
How does OpenVPN decide which DCO to use at all? It seems to simply try the existing ones in order?
Assuming profile options are compatible, OpenVPN uses DCO by default starting from 2.6. If no DCO adapters are available, connection will fail.
I have multiple tunnels configured and all have their own individually named interface, but
--dev-nodeis ignored when DCO is available. Is something like that available to assign one DCO interface to one concrete tunnel config or do I need to think in DCO interface pools instead?
I have to admit I haven't tested --dev-node with DCO, so no surprise it doesn't work. Right now you may want to think of DCO interface pools.
I additionally have one TAP-based VPN for which Windows' interface I configured a pretty low metric directly in the Windows GUI settings, simply because of the 1:1 mapping. Things like these wouldn't be possible anymore with some pool-approach.
Right. Maybe we should indeed add --dev-node support for DCO.
Right. Probably tapctl could be a little smarter and, if no name is given, use driver-specific name and some random suffix at the end?
Windows seems to generate some name as well already for each new device, which might be reused. 1:1 or without the # or something like that.
+1 on --dev-node support for DCO interfaces.  Naively I had expected this to "just work" as part of device/driver search...
Right. Probably tapctl could be a little smarter and, if no name is given, use driver-specific name and some random suffix at the end?
Windows seems to generate some name as well already for each new device, which might be reused. 1:1 or without the
#or something like that.
My understanding is that those are device descriptions, taken from .inf file, with #x added at the end. We probably want a better naming for adapters in "Network Connections" window:
My understanding is that those are device descriptions, taken from .inf file, with #x added at the end. We probably want a better naming for adapters in "Network Connections" window:
Exactly, but one approach might be to simply use the device descriptions already generated by Windows itself. I'm simply following that naming scheme myself right now, because it's somewhat easy to understand and the MSI creates the same name for the first device.
I'm getting this same error as well. Is there any fix? Out of nowhere I'm unable to connect to my VPNs...
Please provide the log file with verb 6.
I get the same error message and have no solution for it. So I am still using the TAP-Windows adapters.
@R-Studio as I asked above, please paste the log with verb 6.
@lstipakov I have no option or I don't know how to change the verbosity:
You need to add verb 6 to your .ovpn profile. I believe it is Konfiguration ändern in your localization.
Here the log output with verbosity 6:
2023-11-07 11:44:27 us=531000 DEPRECATED OPTION: --cipher set to 'AES-256-CBC' but missing in --data-ciphers (AES-256-GCM:AES-128-GCM:CHACHA20-POLY1305). OpenVPN ignores --cipher for cipher negotiations. 
2023-11-07 11:44:27 us=531000 Current Parameter Settings:
2023-11-07 11:44:27 us=531000   config = '<REDACTED>.ovpn'
2023-11-07 11:44:27 us=531000   mode = 0
2023-11-07 11:44:27 us=531000   show_ciphers = DISABLED
2023-11-07 11:44:27 us=531000   show_digests = DISABLED
2023-11-07 11:44:27 us=531000   show_engines = DISABLED
2023-11-07 11:44:27 us=531000   genkey = DISABLED
2023-11-07 11:44:27 us=531000   genkey_filename = '[UNDEF]'
2023-11-07 11:44:27 us=531000   key_pass_file = '[UNDEF]'
2023-11-07 11:44:27 us=531000   show_tls_ciphers = DISABLED
2023-11-07 11:44:27 us=531000   connect_retry_max = 0
2023-11-07 11:44:27 us=531000 Connection profiles [0]:
2023-11-07 11:44:27 us=531000   proto = udp
2023-11-07 11:44:27 us=531000   local = '[UNDEF]'
2023-11-07 11:44:27 us=531000   local_port = '0'
2023-11-07 11:44:27 us=531000   remote = '<REDACTED>'
2023-11-07 11:44:27 us=531000   remote_port = '<REDACTED>'
2023-11-07 11:44:27 us=531000   remote_float = DISABLED
2023-11-07 11:44:27 us=531000   bind_defined = DISABLED
2023-11-07 11:44:27 us=531000   bind_local = ENABLED
2023-11-07 11:44:27 us=531000   bind_ipv6_only = DISABLED
2023-11-07 11:44:27 us=531000   connect_retry_seconds = 1
2023-11-07 11:44:27 us=531000   connect_timeout = 120
2023-11-07 11:44:27 us=546000   socks_proxy_server = '[UNDEF]'
2023-11-07 11:44:27 us=546000   socks_proxy_port = '[UNDEF]'
2023-11-07 11:44:27 us=546000   tun_mtu = 1500
2023-11-07 11:44:27 us=546000   tun_mtu_defined = ENABLED
2023-11-07 11:44:27 us=546000   link_mtu = 1500
2023-11-07 11:44:27 us=546000   link_mtu_defined = DISABLED
2023-11-07 11:44:27 us=546000   tun_mtu_extra = 0
2023-11-07 11:44:27 us=546000   tun_mtu_extra_defined = DISABLED
2023-11-07 11:44:27 us=546000   tls_mtu = 1250
2023-11-07 11:44:27 us=546000   mtu_discover_type = -1
2023-11-07 11:44:27 us=546000   fragment = 0
2023-11-07 11:44:27 us=546000   mssfix = 1492
2023-11-07 11:44:27 us=546000   mssfix_encap = ENABLED
2023-11-07 11:44:27 us=546000   mssfix_fixed = DISABLED
2023-11-07 11:44:27 us=546000   explicit_exit_notification = 0
2023-11-07 11:44:27 us=546000   tls_auth_file = '[INLINE]'
2023-11-07 11:44:27 us=546000   key_direction = 1
2023-11-07 11:44:27 us=546000   tls_crypt_file = '[UNDEF]'
2023-11-07 11:44:27 us=546000   tls_crypt_v2_file = '[UNDEF]'
2023-11-07 11:44:27 us=546000 Connection profiles END
2023-11-07 11:44:27 us=546000   remote_random = DISABLED
2023-11-07 11:44:27 us=546000   ipchange = '[UNDEF]'
2023-11-07 11:44:27 us=546000   dev = 'tun'
2023-11-07 11:44:27 us=546000   dev_type = '[UNDEF]'
2023-11-07 11:44:27 us=546000   dev_node = '[UNDEF]'
2023-11-07 11:44:27 us=546000   tuntap_options.disable_dco = DISABLED
2023-11-07 11:44:27 us=546000   lladdr = '[UNDEF]'
2023-11-07 11:44:27 us=546000   topology = 1
2023-11-07 11:44:27 us=546000   ifconfig_local = '[UNDEF]'
2023-11-07 11:44:27 us=546000   ifconfig_remote_netmask = '[UNDEF]'
2023-11-07 11:44:27 us=546000   ifconfig_noexec = DISABLED
2023-11-07 11:44:27 us=546000   ifconfig_nowarn = DISABLED
2023-11-07 11:44:27 us=546000   ifconfig_ipv6_local = '[UNDEF]'
2023-11-07 11:44:27 us=546000   ifconfig_ipv6_netbits = 0
2023-11-07 11:44:27 us=546000   ifconfig_ipv6_remote = '[UNDEF]'
2023-11-07 11:44:27 us=546000   shaper = 0
2023-11-07 11:44:27 us=546000   mtu_test = 0
2023-11-07 11:44:27 us=546000   mlock = DISABLED
2023-11-07 11:44:27 us=546000   keepalive_ping = 0
2023-11-07 11:44:27 us=546000   keepalive_timeout = 0
2023-11-07 11:44:27 us=546000   inactivity_timeout = 0
2023-11-07 11:44:27 us=546000   session_timeout = 0
2023-11-07 11:44:27 us=546000   inactivity_minimum_bytes = 0
2023-11-07 11:44:27 us=546000   ping_send_timeout = 0
2023-11-07 11:44:27 us=546000   ping_rec_timeout = 0
2023-11-07 11:44:27 us=546000   ping_rec_timeout_action = 0
2023-11-07 11:44:27 us=546000   ping_timer_remote = DISABLED
2023-11-07 11:44:27 us=546000   remap_sigusr1 = 0
2023-11-07 11:44:27 us=546000   persist_tun = ENABLED
2023-11-07 11:44:27 us=546000   persist_local_ip = DISABLED
2023-11-07 11:44:27 us=546000   persist_remote_ip = DISABLED
2023-11-07 11:44:27 us=546000   persist_key = ENABLED
2023-11-07 11:44:27 us=546000   passtos = DISABLED
2023-11-07 11:44:27 us=546000   resolve_retry_seconds = 1000000000
2023-11-07 11:44:27 us=546000   resolve_in_advance = DISABLED
2023-11-07 11:44:27 us=546000   username = '[UNDEF]'
2023-11-07 11:44:27 us=546000   groupname = '[UNDEF]'
2023-11-07 11:44:27 us=546000   chroot_dir = '[UNDEF]'
2023-11-07 11:44:27 us=546000   cd_dir = '[UNDEF]'
2023-11-07 11:44:27 us=546000   writepid = '[UNDEF]'
2023-11-07 11:44:27 us=546000   up_script = '[UNDEF]'
2023-11-07 11:44:27 us=546000   down_script = '[UNDEF]'
2023-11-07 11:44:27 us=546000   down_pre = DISABLED
2023-11-07 11:44:27 us=546000   up_restart = DISABLED
2023-11-07 11:44:27 us=546000   up_delay = DISABLED
2023-11-07 11:44:27 us=546000   daemon = DISABLED
2023-11-07 11:44:27 us=546000   log = ENABLED
2023-11-07 11:44:27 us=546000   suppress_timestamps = DISABLED
2023-11-07 11:44:27 us=546000   machine_readable_output = DISABLED
2023-11-07 11:44:27 us=546000   nice = 0
2023-11-07 11:44:27 us=546000   verbosity = 6
2023-11-07 11:44:27 us=546000   mute = 0
2023-11-07 11:44:27 us=546000   status_file = '[UNDEF]'
2023-11-07 11:44:27 us=546000   status_file_version = 1
2023-11-07 11:44:27 us=546000   status_file_update_freq = 60
2023-11-07 11:44:27 us=546000   occ = ENABLED
2023-11-07 11:44:27 us=546000   rcvbuf = 0
2023-11-07 11:44:27 us=546000   sndbuf = 0
2023-11-07 11:44:27 us=546000   sockflags = 0
2023-11-07 11:44:27 us=546000   fast_io = DISABLED
2023-11-07 11:44:27 us=546000   comp.alg = 0
2023-11-07 11:44:27 us=546000   comp.flags = 152
2023-11-07 11:44:27 us=546000   route_script = '[UNDEF]'
2023-11-07 11:44:27 us=546000   route_default_gateway = '[UNDEF]'
2023-11-07 11:44:27 us=546000   route_default_metric = 0
2023-11-07 11:44:27 us=546000   route_noexec = DISABLED
2023-11-07 11:44:27 us=546000   route_delay = 0
2023-11-07 11:44:27 us=546000   route_delay_window = 30
2023-11-07 11:44:27 us=546000   route_delay_defined = DISABLED
2023-11-07 11:44:27 us=546000   route_nopull = DISABLED
2023-11-07 11:44:27 us=546000   route_gateway_via_dhcp = DISABLED
2023-11-07 11:44:27 us=546000   allow_pull_fqdn = DISABLED
2023-11-07 11:44:27 us=546000   Pull filters:
2023-11-07 11:44:27 us=546000     ignore "route-method"
2023-11-07 11:44:27 us=546000   management_addr = '127.0.0.1'
2023-11-07 11:44:27 us=546000   management_port = '25341'
2023-11-07 11:44:27 us=546000   management_user_pass = 'stdin'
2023-11-07 11:44:27 us=546000   management_log_history_cache = 250
2023-11-07 11:44:27 us=546000   management_echo_buffer_size = 100
2023-11-07 11:44:27 us=546000   management_client_user = '[UNDEF]'
2023-11-07 11:44:27 us=546000   management_client_group = '[UNDEF]'
2023-11-07 11:44:27 us=546000   management_flags = 6
2023-11-07 11:44:27 us=546000   shared_secret_file = '[UNDEF]'
2023-11-07 11:44:27 us=546000   key_direction = 1
2023-11-07 11:44:27 us=546000   ciphername = 'AES-256-CBC'
2023-11-07 11:44:27 us=546000   ncp_ciphers = 'AES-256-GCM:AES-128-GCM:CHACHA20-POLY1305'
2023-11-07 11:44:27 us=546000   authname = 'SHA3-256'
2023-11-07 11:44:27 us=546000   engine = DISABLED
2023-11-07 11:44:27 us=546000   replay = ENABLED
2023-11-07 11:44:27 us=546000   mute_replay_warnings = DISABLED
2023-11-07 11:44:27 us=546000   replay_window = 64
2023-11-07 11:44:27 us=546000   replay_time = 15
2023-11-07 11:44:27 us=546000   packet_id_file = '[UNDEF]'
2023-11-07 11:44:27 us=546000   test_crypto = DISABLED
2023-11-07 11:44:27 us=546000   tls_server = DISABLED
2023-11-07 11:44:27 us=546000   tls_client = ENABLED
2023-11-07 11:44:27 us=546000   ca_file = '[INLINE]'
2023-11-07 11:44:27 us=546000   ca_path = '[UNDEF]'
2023-11-07 11:44:27 us=546000   dh_file = '[UNDEF]'
2023-11-07 11:44:27 us=546000   cert_file = '[INLINE]'
2023-11-07 11:44:27 us=546000   extra_certs_file = '[UNDEF]'
2023-11-07 11:44:27 us=546000   priv_key_file = '[INLINE]'
2023-11-07 11:44:27 us=546000   pkcs12_file = '[UNDEF]'
2023-11-07 11:44:27 us=546000   cryptoapi_cert = '[UNDEF]'
2023-11-07 11:44:27 us=546000   cipher_list = '[UNDEF]'
2023-11-07 11:44:27 us=546000   cipher_list_tls13 = '[UNDEF]'
2023-11-07 11:44:27 us=546000   tls_cert_profile = '[UNDEF]'
2023-11-07 11:44:27 us=546000   tls_verify = '[UNDEF]'
2023-11-07 11:44:27 us=546000   tls_export_cert = '[UNDEF]'
2023-11-07 11:44:27 us=546000   verify_x509_type = 1
2023-11-07 11:44:27 us=546000   verify_x509_name = '<REDACTED>'
2023-11-07 11:44:27 us=546000   crl_file = '[UNDEF]'
2023-11-07 11:44:27 us=546000   ns_cert_type = 0
2023-11-07 11:44:27 us=546000   remote_cert_ku[i] = 65535
2023-11-07 11:44:27 us=546000   remote_cert_ku[i] = 0
2023-11-07 11:44:27 us=546000   remote_cert_ku[i] = 0
2023-11-07 11:44:27 us=546000   remote_cert_ku[i] = 0
2023-11-07 11:44:27 us=546000   remote_cert_ku[i] = 0
2023-11-07 11:44:27 us=546000   remote_cert_ku[i] = 0
2023-11-07 11:44:27 us=546000   remote_cert_ku[i] = 0
2023-11-07 11:44:27 us=546000   remote_cert_ku[i] = 0
2023-11-07 11:44:27 us=546000   remote_cert_ku[i] = 0
2023-11-07 11:44:27 us=546000   remote_cert_ku[i] = 0
2023-11-07 11:44:27 us=546000   remote_cert_ku[i] = 0
2023-11-07 11:44:27 us=546000   remote_cert_ku[i] = 0
2023-11-07 11:44:27 us=546000   remote_cert_ku[i] = 0
2023-11-07 11:44:27 us=546000   remote_cert_ku[i] = 0
2023-11-07 11:44:27 us=546000   remote_cert_ku[i] = 0
2023-11-07 11:44:27 us=546000   remote_cert_ku[i] = 0
2023-11-07 11:44:27 us=546000   remote_cert_eku = 'TLS Web Server Authentication'
2023-11-07 11:44:27 us=546000   ssl_flags = 192
2023-11-07 11:44:27 us=546000   tls_timeout = 2
2023-11-07 11:44:27 us=546000   renegotiate_bytes = -1
2023-11-07 11:44:27 us=546000   renegotiate_packets = 0
2023-11-07 11:44:27 us=546000   renegotiate_seconds = 0
2023-11-07 11:44:27 us=546000   handshake_window = 60
2023-11-07 11:44:27 us=546000   transition_window = 3600
2023-11-07 11:44:27 us=546000   single_session = DISABLED
2023-11-07 11:44:27 us=546000   push_peer_info = DISABLED
2023-11-07 11:44:27 us=546000   tls_exit = DISABLED
2023-11-07 11:44:27 us=546000   tls_crypt_v2_metadata = '[UNDEF]'
2023-11-07 11:44:27 us=546000   pkcs11_protected_authentication = DISABLED
2023-11-07 11:44:27 us=546000   pkcs11_protected_authentication = DISABLED
2023-11-07 11:44:27 us=546000   pkcs11_protected_authentication = DISABLED
2023-11-07 11:44:27 us=546000   pkcs11_protected_authentication = DISABLED
2023-11-07 11:44:27 us=546000   pkcs11_protected_authentication = DISABLED
2023-11-07 11:44:27 us=546000   pkcs11_protected_authentication = DISABLED
2023-11-07 11:44:27 us=546000   pkcs11_protected_authentication = DISABLED
2023-11-07 11:44:27 us=546000   pkcs11_protected_authentication = DISABLED
2023-11-07 11:44:27 us=546000   pkcs11_protected_authentication = DISABLED
2023-11-07 11:44:27 us=546000   pkcs11_protected_authentication = DISABLED
2023-11-07 11:44:27 us=546000   pkcs11_protected_authentication = DISABLED
2023-11-07 11:44:27 us=546000   pkcs11_protected_authentication = DISABLED
2023-11-07 11:44:27 us=546000   pkcs11_protected_authentication = DISABLED
2023-11-07 11:44:27 us=546000   pkcs11_protected_authentication = DISABLED
2023-11-07 11:44:27 us=546000   pkcs11_protected_authentication = DISABLED
2023-11-07 11:44:27 us=546000   pkcs11_protected_authentication = DISABLED
2023-11-07 11:44:27 us=546000   pkcs11_private_mode = 00000000
2023-11-07 11:44:27 us=546000   pkcs11_private_mode = 00000000
2023-11-07 11:44:27 us=546000   pkcs11_private_mode = 00000000
2023-11-07 11:44:27 us=546000   pkcs11_private_mode = 00000000
2023-11-07 11:44:27 us=546000   pkcs11_private_mode = 00000000
2023-11-07 11:44:27 us=546000   pkcs11_private_mode = 00000000
2023-11-07 11:44:27 us=546000   pkcs11_private_mode = 00000000
2023-11-07 11:44:27 us=546000   pkcs11_private_mode = 00000000
2023-11-07 11:44:27 us=546000   pkcs11_private_mode = 00000000
2023-11-07 11:44:27 us=546000   pkcs11_private_mode = 00000000
2023-11-07 11:44:27 us=546000   pkcs11_private_mode = 00000000
2023-11-07 11:44:27 us=546000   pkcs11_private_mode = 00000000
2023-11-07 11:44:27 us=546000   pkcs11_private_mode = 00000000
2023-11-07 11:44:27 us=546000   pkcs11_private_mode = 00000000
2023-11-07 11:44:27 us=546000   pkcs11_private_mode = 00000000
2023-11-07 11:44:27 us=546000   pkcs11_private_mode = 00000000
2023-11-07 11:44:27 us=546000   pkcs11_cert_private = DISABLED
2023-11-07 11:44:27 us=546000   pkcs11_cert_private = DISABLED
2023-11-07 11:44:27 us=546000   pkcs11_cert_private = DISABLED
2023-11-07 11:44:27 us=546000   pkcs11_cert_private = DISABLED
2023-11-07 11:44:27 us=546000   pkcs11_cert_private = DISABLED
2023-11-07 11:44:27 us=546000   pkcs11_cert_private = DISABLED
2023-11-07 11:44:27 us=546000   pkcs11_cert_private = DISABLED
2023-11-07 11:44:27 us=546000   pkcs11_cert_private = DISABLED
2023-11-07 11:44:27 us=546000   pkcs11_cert_private = DISABLED
2023-11-07 11:44:27 us=546000   pkcs11_cert_private = DISABLED
2023-11-07 11:44:27 us=546000   pkcs11_cert_private = DISABLED
2023-11-07 11:44:27 us=546000   pkcs11_cert_private = DISABLED
2023-11-07 11:44:27 us=546000   pkcs11_cert_private = DISABLED
2023-11-07 11:44:27 us=546000   pkcs11_cert_private = DISABLED
2023-11-07 11:44:27 us=546000   pkcs11_cert_private = DISABLED
2023-11-07 11:44:27 us=546000   pkcs11_cert_private = DISABLED
2023-11-07 11:44:27 us=546000   pkcs11_pin_cache_period = -1
2023-11-07 11:44:27 us=546000   pkcs11_id = '[UNDEF]'
2023-11-07 11:44:27 us=546000   pkcs11_id_management = DISABLED
2023-11-07 11:44:27 us=546000   server_network = 0.0.0.0
2023-11-07 11:44:27 us=546000   server_netmask = 0.0.0.0
2023-11-07 11:44:27 us=546000   server_network_ipv6 = ::
2023-11-07 11:44:27 us=546000   server_netbits_ipv6 = 0
2023-11-07 11:44:27 us=546000   server_bridge_ip = 0.0.0.0
2023-11-07 11:44:27 us=546000   server_bridge_netmask = 0.0.0.0
2023-11-07 11:44:27 us=546000   server_bridge_pool_start = 0.0.0.0
2023-11-07 11:44:27 us=546000   server_bridge_pool_end = 0.0.0.0
2023-11-07 11:44:27 us=546000   ifconfig_pool_defined = DISABLED
2023-11-07 11:44:27 us=546000   ifconfig_pool_start = 0.0.0.0
2023-11-07 11:44:27 us=546000   ifconfig_pool_end = 0.0.0.0
2023-11-07 11:44:27 us=546000   ifconfig_pool_netmask = 0.0.0.0
2023-11-07 11:44:27 us=546000   ifconfig_pool_persist_filename = '[UNDEF]'
2023-11-07 11:44:27 us=546000   ifconfig_pool_persist_refresh_freq = 600
2023-11-07 11:44:27 us=546000   ifconfig_ipv6_pool_defined = DISABLED
2023-11-07 11:44:27 us=546000   ifconfig_ipv6_pool_base = ::
2023-11-07 11:44:27 us=546000   ifconfig_ipv6_pool_netbits = 0
2023-11-07 11:44:27 us=546000   n_bcast_buf = 256
2023-11-07 11:44:27 us=546000   tcp_queue_limit = 64
2023-11-07 11:44:27 us=546000   real_hash_size = 256
2023-11-07 11:44:27 us=546000   virtual_hash_size = 256
2023-11-07 11:44:27 us=546000   client_connect_script = '[UNDEF]'
2023-11-07 11:44:27 us=546000   learn_address_script = '[UNDEF]'
2023-11-07 11:44:27 us=546000   client_disconnect_script = '[UNDEF]'
2023-11-07 11:44:27 us=546000   client_crresponse_script = '[UNDEF]'
2023-11-07 11:44:27 us=546000   client_config_dir = '[UNDEF]'
2023-11-07 11:44:27 us=546000   ccd_exclusive = DISABLED
2023-11-07 11:44:27 us=546000   tmp_dir = 'C:\Users\<REDACTED>\AppData\Local\Temp\'
2023-11-07 11:44:27 us=546000   push_ifconfig_defined = DISABLED
2023-11-07 11:44:27 us=546000   push_ifconfig_local = 0.0.0.0
2023-11-07 11:44:27 us=546000   push_ifconfig_remote_netmask = 0.0.0.0
2023-11-07 11:44:27 us=546000   push_ifconfig_ipv6_defined = DISABLED
2023-11-07 11:44:27 us=546000   push_ifconfig_ipv6_local = ::/0
2023-11-07 11:44:27 us=546000   push_ifconfig_ipv6_remote = ::
2023-11-07 11:44:27 us=546000   enable_c2c = DISABLED
2023-11-07 11:44:27 us=546000   duplicate_cn = DISABLED
2023-11-07 11:44:27 us=546000   cf_max = 0
2023-11-07 11:44:27 us=546000   cf_per = 0
2023-11-07 11:44:27 us=546000   cf_initial_max = 100
2023-11-07 11:44:27 us=546000   cf_initial_per = 10
2023-11-07 11:44:27 us=546000   max_clients = 1024
2023-11-07 11:44:27 us=546000   max_routes_per_client = 256
2023-11-07 11:44:27 us=546000   auth_user_pass_verify_script = '[UNDEF]'
2023-11-07 11:44:27 us=546000   auth_user_pass_verify_script_via_file = DISABLED
2023-11-07 11:44:27 us=546000   auth_token_generate = DISABLED
2023-11-07 11:44:27 us=546000   auth_token_lifetime = 0
2023-11-07 11:44:27 us=546000   auth_token_secret_file = '[UNDEF]'
2023-11-07 11:44:27 us=546000   vlan_tagging = DISABLED
2023-11-07 11:44:27 us=546000   vlan_accept = all
2023-11-07 11:44:27 us=546000   vlan_pvid = 1
2023-11-07 11:44:27 us=546000   client = ENABLED
2023-11-07 11:44:27 us=546000   pull = ENABLED
2023-11-07 11:44:27 us=546000   auth_user_pass_file = 'stdin'
2023-11-07 11:44:27 us=546000   show_net_up = DISABLED
2023-11-07 11:44:27 us=546000   route_method = 3
2023-11-07 11:44:27 us=546000   block_outside_dns = DISABLED
2023-11-07 11:44:27 us=546000   ip_win32_defined = DISABLED
2023-11-07 11:44:27 us=546000   ip_win32_type = 1
2023-11-07 11:44:27 us=546000   dhcp_masq_offset = 0
2023-11-07 11:44:27 us=546000   dhcp_lease_time = 31536000
2023-11-07 11:44:27 us=546000   tap_sleep = 0
2023-11-07 11:44:27 us=546000   dhcp_options = 0x00000000
2023-11-07 11:44:27 us=546000   dhcp_renew = DISABLED
2023-11-07 11:44:27 us=546000   dhcp_pre_release = DISABLED
2023-11-07 11:44:27 us=546000   domain = '[UNDEF]'
2023-11-07 11:44:27 us=546000   netbios_scope = '[UNDEF]'
2023-11-07 11:44:27 us=546000   netbios_node_type = 0
2023-11-07 11:44:27 us=546000   disable_nbt = DISABLED
2023-11-07 11:44:27 us=546000 OpenVPN 2.6.6 [git:v2.6.6/c9540130121bfc21] Windows-MSVC [SSL (OpenSSL)] [LZO] [LZ4] [PKCS11] [AEAD] [DCO] built on Aug 15 2023
2023-11-07 11:44:27 us=546000 Windows version 10.0 (Windows 10 or greater), amd64 executable
2023-11-07 11:44:27 us=546000 library versions: OpenSSL 3.1.2 1 Aug 2023, LZO 2.10
2023-11-07 11:44:27 us=546000 DCO version: v0
2023-11-07 11:44:27 us=546000 MANAGEMENT: TCP Socket listening on [AF_INET]127.0.0.1:25341
2023-11-07 11:44:27 us=546000 Need hold release from management interface, waiting...
2023-11-07 11:44:48 us=515000 MANAGEMENT: Client connected from [AF_INET]127.0.0.1:4154
2023-11-07 11:44:48 us=625000 MANAGEMENT: CMD 'state on'
2023-11-07 11:44:48 us=625000 MANAGEMENT: CMD 'log on all'
2023-11-07 11:44:49 us=62000 MANAGEMENT: CMD 'echo on all'
2023-11-07 11:44:49 us=62000 MANAGEMENT: CMD 'bytecount 5'
2023-11-07 11:44:49 us=78000 MANAGEMENT: CMD 'state'
2023-11-07 11:44:49 us=78000 MANAGEMENT: CMD 'hold off'
2023-11-07 11:44:49 us=78000 MANAGEMENT: CMD 'hold release'
2023-11-07 11:45:09 us=296000 MANAGEMENT: CMD 'username "Auth" "<REDACTED>"'
2023-11-07 11:45:09 us=312000 MANAGEMENT: CMD 'password [...]'
2023-11-07 11:45:09 us=343000 Outgoing Control Channel Authentication: Using 256 bit message hash 'SHA3-256' for HMAC authentication
2023-11-07 11:45:09 us=343000 Incoming Control Channel Authentication: Using 256 bit message hash 'SHA3-256' for HMAC authentication
2023-11-07 11:45:09 us=343000 Control Channel MTU parms [ mss_fix:0 max_frag:0 tun_mtu:1250 tun_max_mtu:0 headroom:126 payload:1600 tailroom:126 ET:0 ]
2023-11-07 11:45:09 us=343000 MANAGEMENT: >STATE:1699353909,RESOLVE,,,,,,
2023-11-07 11:45:11 us=562000 Data Channel MTU parms [ mss_fix:0 max_frag:0 tun_mtu:1500 tun_max_mtu:1600 headroom:136 payload:1768 tailroom:562 ET:0 ]
2023-11-07 11:45:11 us=562000 TCP/UDP: Preserving recently used remote address: [AF_INET]<REDACTED>:1194
2023-11-07 11:45:11 us=562000 Enumerate drivers in registy: 
2023-11-07 11:45:11 us=562000 NetCfgInstanceId: {E1649A4F-0288-485D-88D8-CE0302AEC0FD}, Driver: tap-windows6
2023-11-07 11:45:11 us=562000 NetCfgInstanceId: {0107D8BD-6ED5-46CD-A202-CB1FF89C0C86}, Driver: wintun
2023-11-07 11:45:11 us=562000 NetCfgInstanceId: {514BEB6D-CFCC-436E-9F3C-BB1C77E1F3C0}, Driver: ovpn-dco
2023-11-07 11:45:11 us=562000 NetCfgInstanceId: {7CDEE9BF-CCCD-43E5-A13F-3B6800A47A4E}, Driver: tap-windows6
2023-11-07 11:45:11 us=562000 NetCfgInstanceId: {ABBCC49E-1680-40DD-AB47-AD468352ED8A}, Driver: tap-windows6
2023-11-07 11:45:11 us=562000 NetCfgInstanceId: {A230D696-EA94-4D58-A2D0-3BCA64A9B8AE}, Driver: wintun
2023-11-07 11:45:11 us=562000 NetCfgInstanceId: {5E0C1BA0-98BC-4822-AD37-C9245D755F7B}, Driver: ovpn-dco
2023-11-07 11:45:11 us=562000 NetCfgInstanceId: {BB6ECF73-580E-4C8B-A5F7-960A75985905}, Driver: ovpn-dco
2023-11-07 11:45:11 us=562000 Enumerate device interface lists:
2023-11-07 11:45:11 us=562000 NetCfgInstanceId: {4DA85A75-43BC-489B-81CE-235B542F1DC9}, Device Interface: \\?\BTH#MS_BTHPAN#8&8cebe08&0&2#{cac88484-7515-4c03-82e6-71a87abac361}
2023-11-07 11:45:11 us=562000 NetCfgInstanceId: {74B1D0E2-C1F7-45DE-A3F4-184ACC32CD9D}, Device Interface: \\?\SWD#MSRRAS#MS_PPPOEMINIPORT#{cac88484-7515-4c03-82e6-71a87abac361}
2023-11-07 11:45:11 us=562000 NetCfgInstanceId: {E1649A4F-0288-485D-88D8-CE0302AEC0FD}, Device Interface: \\?\ROOT#NET#0001#{cac88484-7515-4c03-82e6-71a87abac361}
2023-11-07 11:45:11 us=562000 NetCfgInstanceId: {7CDEE9BF-CCCD-43E5-A13F-3B6800A47A4E}, Device Interface: \\?\ROOT#NET#0003#{cac88484-7515-4c03-82e6-71a87abac361}
2023-11-07 11:45:11 us=562000 NetCfgInstanceId: {ABBCC49E-1680-40DD-AB47-AD468352ED8A}, Device Interface: \\?\ROOT#NET#0004#{cac88484-7515-4c03-82e6-71a87abac361}
2023-11-07 11:45:11 us=562000 NetCfgInstanceId: {15C13AAE-D6AA-45D1-BBCF-3B108FE5EE1A}, Device Interface: \\?\ROOT#NET#0005#{cac88484-7515-4c03-82e6-71a87abac361}
2023-11-07 11:45:11 us=562000 NetCfgInstanceId: {514BEB6D-CFCC-436E-9F3C-BB1C77E1F3C0}, Device Interface: \\?\ROOT#NET#0007#{cac88484-7515-4c03-82e6-71a87abac361}\{514BEB6D-CFCC-436E-9F3C-BB1C77E1F3C0}
2023-11-07 11:45:11 us=562000 NetCfgInstanceId: {514BEB6D-CFCC-436E-9F3C-BB1C77E1F3C0}, Device Interface: \\?\ROOT#NET#0007#{cac88484-7515-4c03-82e6-71a87abac361}\ovpn-dco
2023-11-07 11:45:11 us=562000 NetCfgInstanceId: {5CB9BBB1-A05F-4A0A-BE0B-4C7B8226E973}, Device Interface: \\?\ROOT#NET#0008#{cac88484-7515-4c03-82e6-71a87abac361}
2023-11-07 11:45:11 us=562000 NetCfgInstanceId: {65A83F9B-1754-436F-9BA1-2E8D56A1BB75}, Device Interface: \\?\SWD#MSRRAS#MS_PPTPMINIPORT#{cac88484-7515-4c03-82e6-71a87abac361}
2023-11-07 11:45:11 us=562000 NetCfgInstanceId: {D1A95A40-B8DF-40DE-8CAB-13438C95FA82}, Device Interface: \\?\SWD#MSRRAS#MS_AGILEVPNMINIPORT#{cac88484-7515-4c03-82e6-71a87abac361}
2023-11-07 11:45:11 us=562000 NetCfgInstanceId: {36F8FF8A-DC3A-4CB7-8084-072577953FE8}, Device Interface: \\?\{5d624f94-8850-40c3-a3fa-a4fd2080baf3}#vwifimp_wfd#5&f1a5953&0&11#{cac88484-7515-4c03-82e6-71a87abac361}
2023-11-07 11:45:11 us=562000 NetCfgInstanceId: {7D00809A-2B43-4354-8FC1-228FC106B69D}, Device Interface: \\?\{5d624f94-8850-40c3-a3fa-a4fd2080baf3}#vwifimp_wfd#5&f1a5953&0&12#{cac88484-7515-4c03-82e6-71a87abac361}
2023-11-07 11:45:11 us=562000 NetCfgInstanceId: {3D258CA5-56D0-4C7A-9D08-A5FCC54E8553}, Device Interface: \\?\SWD#MSRRAS#MS_NDISWANBH#{cac88484-7515-4c03-82e6-71a87abac361}
2023-11-07 11:45:11 us=562000 NetCfgInstanceId: {4A74EA43-BDE4-4791-9B7B-A03D3E5F1B51}, Device Interface: \\?\SWD#MSRRAS#MS_NDISWANIP#{cac88484-7515-4c03-82e6-71a87abac361}
2023-11-07 11:45:11 us=562000 NetCfgInstanceId: {6028F007-3862-4086-9FC1-7D11665F56F3}, Device Interface: \\?\SWD#MSRRAS#MS_SSTPMINIPORT#{cac88484-7515-4c03-82e6-71a87abac361}
2023-11-07 11:45:11 us=562000 NetCfgInstanceId: {67121E08-DF1C-47A8-94C4-D54DEE638ED8}, Device Interface: \\?\USB#VID_17E9&PID_6013&MI_05#8&11bd5cc2&0&0005#{cac88484-7515-4c03-82e6-71a87abac361}
2023-11-07 11:45:11 us=562000 NetCfgInstanceId: {6E8A7732-989D-4D68-991B-15F5D0929CB4}, Device Interface: \\?\PCI#VEN_14C3&DEV_0616&SUBSYS_E0C617AA&REV_00#4&203c3454&0&0013#{cac88484-7515-4c03-82e6-71a87abac361}
2023-11-07 11:45:11 us=562000 NetCfgInstanceId: {2B007719-9489-473C-A5DF-E0F0EAFA8E8B}, Device Interface: \\?\SWD#MSRRAS#MS_NDISWANIPV6#{cac88484-7515-4c03-82e6-71a87abac361}
2023-11-07 11:45:11 us=562000 NetCfgInstanceId: {82055079-38F2-4BEE-A7F5-0FFC8C3393C9}, Device Interface: \\?\SWD#MSRRAS#MS_L2TPMINIPORT#{cac88484-7515-4c03-82e6-71a87abac361}
2023-11-07 11:45:11 us=562000 NetCfgInstanceId: {6B64981C-60C8-457B-BBD4-D8E07C65D243}, Device Interface: \\?\ROOT#VMS_VSMP#0000#{cac88484-7515-4c03-82e6-71a87abac361}
2023-11-07 11:45:11 us=562000 Using device interface: \\?\ROOT#NET#0007#{cac88484-7515-4c03-82e6-71a87abac361}\ovpn-dco
2023-11-07 11:45:11 us=562000 CreateFile failed on ovpn-dco device: \\?\ROOT#NET#0007#{cac88484-7515-4c03-82e6-71a87abac361}\ovpn-dco: Zugriff verweigert   (errno=5)
2023-11-07 11:45:11 us=562000 MANAGEMENT: Client disconnected
2023-11-07 11:45:11 us=562000 All ovpn-dco adapters on this system are currently in use or disabled.
2023-11-07 11:45:11 us=562000 Exiting due to fatal error
                                    
                                    
                                    
                                
Thanks for the log. Let's do some cleanup:
- Uninstall your openvpn client.
 - Remove devices. Run in Powershell elevated prompt: 2.1 Enumerate devices:
 
PS C:\Windows\system32> pnputil /enum-devices | Select-String "Data Channel Offload" -Context 2,0
  Instance ID:                ROOT\NET\0003
> Device Description:         OpenVPN Data Channel Offload #2
  Instance ID:                ROOT\NET\0004
> Device Description:         OpenVPN Data Channel Offload #3
2.2 Remove devices:
PS C:\Windows\system32> pnputil /remove-device ROOT\NET\0003
Microsoft PnP Utility
Removing device:          ROOT\NET\0003
Device removed successfully.
PS C:\Windows\system32> pnputil /remove-device ROOT\NET\0004
Microsoft PnP Utility
Removing device:          ROOT\NET\0004
Device removed successfully.
- Remove drivers. Run in Powershell elevated prompt: 3.1 Enumerate drivers:
 
PS C:\Windows\system32> pnputil /enum-drivers | Select-String "ovpn-dco.inf" -Context 2,5
  Published Name:     oem141.inf
> Original Name:      ovpn-dco.inf
  Provider Name:      OpenVPN, Inc
  Class Name:         Net
  Class GUID:         {4d36e972-e325-11ce-bfc1-08002be10318}
  Driver Version:     03/30/2023 0.9.3.0
  Signer Name:        Microsoft Windows Hardware Compatibility Publisher
  Published Name:     oem92.inf
> Original Name:      ovpn-dco.inf
  Provider Name:      OpenVPN, Inc
  Class Name:         Net
  Class GUID:         {4d36e972-e325-11ce-bfc1-08002be10318}
  Driver Version:     10/08/2023 1.0.0.0
  Signer Name:        Microsoft Windows Hardware Compatibility Publisher
3.2 Delete drivers:
PS C:\Windows\system32> pnputil /delete-driver oem141.inf
Microsoft PnP Utility
Driver package deleted successfully.
PS C:\Windows\system32> pnputil /delete-driver oem92.inf
Microsoft PnP Utility
Driver package deleted successfully.
After that please reinstall the client and try again.
@lstipakov I followed all of your steps and reinstalled the openvpn client. I can see now I have a newer DCO driver installed 10/08/2023 1.0.0.0 before it was 03/30/2023 0.9.3.0, but unfotunately I still can't use DCO.
For anyone who finds this in the future... I ran into the same problem. No number of uninstalls, reinstalls or adding dco or tun/tap adapters was fixing it. The common theme seems to be an access denied error. I was able to successfully circumvent the error by running the gui as an admin. The connection would go through fine. If I re-ran the gui without specifying to run it as an admin the error came back.
To FIX the problem: I ran a command window as an admin, changed to the directory where I downloaded openvpn and ran the install from the elevated command window (In my case OpenVPN-2.6.8-I001-amd64.msi). The gui now runs the connection successfully without needing admin access.
Hope this helps someone!
2024-01-09 13:46:34 us=203000 Using device interface: \\?\ROOT#NET#0002#{cac88484-7515-4c03-82e6-71a87abac361}\ovpn-dco
2024-01-09 13:46:34 us=203000 CreateFile failed on ovpn-dco device: \\?\ROOT#NET#0002#{cac88484-7515-4c03-82e6-71a87abac361}\ovpn-dco: Access is denied.   (errno=5)
2024-01-09 13:46:34 us=203000 All ovpn-dco adapters on this system are currently in use or disabled.
2024-01-09 13:46:34 us=203000 Exiting due to fatal error
                                    
                                    
                                    
                                
While it may work, running GUI as admin is not a recommended way to run OpenVPN.
Regarding the proposed fix - it is interesting that running install from elevated command prompt makes the difference - MSI does elevation by itself when needed. Would it be possible for you or someone else to run the installer both in admin and non-admin prompt and collect the logs?
msiexec.exe /i OpenVPN-2.6.8-I001-amd64.msi /L*V log.txt
To clarify, I'm only documenting running as admin as one of my steps to deal with the problem, not suggesting it should be run that way. Running the installer from admin resolved the issue so that it wasn't necessary after that. Uninstalled an re-ran to generate the attached logs. Same results with non-admin installation being unable to connect and installation run as admin being able to connect correctly.
Uploading admin_log.txt… Uploading nonadmin_log.txt…
