⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 common_atheros_sdiostack_ar6000_wlan.patch

📁 ar6k 的WIFI驱动
💻 PATCH
📖 第 1 页 / 共 5 页
字号:
+ */++#define AR6000_XIOCTL_GPIO_REGISTER_SET       20+/*+ * arguments:+ *   UINT32 cmd (AR6000_XIOCTL_GPIO_REGISTER_SET)+ *   ar6000_gpio_register_cmd_s (see below)+ * uses: WMIX_GPIO_REGISTER_SET_CMDID+ */++#define AR6000_XIOCTL_GPIO_REGISTER_GET       21+/*+ * arguments:+ *   UINT32 cmd (AR6000_XIOCTL_GPIO_REGISTER_GET)+ *   ar6000_gpio_register_cmd_s (see below)+ * uses: WMIX_GPIO_REGISTER_GET_CMDID+ */++#define AR6000_XIOCTL_GPIO_INTR_ACK           22+/*+ * arguments:+ *   UINT32 cmd (AR6000_XIOCTL_GPIO_INTR_ACK)+ *   ar6000_cpio_intr_ack_cmd_s (see below)+ * uses: WMIX_GPIO_INTR_ACK_CMDID+ */++#define AR6000_XIOCTL_GPIO_INTR_WAIT          23+/*+ * arguments:+ *   UINT32 cmd (AR6000_XIOCTL_GPIO_INTR_WAIT)+ */++++/*                    ====more wireless commands====                          */++#define AR6000_XIOCTL_SET_ADHOC_BSSID         24+/*+ * arguments:+ *   UINT32 cmd (AR6000_XIOCTL_SET_ADHOC_BSSID)+ *   WMI_SET_ADHOC_BSSID_CMD setAdHocBssidCmd (see include/wmi.h)+ */++#define AR6000_XIOCTL_SET_OPT_MODE            25+/*+ * arguments:+ *   UINT32 cmd (AR6000_XIOCTL_SET_OPT_MODE)+ *   WMI_SET_OPT_MODE_CMD setOptModeCmd (see include/wmi.h)+ * uses: WMI_SET_OPT_MODE_CMDID+ */++#define AR6000_XIOCTL_OPT_SEND_FRAME          26+/*+ * arguments:+ *   UINT32 cmd (AR6000_XIOCTL_OPT_SEND_FRAME)+ *   WMI_OPT_TX_FRAME_CMD optTxFrameCmd (see include/wmi.h)+ * uses: WMI_OPT_TX_FRAME_CMDID+ */++#define AR6000_XIOCTL_SET_ADHOC_BEACON_INTVAL 27+/*+ * arguments:+ *   UINT32 cmd (AR6000_XIOCTL_SET_ADHOC_BEACON_INTVAL)+ *   WMI_BEACON_INT_CMD beaconIntCmd (see include/wmi.h)+ * uses: WMI_SET_BEACON_INT_CMDID+ */+++#define IEEE80211_IOCTL_SETAUTHALG           28+++#define AR6000_XIOCTL_SET_VOICE_PKT_SIZE        29+/*+ * arguments:+ *   UINT32 cmd (AR6000_XIOCTL_SET_VOICE_PKT_SIZE)+ *   WMI_SET_VOICE_PKT_SIZE_CMD setVoicePktSizeCmd (see include/wmi.h)+ * uses: WMI_SET_VOICE_PKT_SIZE_CMDID+ */+++#define AR6000_XIOCTL_SET_MAX_SP                30+/*+ * arguments:+ *   UINT32 cmd (AR6000_XIOCTL_SET_MAX_SP)+ *   WMI_SET_MAX_SP_LEN_CMD maxSPLen(see include/wmi.h)+ * uses: WMI_SET_MAX_SP_LEN_CMDID+ */++#define AR6000_XIOCTL_WMI_GET_ROAM_TBL             31++#define AR6000_XIOCTL_WMI_SET_ROAM_CTRL            32++#define AR6000_XIOCTRL_WMI_SET_POWERSAVE_TIMERS    33+/*+ * arguments:+ *   UINT32 cmd (AR6000_XIOCTRL_WMI_SET_POWERSAVE_TIMERS)+ *   WMI_SET_POWERSAVE_TIMERS_CMD powerSaveTimers(see include/wmi.h)+ *   WMI_SET_POWERSAVE_TIMERS_CMDID+ */++#define AR6000_XIOCTRL_WMI_GET_POWER_MODE          34+/*+ * arguments:+ *   UINT32 cmd (AR6000_XIOCTRL_WMI_GET_POWER_MODE)+ */++#define AR6000_XIOCTRL_WMI_SET_WLAN_STATE          35+typedef enum {+    WLAN_DISABLED,+    WLAN_ENABLED+} AR6000_WLAN_STATE;+/*+ * arguments:+ * enable/disable+ */++#define AR6000_XIOCTL_WMI_GET_ROAM_DATA            36++/* used by AR6000_IOCTL_WMI_GETREV */+struct ar6000_version {+    A_UINT32        host_ver;+    A_UINT32        target_ver;+};++/* used by AR6000_IOCTL_WMI_GET_QOS_QUEUE */+struct ar6000_queuereq{+    A_UINT8         trafficDirection;+    A_UINT8         trafficClass;+    A_INT8          queueNumber;+};++/* used by AR6000_IOCTL_WMI_GET_TARGET_STATS */+typedef struct targetStats_t {+    A_UINT64    tx_packets;+    A_UINT64    tx_bytes;+    A_UINT64    tx_unicast_pkts;+    A_UINT64    tx_unicast_bytes;+    A_UINT64    tx_multicast_pkts;+    A_UINT64    tx_multicast_bytes;+    A_UINT64    tx_broadcast_pkts;+    A_UINT64    tx_broadcast_bytes;+    A_UINT64    tx_rts_success_cnt;+    A_UINT64    tx_packet_per_ac[4];++    A_UINT64    tx_errors;+    A_UINT64    tx_failed_cnt;+    A_UINT64    tx_retry_cnt;+    A_UINT64    tx_rts_fail_cnt;+    A_UINT64    rx_packets;+    A_UINT64    rx_bytes;+    A_UINT64    rx_unicast_pkts;+    A_UINT64    rx_unicast_bytes;+    A_UINT64    rx_multicast_pkts;+    A_UINT64    rx_multicast_bytes;+    A_UINT64    rx_broadcast_pkts;+    A_UINT64    rx_broadcast_bytes;+    A_UINT64    rx_fragment_pkt;++    A_UINT64    rx_errors;+    A_UINT64    rx_crcerr;+    A_UINT64    rx_key_cache_miss;+    A_UINT64    rx_decrypt_err;+    A_UINT64    rx_duplicate_frames;++    A_UINT64    tkip_local_mic_failure;+    A_UINT64    tkip_counter_measures_invoked;+    A_UINT64    tkip_replays;+    A_UINT64    tkip_format_errors;+    A_UINT64    ccmp_format_errors;+    A_UINT64    ccmp_replays;++    A_UINT64    power_save_failure_cnt;+    A_INT16     noise_floor_calibation;++    A_UINT64    cs_bmiss_cnt;+    A_UINT64    cs_lowRssi_cnt;+    A_UINT64    cs_connect_cnt;+    A_UINT64    cs_disconnect_cnt;+    A_UINT8     cs_aveBeacon_rssi;+    A_UINT8     cs_lastRoam_msec;+}TARGET_STATS;++/* used by AR6000_XIOCTL_GPIO_OUTPUT_SET */+struct ar6000_gpio_output_set_cmd_s {+    A_UINT32 set_mask;+    A_UINT32 clear_mask;+    A_UINT32 enable_mask;+    A_UINT32 disable_mask;+};++/*+ * used by AR6000_XIOCTL_GPIO_REGISTER_GET and AR6000_XIOCTL_GPIO_REGISTER_SET+ */+struct ar6000_gpio_register_cmd_s {+    A_UINT32 gpioreg_id;+    A_UINT32 value;+};++/* used by AR6000_XIOCTL_GPIO_INTR_ACK */+struct ar6000_gpio_intr_ack_cmd_s {+    A_UINT32 ack_mask;+};++/* used by AR6000_XIOCTL_GPIO_INTR_WAIT */+struct ar6000_gpio_intr_wait_cmd_s {+    A_UINT32 intr_mask;+    A_UINT32 input_values;+};++#ifdef __cplusplus+}+#endif++#endif /* _ATHDRV_H_ */Index: linux-2.6.18/drivers/sdio/function/wlan/ar6000/include/athtypes.h===================================================================--- /dev/null+++ linux-2.6.18/drivers/sdio/function/wlan/ar6000/include/athtypes.h@@ -0,0 +1,43 @@+/*+ * Copyright 2003-2006 Atheros Communications, Inc.+ *+ *  Wireless Network driver for Atheros AR6001+ *+ *  This program is free software; you can redistribute it and/or modify+ *  it under the terms of the GNU General Public License version 2 as+ *  published by the Free Software Foundation;+ *+ *  Software distributed under the License is distributed on an "AS+ *  IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or+ *  implied. See the License for the specific language governing+ *  rights and limitations under the License.+ *+ *+ * This file contains the definitions of the basic atheros data types.+ * It is used to map the data types in atheros files to a platform specific+ * type.+ *+ */++#ifndef _ATHTYPES_LINUX_H_+#define _ATHTYPES_LINUX_H_++#ifdef __KERNEL__+#include <linux/types.h>+#endif++typedef int8_t      A_INT8;+typedef int16_t     A_INT16;+typedef int32_t     A_INT32;+typedef int64_t     A_INT64;++typedef u_int8_t     A_UINT8;+typedef u_int16_t    A_UINT16;+typedef u_int32_t    A_UINT32;+typedef u_int64_t    A_UINT64;++typedef int             A_BOOL;+typedef char            A_CHAR;+typedef unsigned char   A_UCHAR;++#endif /* _ATHTYPES_LINUX_H_ */Index: linux-2.6.18/drivers/sdio/function/wlan/ar6000/include/ieee80211.h===================================================================--- /dev/null+++ linux-2.6.18/drivers/sdio/function/wlan/ar6000/include/ieee80211.h@@ -0,0 +1,333 @@+/*-+ * Copyright (c) 2001 Atsushi Onoe+ * Copyright (c) 2002-2004 Sam Leffler, Errno Consulting+ * Copyright 2006 ATheros Communications, Inc.+ *+ *  Wireless Network driver for Atheros AR6001+ *+ *  This program is free software; you can redistribute it and/or modify+ *  it under the terms of the GNU General Public License version 2 as+ *  published by the Free Software Foundation;+ *+ *  Software distributed under the License is distributed on an "AS+ *  IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or+ *  implied. See the License for the specific language governing+ *  rights and limitations under the License.+ *+ * */+#ifndef _NET80211_IEEE80211_H_+#define _NET80211_IEEE80211_H_++/*+ * 802.11 protocol definitions.+ */++#define IEEE80211_ADDR_LEN  6       /* size of 802.11 address */+/* is 802.11 address multicast/broadcast? */+#define IEEE80211_IS_MULTICAST(_a)  (*(_a) & 0x01)+#define IEEE80211_ADDR_EQ(addr1, addr2)     \+    (A_MEMCMP(addr1, addr2, IEEE80211_ADDR_LEN) == 0)++#define IEEE80211_KEYBUF_SIZE 16+#define IEEE80211_MICBUF_SIZE (8+8)  /* space for both tx and rx */++/*+ * NB: these values are ordered carefully; there are lots of+ * of implications in any reordering.  In particular beware+ * that 4 is not used to avoid conflicting with IEEE80211_F_PRIVACY.+ */+#define IEEE80211_CIPHER_WEP            0+#define IEEE80211_CIPHER_TKIP           1+#define IEEE80211_CIPHER_AES_OCB        2+#define IEEE80211_CIPHER_AES_CCM        3+#define IEEE80211_CIPHER_CKIP           5+#define IEEE80211_CIPHER_CCKM_KRK       6+#define IEEE80211_CIPHER_NONE           7       /* pseudo value */++#define IEEE80211_CIPHER_MAX            (IEEE80211_CIPHER_NONE+1)++#define IEEE80211_IS_VALID_WEP_CIPHER_LEN(len) \+        (((len) == 5) || ((len) == 13) || ((len) == 16))++/*+ * generic definitions for IEEE 802.11 frames+ */+struct ieee80211_frame {+    A_UINT8    i_fc[2];+    A_UINT8    i_dur[2];+    A_UINT8    i_addr1[IEEE80211_ADDR_LEN];+    A_UINT8    i_addr2[IEEE80211_ADDR_LEN];+    A_UINT8    i_addr3[IEEE80211_ADDR_LEN];+    A_UINT8    i_seq[2];+    /* possibly followed by addr4[IEEE80211_ADDR_LEN]; */+    /* see below */+} __ATTRIB_PACK;++#define IEEE80211_FC0_VERSION_MASK          0x03+#define IEEE80211_FC0_VERSION_SHIFT         0+#define IEEE80211_FC0_VERSION_0             0x00+#define IEEE80211_FC0_TYPE_MASK             0x0c+#define IEEE80211_FC0_TYPE_SHIFT            2+#define IEEE80211_FC0_TYPE_MGT              0x00+#define IEEE80211_FC0_TYPE_CTL              0x04+#define IEEE80211_FC0_TYPE_DATA             0x08++#define IEEE80211_FC0_SUBTYPE_MASK          0xf0+#define IEEE80211_FC0_SUBTYPE_SHIFT         4+/* for TYPE_MGT */+#define IEEE80211_FC0_SUBTYPE_ASSOC_REQ     0x00+#define IEEE80211_FC0_SUBTYPE_ASSOC_RESP    0x10+#define IEEE80211_FC0_SUBTYPE_REASSOC_REQ   0x20+#define IEEE80211_FC0_SUBTYPE_REASSOC_RESP  0x30+#define IEEE80211_FC0_SUBTYPE_PROBE_REQ     0x40+#define IEEE80211_FC0_SUBTYPE_PROBE_RESP    0x50+#define IEEE80211_FC0_SUBTYPE_BEACON        0x80+#define IEEE80211_FC0_SUBTYPE_ATIM          0x90+#define IEEE80211_FC0_SUBTYPE_DISASSOC      0xa0+#define IEEE80211_FC0_SUBTYPE_AUTH          0xb0+#define IEEE80211_FC0_SUBTYPE_DEAUTH        0xc0+/* for TYPE_CTL */+#define IEEE80211_FC0_SUBTYPE_PS_POLL       0xa0+#define IEEE80211_FC0_SUBTYPE_RTS           0xb0+#define IEEE80211_FC0_SUBTYPE_CTS           0xc0+#define IEEE80211_FC0_SUBTYPE_ACK           0xd0+#define IEEE80211_FC0_SUBTYPE_CF_END        0xe0+#define IEEE80211_FC0_SUBTYPE_CF_END_ACK    0xf0+/* for TYPE_DATA (bit combination) */+#define IEEE80211_FC0_SUBTYPE_DATA          0x00+#define IEEE80211_FC0_SUBTYPE_CF_ACK        0x10+#define IEEE80211_FC0_SUBTYPE_CF_POLL       0x20+#define IEEE80211_FC0_SUBTYPE_CF_ACPL       0x30+#define IEEE80211_FC0_SUBTYPE_NODATA        0x40+#define IEEE80211_FC0_SUBTYPE_CFACK         0x50+#define IEEE80211_FC0_SUBTYPE_CFPOLL        0x60+#define IEEE80211_FC0_SUBTYPE_CF_ACK_CF_ACK 0x70+#define IEEE80211_FC0_SUBTYPE_QOS           0x80+#define IEEE80211_FC0_SUBTYPE_QOS_NULL      0xc0++#define IEEE80211_FC1_DIR_MASK              0x03+#define IEEE80211_FC1_DIR_NODS              0x00    /* STA->STA */+#define IEEE80211_FC1_DIR_TODS              0x01    /* STA->AP  */+#define IEEE80211_FC1_DIR_FROMDS            0x02    /* AP ->STA */+#define IEEE80211_FC1_DIR_DSTODS            0x03    /* AP ->AP  */++#define IEEE80211_FC1_MORE_FRAG             0x04+#define IEEE80211_FC1_RETRY                 0x08+#define IEEE80211_FC1_PWR_MGT               0x10+#define IEEE80211_FC1_MORE_DATA             0x20+#define IEEE80211_FC1_WEP                   0x40+#define IEEE80211_FC1_ORDER                 0x80++#define IEEE80211_SEQ_FRAG_MASK             0x000f+#define IEEE80211_SEQ_FRAG_SHIFT            0+#define IEEE80211_SEQ_SEQ_MASK              0xfff0+#define IEEE80211_SEQ_SEQ_SHIFT             4++#define IEEE80211_NWID_LEN                  32++/*+ * 802.11 rate set.+ */+#define IEEE80211_RATE_SIZE     8       /* 802.11 standard */+#define IEEE80211_RATE_MAXSIZE  15      /* max rates we'll handle */++#define WMM_NUM_AC                  4   /* 4 AC categories */++#define WMM_PARAM_ACI_M         0x60    /* Mask for ACI field */+#define WMM_PARAM_ACI_S         5   /* Shift for ACI field */+#define WMM_PARAM_ACM_M         0x10    /* Mask for ACM bit */+#define WMM_PARAM_ACM_S         4       /* Shift for ACM bit */+#define WMM_PARAM_AIFSN_M       0x0f    /* Mask for aifsn field */+#define WMM_PARAM_LOGCWMIN_M    0x0f    /* Mask for CwMin field (in log) */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -