autotest: remove beacon_footer functionality

In kernel v3.8, a local patch (https://crrev.com/c/232362)
added the ability to add an arbitrary footer to wifi beacon
frames. This change was never upstreamed and is no longer
supported by any more recent kernel versions. This change
removes the autotest functionality that relied on this
kernel capability. Further, the test 'network_WiFi_Simple
Connect.wifi_checkTruncatedBeacon' uses this beacon_footer
logic, so remove it as well in order to avoid advertising
the ability to test for something we can't actually test
for.

This test/functionality may be reproduced in some fashion
in the future.

BUG=None
TEST=Run other wifi tests to make sure nothing else is broken.
Attempting to run 'network_WiFi_SimpleConnect.wifi_checkTruncatedBeacon'
results in failure.

Change-Id: I543957d99cb7e9d52543973933e2c2a50a0317d7
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/autotest/+/1974487
Tested-by: Kevin Lund <kglund@google.com>
Commit-Queue: Brian Norris <briannorris@chromium.org>
Reviewed-by: Brian Norris <briannorris@chromium.org>
diff --git a/server/cros/network/hostap_config.py b/server/cros/network/hostap_config.py
index 49b3103..9e7b0da 100644
--- a/server/cros/network/hostap_config.py
+++ b/server/cros/network/hostap_config.py
@@ -477,12 +477,6 @@
 
 
     @property
-    def beacon_footer(self):
-        """@return bool _beacon_footer value."""
-        return self._beacon_footer
-
-
-    @property
     def scenario_name(self):
         """@return string _scenario_name value, or None."""
         return self._scenario_name
@@ -530,7 +524,6 @@
                  vht_channel_width=None,
                  vht_center_channel=None,
                  ac_capabilities=None,
-                 beacon_footer='',
                  spectrum_mgmt_required=None,
                  scenario_name=None,
                  supported_rates=None,
@@ -569,8 +562,6 @@
         @param vht_channel_width object channel width
         @param vht_center_channel int center channel of segment 0.
         @param ac_capabilities list of AC_CAPABILITY_x defined above.
-        @param beacon_footer string containing (unvalidated) IE data to be
-            placed at the end of the beacon.
         @param spectrum_mgmt_required True if we require the DUT to support
             spectrum management.
         @param scenario_name string to be included in file names, instead
@@ -657,7 +648,6 @@
         # and operating channel.
         self._vht_oper_centr_freq_seg0_idx = vht_center_channel
         self._ac_capabilities = set(ac_capabilities)
-        self._beacon_footer = beacon_footer
         self._spectrum_mgmt_required = spectrum_mgmt_required
         self._scenario_name = scenario_name
         self._supported_rates = supported_rates
diff --git a/server/site_linux_router.py b/server/site_linux_router.py
index 1d578f3..c3b3747 100644
--- a/server/site_linux_router.py
+++ b/server/site_linux_router.py
@@ -526,7 +526,6 @@
         self.start_hostapd(configuration)
         interface = self.hostapd_instances[-1].interface
         self.iw_runner.set_tx_power(interface, 'auto')
-        self.set_beacon_footer(interface, configuration.beacon_footer)
         self.start_local_server(interface, bridge=configuration.bridge)
         logging.info('AP configured.')
 
@@ -1199,22 +1198,6 @@
                       stdin=magic_packet)
 
 
-    def set_beacon_footer(self, interface, footer=''):
-        """Sets the beacon footer (appended IE information) for this interface.
-
-        @param interface string interface to set the footer on.
-        @param footer string footer to be set on the interface.
-
-        """
-        footer_file = ('/sys/kernel/debug/ieee80211/%s/beacon_footer' %
-                       self.iw_runner.get_interface(interface).phy)
-        if self.router.run('test -e %s' % footer_file,
-                           ignore_status=True).exit_status != 0:
-            logging.info('Beacon footer file does not exist.  Ignoring.')
-            return
-        self.host.run('echo -ne %s > %s' % ('%r' % footer, footer_file))
-
-
     def setup_bridge_mode_dhcp_server(self):
         """Setup an DHCP server for bridge mode.
 
diff --git a/server/site_tests/network_WiFi_SimpleConnect/control.wifi_checkTruncatedBeacon b/server/site_tests/network_WiFi_SimpleConnect/control.wifi_checkTruncatedBeacon
deleted file mode 100644
index 8cc8cec..0000000
--- a/server/site_tests/network_WiFi_SimpleConnect/control.wifi_checkTruncatedBeacon
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-AUTHOR = 'wiley, pstew, quiche'
-NAME = 'network_WiFi_SimpleConnect.wifi_checkTruncatedBeacon'
-TIME = 'SHORT'
-TEST_TYPE = 'Server'
-ATTRIBUTES = ('suite:wifi_matfunc, suite:wifi_release, subsystem:wifi')
-DEPENDENCIES = 'wificell'
-
-DOC = """
-This test attempts to verify that we can connect to a router that sends
-corrupted beacons.  In this particular case, the beacon data is truncated.
-"""
-
-
-from autotest_lib.client.common_lib.cros.network import xmlrpc_datatypes
-from autotest_lib.server.cros.network import hostap_config
-
-
-def run(machine):
-    b_mode = hostap_config.HostapConfig.MODE_11B
-    # This is an incomplete vendor-specific beacon IE (one byte short).
-    beacon_footer = '\xdd\x0b\0\x1a\x11\x01\0\0\0\0\0\0'
-    configurations = [(hostap_config.HostapConfig(channel=1, mode=b_mode,
-                                                  beacon_footer=beacon_footer),
-                       xmlrpc_datatypes.AssociationParameters())]
-    host = hosts.create_host(machine)
-    job.run_test('network_WiFi_SimpleConnect',
-                 tag=NAME.split('.')[1],
-                 host=host,
-                 raw_cmdline_args=args,
-                 additional_params=configurations)
-
-
-parallel_simple(run, machines)