AX88178 WinCE 5.0 Driver Installation Guide
Transcription
AX88178 WinCE 5.0 Driver Installation Guide
AX88178 WinCE 5.0 Driver Installation Guide 1. Product Information: The AX88178 Controller is a single chip USB 2.0 to Gigabit Ethernet Controller. This is an AX88178 NDIS driver for WinCE 5.0 embedded system. It has been qualified under WinCE 5.0 CETK on an Intel Celeron 466MHz system with a NEC D720100AGM USB 2.0 PCI Host adapter running WinCE 5.0 CEPC X86 Platform Image. Note: The default USB 2.0 HCD driver (EHCI) of Windows CE 5.0 Platform Builder has a USB 2.0 device Hot-Swap BUG. The EHCI driver should be updated to fix this bug. Please refer to Section 6 “Update WinCE 5.0 USB 2.0 HCD Driver (EHCI.DLL)” for the detail information. 2. Files Descriptions: The AX88178 WinCE driver package includes the files as described below, RELEASE.PDF AX88178.DLL EHCI.DLL PROJECT.REG CETK_LOG\ 1C_TEST.LOG CETK_LOG\ 2C_TEST.LOG CETK_LOG\ 1C_TEST.TXT CETK_LOG\ 2C_TEST.TXT This file Driver file Updated EHCI Driver file Sample REG file CETK One Card Test log file CETK Two Card Test log file CETK One Card Test readme file CETK Two Card Test readme file 3. Revision History: Revision Author Date Description ------------------------------------------------------------------------------------------------------------v1.0.0.0 Allan Chou 2005/11/23 1. New release for WinCE 5.0 Copyright (C) 2005 Reserved by ASIX Electronics Corporation 1 AX88178 WinCE 5.0 Driver Installation Guide 4. Driver Installation: 1. Add below AX88178 registry values into the $(_WINCEROOT)\PUBLIC\CEBASE \OAK\FILES\PROJECT.REG file. ; @CESYSGEN IF BSP_NIC_AX88178 ;IF BSP_NIC_AX88178 [HKEY_LOCAL_MACHINE\Drivers\USB\LoadClients\2965_6016\Default\Default\AX88178] "DLL"="AX88178.DLL" "Prefix"="NDS" [HKEY_LOCAL_MACHINE\Drivers\USB\ClientDrivers\AX88178] "DLL"="AX88178.DLL" "Prefix"="NDS" [HKEY_LOCAL_MACHINE\Comm\AX88178] "DisplayName"="ASIX AX88178 USB 2.0 Gigabit Ethernet Driver" "Group"="NDIS" "ImagePath"="AX88178.dll" [HKEY_LOCAL_MACHINE\Comm\AX88178\Linkage] "Route"=multi_sz:"AX881781" [HKEY_LOCAL_MACHINE\Comm\AX881781] "DisplayName"="ASIX AX88178 USB 2.0 Gigabit Ethernet Driver" "Group"="NDIS" "ImagePath"="AX88178.dll" [HKEY_LOCAL_MACHINE\Comm\AX881781\Parms] "BusNumber"=dword:0 "BusType"=dword:1 ; "NetworkAddress"="02-12-34-56-78-9a" ;Define an override MAC address 02-12-34-56-78-9a ;=========================================================================== ; AX88178 Driver Parameters: ; "ConnectionType" ==> 0 = "AutoSense"; 2 = "10BaseT Half_Duplex"; 3 = "10BaseT Full_Duplex" ; 8 = "100BaseTx Half_Duplex"; 9 = "100BaseTx Full_Duplex" ; 17 = "1000BaseT Full_Duplex" ; "FlowControl" ==> 0 = "Disable"; 1 = "TX PAUSE"; 2 = "RX PAUSE"; 3 = "Enable" ;=========================================================================== "ConnectionType"=dword:0 "FlowControl"=dword:3 [HKEY_LOCAL_MACHINE\Comm\AX881781\Parms\TcpIp] ; "EnableDHCP"=dword:0 ;Disable DHCP function ; "IpAddress"="xxx.xxx.xxx.aaa" ;Define your IP address (xxx.xxx.xxx.aaa) ; "Subnetmask"="255.255.255.0" ;Define Submask IP address ; "DefaultGateway"="xxx.xxx.xxx.bbb" ;Define Gateway IP address ; "DNS"="xxx.xxx.xxx.ccc" ;Define DNS server IP address "AutoCfg"=dword:1 "EnableDHCP"=dword:1 "UseZeroBroadcast"=dword:0 ;Enable DHCP function ;Use zero for broadcast address? ;ENDIF BSP_NIC_AX88178 ; @CESYSGEN ENDIF BSP_NIC_AX88178 Copyright (C) 2005 Reserved by ASIX Electronics Corporation 2 AX88178 WinCE 5.0 Driver Installation Guide 2. Install new platform for your project YourProjectName Note: Please check if the PROJECT.REG file in $(_WINCEROOT)\PBWorkspaces \<YourProjectName>\WINCE500\CEPC_x86\OAK\files subdirectory is included all contents modified in Step 1. Copyright (C) 2005 Reserved by ASIX Electronics Corporation 3 AX88178 WinCE 5.0 Driver Installation Guide 3. Copy AX88178.DLL and EHCI.DLL files into the $(_WINCEROOT)\PBWorkspaces \<YourProjectName>\WINCE500\CEPC_x86\OAK\files subdirectory. 4. Choose “Build and Sysgen” from the Build OS menu to build the platform image file (NK.BIN). 5. Startup your CE/PC to get the connection with the Platform Builder. 5-1. Install a supported Ethernet adapter (like NE2000 ISA card or RTL8139 PCI card) for Ethernet Boot Loader (eboot.bin) and a ASIX AX88178 USB to Gigabit Ethernet adapter for tested WinCE driver. Note 1: Please set a proper IRQ, IOBASE and IP address in the AUTOEXEC.BAT file of the CE/PC Boot Disk for the Ethernet Boot Loader adapter. (For PCI card: set to IRQ=0, IOBASE =0 for auto-detection. For ISA card: set to the same IRQ, IOBASE as the H/W setting.) 5-2. Insert the CE/PC Boot Disk into your CE/PC. 5-3. Power ON the CE/PC. 5-4. Select “Boot CE/PC (ether via eboot.bin with /L:800x600x16)” from the boot menu. 6. Choose “Connectivity Options” from the Target menu to configure an Ethernet connection for downloading and debugging the image file. 6-1. Select “Ethernet” in the drop-down menu titled “Download”. 6-2. Select “Ethernet” in the drop-down menu titled “Transport”. 6-3. Click “Settings” button associated with the “Download” option. This will open a new dialog to wait for the available CEPC devices. 6-4. Select “KbStub” in the drop-down menu titled “Debugger”. Copyright (C) 2005 Reserved by ASIX Electronics Corporation 4 AX88178 WinCE 5.0 Driver Installation Guide Waiting for CE/PC device 7. Choose “Attach Device” from the Target menu to start downloading the Platform Image file onto the CE/PC. 8. After the image file is downloaded successfully, the CE/PC will be booted up to WinCE operation system by running the Platform Image file. 9. Run Ping command to verify the network connection function. Copyright (C) 2005 Reserved by ASIX Electronics Corporation 5 AX88178 WinCE 5.0 Driver Installation Guide 5. Modify Driver Parameters: 1. Modify the AX88178 registry values from the $(_WINCEROOT)\PBWorkspaces \<YourProjectName>\RelDir\CEPC_x86_Release\PROJECT.REG file. ; @CESYSGEN IF BSP_NIC_AX88178 ;IF BSP_NIC_AX88178 [HKEY_LOCAL_MACHINE\Drivers\USB\LoadClients\2965_6016\Default\Default\AX88178] "DLL"="AX88178.DLL" "Prefix"="NDS" [HKEY_LOCAL_MACHINE\Drivers\USB\ClientDrivers\AX88178] "DLL"="AX88178.DLL" "Prefix"="NDS" [HKEY_LOCAL_MACHINE\Comm\AX88178] "DisplayName"="ASIX AX88178 USB 2.0 Gigabit Ethernet Driver" "Group"="NDIS" "ImagePath"="AX88178.dll" [HKEY_LOCAL_MACHINE\Comm\AX88178\Linkage] "Route"=multi_sz:"AX881781" [HKEY_LOCAL_MACHINE\Comm\AX881781] "DisplayName"="ASIX AX88178 USB 2.0 Gigabit Ethernet Driver" "Group"="NDIS" "ImagePath"="AX88178.dll" [HKEY_LOCAL_MACHINE\Comm\AX881781\Parms] "BusNumber"=dword:0 "BusType"=dword:1 ; "NetworkAddress"="02-12-34-56-78-9a" ;Define an override MAC address 02-12-34-56-78-9a ;=========================================================================== ; AX88178 Driver Parameters: ; "ConnectionType" ==> 0 = "AutoSense"; 2 = "10BaseT Half_Duplex"; 3 = "10BaseT Full_Duplex" ; 8 = "100BaseTx Half_Duplex"; 9 = "100BaseTx Full_Duplex" ; 17 = "1000BaseT Full_Duplex" ; "FlowControl" ==> 0 = "Disable"; 1 = "TX PAUSE"; 2 = "RX PAUSE"; 3 = "Enable" ;=========================================================================== "ConnectionType"=dword:0 "FlowControl"=dword:3 [HKEY_LOCAL_MACHINE\Comm\AX881781\Parms\TcpIp] ; "EnableDHCP"=dword:0 ;Disable DHCP function ; "IpAddress"="xxx.xxx.xxx.aaa" ;Define your IP address (xxx.xxx.xxx.aaa) ; "Subnetmask"="255.255.255.0" ;Define Submask IP address ; "DefaultGateway"="xxx.xxx.xxx.bbb" ;Define Gateway IP address ; "DNS"="xxx.xxx.xxx.ccc" ;Define DNS server IP address "AutoCfg"=dword:1 "EnableDHCP"=dword:1 "UseZeroBroadcast"=dword:0 ;Enable DHCP function ;Use zero for broadcast address? ;ENDIF BSP_NIC_AX88178 ; @CESYSGEN ENDIF BSP_NIC_AX88178 Copyright (C) 2005 Reserved by ASIX Electronics Corporation 6 AX88178 WinCE 5.0 Driver Installation Guide 2. Choose “Make Run-Time Image” from the Build OS menu to build a new platform image (NK.BIN) to take effect the new settings. 6. Update WinCE 5.0 USB 2.0 HCD Driver (EHCI.DLL) The default USB 2.0 HCD driver (EHCI) of Windows CE 5.0 Platform Builder couldn’t handle the USB 2.0 device Hot-Swap event well while there is a pending transfer. It will cause the USB 2.0 device driver couldn’t be loaded successfully after hot-swapping the device for a couple of times because the physical memory (TD buffers) resources are not released by the USB 2.0 HCD driver when the USB 2.0 device is unplugged while there is a pending transfer. This bug has been confirmed by Microsoft and will be fixed in the future version of Windows CE 5.0. Solution: 1. ASIX provides an updated EHCI.DLL file for standard X86 CE/PC platform. 1-1. Copy the updated EHCI.DLL file into the $(_WINCEROOT)\PBWorkspaces \<YourProjectName>\RelDir\CEPC_x86_Release subdirectory. 1-2. Run "Make Run-Time Image" to create the NK.BIN image file. 2. Customer manually modifies the cpipe.cpp file in the $(_WINCEROOT)\PUBLIC \COMMON\OAK\DRIVERS\USB\HCD\USB20\EHCI subdirectory and rebuild a new EHCI.DLL driver for their specific WinCE BSP platform. 2-1. Modify the cpipe.cpp file in the $(_WINCEROOT)\PUBLIC\COMMON \OAK\DRIVERS\USB\HCD\USB20\EHCI subdirectory to remove below two statements. <<< In the cpipe.cpp file >>> void CQueuedPipe::AbortQueue( void ) { …. ASSERT( m_pUnQueuedTransfer == NULL); if (m_pQueuedTransfer) { RemoveQHeadFromQueue(); // m_pQueuedTransfer; //Remove this line m_pQueuedTransfer ->AbortTransfer(); GetQHead()->InvalidNextTD(); m_pCEhcd->AsyncBell();// Ask HC update internal structure. Sleep(2);// this sleep is for Interrupt Pipe; m_pQueuedTransfer->DoneTransfer(); // m_pQueuedTransfer = NULL; //Remove this line delete m_pQueuedTransfer; m_pQueuedTransfer = NULL; InsertQHeadToQueue() ; } ASSERT(m_pQueuedTransfer == NULL); …. } Copyright (C) 2005 Reserved by ASIX Electronics Corporation 7 AX88178 WinCE 5.0 Driver Installation Guide 2-2. Rebuild EHCI driver by select "Build and Sysgen Current Project" from usb20 project menu. (See below picture) 2-3. Check if the EHCI.DLL file in the $(_WINCEROOT)\PBWorkspaces \<YourProjectName>\RelDir\CEPC_x86_Release subdirectory is updated successfully or not. 2-4. Run "Make Run-Time Image" to create the NK.BIN image file. 7. Known Errata: None. Copyright (C) 2005 Reserved by ASIX Electronics Corporation 8