| 178 | == Peer to Peer OpenVPN setup for HLK == |
| 179 | |
| 180 | The following was tested with Windows 10 x64 and worked well. |
| 181 | |
| 182 | What you need: |
| 183 | 1) HLK Controller (Tested With: Windows Server 2012 R2 on VMWare and Installed HLK tools on that) |
| 184 | 2) Two Test Machines that have similar performance characteristics (preferably exactly same builds) |
| 185 | |
| 186 | Setup Steps: |
| 187 | 1) On both test Machines Install the OS you want to test on. This must match the HLK tools you installed on your controller. |
| 188 | 2) On both test machines Install OpenVPN. Only the service is needed. |
| 189 | |
| 190 | In the C:\Program Files\OpenVPN\config directory on each machine add configurations for a peer to peer static key configuration by following the steps here: [https://openvpn.net/community-resources/static-key-mini-howto/]. However instead of dev tun use dev tap and make the needed changes to ifconfig. Examples below: |
| 191 | |
| 192 | server.ovpn |
| 193 | {{{ |
| 194 | dev tap |
| 195 | ifconfig 10.1.1.1 255.255.255.0 |
| 196 | secret static.key |
| 197 | }}} |
| 198 | |
| 199 | client.ovpn |
| 200 | {{{ |
| 201 | dev tap |
| 202 | remote <IP FOR SERVER> |
| 203 | ifconfig 10.1.1.2 255.255.255.0 |
| 204 | secret static.key |
| 205 | }}} |
| 206 | |
| 207 | On each machine set the OpenVPN Legacy Service to Automatic. |
| 208 | |
| 209 | Reboot and ping each host to make sure everything is working. You are now setup to run the WHQL tests. Some of them need babysitting and are listed below: |
| 210 | |
| 211 | 1c_FaultHandling: At the end of the test the Service might not re-establish a link. WHQL seems to get it into a bad state, just restart the service and the test will pass. The test waits a few minutes for the link to come back up. |
| 212 | |
| 213 | 2c_Mini6Stress: Sometimes this will hit a breakpoint in the NDIS test code. The breakpoint seemed harmless and complained about soem packents not getting confirmed. If you don't connect a kernel debugger this will cause a BugCheck and the test will fail. If this happens connect a kernel debugger and rerun the test. When the breakpoint is hit press (l) Always Ingore and the test will pass. |
| 214 | |
| 215 | 2c_Priority: Follow the directions for using tapdiag in this document. |
| 216 | |
| 217 | AddressChange: This will definitley fail on slower machines. It worked fine on 1 year old i7 systems. |
| 218 | |
| 219 | LinkCheck: You don't need tapdiag for this. You can just start and stop the service when running this to make the link start and stop per the instructions. |
| 220 | |
| 221 | In general the rest of the tests passed without a problem. However, it was more successful doing groups at a time and making sure they passed. |
| 222 | |
| 223 | Some HLK Errata: |
| 224 | * The controller seems to arbitratily pick which machine is Support and which one is under Test. Even picking the options in the UI didn't change the behaviour. So for the tests you are baby sitting pay attentions to which the server and and which the client it. The server will run a server.htm in NDIS test so it will be obvious. |
| 225 | |
| 226 | * Reboots seems to happen randomly during test setup. This can be a nusiance if you are monitoring the services window or the network connections window. Helpful to make shortcuts to these so they can easily be opened. |
| 227 | |
| 228 | * In the HLK Studio. You will see a category called Product Types. This may not have anything listed. If this is the case you will do all this work and only get certified as an "Other Driver". Make sure it says LAN. I had to go back to the Selection Tab, right click on the TAP adapter and add the feature for Device.Network.LAN.PM (power management). This will add a few tests but all should pass. |
| 229 | |
| 230 | * End to End testing can take about 5 hours because of baby sitting. Pick a good book to read or have some other work handy to keep you from losing your mind :). |
| 231 | |
| 232 | Not sure if the below had any effect but was changed when doing this test: |
| 233 | |
| 234 | In OemVista.inf.in: *PhysicalMediaType = 0x0 ; NdisPhysicalMediumUnspecified |
| 235 | |
| 236 | This was done to be consistant whith what was in constants.h, but it also seemed to get some tests passing. |
| 237 | |