背景

由于日本早已对于民众开放使用6Ghz频段、

在APP测试中、为模拟中国以外用户的使用场景、排除6Ghz才会发生的BUG,需调查6Ghz在中国国内测试的可行性和对应办法——

中国6Ghz现状

中国无线6Ghz(6425-7125MHz)频段的使用情况调查

1.2023年7月中国工业和信息化部发布新版《中华人民共和国无线电频率划分规定》, 将6Ghz(6425-7125MHz)全部或部分频段划分用于IMT(国际移动通信,含5G/6G)系统。

工业和信息化部发布新版《中华人民共和国无线电频率划分规定》 率先在全球将6GHz频段划分用于5G/6G系统_部门动态_中国政府网

2.基于《中华人民共和国无线电管理条例》中第八章第70条规定, 违反本条例规定,未经许可擅自使用无线电频率,或者擅自设置、使用无线电台(站)的,由无线电管理机构责令改正,没收从事违法活动的设备和违法所得,可以并处5万元以下的罚款。

中华人民共和国国务院 中华人民共和国中央军事委员会令(第672号) 中华人民共和国无线电管理条例__2016年第35号国务院公报_中国政府网

因此,政府为了避免国内极客擅自使用6Ghz,进行了以下屏蔽方法——

①国内购买的路由器不支持6Ghz。就算是从海外购置了支持6Ghz的路由器———也不行,见②

②无论国内还是国外购置了支持6Ghz的手机(从25年开始的新手机基本上都支持6Ghz频段,是否支持可以查询一下),在联网激活后,手机的无线国家码会强制切换到CN,导致6Ghz频段无法连接

手机的无线国家码

为什么你的设备到了国外就“水土不服”?

你可能觉得,Wi-Fi不就是个全球通用的技术吗,怎么还分国家?这其实是个法规和物理层结合的“坑”。简单来说,Wi-Fi信号是在2.4GHz和5GHz这两个公共频段上“跑”的,但不同国家或地区,对这两个频段里具体哪些“车道”(也就是信道)可以开放使用,有着严格的法律规定。这就好比开车,有的国家靠右行驶,有的靠左,你不能乱来。

以最常见的2.4GHz频段为例,它被划分成了14个信道。在中国,我们允许使用第1到第13个信道。但在美国,FCC(联邦通信委员会)只批准了第1到第11个信道。如果你在中国生产的设备,默认国家码是CN,它就会在1-13信道上欢快地工作。但如果你把它带到美国,不修改国家码,它可能会尝试去扫描或连接第12、13信道,这在当地法规下是不允许的,轻则信号不稳定,重则根本无法使用。这就是我们常说的“合规性”问题,搞不好还会引发法律风险。

国家码目的

Wi-Fi国家码的核心,其实是信道映射表。这个表定义了在这个国家码下,哪些频段(2.4G、5G、6G)下的哪些信道是允许被使用的。这个定义权,掌握在每个国家或地区的无线电管理机构手里,比如中国的SRRC(国家无线电监测中心)、美国的FCC、欧洲的ETSI。

为什么要有这个限制?主要原因有两个:

避免干扰:无线电频谱是宝贵的公共资源。除了Wi-Fi,蓝牙、 Zigbee、对讲机、甚至微波炉(没错,2.4GHz)都在用相近的频段。国家码规定就是为了让不同设备“错峰出行”,减少相互干扰,保证大家都能正常通信。

军事与安全:部分频段可能被预留用于军事、航空导航等关键领域,民用设备必须避开。

国家码设置优先级逻辑

在Android系统里,决定最终使用哪个国家码,有一套优先级逻辑。

  1. 最高优先级:用户手动设置。如果用户在系统设置->网络和互联网->WIFI->WIFI偏好设置(或类似路径)中手动选择了国家/地区,系统会优先采用这个设置。但这个选项不一定对所有用户可见,取决于OEM的定制。

  2. 次高优先级:SIM卡信息。当设备插入SIM卡并成功注册到移动网络时,系统可以从移动网络运营商(MNO)获取国家码(MCC,移动国家代码)。Android的WifiCountryCode模块会尝试将这个MCC转换为对应的WIFI国家码(如460->CN)。这是最“智能”的方式,能让设备“走到哪,适配到哪”。

  3. 默认/保底优先级:系统属性。如果以上两者都不可用(比如Wi-Fi Only的平板,或者用户没设置),系统就会回退到读取一个特定的系统属性(ro.boot.wificountrycode或ro.wifi.country)来获取默认国家码。我们开发者主要操作的,就是这个层级。

  4. 最低优先级:驱动默认值。如果连系统属性都没设置,WIFI芯片驱动(比如高通的QCA驱动)会使用其固件中编译的默认值,这个值往往是全球通用但限制最严的(比如US或00),以保证最基本的合规。


因此为了在国内进行6Ghz频段的顺利连接,以下条件是必须的:

  1. 国外购买支持6Ghz的路由器

  2. 国内/国外购买支持6Ghz的Android手机

  3. 手机更改国家码为对应频段的


通过adb变更Android国家码

注意!此种修改方式,一旦手机重启,就会失效。

第一步,先把手机Root:参见下文

PC的adb环境搭建:参见下文

http://renew7.fun:8090/archives/apks

打开开发者选项和USB调试

打开USB调试模式

查看手机是否连接成功

adb devices

获取root权限

adb root

用完,可以将root权限取消:

adb unroot

读取手机当前国家码

adb shell cmd wifi get-country-code

修改国家码

adb shell cmd wifi force-country-code enabled US

国家码可用信道查询网站

https://en.wikipedia.org/wiki/List_of_WLAN_channels

WLAN国家码和信道顺从表.xlsx

确认新国家码

adb shell cmd wifi get-country-code

参考文章

https://blog.csdn.net/html8/article/details/148725858https://blog.csdn.net/qxhgd/article/details/141502729https://support.huawei.com/enterprise/zh/doc/EDOC1000014875/82579c28