CsrUint8* ie_trace_PMKID_type(CsrUint16 traceLevel, CsrUint8* pBuf) { CsrUint32 value = 0; CSR_UNUSED(value); CsrLogBuffer(traceLevel, (CsrString*)"", pBuf, 128, (CsrString*)" Data"); pBuf += 16; return pBuf; }
CsrUint8* ie_trace_ac_p_record_format(CsrUint16 traceLevel, CsrUint8* pBuf) { CsrUint32 value = 0; CSR_UNUSED(value); pBuf = ie_trace_ACI_AIFSN(traceLevel, pBuf); pBuf = ie_trace_ECWmin_ECWmax(traceLevel, pBuf); ie_le_CsrUint16(pBuf, value); CsrLog(traceLevel, (CsrString*)"", (CsrString*)"TxopLimit: 0x%.4x", value ); return pBuf; }
CsrUint8* ie_trace_frame_classifier(CsrUint16 traceLevel, CsrUint8* pBuf) { CsrUint32 value = 0; CSR_UNUSED(value); ie_CsrUint8(pBuf, value); CsrLog(traceLevel, (CsrString*)"", (CsrString*)"classifierType: 0x%.2x", value ); ie_CsrUint8(pBuf, value); CsrLog(traceLevel, (CsrString*)"", (CsrString*)"classifierMask: 0x%.2x", value ); ie_CsrUint8(pBuf, value); CsrLog(traceLevel, (CsrString*)"", (CsrString*)"classifierParameters: 0x%.2x", value ); return pBuf; }
CsrUint8* ie_trace_cipher_suite(CsrUint16 traceLevel, CsrUint8* pBuf) { CsrUint32 value = 0; CSR_UNUSED(value); CsrLog(traceLevel, (CsrString*)"", (CsrString*)" Oui 0x%.2x 0x%.2x 0x%.2x", pBuf[0], pBuf[1], pBuf[2]); pBuf += 3; ie_CsrUint8(pBuf, value); CsrLog(traceLevel, (CsrString*)"", (CsrString*)"SuiteType: 0x%.2x", value ); return pBuf; }
CsrUint8* ie_trace_channel_spec(CsrUint16 traceLevel, CsrUint8* pBuf) { CsrUint32 value = 0; CSR_UNUSED(value); ie_CsrUint8(pBuf, value); CsrLog(traceLevel, (CsrString*)"", (CsrString*)"firstChannel: 0x%.2x", value ); ie_CsrUint8(pBuf, value); CsrLog(traceLevel, (CsrString*)"", (CsrString*)"numberOfChannel: 0x%.2x", value ); ie_CsrUint8(pBuf, value); CsrLog(traceLevel, (CsrString*)"", (CsrString*)"maxTransmitPower: 0x%.2x", value ); return pBuf; }
CsrUint8* ie_trace_ccx_ul_queue_delay_histogram(CsrUint16 traceLevel, CsrUint8* pBuf) { CsrUint32 value = 0; CSR_UNUSED(value); ie_le_CsrUint16(pBuf, value); CsrLog(traceLevel, (CsrString*)"", (CsrString*)"delay10ms: 0x%.4x", value ); ie_le_CsrUint16(pBuf, value); CsrLog(traceLevel, (CsrString*)"", (CsrString*)"delay10ms20ms: 0x%.4x", value ); ie_le_CsrUint16(pBuf, value); CsrLog(traceLevel, (CsrString*)"", (CsrString*)"delay20ms40ms: 0x%.4x", value ); ie_le_CsrUint16(pBuf, value); CsrLog(traceLevel, (CsrString*)"", (CsrString*)"delay40ms: 0x%.4x", value ); return pBuf; }
CsrUint8* ie_trace_ccx_ts_measurement_report(CsrUint16 traceLevel, CsrUint8* pBuf) { CsrUint32 value = 0; CSR_UNUSED(value); ie_le_CsrUint16(pBuf, value); CsrLog(traceLevel, (CsrString*)"", (CsrString*)"ulQueueDelayAverage: 0x%.4x", value ); pBuf = ie_trace_ccx_ul_queue_delay_histogram(traceLevel, pBuf); ie_le_CsrUint32(pBuf, value); CsrLog(traceLevel, (CsrString*)"", (CsrString*)"ulQueueTransmitDelay: 0x%.8x", value ); ie_le_CsrUint16(pBuf, value); CsrLog(traceLevel, (CsrString*)"", (CsrString*)"ulPacketLoss: 0x%.4x", value ); ie_le_CsrUint16(pBuf, value); CsrLog(traceLevel, (CsrString*)"", (CsrString*)"ulPacketCount: 0x%.4x", value ); ie_CsrUint8(pBuf, value); CsrLog(traceLevel, (CsrString*)"", (CsrString*)"roamingCount: 0x%.2x", value ); ie_le_CsrUint16(pBuf, value); CsrLog(traceLevel, (CsrString*)"", (CsrString*)"roamingDelay: 0x%.4x", value ); return pBuf; }
CsrUint8* ie_trace_PMKID_pair(CsrUint16 traceLevel, CsrUint8* pBuf) { CsrUint32 value = 0; CSR_UNUSED(value); ie_le_CsrUint16(pBuf, value); CsrLog(traceLevel, (CsrString*)"", (CsrString*)"pmkidCount: 0x%.4x", value ); /* defined length, pmkidCount */ for(; value > 0 ;value--) { pBuf = ie_trace_PMKID_type(traceLevel, pBuf); } return pBuf; }
CsrUint8* ie_trace_AKM_cipher_pair(CsrUint16 traceLevel, CsrUint8* pBuf) { CsrUint32 value = 0; CSR_UNUSED(value); ie_le_CsrUint16(pBuf, value); CsrLog(traceLevel, (CsrString*)"", (CsrString*)"akmCipherCount: 0x%.4x", value ); /* defined length, akmCipherCount */ for(; value > 0 ;value--) { pBuf = ie_trace_cipher_suite(traceLevel, pBuf); } return pBuf; }
CsrUint8* ie_trace_ccx_hidden_ssid(CsrUint16 traceLevel, CsrUint8* pBuf) { CsrUint32 value = 0; CSR_UNUSED(value); ie_CsrUint8(pBuf, value); CsrLog(traceLevel, (CsrString*)"", (CsrString*)"ssidExtCap: 0x%.2x", value ); ie_le_CsrUint32(pBuf, value); CsrLog(traceLevel, (CsrString*)"", (CsrString*)"ssidCap: 0x%.8x", value ); ie_CsrUint8(pBuf, value); CsrLog(traceLevel, (CsrString*)"", (CsrString*)"ssidLength: 0x%.2x", value ); /* defined length, ssidLength */ CsrLogBuffer(traceLevel, (CsrString*)"", pBuf, (CsrUint16)value, (CsrString*)" ssid"); pBuf+=value; return pBuf; }
/* * --------------------------------------------------------------------------- * unifi_fw_read_start * * Returns a structure to be passed in unifi_fw_read(). * This structure is an OS specific description of the f/w file. * In the linux implementation it is a buffer with the f/w and its' length. * The HIP driver calls this functions to request for the loader or * the firmware file. * The structure pointer can be freed when unifi_fw_read_stop() is called. * * Arguments: * ospriv Pointer to driver context. * is_fw Flag to indicate whether it is the f/w or the loader * info Versions information. Can be used to determine * the appropriate f/w file to load. * * Returns: * O on success, non-zero otherwise. * * --------------------------------------------------------------------------- */ void* unifi_fw_read_start(void *ospriv, CsrInt8 is_fw, const card_info_t *info) { unifi_priv_t *priv = (unifi_priv_t*)ospriv; CSR_UNUSED(info); func_enter(); #ifdef ANDROID_BUILD /* Copy content of info to the priv struct to make it available in the reguest_firmware_files() function */ priv->card_info = *info; printk("Unifi: Firmware build %d\n", (int) info->fw_build); #endif if (is_fw == UNIFI_FW_LOADER) { /* F/w may have been released after a previous successful download */ if (priv->fw_loader.dl_data == NULL) { unifi_trace(priv, UDBG2, "Attempt reload of loader f/w\n"); uf_request_firmware_files(priv, UNIFI_FW_LOADER); } /* Set up callback struct for readfunc() */ if (priv->fw_loader.dl_data != NULL) { func_exit(); return &priv->fw_loader; } } else if (is_fw == UNIFI_FW_STA) { /* F/w may have been released after a previous successful download. */ if (priv->fw_sta.dl_data == NULL) { unifi_trace(priv, UDBG2, "Attempt reload of sta f/w\n"); uf_request_firmware_files(priv, UNIFI_FW_STA); } /* Set up callback struct for readfunc() */ if (priv->fw_sta.dl_data != NULL) { func_exit(); return &priv->fw_sta; } } else { unifi_error(priv, "downloading firmware... unknown request: %d\n", is_fw); } func_exit(); return NULL; } /* unifi_fw_read_start() */
CsrUint8* ie_trace_wmm_tspec_body(CsrUint16 traceLevel, CsrUint8* pBuf) { CsrUint32 value = 0; CSR_UNUSED(value); pBuf = ie_trace_WMM_TS_info(traceLevel, pBuf); ie_le_CsrUint16(pBuf, value); CsrLog(traceLevel, (CsrString*)"", (CsrString*)"nominalMsduSize: 0x%.4x", value ); ie_le_CsrUint16(pBuf, value); CsrLog(traceLevel, (CsrString*)"", (CsrString*)"maximumMsduSize: 0x%.4x", value ); ie_le_CsrUint32(pBuf, value); CsrLog(traceLevel, (CsrString*)"", (CsrString*)"minimumServiceInterval: 0x%.8x", value ); ie_le_CsrUint32(pBuf, value); CsrLog(traceLevel, (CsrString*)"", (CsrString*)"maximumServiceInterval: 0x%.8x", value ); ie_le_CsrUint32(pBuf, value); CsrLog(traceLevel, (CsrString*)"", (CsrString*)"inactivityInterval: 0x%.8x", value ); ie_le_CsrUint32(pBuf, value); CsrLog(traceLevel, (CsrString*)"", (CsrString*)"suspensionInterval: 0x%.8x", value ); ie_le_CsrUint32(pBuf, value); CsrLog(traceLevel, (CsrString*)"", (CsrString*)"serviceStartTime: 0x%.8x", value ); ie_le_CsrUint32(pBuf, value); CsrLog(traceLevel, (CsrString*)"", (CsrString*)"minimumDatarate: 0x%.8x", value ); ie_le_CsrUint32(pBuf, value); CsrLog(traceLevel, (CsrString*)"", (CsrString*)"meanDataRate: 0x%.8x", value ); ie_le_CsrUint32(pBuf, value); CsrLog(traceLevel, (CsrString*)"", (CsrString*)"peakDataRate: 0x%.8x", value ); ie_le_CsrUint32(pBuf, value); CsrLog(traceLevel, (CsrString*)"", (CsrString*)"maximumBurstSize: 0x%.8x", value ); ie_le_CsrUint32(pBuf, value); CsrLog(traceLevel, (CsrString*)"", (CsrString*)"delayBound: 0x%.8x", value ); ie_le_CsrUint32(pBuf, value); CsrLog(traceLevel, (CsrString*)"", (CsrString*)"minimumPhyRate: 0x%.8x", value ); ie_le_CsrUint16(pBuf, value); CsrLog(traceLevel, (CsrString*)"", (CsrString*)"surplusBandwidthAllowance: 0x%.4x", value ); ie_le_CsrUint16(pBuf, value); CsrLog(traceLevel, (CsrString*)"", (CsrString*)"mediumTime: 0x%.4x", value ); return pBuf; }