sl@0: /* sl@0: * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: * All rights reserved. sl@0: * This component and the accompanying materials are made available sl@0: * under the terms of "Eclipse Public License v1.0" sl@0: * which accompanies this distribution, and is available sl@0: * at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: * sl@0: * Initial Contributors: sl@0: * Nokia Corporation - initial contribution. sl@0: * sl@0: * Contributors: sl@0: * sl@0: * Description: sl@0: * sl@0: */ sl@0: HOWTO for Wins Ethernet Driver sl@0: sl@0: 0. Pre-requisities sl@0: The implementation of Wins Ethernet driver makes use of packet capturing library: sl@0: WinPcap, Release 2.2. This software sets the network card of the PC, on which Epoc sl@0: Emulator is working, into so called promiscuous mode. The user must be confident that sl@0: the environment she/he works in doesn’t forbid such settings. The quickest way sl@0: to ensure about it is to contact network administrator. sl@0: sl@0: sl@0: 1. Trouble Shooting sl@0: The following problems may occur when attempting to use WINS version of Ethernet driver: sl@0: * Network application doesn’t send nor receive any packets: two potential reasons: sl@0: - bad settings in CommDB - refer to point 4 sl@0: - Wpcap not installed - refer to point 2 sl@0: sl@0: * A panic is raised of category: 'D32ETHER' with one of the following reasons: sl@0: 1 meaning: bad MAC address in ini file or entry for it missing or ini file missing sl@0: 2 meaning: entry for network interface name missing in ini file or ini file missing sl@0: 3 meaning: Wpcap couldn't be initialised - potentially not installed or name sl@0: of network interface in .ini file wrong sl@0: Panics occur if system is not configured properly, remedy can be found in notes below. sl@0: sl@0: * Wpcap error may occur - refer to http://winpcap.polito.it/misc/changelog.htm sl@0: for advice how to fix the problem (this will require usually upgrading WinPcap sl@0: package on user'’ machine). sl@0: sl@0: sl@0: 2. Wpcap sl@0: Wpcap must be installed on a machine that wishes to use driver. Installation is simple: sl@0: WinPcap.exe (located in: \epoc32\tools) sl@0: should be run and then instructions should be followed. sl@0: If user has already Wpcap installed on his workstation then should try to use sl@0: Ethernet driver with this version. In case when it fails he must uninstall existing sl@0: Wpcap and install the one from Epoc directory mentioned above. sl@0: sl@0: sl@0: 3. Netcards sl@0: When Wpcap is already installed, a program called Netcards.exe should be run. sl@0: It can be found in \epoc32\tools. sl@0: (Note: Netcards uses Wpcap so the latter must be installed first). sl@0: It will request user to select network card. Netcards writes a few entries sl@0: into \epoc32\data\ethernet.ini file which are read by Epoc Emulator at startup sl@0: (ensure that \epoc32\data directory exists). In particular MAC address value for use sl@0: by Emulator is determined by the entry named 'ETHER_MAC' (it is recommended that sl@0: network administrator was aware of the value of MAC address written there and authorise sl@0: it if necessary; according to local conditions any other value preferred sl@0: by administrator can be written manually instead of the value written by Netcards). sl@0: Ethernet driver for WINS was originally sl@0: designed for use in Techview environment which uses ethernet.ini file. Other environments sl@0: (like Quartz) may use different .ini file (e.g. \epoc32\data\quartz.ini). A user can sl@0: still run Ethernet module in these environments provided that .ini files appropriate sl@0: for these environments contain entries written by netcards.exe to ethernet.ini - user can sl@0: simply copy them - they are easy to recognise as they begin with ‘ETHER_‘ prefix . sl@0: sl@0: sl@0: 4. CommDB sl@0: CommDB settings should indicate use of the NIF: ethint.nif and the agent: nullagt.agt. sl@0: In current release of Epoc Networking software, data in the database are written by program sl@0: called ced.exe, which takes wanted settings from text file: ced.cfg. sl@0: Example settings to be put in this file are shown below. In the example it is assumed sl@0: that IP address and network mask will be acquired by DHCP protocol: sl@0: sl@0: ############################################################ sl@0: ## LANBearer sl@0: ## sl@0: [LANBearer] sl@0: ADD_SECTION sl@0: # COMMDB_ID = 1 sl@0: Name=Wins Ethernet sl@0: Agent=nullagt.agt sl@0: IfName=ethint sl@0: LDDFilename=enet sl@0: LDDName=Ethernet sl@0: PDDFilename=ethernet sl@0: PDDName=Ethernet.Wins sl@0: PacketDriverName=EtherPkt.drv sl@0: LastSocketActivityTimeout=-1 sl@0: LastSessionClosedTimeout=-1 sl@0: LastSocketClosedTimeout=-1 sl@0: FIELD_COUNT=8 sl@0: END_ADD sl@0: sl@0: ADD_SECTION sl@0: # COMMDB_ID = 2 sl@0: Name=Assabet on-board Ethernet sl@0: Agent=nullagt.agt sl@0: IfName=ethint sl@0: LDDFilename=enet sl@0: LDDName=Ethernet sl@0: PDDFilename=ethernet sl@0: PDDName=Ethernet.Assabet sl@0: PacketDriverName=EtherPkt.drv sl@0: LastSocketActivityTimeout=-1 sl@0: LastSessionClosedTimeout=-1 sl@0: LastSocketClosedTimeout=-1 sl@0: FIELD_COUNT=8 sl@0: END_ADD sl@0: sl@0: ############################################################ sl@0: ## LANService sl@0: ## sl@0: [LANService] sl@0: sl@0: ADD_SECTION sl@0: # COMMDB_ID = 1 sl@0: Name=Ethernet sl@0: #IfNetworks=ip,ip6 sl@0: IfNetworks=ip sl@0: IpNetMask=0.0.0.0 sl@0: IpGateway=0.0.0.0 sl@0: IpAddrFromServer=TRUE sl@0: IpAddr=0.0.0.0 sl@0: IpDNSAddrFromServer=TRUE sl@0: IpNameServer1=0.0.0.0 sl@0: IpNameServer2=0.0.0.0 sl@0: FIELD_COUNT=9 sl@0: END_ADD sl@0: sl@0: sl@0: ############################################################ sl@0: ## IAP sl@0: ## sl@0: [IAP] sl@0: ADD_SECTION sl@0: # COMMDB_ID = 1 sl@0: Name=Ethernet IAP sl@0: IAPService=1 sl@0: IAPServiceType=LANService sl@0: IAPBearer=1 sl@0: IAPBearerType=LANBearer sl@0: IAPNetwork=1 sl@0: IAPNetworkWeighting=0 sl@0: Location=2 sl@0: FIELD_COUNT=8 sl@0: END_ADD sl@0: sl@0: ADD_SECTION sl@0: # COMMDB_ID = 2 sl@0: Name=NT RAS with Null Modem sl@0: IAPService=2 sl@0: IAPServiceType=DialOutISP sl@0: IAPBearer=2 sl@0: IAPBearerType=ModemBearer sl@0: IAPNetwork=1 sl@0: IAPNetworkWeighting=0 sl@0: Location=2 sl@0: FIELD_COUNT=8 sl@0: END_ADD sl@0: sl@0: ############################################################ sl@0: ## ConnectionPreferences sl@0: ## sl@0: [ConnectionPreferences] sl@0: sl@0: sl@0: ADD_SECTION sl@0: Ranking=0 sl@0: Direction=OUTGOING sl@0: DialogPref=PROMPT sl@0: BearerSet=LAN sl@0: #IAP=Ethernet IAP sl@0: IAP=1 sl@0: FIELD_COUNT=5 sl@0: END_ADD sl@0: sl@0: ADD_SECTION sl@0: Ranking=1 sl@0: Direction=OUTGOING sl@0: DialogPref=DONOTPROMPT sl@0: BearerSet=LAN sl@0: #IAP=Ethernet IAP sl@0: IAP=1 sl@0: FIELD_COUNT=5 sl@0: END_ADD sl@0: sl@0: