Test Case Information
Test ID: TEST-COMPAT-I225-001
Test Type: Hardware Compatibility Test
Priority: P0 (Critical - Core Hardware Support)
Test Level: Integration Test
Objective
Verify driver compatibility with Intel I225-V/LM/IT 2.5 GbE controllers, including hardware initialization, register access, PTP clock functionality, and performance validation.
Traceability
Test Scope
This test verifies:
- Hardware detection and initialization (I225-V, I225-LM, I225-IT)
- Register access (BAR0 memory mapping)
- PTP clock functionality (SYSTIM, TSAUXC)
- 2.5 GbE performance validation
- Firmware compatibility (NVM versions)
Preconditions
- Hardware: Intel I225-V/LM/IT NIC installed
- Driver: IntelAvbFilter.sys loaded
- Firmware: Latest NVM version (check with Intel drivers)
Test Steps
Setup
- Identify I225 controller:
Get-PnpDevice | Where-Object {$_.FriendlyName -like "*I225*"}
# Expected: Device ID VEN_8086&DEV_15F2 (I225-V)
# Device ID VEN_8086&DEV_15F3 (I225-LM)
# Device ID VEN_8086&DEV_0D9F (I225-IT)
Execution
Test 1: Hardware Detection
- Verify PCI device enumeration:
# PowerShell
Get-PnpDevice -InstanceId "PCI\VEN_8086&DEV_15F2*"
- Expected:
- Status: OK
- Driver: IntelAvbFilter.sys
- Device ID: 0x15F2 (I225-V) or 0x15F3 (I225-LM) or 0x0D9F (I225-IT)
Test 2: BAR0 Register Access
- Test register read/write:
// User-mode test via IOCTL
UINT32 ctrl_reg;
DeviceIoControl(hDevice, IOCTL_READ_REGISTER,
&offset, sizeof(offset),
&ctrl_reg, sizeof(ctrl_reg), ...);
- Verify CTRL register (offset 0x0000):
- Read initial value
- Write test pattern
- Read back and verify
- Expected: Register access successful
Test 3: PTP Clock Initialization
- Read SYSTIM register:
- Verify TSAUXC configuration:
- EN_CLK0 = 1 (clock output enabled)
- ST0 = 1 (start pulse)
- Expected: PTP clock operational
Test 4: PTP Clock Accuracy
- Launch PTP clock:
DeviceIoControl(hDevice, IOCTL_LAUNCH_TIME, ...);
- Measure clock drift over 1 hour:
- Read SYSTIM every 60 seconds
- Compare with system reference clock
- Expected: Drift <100 ns/hour
Test 5: 2.5 GbE Performance
- Configure link speed:
Set-NetAdapterAdvancedProperty -Name "Intel I225" -DisplayName "Speed & Duplex" -DisplayValue "2.5 Gbps Full Duplex"
- Run throughput test:
iperf3 -c <server_ip> -t 300
# Expected: ~2.35 Gbps (2.5 GbE minus overhead)
- Expected: Throughput ≥2.3 Gbps
Test 6: Firmware Compatibility
- Check NVM version:
ethtool -i eth0 # Linux equivalent on Windows
# Or use Intel PROSet tools
- Test with multiple NVM versions:
- NVM 3.x (2019-2020)
- NVM 4.x (2021-2022)
- Latest NVM (2023+)
- Expected: Driver works with all NVM versions
Test 7: I225 Variant Matrix
| Variant |
Device ID |
Market Segment |
Test Result |
| I225-V |
0x15F2 |
Consumer/Desktop |
✅ |
| I225-LM |
0x15F3 |
Enterprise Mobile |
✅ |
| I225-IT |
0x0D9F |
Industrial/IoT |
✅ |
Run all variants, verify driver loads and operates.
Test 8: Hardware Features
- Test I225-specific features:
- Time Sync: PTP hardware timestamping
- TSN: Time-Sensitive Networking (802.1Qav, 802.1AS)
- EEE: Energy Efficient Ethernet
- Verify feature availability:
- Expected: All features operational
Test 9: Stress Test
- Run 24-hour stress test:
iperf3 -c <server_ip> -t 86400 -P 4 # 4 parallel streams
- Monitor for:
- Link drops
- Driver crashes
- Memory leaks
- Expected: No failures, stable operation
Cleanup
- Stop stress tests
- Reset NIC to default settings
Expected Results
Pass Criteria
- ✅ I225 variants detected (V, LM, IT)
- ✅ BAR0 register access successful
- ✅ PTP clock operational (drift <100 ns/hour)
- ✅ 2.5 GbE throughput ≥2.3 Gbps
- ✅ Firmware compatibility (all NVM versions)
- ✅ 24-hour stress test: No crashes
Fail Criteria
- ❌ Device not detected
- ❌ Register access fails (BAR0 mapping error)
- ❌ PTP clock non-functional
- ❌ Throughput <2.0 Gbps
- ❌ Firmware incompatibility (driver load failure)
- ❌ Crashes during stress test
Test Environment
Hardware:
- I225-V: PCIe 2.5 GbE NIC (consumer)
- I225-LM: PCIe 2.5 GbE NIC (enterprise mobile)
- I225-IT: PCIe 2.5 GbE NIC (industrial)
Software:
- Windows 10/11
- IntelAvbFilter.sys driver
Automation
Automation Status: Fully Automated
CI Integration:
# .github/workflows/i225-compatibility.yml
name: I225 Hardware Compatibility
on: [pull_request]
jobs:
test-i225:
runs-on: self-hosted-i225 # Runner with I225 hardware
steps:
- uses: actions/checkout@v4
- name: Build driver
run: msbuild IntelAvbFilter.sln /p:Configuration=Release
- name: Install driver
run: pnputil /add-driver IntelAvbFilter.inf /install
- name: Verify I225 detected
run: |
$device = Get-PnpDevice | Where-Object {$_.FriendlyName -like "*I225*"}
if (!$device) { exit 1 }
- name: Test PTP clock
run: ./avb_test_i225.exe
- name: Run throughput test
run: iperf3 -c ${{ secrets.PERF_SERVER_IP }} -t 60
Notes
- I225 Errata: Check Intel specification updates for known hardware issues
- NVM Updates: Keep firmware updated for optimal performance
- TSN Support: I225 supports IEEE 802.1AS (gPTP), 802.1Qav (CBS)
References
Created: 2025-12-19
Status: Draft
Assigned To: Hardware Compatibility Team
Test Case Information
Test ID: TEST-COMPAT-I225-001
Test Type: Hardware Compatibility Test
Priority: P0 (Critical - Core Hardware Support)
Test Level: Integration Test
Objective
Verify driver compatibility with Intel I225-V/LM/IT 2.5 GbE controllers, including hardware initialization, register access, PTP clock functionality, and performance validation.
Traceability
Test Scope
This test verifies:
Preconditions
Test Steps
Setup
Execution
Test 1: Hardware Detection
Test 2: BAR0 Register Access
Test 3: PTP Clock Initialization
IOCTL_PHC_GET_TIMETest 4: PTP Clock Accuracy
Test 5: 2.5 GbE Performance
Test 6: Firmware Compatibility
Test 7: I225 Variant Matrix
Run all variants, verify driver loads and operates.
Test 8: Hardware Features
IOCTL_GET_CAPABILITIESTest 9: Stress Test
Cleanup
Expected Results
Pass Criteria
Fail Criteria
Test Environment
Hardware:
Software:
Automation
Automation Status: Fully Automated
CI Integration:
Notes
References
Created: 2025-12-19
Status: Draft
Assigned To: Hardware Compatibility Team