Loading Documentation/networking/mac80211-injection.txt +6 −22 Original line number Diff line number Diff line Loading @@ -12,38 +12,22 @@ following format: The radiotap format is discussed in ./Documentation/networking/radiotap-headers.txt. Despite 13 radiotap argument types are currently defined, most only make sense Despite many radiotap parameters being currently defined, most only make sense to appear on received packets. The following information is parsed from the radiotap headers and used to control injection: * IEEE80211_RADIOTAP_RATE rate in 500kbps units, automatic if invalid or not present * IEEE80211_RADIOTAP_ANTENNA antenna to use, automatic if not present * IEEE80211_RADIOTAP_DBM_TX_POWER transmit power in dBm, automatic if not present * IEEE80211_RADIOTAP_FLAGS IEEE80211_RADIOTAP_F_FCS: FCS will be removed and recalculated IEEE80211_RADIOTAP_F_WEP: frame will be encrypted if key available IEEE80211_RADIOTAP_F_FRAG: frame will be fragmented if longer than the current fragmentation threshold. Note that this flag is only reliable when software fragmentation is enabled) current fragmentation threshold. The injection code can also skip all other currently defined radiotap fields facilitating replay of captured radiotap headers directly. Here is an example valid radiotap header defining these three parameters Here is an example valid radiotap header defining some parameters 0x00, 0x00, // <-- radiotap version 0x0b, 0x00, // <- radiotap header length Loading Loading @@ -72,8 +56,8 @@ interface), along the following lines: ... r = pcap_inject(ppcap, u8aSendBuffer, nLength); You can also find sources for a complete inject test applet here: You can also find a link to a complete inject application here: http://penumbra.warmcat.com/_twk/tiki-index.php?page=packetspammer http://wireless.kernel.org/en/users/Documentation/packetspammer Andy Green <andy@warmcat.com> Documentation/rfkill.txt +6 −10 Original line number Diff line number Diff line Loading @@ -521,16 +521,12 @@ status of the system. Input devices may issue events that are related to rfkill. These are the various KEY_* events and SW_* events supported by rfkill-input.c. ******IMPORTANT****** When rfkill-input is ACTIVE, userspace is NOT TO CHANGE THE STATE OF AN RFKILL SWITCH IN RESPONSE TO AN INPUT EVENT also handled by rfkill-input, unless it has set to true the user_claim attribute for that particular switch. This rule is *absolute*; do NOT violate it. ******IMPORTANT****** Userspace must not assume it is the only source of control for rfkill switches. Their state CAN and WILL change due to firmware actions, direct user actions, and the rfkill-input EPO override for *_RFKILL_ALL. Userspace may not change the state of an rfkill switch in response to an input event, it should refrain from changing states entirely. Userspace cannot assume it is the only source of control for rfkill switches. Their state can change due to firmware actions, direct user actions, and the rfkill-input EPO override for *_RFKILL_ALL. When rfkill-input is not active, userspace must initiate a rfkill status change by writing to the "state" attribute in order for anything to happen. Loading MAINTAINERS +8 −2 Original line number Diff line number Diff line Loading @@ -888,6 +888,12 @@ P: Luis R. Rodriguez M: lrodriguez@atheros.com P: Jouni Malinen M: jmalinen@atheros.com P: Sujith Manoharan M: Sujith.Manoharan@atheros.com P: Vasanthakumar Thiagarajan M: vasanth@atheros.com P: Senthil Balasubramanian M: senthilkumar@atheros.com L: linux-wireless@vger.kernel.org L: ath9k-devel@lists.ath9k.org S: Supported Loading Loading @@ -4421,8 +4427,8 @@ S: Maintained F: drivers/ata/sata_promise.* PS3 NETWORK SUPPORT P: Masakazu Mokuno M: mokuno@sm.sony.co.jp P: Geoff Levand M: geoffrey.levand@am.sony.com L: netdev@vger.kernel.org L: cbe-oss-dev@ozlabs.org S: Supported Loading arch/arm/mach-pxa/tosa-bt.c +2 −2 Original line number Diff line number Diff line Loading @@ -38,9 +38,9 @@ static void tosa_bt_off(struct tosa_bt_data *data) static int tosa_bt_toggle_radio(void *data, enum rfkill_state state) { pr_info("BT_RADIO going: %s\n", state == RFKILL_STATE_ON ? "on" : "off"); state == RFKILL_STATE_UNBLOCKED ? "on" : "off"); if (state == RFKILL_STATE_ON) { if (state == RFKILL_STATE_UNBLOCKED) { pr_info("TOSA_BT: going ON\n"); tosa_bt_on(data); } else { Loading drivers/net/usb/hso.c +2 −2 Original line number Diff line number Diff line Loading @@ -2484,7 +2484,7 @@ static int add_net_device(struct hso_device *hso_dev) static int hso_radio_toggle(void *data, enum rfkill_state state) { struct hso_device *hso_dev = data; int enabled = (state == RFKILL_STATE_ON); int enabled = (state == RFKILL_STATE_UNBLOCKED); int rv; mutex_lock(&hso_dev->mutex); Loading Loading @@ -2522,7 +2522,7 @@ static void hso_create_rfkill(struct hso_device *hso_dev, snprintf(rfkn, 20, "hso-%d", interface->altsetting->desc.bInterfaceNumber); hso_net->rfkill->name = rfkn; hso_net->rfkill->state = RFKILL_STATE_ON; hso_net->rfkill->state = RFKILL_STATE_UNBLOCKED; hso_net->rfkill->data = hso_dev; hso_net->rfkill->toggle_radio = hso_radio_toggle; if (rfkill_register(hso_net->rfkill) < 0) { Loading Loading
Documentation/networking/mac80211-injection.txt +6 −22 Original line number Diff line number Diff line Loading @@ -12,38 +12,22 @@ following format: The radiotap format is discussed in ./Documentation/networking/radiotap-headers.txt. Despite 13 radiotap argument types are currently defined, most only make sense Despite many radiotap parameters being currently defined, most only make sense to appear on received packets. The following information is parsed from the radiotap headers and used to control injection: * IEEE80211_RADIOTAP_RATE rate in 500kbps units, automatic if invalid or not present * IEEE80211_RADIOTAP_ANTENNA antenna to use, automatic if not present * IEEE80211_RADIOTAP_DBM_TX_POWER transmit power in dBm, automatic if not present * IEEE80211_RADIOTAP_FLAGS IEEE80211_RADIOTAP_F_FCS: FCS will be removed and recalculated IEEE80211_RADIOTAP_F_WEP: frame will be encrypted if key available IEEE80211_RADIOTAP_F_FRAG: frame will be fragmented if longer than the current fragmentation threshold. Note that this flag is only reliable when software fragmentation is enabled) current fragmentation threshold. The injection code can also skip all other currently defined radiotap fields facilitating replay of captured radiotap headers directly. Here is an example valid radiotap header defining these three parameters Here is an example valid radiotap header defining some parameters 0x00, 0x00, // <-- radiotap version 0x0b, 0x00, // <- radiotap header length Loading Loading @@ -72,8 +56,8 @@ interface), along the following lines: ... r = pcap_inject(ppcap, u8aSendBuffer, nLength); You can also find sources for a complete inject test applet here: You can also find a link to a complete inject application here: http://penumbra.warmcat.com/_twk/tiki-index.php?page=packetspammer http://wireless.kernel.org/en/users/Documentation/packetspammer Andy Green <andy@warmcat.com>
Documentation/rfkill.txt +6 −10 Original line number Diff line number Diff line Loading @@ -521,16 +521,12 @@ status of the system. Input devices may issue events that are related to rfkill. These are the various KEY_* events and SW_* events supported by rfkill-input.c. ******IMPORTANT****** When rfkill-input is ACTIVE, userspace is NOT TO CHANGE THE STATE OF AN RFKILL SWITCH IN RESPONSE TO AN INPUT EVENT also handled by rfkill-input, unless it has set to true the user_claim attribute for that particular switch. This rule is *absolute*; do NOT violate it. ******IMPORTANT****** Userspace must not assume it is the only source of control for rfkill switches. Their state CAN and WILL change due to firmware actions, direct user actions, and the rfkill-input EPO override for *_RFKILL_ALL. Userspace may not change the state of an rfkill switch in response to an input event, it should refrain from changing states entirely. Userspace cannot assume it is the only source of control for rfkill switches. Their state can change due to firmware actions, direct user actions, and the rfkill-input EPO override for *_RFKILL_ALL. When rfkill-input is not active, userspace must initiate a rfkill status change by writing to the "state" attribute in order for anything to happen. Loading
MAINTAINERS +8 −2 Original line number Diff line number Diff line Loading @@ -888,6 +888,12 @@ P: Luis R. Rodriguez M: lrodriguez@atheros.com P: Jouni Malinen M: jmalinen@atheros.com P: Sujith Manoharan M: Sujith.Manoharan@atheros.com P: Vasanthakumar Thiagarajan M: vasanth@atheros.com P: Senthil Balasubramanian M: senthilkumar@atheros.com L: linux-wireless@vger.kernel.org L: ath9k-devel@lists.ath9k.org S: Supported Loading Loading @@ -4421,8 +4427,8 @@ S: Maintained F: drivers/ata/sata_promise.* PS3 NETWORK SUPPORT P: Masakazu Mokuno M: mokuno@sm.sony.co.jp P: Geoff Levand M: geoffrey.levand@am.sony.com L: netdev@vger.kernel.org L: cbe-oss-dev@ozlabs.org S: Supported Loading
arch/arm/mach-pxa/tosa-bt.c +2 −2 Original line number Diff line number Diff line Loading @@ -38,9 +38,9 @@ static void tosa_bt_off(struct tosa_bt_data *data) static int tosa_bt_toggle_radio(void *data, enum rfkill_state state) { pr_info("BT_RADIO going: %s\n", state == RFKILL_STATE_ON ? "on" : "off"); state == RFKILL_STATE_UNBLOCKED ? "on" : "off"); if (state == RFKILL_STATE_ON) { if (state == RFKILL_STATE_UNBLOCKED) { pr_info("TOSA_BT: going ON\n"); tosa_bt_on(data); } else { Loading
drivers/net/usb/hso.c +2 −2 Original line number Diff line number Diff line Loading @@ -2484,7 +2484,7 @@ static int add_net_device(struct hso_device *hso_dev) static int hso_radio_toggle(void *data, enum rfkill_state state) { struct hso_device *hso_dev = data; int enabled = (state == RFKILL_STATE_ON); int enabled = (state == RFKILL_STATE_UNBLOCKED); int rv; mutex_lock(&hso_dev->mutex); Loading Loading @@ -2522,7 +2522,7 @@ static void hso_create_rfkill(struct hso_device *hso_dev, snprintf(rfkn, 20, "hso-%d", interface->altsetting->desc.bInterfaceNumber); hso_net->rfkill->name = rfkn; hso_net->rfkill->state = RFKILL_STATE_ON; hso_net->rfkill->state = RFKILL_STATE_UNBLOCKED; hso_net->rfkill->data = hso_dev; hso_net->rfkill->toggle_radio = hso_radio_toggle; if (rfkill_register(hso_net->rfkill) < 0) { Loading