<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Wataru Taniguchi</title>
    <description>The latest articles on DEV Community by Wataru Taniguchi (@wataniguchi).</description>
    <link>https://dev.to/wataniguchi</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1108460%2F5510d4dd-64e3-4f3a-9643-c37f53b54cd6.jpeg</url>
      <title>DEV Community: Wataru Taniguchi</title>
      <link>https://dev.to/wataniguchi</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/wataniguchi"/>
    <language>en</language>
    <item>
      <title>How to build a 6GHz WiFi Router Mode AP with a Raspberry Pi and Netgear A8000</title>
      <dc:creator>Wataru Taniguchi</dc:creator>
      <pubDate>Mon, 26 Jun 2023 08:20:42 +0000</pubDate>
      <link>https://dev.to/wataniguchi/how-to-build-a-6ghz-wifi-router-mode-ap-with-a-raspberry-pi-and-netgear-a8000-31om</link>
      <guid>https://dev.to/wataniguchi/how-to-build-a-6ghz-wifi-router-mode-ap-with-a-raspberry-pi-and-netgear-a8000-31om</guid>
      <description>&lt;p&gt;The use of 6GHz WiFi band has been approved in Japan since September 2022.&lt;br&gt;
This article (&lt;a href="https://qiita.com/wataniguchi/items/380cd315226f6cce2cc1"&gt;Japanese&lt;/a&gt;) provides detailed instructions to build a 6GHz WiFi Router Mode AP there, using a Raspberry Pi and a Netgear A8000.&lt;br&gt;
It is most likely that these instructions are applicable in any country where the use of 6GHz is allowed.  However, it is not tested outside of Japan.&lt;br&gt;
Instructions to build a 6GHz client is covered by a separate article &lt;a href="https://dev.to/wataniguchi/how-to-build-a-6ghz-wifi-client-with-a-raspberry-pi-and-netgear-a8000-47ok"&gt;How to build a 6GHz WiFi client with a Raspberry Pi and Netgear A8000&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Also, it might be useful to take a look at another AP article,  &lt;a href="https://dev.to/wataniguchi/how-to-build-a-6ghz-wifi-bridge-mode-ap-with-a-raspberry-pi-and-netgear-a8000-2ojc"&gt;How to build a 6GHz WiFi Bridge Mode AP with a Raspberry Pi and Netgear A8000&lt;/a&gt;.&lt;/p&gt;
&lt;h1&gt;
  
  
  Task Summary
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;Force the standard mt7921u driver to recognize A8000&lt;/li&gt;
&lt;li&gt;Refresh Linux Wireless Regulatory Database to reflect the addition of 6GHz band WiFi&lt;/li&gt;
&lt;li&gt;Renew MediaTek WiFi firmware&lt;/li&gt;
&lt;li&gt;Install dnsmasq&lt;/li&gt;
&lt;li&gt;Install hostapd and upgrade it to v2.10&lt;/li&gt;
&lt;/ul&gt;
&lt;h1&gt;
  
  
  Prerequisites and Assumptions
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;Raspberry Pi OS version is Bullseye, i.e., kernel 6.1&lt;/li&gt;
&lt;li&gt;Interface name for the onboard WiFi is wlan0 while that for A8000 is wlan1&lt;/li&gt;
&lt;li&gt;192.168.193.0 / 255.255.255.192 is allocated as the new 6GHz network with 192.168.193.62 as the access point&lt;/li&gt;
&lt;li&gt;Instructions described in this article are for Japan&lt;/li&gt;
&lt;/ul&gt;
&lt;h1&gt;
  
  
  Force the standard mt7921u driver to recognize A8000
&lt;/h1&gt;

&lt;p&gt;Refer to &lt;a href="https://dev.to/wataniguchi/how-to-build-a-6ghz-wifi-client-with-a-raspberry-pi-and-netgear-a8000-47ok"&gt;How to build a 6GHz WiFi clinet with a Raspberry Pi and Netgear A8000&lt;/a&gt;&lt;/p&gt;
&lt;h1&gt;
  
  
  Refresh Linux Wireless Regulatory Database to reflect the addition of 6GHz band WiFi
&lt;/h1&gt;

&lt;p&gt;Refer to &lt;a href="https://dev.to/wataniguchi/how-to-build-a-6ghz-wifi-client-with-a-raspberry-pi-and-netgear-a8000-47ok"&gt;How to build a 6GHz WiFi clinet with a Raspberry Pi and Netgear A8000&lt;/a&gt;&lt;/p&gt;
&lt;h1&gt;
  
  
  Renew MediaTek WiFi firmware
&lt;/h1&gt;

&lt;p&gt;Refer to &lt;a href="https://dev.to/wataniguchi/how-to-build-a-6ghz-wifi-client-with-a-raspberry-pi-and-netgear-a8000-47ok"&gt;How to build a 6GHz WiFi clinet with a Raspberry Pi and Netgear A8000&lt;/a&gt;&lt;/p&gt;
&lt;h1&gt;
  
  
  Install dnsmasq
&lt;/h1&gt;

&lt;p&gt;Install the package by &lt;code&gt;sudo apt-get install dnsmasq&lt;/code&gt; and add the following to &lt;code&gt;/etc/dnsmasq.conf&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;interface=wlan1
dhcp-range=192.168.193.1,192.168.193.61,12h
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h1&gt;
  
  
  Install hostapd and upgrade it to v2.10
&lt;/h1&gt;

&lt;p&gt;Install the package by &lt;code&gt;sudo apt-get install hostapd&lt;/code&gt;.&lt;br&gt;
Then upgrade it to v2.10 as &lt;a href="https://forums.raspberrypi.com/viewtopic.php?t=338143"&gt;802.11ax support was only added in v2.10&lt;/a&gt;.  Since WPA Applicant is also have to be upgraded to v2.10 for client, let's download &lt;code&gt;hostap_2_10.tar.gz&lt;/code&gt; package that incorporate both WPA Supplicant and hostapd from &lt;a href="https://w1.fi/cgit/hostap/"&gt;its distribution site&lt;/a&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;tar -xzvf hostap_2_10.tar.gz
cd hostap_2_10/hostapd
cp defconfig .config
echo CONFIG_IEEE80211AX=y &amp;gt;&amp;gt; .config
echo CONFIG_IEEE80211AC=y &amp;gt;&amp;gt; .config
echo CONFIG_SAE=y &amp;gt;&amp;gt; .config
echo CONFIG_ACS=y &amp;gt;&amp;gt; .config
make
sudo mv /usr/sbin/hostapd /usr/sbin/hostapd_2_9
sudo cp hostapd /usr/sbin/
sudo mv /usr/sbin/hostapd_cli /usr/sbin/hostapd_cli_2_9
sudo cp hostapd_cli /usr/sbin/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Change the dhcpcd configuration in &lt;code&gt;/etc/dhcpcd.conf&lt;/code&gt; such that wlan1 uses a static IP address instead of DHCP.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;interface wlan1
static ip_address=192.168.193.62/26
nohook wpa_supplicant
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Create a new file &lt;code&gt;/etc/hostapd/hostapd.conf&lt;/code&gt;.  Do not forget to change &lt;code&gt;ssid=&lt;/code&gt;, &lt;code&gt;sae_password=&lt;/code&gt;, and &lt;code&gt;channel=&lt;/code&gt; appropriately.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ctrl_interface=/var/run/hostapd
ctrl_interface_group=0
country_code=JP
interface=wlan1
ssid=foo-ax
sae_password=foobar
hw_mode=a
channel=57
ieee80211ax=1
wmm_enabled=1
op_class=131
ieee80211w=2
auth_algs=3
wpa=2
wpa_key_mgmt=SAE
rsn_pairwise=CCMP
rsn_preauth=1
sae_require_mfp=1
sae_pwe=1
wpa_group_rekey=1800
group_cipher=CCMP
wpa_psk_radius=0
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Register hostapd as a service that automatically starts at boot.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo systemctl unmask hostapd.service
sudo systemctl enable hostapd.service
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Enable IPv4 forwarding when appropriate by adding the following to &lt;code&gt;/etc/sysctl.d/routed-ap.conf&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;net.ipv4.ip_forward=1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h1&gt;
  
  
  Done
&lt;/h1&gt;

&lt;p&gt;See if you are on 6GHz by &lt;code&gt;sudo hostapd_cli status&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ sudo hostapd_cli status
Selected interface 'wlan1'
state=ENABLED
phy=phy1
freq=6235
num_sta_non_erp=0
num_sta_no_short_slot_time=1
num_sta_no_short_preamble=1
olbc=0
num_sta_ht_no_gf=0
num_sta_no_ht=1
num_sta_ht_20_mhz=0
num_sta_ht40_intolerant=0
olbc_ht=0
ht_op_mode=0x0
cac_time_seconds=0
cac_time_left_seconds=N/A
channel=57
edmg_enable=0
edmg_channel=0
secondary_channel=0
ieee80211n=0
ieee80211ac=0
ieee80211ax=1
beacon_int=100
dtim_period=2
he_oper_chwidth=0
he_oper_centr_freq_seg0_idx=0
he_oper_centr_freq_seg1_idx=0
supported_rates=0c 12 18 24 30 48 60 6c
max_txpower=23
bss[0]=wlan1
bssid[0]=94:18:65:xx:xx:xx
ssid[0]=foo-ax
num_sta[0]=1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>raspberrypi</category>
      <category>wifi6e</category>
      <category>6ghz</category>
    </item>
    <item>
      <title>How to build a 6GHz WiFi Bridge Mode AP with a Raspberry Pi and Netgear A8000</title>
      <dc:creator>Wataru Taniguchi</dc:creator>
      <pubDate>Mon, 26 Jun 2023 08:18:48 +0000</pubDate>
      <link>https://dev.to/wataniguchi/how-to-build-a-6ghz-wifi-bridge-mode-ap-with-a-raspberry-pi-and-netgear-a8000-2ojc</link>
      <guid>https://dev.to/wataniguchi/how-to-build-a-6ghz-wifi-bridge-mode-ap-with-a-raspberry-pi-and-netgear-a8000-2ojc</guid>
      <description>&lt;p&gt;The use of 6GHz WiFi band has been approved in Japan since September 2022.&lt;br&gt;
This article (&lt;a href="https://qiita.com/wataniguchi/items/313aeecba00e2b28554d"&gt;Japanese&lt;/a&gt;) provides detailed instructions to build a 6GHz WiFi Bridge Mode AP there, using a Raspberry Pi and a Netgear A8000.&lt;br&gt;
It is most likely that these instructions are applicable in any country where the use of 6GHz is allowed.  However, it is not tested outside of Japan.&lt;br&gt;
Instructions to build a 6GHz client is covered by a separate article &lt;a href="https://dev.to/wataniguchi/how-to-build-a-6ghz-wifi-client-with-a-raspberry-pi-and-netgear-a8000-47ok"&gt;How to build a 6GHz WiFi client with a Raspberry Pi and Netgear A8000&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Also, it might be useful to take a look at another AP article,  &lt;a href="https://dev.to/wataniguchi/how-to-build-a-6ghz-wifi-router-mode-ap-with-a-raspberry-pi-and-netgear-a8000-31om"&gt;How to build a 6GHz WiFi Router Mode AP with a Raspberry Pi and Netgear A8000&lt;/a&gt;.&lt;/p&gt;
&lt;h1&gt;
  
  
  Task Summary
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;Force the standard mt7921u driver to recognize A8000&lt;/li&gt;
&lt;li&gt;Refresh Linux Wireless Regulatory Database to reflect the addition of 6GHz band WiFi&lt;/li&gt;
&lt;li&gt;Renew MediaTek WiFi firmware&lt;/li&gt;
&lt;li&gt;Install bridge-utils&lt;/li&gt;
&lt;li&gt;Install hostapd and upgrade it to v2.10&lt;/li&gt;
&lt;/ul&gt;
&lt;h1&gt;
  
  
  Prerequisites and Assumptions
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;Raspberry Pi OS version is Bullseye, i.e., kernel 6.1&lt;/li&gt;
&lt;li&gt;Interface name for the onboard wired LAN is eth0, that for the onboard WiFi is wlan0, and that for A8000 is wlan1&lt;/li&gt;
&lt;li&gt;Raspberry Pi is wired to an upstream router, e.g. ONU, where DHCP service is available&lt;/li&gt;
&lt;li&gt;Instructions described in this article are for Japan&lt;/li&gt;
&lt;/ul&gt;
&lt;h1&gt;
  
  
  Force the standard mt7921u driver to recognize A8000
&lt;/h1&gt;

&lt;p&gt;Refer to &lt;a href="https://dev.to/wataniguchi/how-to-build-a-6ghz-wifi-client-with-a-raspberry-pi-and-netgear-a8000-47ok"&gt;How to build a 6GHz WiFi clinet with a Raspberry Pi and Netgear A8000&lt;/a&gt;&lt;/p&gt;
&lt;h1&gt;
  
  
  Refresh Linux Wireless Regulatory Database to reflect the addition of 6GHz band WiFi
&lt;/h1&gt;

&lt;p&gt;Refer to &lt;a href="https://dev.to/wataniguchi/how-to-build-a-6ghz-wifi-client-with-a-raspberry-pi-and-netgear-a8000-47ok"&gt;How to build a 6GHz WiFi clinet with a Raspberry Pi and Netgear A8000&lt;/a&gt;&lt;/p&gt;
&lt;h1&gt;
  
  
  Renew MediaTek WiFi firmware
&lt;/h1&gt;

&lt;p&gt;Refer to &lt;a href="https://dev.to/wataniguchi/how-to-build-a-6ghz-wifi-client-with-a-raspberry-pi-and-netgear-a8000-47ok"&gt;How to build a 6GHz WiFi clinet with a Raspberry Pi and Netgear A8000&lt;/a&gt;&lt;/p&gt;
&lt;h1&gt;
  
  
  Install bridge-utils
&lt;/h1&gt;

&lt;p&gt;Install the package by &lt;code&gt;sudo apt-get install bridge-utils&lt;/code&gt; and areate a new file &lt;code&gt;/etc/network/interfaces.d/bridge.conf&lt;/code&gt; as follows.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;auto br0
iface br0 inet dhcp
bridge_ports eth0 wlan1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h1&gt;
  
  
  Install hostapd and upgrade it to v2.10
&lt;/h1&gt;

&lt;p&gt;Install the package by &lt;code&gt;sudo apt-get install hostapd&lt;/code&gt;.&lt;br&gt;
Then upgrade it to v2.10 as &lt;a href="https://forums.raspberrypi.com/viewtopic.php?t=338143"&gt;802.11ax support was only added in v2.10&lt;/a&gt;.  Since WPA Applicant is also have to be upgraded to v2.10 for client, let's download &lt;code&gt;hostap_2_10.tar.gz&lt;/code&gt; package that incorporate both WPA Supplicant and hostapd from &lt;a href="https://w1.fi/cgit/hostap/"&gt;its distribution site&lt;/a&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;tar -xzvf hostap_2_10.tar.gz
cd hostap_2_10/hostapd
cp defconfig .config
echo CONFIG_IEEE80211AX=y &amp;gt;&amp;gt; .config
echo CONFIG_IEEE80211AC=y &amp;gt;&amp;gt; .config
echo CONFIG_SAE=y &amp;gt;&amp;gt; .config
echo CONFIG_ACS=y &amp;gt;&amp;gt; .config
make
sudo mv /usr/sbin/hostapd /usr/sbin/hostapd_2_9
sudo cp hostapd /usr/sbin/
sudo mv /usr/sbin/hostapd_cli /usr/sbin/hostapd_cli_2_9
sudo cp hostapd_cli /usr/sbin/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Create a new file &lt;code&gt;/etc/hostapd/hostapd.conf&lt;/code&gt;.  Do not forget to change &lt;code&gt;ssid=&lt;/code&gt;, &lt;code&gt;sae_password=&lt;/code&gt;, and &lt;code&gt;channel=&lt;/code&gt; appropriately.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ctrl_interface=/var/run/hostapd
ctrl_interface_group=0
country_code=JP
interface=wlan1
bridge=br0
driver=nl80211
ssid=foo-ax
sae_password=foobar
hw_mode=a
channel=57
ieee80211ax=1
wmm_enabled=1
op_class=131
ieee80211w=2
auth_algs=3
wpa=2
wpa_key_mgmt=SAE
rsn_pairwise=CCMP
rsn_preauth=1
sae_require_mfp=1
sae_pwe=1
wpa_group_rekey=1800
group_cipher=CCMP
wpa_psk_radius=0
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Register hostapd as a service that automatically starts at boot.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo systemctl unmask hostapd.service
sudo systemctl enable hostapd.service
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can optionally disable the use of wlan0/onboard WiFi by &lt;code&gt;sudo iwconfig wlan0 txpower off&lt;/code&gt;.&lt;/p&gt;

&lt;h1&gt;
  
  
  Done
&lt;/h1&gt;

&lt;p&gt;See if you are on 6GHz by &lt;code&gt;sudo hostapd_cli status&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ sudo hostapd_cli status
Selected interface 'wlan1'
state=ENABLED
phy=phy1
freq=6235
num_sta_non_erp=0
num_sta_no_short_slot_time=1
num_sta_no_short_preamble=1
olbc=0
num_sta_ht_no_gf=0
num_sta_no_ht=1
num_sta_ht_20_mhz=0
num_sta_ht40_intolerant=0
olbc_ht=0
ht_op_mode=0x0
cac_time_seconds=0
cac_time_left_seconds=N/A
channel=57
edmg_enable=0
edmg_channel=0
secondary_channel=0
ieee80211n=0
ieee80211ac=0
ieee80211ax=1
beacon_int=100
dtim_period=2
he_oper_chwidth=0
he_oper_centr_freq_seg0_idx=0
he_oper_centr_freq_seg1_idx=0
supported_rates=0c 12 18 24 30 48 60 6c
max_txpower=23
bss[0]=wlan1
bssid[0]=94:18:65:xx:xx:xx
ssid[0]=foo-ax
num_sta[0]=1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>raspberrypi</category>
      <category>wifi6e</category>
      <category>6ghz</category>
    </item>
    <item>
      <title>How to build a 6GHz WiFi client with a Raspberry Pi and Netgear A8000</title>
      <dc:creator>Wataru Taniguchi</dc:creator>
      <pubDate>Mon, 26 Jun 2023 08:16:53 +0000</pubDate>
      <link>https://dev.to/wataniguchi/how-to-build-a-6ghz-wifi-client-with-a-raspberry-pi-and-netgear-a8000-47ok</link>
      <guid>https://dev.to/wataniguchi/how-to-build-a-6ghz-wifi-client-with-a-raspberry-pi-and-netgear-a8000-47ok</guid>
      <description>&lt;p&gt;The use of 6GHz WiFi band has been approved in Japan since September 2022.&lt;br&gt;
This article (&lt;a href="https://qiita.com/wataniguchi/items/e61130686f3f3e97bde0"&gt;Japanese&lt;/a&gt;) provides detailed instructions to build a 6GHz WiFi client there, using a Raspberry Pi and a Netgear A8000.&lt;br&gt;
It is most likely that these instructions are applicable in any country where the use of 6GHz is allowed.  However, it is not tested outside of Japan.&lt;br&gt;
Instructions to build a 6GHz Access Point is covered by separate articles &lt;a href="https://dev.to/wataniguchi/how-to-build-a-6ghz-wifi-router-mode-ap-with-a-raspberry-pi-and-netgear-a8000-31om"&gt;How to build a 6GHz WiFi Router Mode AP with a Raspberry Pi and Netgear A8000&lt;/a&gt; and &lt;a href="https://dev.to/wataniguchi/how-to-build-a-6ghz-wifi-bridge-mode-ap-with-a-raspberry-pi-and-netgear-a8000-2ojc"&gt;How to build a 6GHz WiFi Bridge Mode AP with a Raspberry Pi and Netgear A8000&lt;/a&gt;.&lt;/p&gt;
&lt;h1&gt;
  
  
  Task Summary
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;Force the standard mt7921u driver to recognize A8000&lt;/li&gt;
&lt;li&gt;Refresh Linux Wireless Regulatory Database to reflect the addition of 6GHz band WiFi&lt;/li&gt;
&lt;li&gt;Renew MediaTek WiFi firmware&lt;/li&gt;
&lt;li&gt;Upgrade WPA Supplicant to v2.10&lt;/li&gt;
&lt;/ul&gt;
&lt;h1&gt;
  
  
  Prerequisites and Assumptions
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;Raspberry Pi OS version is Bullseye, i.e., kernel 6.1&lt;/li&gt;
&lt;li&gt;Interface name for the onboard WiFi is wlan0 while that for A8000 is wlan1&lt;/li&gt;
&lt;li&gt;Instructions described in this article are for Japan&lt;/li&gt;
&lt;/ul&gt;
&lt;h1&gt;
  
  
  Force the standard mt7921u driver to recognize A8000
&lt;/h1&gt;

&lt;p&gt;Create a new file &lt;code&gt;/etc/udev/rules.d/90-usb-0846:9060-mt7921u.rules&lt;/code&gt; as below, following the instructions about A8000 on &lt;a href="https://github.com/morrownr/USB-WiFi/blob/main/home/USB_WiFi_Adapters_that_are_supported_with_Linux_in-kernel_drivers.md"&gt;this page&lt;/a&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ACTION=="add", \
    SUBSYSTEM=="usb", \
    ENV{ID_VENDOR_ID}=="0846", \
    ENV{ID_MODEL_ID}=="9060", \
    RUN+="/usr/sbin/modprobe mt7921u", \
    RUN+="/bin/sh -c 'echo 0846 9060 &amp;gt; /sys/bus/usb/drivers/mt7921u/new_id'"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This enables A8000 to be automatically recognized at boot for the use of existing WiFi bands.&lt;/p&gt;

&lt;h1&gt;
  
  
  Refresh Linux Wireless Regulatory Database to reflect the addition of 6GHz band WiFi
&lt;/h1&gt;

&lt;p&gt;You can see that the use of 6GHz WiFi in Japan has not yet been reflected to the Bullseye's regulatory database by the command &lt;code&gt;iw reg get&lt;/code&gt;.  The timestamp of &lt;code&gt;wireless-regdb&lt;/code&gt; package, April 2022, explains why.  It is before the approval that took place in September of the year.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;~ $ iw reg get
global
country JP: DFS-JP
    (2402 - 2482 @ 40), (N/A, 20), (N/A)
    (2474 - 2494 @ 20), (N/A, 20), (N/A), NO-OFDM
    (4910 - 4990 @ 40), (N/A, 23), (N/A)
    (5170 - 5250 @ 80), (N/A, 20), (N/A), AUTO-BW
    (5250 - 5330 @ 80), (N/A, 20), (0 ms), DFS, AUTO-BW
    (5490 - 5710 @ 160), (N/A, 23), (0 ms), DFS
    (57000 - 66000 @ 2160), (N/A, 10), (N/A)
~ $ apt list --installed | grep regdb
wireless-regdb/stable,now 2022.04.08-2~deb11u1 all [installed]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Obtain the newest distribution file from &lt;a href="https://mirrors.edge.kernel.org/pub/software/network/wireless-regdb/"&gt;the distribution site&lt;/a&gt; and copy its binary database file to &lt;code&gt;/lib/crda&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;xzcat wireless-regdb-2023.05.03.tar.xz | tar -xvf -
cd wireless-regdb-2023.05.03/
sudo mv /lib/crda/regulatory.bin /lib/crda/regulatory.bin.orig
sudo cp regulatory.bin /lib/crda
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Make sure the new band gets included by the command &lt;code&gt;iw reg get&lt;/code&gt; after reboot.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;~ $ iw reg get
global
country JP: DFS-JP
    (2402 - 2482 @ 40), (N/A, 20), (N/A)
    (2474 - 2494 @ 20), (N/A, 20), (N/A), NO-OFDM
    (4910 - 4990 @ 40), (N/A, 23), (N/A)
    (5170 - 5250 @ 80), (N/A, 20), (N/A), AUTO-BW
    (5250 - 5330 @ 80), (N/A, 20), (0 ms), DFS, AUTO-BW
    (5490 - 5730 @ 160), (N/A, 23), (0 ms), DFS
    (5925 - 6425 @ 160), (N/A, 23), (N/A), NO-OUTDOOR
    (57000 - 66000 @ 2160), (N/A, 10), (N/A)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h1&gt;
  
  
  Renew MediaTek WiFi firmware
&lt;/h1&gt;

&lt;p&gt;Bullseye comes with a version of MediaTek WiFi firmware, which is no longer the newest.  You can renew the firmware, following the instructions on &lt;a href="https://github.com/morrownr/USB-WiFi/blob/main/home/How_to_Install_Firmware_for_Mediatek_based_USB_WiFi_adapters.md"&gt;this page&lt;/a&gt;.&lt;br&gt;
The original version is found to be &lt;code&gt;____010000-20220908211021&lt;/code&gt; by the command &lt;code&gt;ethtool -i wlan1&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;~ $ ethtool -i wlan1
driver: mt7921u
version: 6.1.21-v8+
firmware-version: ____010000-20220908211021
expansion-rom-version: 
bus-info: 1-1.4:1.0
supports-statistics: yes
supports-test: no
supports-eeprom-access: no
supports-register-dump: no
supports-priv-flags: no
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Download files for MT7921 chipset from &lt;a href="https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/mediatek"&gt;MediaTek firmware for Linux distribution site&lt;/a&gt; and copy them to &lt;code&gt;/lib/firmware/mediatek&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo mv /lib/firmware/mediatek/WIFI_MT7961_patch_mcu_1_2_hdr.bin /lib/firmware/mediatek/WIFI_MT7961_patch_mcu_1_2_hdr.bin.orig
sudo mv /lib/firmware/mediatek/WIFI_RAM_CODE_MT7961_1.bin /lib/firmware/mediatek/WIFI_RAM_CODE_MT7961_1.bin.orig
sudo cp WIFI_MT7961_patch_mcu_1_2_hdr.bin /lib/firmware/mediatek
sudo cp WIFI_RAM_CODE_MT7961_1.bin /lib/firmware/mediatek
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The refreshed version is found to be &lt;code&gt;____010000-20230526130958&lt;/code&gt; by the command &lt;code&gt;ethtool -i wlan1&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;~ $ ethtool -i wlan1
driver: mt7921u
version: 6.1.21-v8+
firmware-version: ____010000-20230526130958
expansion-rom-version: 
bus-info: 1-1.4:1.0
supports-statistics: yes
supports-test: no
supports-eeprom-access: no
supports-register-dump: no
supports-priv-flags: no
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h1&gt;
  
  
  Upgrade WPA Supplicant to v2.10
&lt;/h1&gt;

&lt;p&gt;You have to upgrade WPA Supplicant to v2.10 as &lt;a href="https://medium.com/@barry_wu.me/how-to-connect-wi-fi-6e-ap-over-the-6-ghz-band-with-ubuntu-21-04-2a0b4f071ac2"&gt;there are some WiFi 6E functionalities not ready on v2.9&lt;/a&gt;.  Since hostapd is also have to be upgraded to v2.10 for AP, let's download &lt;code&gt;hostap_2_10.tar.gz&lt;/code&gt; package that incorporate both WPA Supplicant and hostapd from &lt;a href="https://w1.fi/cgit/hostap/"&gt;its distribution site&lt;/a&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;tar -xzvf hostap_2_10.tar.gz
cd hostap_2_10/wpa_supplicant
cp defconfig .config
make
sudo mv /usr/sbin/wpa_supplicant /usr/sbin/wpa_supplicant_2_9
sudo cp wpa_supplicant /usr/sbin
sudo mv /usr/sbin/wpa_cli /usr/sbin/wpa_cli_2_9
sudo cp wpa_cli /usr/sbin
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h1&gt;
  
  
  Direct wlan1/A8000 to connect to a different network
&lt;/h1&gt;

&lt;p&gt;Change WPA supplicant configuration such that wlan0/onboard WiFi and wlan1/A8000 to connect to different networks.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cd /etc/wpa_supplicant
sudo mv wpa_supplicant.conf wpa_supplicant-wlan0.conf
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Create a new file &lt;code&gt;wpa_supplicant-wlan1.conf&lt;/code&gt; as below.  Do not forget to change &lt;code&gt;ssid=&lt;/code&gt; and &lt;code&gt;sae_password=&lt;/code&gt; appropriately.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
pmf=2
sae_pwe=1

network={
    scan_ssid=1
    ssid="foo-ax"
    key_mgmt=SAE
    proto=RSN
    ieee80211w=2
    sae_password="foobar"
    pairwise=CCMP
    group=CCMP
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can optionally disable the use of wlan0/onboard WiFi by &lt;code&gt;sudo iwconfig wlan0 txpower off&lt;/code&gt;.&lt;/p&gt;

&lt;h1&gt;
  
  
  Done
&lt;/h1&gt;

&lt;p&gt;See if you are on 6GHz by &lt;code&gt;iwconfig&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;~ $ iwconfig
lo        no wireless extensions.

wlan0     IEEE 802.11  ESSID:off/any  
          Mode:Managed  Access Point: Not-Associated   
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Power Management:on

wlan1     IEEE 802.11  ESSID:"foo-ax"  
          Mode:Managed  Frequency:6.235 GHz  Access Point: 94:18:65:xx:xx:xx   
          Bit Rate=286.7 Mb/s   Tx-Power=3 dBm   
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Power Management:on
          Link Quality=70/70  Signal level=-31 dBm  
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>linux</category>
      <category>raspberrypi</category>
      <category>wifi6e</category>
      <category>6ghz</category>
    </item>
  </channel>
</rss>
