00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #include <OPENR/OSyslog.h>
00013 #include <ant.h>
00014 #include "ERA201D1Info.h"
00015 #include "entry.h"
00016
00017 ERA201D1Info::ERA201D1Info()
00018 {
00019 }
00020
00021 OStatus
00022 ERA201D1Info::DoInit(const OSystemEvent& event)
00023 {
00024 return oSUCCESS;
00025 }
00026
00027 OStatus
00028 ERA201D1Info::DoStart(const OSystemEvent& event)
00029 {
00030 EtherStatus status;
00031
00032 EtherDriverGetMACAddressMsg macAddrMsg;
00033 status = ERA201D1_GetMACAddress(&macAddrMsg);
00034 if (status == ETHER_OK) {
00035 PrintMACAddress(macAddrMsg);
00036 } else {
00037 OSYSLOG1((osyslogERROR, "ERA201D1_GetMACAddress() FAILED %d", status));
00038 }
00039
00040 EtherDriverGetStatisticsMsg etherStatMsg;
00041 status = ERA201D1_GetEtherStatistics(ðerStatMsg);
00042 if (status == ETHER_OK) {
00043 PrintEtherStatistics(etherStatMsg);
00044 } else {
00045 OSYSLOG1((osyslogERROR,
00046 "ERA201D1_GetEtherStatistics() FAILED %d", status));
00047 }
00048
00049 EtherDriverGetWLANSettingsMsg wlanSettingsMsg;
00050 status = ERA201D1_GetWLANSettings(&wlanSettingsMsg);
00051 if (status == ETHER_OK) {
00052 PrintWLANSettings(wlanSettingsMsg);
00053 } else {
00054 OSYSLOG1((osyslogERROR,
00055 "ERA201D1_GetWLANSettings() FAILED %d", status));
00056 }
00057
00058 EtherDriverGetWLANStatisticsMsg wlanStatMsg;
00059 status = ERA201D1_GetWLANStatistics(&wlanStatMsg);
00060 if (status == ETHER_OK) {
00061 PrintWLANStatistics(wlanStatMsg);
00062 } else {
00063 OSYSLOG1((osyslogERROR,
00064 "ERA201D1_GetWLANStatistics() FAILED %d", status));
00065 }
00066
00067 antStackRef ipstackRef = antStackRef("IPStack");
00068 antEnvInitGetParamMsg getParamMsg("ETHER_IP");
00069 getParamMsg.Call(ipstackRef, sizeof(getParamMsg));
00070 if (getParamMsg.error == ANT_SUCCESS &&
00071 getParamMsg.paramType == antEnv_InitParam_String) {
00072 OSYSPRINT(("[ETHER_IP] %s\n", getParamMsg.value.str));
00073 } else {
00074 OSYSLOG1((osyslogERROR,
00075 "getParamMsg.Call() FAILED %d", getParamMsg.error));
00076 }
00077
00078 return oSUCCESS;
00079 }
00080
00081 OStatus
00082 ERA201D1Info::DoStop(const OSystemEvent& event)
00083 {
00084 return oSUCCESS;
00085 }
00086
00087 OStatus
00088 ERA201D1Info::DoDestroy(const OSystemEvent& event)
00089 {
00090 return oSUCCESS;
00091 }
00092
00093 void
00094 ERA201D1Info::PrintMACAddress(const EtherDriverGetMACAddressMsg& msg)
00095 {
00096 OSYSPRINT(("[MAC Address] "));
00097 OSYSPRINT(("%02x:%02x:%02x:%02x:%02x:%02x\n",
00098 msg.address.octet[0], msg.address.octet[1],
00099 msg.address.octet[2], msg.address.octet[3],
00100 msg.address.octet[4], msg.address.octet[5]));
00101 }
00102
00103 void
00104 ERA201D1Info::PrintEtherStatistics(const EtherDriverGetStatisticsMsg& msg)
00105 {
00106 OSYSPRINT(("[Ether Statistics]\n"));
00107 OSYSPRINT((" carrierSenseErrorCount : %d\n",
00108 msg.statistics.carrierSenseErrorCount));
00109 OSYSPRINT((" lateCollisionCount : %d\n",
00110 msg.statistics.lateCollisionCount));
00111 OSYSPRINT((" excessiveCollisionCount : %d\n",
00112 msg.statistics.excessiveCollisionCount));
00113 OSYSPRINT((" singleCollisionCount : %d\n",
00114 msg.statistics.singleCollisionCount));
00115 OSYSPRINT((" multipleCollisionCount : %d\n",
00116 msg.statistics.multipleCollisionCount));
00117 OSYSPRINT((" deferredCount : %d\n",
00118 msg.statistics.deferredCount));
00119 OSYSPRINT((" alignmentErrorCount : %d\n",
00120 msg.statistics.alignmentErrorCount));
00121 OSYSPRINT((" fcsErrorCount : %d\n",
00122 msg.statistics.fcsErrorCount));
00123 OSYSPRINT((" frameTooLongCount : %d\n",
00124 msg.statistics.frameTooLongCount));
00125 }
00126
00127 void
00128 ERA201D1Info::PrintWLANSettings(const EtherDriverGetWLANSettingsMsg& msg)
00129 {
00130 OSYSPRINT(("[WLAN Settings]\n"));
00131 OSYSPRINT((" port : %d\n", msg.port));
00132 OSYSPRINT((" mode : "));
00133
00134 switch (msg.mode) {
00135 case ETHER_WLAN_MODE_AP:
00136 OSYSPRINT(("ETHER_WLAN_MODE_AP\n"));
00137 break;
00138 case ETHER_WLAN_MODE_ADHOC:
00139 OSYSPRINT(("ETHER_WLAN_MODE_ADHOC\n"));
00140 break;
00141 default:
00142 OSYSPRINT(("invalid value\n"));
00143 }
00144
00145 OSYSPRINT((" essid : %s\n", msg.essid));
00146 OSYSPRINT((" channel : %d\n", msg.channel));
00147 OSYSPRINT((" encryption : ", msg.encryption));
00148
00149 switch (msg.encryption) {
00150 case ETHER_WLAN_ENC_OFF:
00151 OSYSPRINT(("ETHER_WLAN_ENC_OFF\n"));
00152 break;
00153 case ETHER_WLAN_ENC_WEP:
00154 OSYSPRINT(("ETHER_WLAN_ENC_WEP\n"));
00155 break;
00156 default:
00157 OSYSPRINT(("invalid value\n"));
00158 }
00159
00160 OSYSPRINT((" rate : "));
00161
00162 switch (msg.rate) {
00163 case ETHER_WLAN_RATE_1MB:
00164 OSYSPRINT(("ETHER_WLAN_RATE_1MB\n"));
00165 break;
00166 case ETHER_WLAN_RATE_2MB:
00167 OSYSPRINT(("ETHER_WLAN_RATE_2MB\n"));
00168 break;
00169 case ETHER_WLAN_RATE_5_5MB:
00170 OSYSPRINT(("ETHER_WLAN_RATE_5_5MB\n"));
00171 break;
00172 case ETHER_WLAN_RATE_11MB:
00173 OSYSPRINT(("ETHER_WLAN_RATE_11MB\n"));
00174 break;
00175 default:
00176 OSYSPRINT(("invalid value\n"));
00177 }
00178
00179 OSYSPRINT((" rts : %d\n", msg.rts));
00180 OSYSPRINT((" fragmentation : %d\n", msg.fragmentation));
00181 OSYSPRINT((" sensitivity : "));
00182
00183 switch (msg.sensitivity) {
00184 case ETHER_WLAN_DENSITY_LOW:
00185 OSYSPRINT(("ETHER_WLAN_DENSITY_LOW\n"));
00186 break;
00187 case ETHER_WLAN_DENSITY_MED:
00188 OSYSPRINT(("ETHER_WLAN_DENSITY_MED\n"));
00189 break;
00190 case ETHER_WLAN_DENSITY_HIGH:
00191 OSYSPRINT(("ETHER_WLAN_DENSITY_HIGH\n"));
00192 break;
00193 default:
00194 OSYSPRINT(("invalid value\n"));
00195 }
00196 }
00197
00198 void
00199 ERA201D1Info::PrintWLANStatistics(const EtherDriverGetWLANStatisticsMsg& msg)
00200 {
00201 OSYSPRINT(("[WLAN Statistics]\n"));
00202 OSYSPRINT((" link : %d\n", msg.statistics.link));
00203 OSYSPRINT((" signal : %d\n", msg.statistics.signal));
00204 OSYSPRINT((" noise : %d\n", msg.statistics.noise));
00205 OSYSPRINT((" invalidIDCount : %d\n", msg.statistics.invalidIDCount));
00206 OSYSPRINT((" invalidEncCount : %d\n", msg.statistics.invalidEncCount));
00207 OSYSPRINT((" invalidMiscCount : %d\n", msg.statistics.invalidMiscCount));
00208 }