android WIFI相关问题集合

2023-05-16

1.Wi-Fi hotspot cannot be used normally

问题描述:
android P - Settings - Network & internet - Hotspot & tethering - Wi-Fi hotspot - turn on the switch.

it will switch off automatically after a few seconds.

Logcat has been uploaded & one error has been found.

12-26 08:48:19.442 291 291 W hwservicemanager: getTransport: Cannot find entry android.hardware.wifi.hostapd@1.0::IHostapd/default in either framework or device manifest.

QC解决流程:

Created By: Uwen Zhang (1/2/2020 9:59 PM)
Dear Jianjun.

it means doesn't change in the right config.xml.

there are many config.xml defined config_wifi_softap_acs_supported.

search your code to check which XML define its value as true.
----------
Created By: Duan Jianjun (1/2/2020 9:45 PM)
i add log to print context.getResources().getBoolean(R.bool.config_wifi_softap_acs_supported)
it always true

frameworks/base/core/res/res/values/config.xml:700: <bool translatable="false" name="config_wifi_softap_acs_supported">false</bool>
vendor/qcom/proprietary/resource-overlay/common/Frameworks/res/values/config.xml:165: <bool translatable="false" name="config_wifi_softap_acs_supported">false</bool>

i donnot know why ?

can you find out other way to set it to true ?
Created By: Duan Jianjun (1/2/2020 8:20 PM)
it worked.

i just set
mEnableAcs = false;

however, default value is
<!-- Wifi driver supports Automatic channel selection (ACS) for softap -->
<bool translatable="false" name="config_wifi_softap_acs_supported">false</bool>

i don't understand.

pls check log.

logcat_20200103.txt & dmesg_20200103.txt
----------
Created By: Uwen Zhang (1/2/2020 6:48 PM)
Dear Customer,

#1 Please share the wlan driver log to check why ACS fail.

#2 the ACS flag config_wifi_softap_acs_supported already enabled from your 2 logs.

set blew to verify
/frameworks/opt/net/wifi/service/java/com/android/server/wifi/HostapdHal.java#104

public HostapdHal(Context context) {
// mEnableAcs = //context.getResources().getBoolean(R.bool.config_wifi_softap_acs_supported);

mEnableAcs = false;

mEnableIeee80211AC =
context.getResources().getBoolean(R.bool.config_wifi_softap_ieee80211ac_supported);
}

The funtcion @
vendor/qcom/opensource/softap/softap/sdk/


2427 static int qsap_set_channel(s32 channel, s8 *tbuf, u32 *tlen)
2428 {
2429 u32 ulen;
2430 s8 *pcfgval;
2431 s8 schan[MAX_INT_STR+1];
2432 s8 *pcfg = pconffile;
2433
2434 ulen = *tlen;
2435
2436 /* Do not worry about hw_mode if intention is to use ACS (channel=0) */
2437 if (channel == 0)
2438 goto end;
----------
Created By: Duan Jianjun (1/2/2020 5:51 PM)
Hi QC,

pls check log, ap still disable.

1.WCNSS_qcom_cfg.ini
i set gApAutoChannelSelection=1

2.config_wifi_softap_acs_supported = true

3.argv[3] (channel=0)
i cannot find how to set channel.
Created By: Uwen Zhang (1/2/2020 12:32 AM)
01-02 02:21:57.010 E/QCSDK ( 6338): Cmd: acs_exclude_dfs Argument :0
01-02 02:21:57.010 D/QCSDK ( 6338): cmd=acs_exclude_dfs, Val:0, INI:0
01-02 02:21:57.013 D/QCSDK ( 6338): Adding a new line in hostapd.conf file: [acs_exclude_dfs=0
01-02 02:21:57.013 D/QCSDK ( 6338): ]
01-02 02:21:57.014 D/QCSDK ( 6338): CMD OUTPUT [success]
01-02 02:21:57.014 D/QCSDK ( 6338): len :7
01-02 02:21:57.014 D/QCSDK ( 6338):
01-02 02:21:57.014 D/QCSDK ( 6338): argv[2] (set)
01-02 02:21:57.014 D/QCSDK ( 6338): argv[3] (channel=0)
01-02 02:21:57.014 D/QCSDK ( 6338): QCCMD data ()
01-02 02:21:57.014 D/QCSDK ( 6338): CMD INPUT [ set channel=0][256]
01-02 02:21:57.016 E/QCSDK ( 6338): Cmd: channel Argument :0
01-02 02:21:57.016 D/QCSDK ( 6338): cmd=channel, Val:0, INI:0
01-02 02:21:57.017 D/QCSDK ( 6338): Updated:channel=0
01-02 02:21:57.017 D/QCSDK ( 6338):
----------
Created By: Uwen Zhang (1/2/2020 12:23 AM)
uwen

010-58324315
Created By: Uwen Zhang (1/2/2020 12:23 AM)
have you enable config_wifi_softap_acs_supported ?

from current log, it use ACS to set channel,but ACS nothing, so SAP failed
----------
Created By: Duan Jianjun (1/2/2020 12:19 AM)
1. channel=6
# Channel number (IEEE 802.11)
# (default: 0, i.e., not set)
# Please note that some drivers (e.g., madwifi) do not use this value from
# hostapd and the channel will need to be configuration separately with
# iwconfig.
channel=6

Now i modify it to 1.

2 & 3 default value is the same as you provide.

Is it necessary to verify the new version?
----------
Created By: Uwen Zhang (1/1/2020 11:20 PM)
log show ACS failed.

try blew.


1.hostapd.conf channel =1
2.in WCNSS_qcom_cfg.ini , make below :
gApAutoChannelSelection=0
3.config_wifi_softap_acs_supported = false
<!-- Enable ACS (auto channel selection) for Wifi hotspot (SAP) -->
<bool translatable="false" name="config_wifi_softap_acs_supported">false</bool>



if you want to use ACS channel, try blew.

WCNSS_qcom_cfg.ini
========================
gApAutoChannelSelection=1
----------
Created By: Duan Jianjun (1/1/2020 9:23 PM)
hotspot button can be switch on, but it cannot be found.

pls check log.
----------
Created By: Uwen Zhang (1/1/2020 6:52 PM)
Full
----------
Created By: Duan Jianjun (1/1/2020 6:32 PM)
make systemimage or full version?
----------
Created By: Uwen Zhang (1/1/2020 6:01 PM)
add it in your manifest.xml and re-test.
----------
Created By: Duan Jianjun (12/31/2019 12:23 AM)
i got it in /device/qcom/msm8909go_p10pi/manifest.xml

android.hardware.wifi.hostapd can not be found.
pls check attachment of manifest

how to modify?

thanks
----------
Created By: Duan Jianjun (12/31/2019 12:18 AM)
could you provider the full path of manifest.xml ?
----------
Created By: Uwen Zhang (12/30/2019 11:45 PM)
Try add below codes into your current prj manifest.xml,
<hal format="hidl">
<name>android.hardware.wifi.hostapd</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IHostapd</name>
<instance>default</instance>
</interface>
</hal>
----------
Created By: Uwen Zhang (12/30/2019 11:44 PM)
Dear customer,

as the log mention, please check if android.hardware.wifi.hostapd@1.0::IHostapd

in your binary or device manifest.

最终解决方案:

Index: device/qcom/common/device/overlay/frameworks/base/core/res/res/values/config.xml
===================================================================
--- device/qcom/common/device/overlay/frameworks/base/core/res/res/values/config.xml	(版本 2968)
+++ device/qcom/common/device/overlay/frameworks/base/core/res/res/values/config.xml	(工作副本)
@@ -123,7 +123,7 @@
     <bool translatable="false" name="config_wifi_background_scan_support">true</bool>
 
    <!-- Enable ACS (auto channel selection) for Wifi hotspot (SAP) -->
-   <bool translatable="false" name="config_wifi_softap_acs_supported">true</bool>
+   <bool translatable="false" name="config_wifi_softap_acs_supported">false</bool> <!-- @ modify for BUG # -->
 
    <!-- Enable 802.11ac for Wifi hotspot (SAP) -->
    <bool translatable="false" name="config_wifi_softap_ieee80211ac_supported">true</bool>
Index: device/qcom/msm8909go_p10pi/manifest.xml
===================================================================
--- device/qcom/msm8909go_p10pi/manifest.xml	(版本 2968)
+++ device/qcom/msm8909go_p10pi/manifest.xml	(工作副本)
@@ -427,6 +427,24 @@
         </interface>
     </hal>
     <hal format="hidl">
+        <name>android.hardware.wifi.hostapd</name>
+        <transport>hwbinder</transport>
+        <version>1.0</version>
+        <interface>
+            <name>IHostapd</name>
+            <instance>default</instance>
+        </interface>
+    </hal>
+    <hal format="hidl">
+        <name>vendor.qti.hardware.wifi.hostapd</name>
+        <transport>hwbinder</transport>
+        <version>1.0</version>
+        <interface>
+            <name>IHostapdVendor</name>
+            <instance>default</instance>
+        </interface>
+    </hal>
+    <hal format="hidl">
         <name>vendor.qti.hardware.radio.ims</name>
            <transport>hwbinder</transport>
            <version>1.0</version>
Index: packages/apps/Settings/res/xml/network_and_internet.xml
===================================================================
--- packages/apps/Settings/res/xml/network_and_internet.xml	(版本 2968)
+++ packages/apps/Settings/res/xml/network_and_internet.xml	(工作副本)
@@ -48,7 +48,7 @@
             android:targetClass="com.android.phone.MobileNetworkSettings" />
     </com.android.settingslib.RestrictedPreference>
 
-    <!-- <com.android.settingslib.RestrictedPreference
+    <com.android.settingslib.RestrictedPreference
         android:fragment="com.android.settings.TetherSettings"
         android:key="tether_settings"
         android:title="@string/tether_settings_title_all"
@@ -57,7 +57,7 @@
         android:summary="@string/summary_placeholder"
         settings:keywords="@string/keywords_hotspot_tethering"
         settings:userRestriction="no_config_tethering"
-        settings:useAdminDisabledSummary="true" /> -->
+        settings:useAdminDisabledSummary="true" />
 
     <!-- <com.android.settingslib.RestrictedPreference
         android:key="manage_mobile_plan"
Index: packages/apps/Settings/src/com/android/settings/network/NetworkDashboardFragment.java
===================================================================
--- packages/apps/Settings/src/com/android/settings/network/NetworkDashboardFragment.java	(版本 2968)
+++ packages/apps/Settings/src/com/android/settings/network/NetworkDashboardFragment.java	(工作副本)
@@ -107,7 +107,7 @@
         final List<AbstractPreferenceController> controllers = new ArrayList<>();
         controllers.add(mobileNetworkPreferenceController);
         // @ modify for bug# {
-        // controllers.add(new TetherPreferenceController(context, lifecycle));
+        controllers.add(new TetherPreferenceController(context, lifecycle));
         controllers.add(vpnPreferenceController);
         controllers.add(new ProxyPreferenceController(context));
         //controllers.add(mobilePlanPreferenceController);
Index: packages/apps/Settings/src/com/android/settings/network/TetherPreferenceController.java
===================================================================
--- packages/apps/Settings/src/com/android/settings/network/TetherPreferenceController.java	(版本 2968)
+++ packages/apps/Settings/src/com/android/settings/network/TetherPreferenceController.java	(工作副本)
@@ -117,12 +117,12 @@
     @Override
     public boolean isAvailable() {
         //@ 20190616 -+ {
-        /*final boolean isBlocked =
+        final boolean isBlocked =
                 (!mConnectivityManager.isTetheringSupported() && !mAdminDisallowedTetherConfig)
                         || hasBaseUserRestriction(mContext, DISALLOW_CONFIG_TETHERING,
                         UserHandle.myUserId());
-        return !isBlocked;*/
-        return false;
+        return !isBlocked;
+        //return false;
         //@ 20190616 -+ }
     }
 

2.No available channels on 5GHz band

问题描述:
switch ap band to 5GHz and open hotspot, it turn off automatically.

03-05 08:32:59.536 E/ApConfigUtil( 1069): No available channels on 5GHz band
03-05 08:32:59.536 E/ApConfigUtil( 1069): Failed to get available channel.
03-05 08:32:59.536 E/SoftApManager( 1069): Failed to update AP band and channel
03-05 08:32:59.537 V/WifiManager( 3577): SoftApCallbackProxy: onStateChanged: state=14, failureReason=1
03-05 08:32:59.539 E/WifiController( 1069): SoftAP start failed

QC解决流程:

Created By: Beibei Zhang (3/11/2020 11:23 PM)
Dear customer
你们默认国家码是00,然后用户侧又没有命令来改动(没有插卡什么的)那00的国家码注定用不了5G。一般客户默认国家码是US,然后手机插入哪个国家sim卡,国家码是会变的。回到本问题,你们在问题出现的时候直接输入以下命令,看看国家码是多少
iw reg get
然后用以下命令改一下国家码再看看能不能使用
wpa_cli -i wlan0 DRIVER COUNTRY US
-----------
Created By: Beibei Zhang (3/10/2020 3:53 AM)
country code 修改可以参考KBA -180706005928
<regDomain>3</regDomain>
<countryCode>
<countryCode_value Index="0">67</countryCode_value>
<countryCode_value Index="1">78</countryCode_value>
<countryCode_value Index="2">73</countryCode_value>
</countryCode>
</defaultCountryTable>

注意<regDomain>3</regDomain> 这个决定了DUT 的domain, 不管设置哪个国家代码,必须遵循这个domain=3(world ) 下的规则

参考:KBA-180706005928
country code决定是否能用5G,默认是00,不支持5G,在插卡后会改变country code。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

android WIFI相关问题集合 的相关文章

  • android 解决BottomNavigationView+nav_host_fragment实现tab,fragment重建问题

    重建原因 xff1a 源码FragmentNavigator中对fragment的管理时通过replace实现的 xff0c 所以会导致每次切换时重建 解决思路 xff1a 继承FragmentNavigator 把replace的实现方式
  • git速查

    git速查 文章目录 git速查git init clone 仓库git config 配置git add rm mv添加 删除git commit提交git fetch remote pull push reset 远程同步git bra
  • ViewBinding的简单使用

    ViewBinding的作用就是为了避免编写findViewById xff0c 和kotlin android extensions插件类似 xff0c 项目工程模块的build gradle中加入以下配置 xff1a android b
  • 蓝牙HC05主从设置连接说明

    蓝牙HC05是主从一体的蓝牙串口模块 xff0c 简单的说 xff0c 当蓝牙设备与蓝牙设备配对连接成功后 xff0c 我们可以忽视蓝牙内部的通信协议 xff0c 直接将将蓝牙当做串口用 当建立连接 xff0c 两设备共同使用一通道也就是同
  • 英雄联盟无法开始第二局(已解决,亲测有效)

    目录 1 使用记事本打开hosts文件 xff0c 添加这一行113 250 3 73 prod rso lol qq com 编辑 2 在地址栏输入cmd xff08 个人觉得这样打开对小白方便些 xff0c 主要是打开cmd就行 xff
  • Windows下Zookeeper启动zkServer.cmd闪退问题的解决方案

    本人今天在使用RPC的过程中使用Zookeeper作为中间节点服务器 在windows中启动Zookeeper 在windows启动Zookeeper双击zkServer cmd xff08 但是需要保证安装了java环境 xff09 但是
  • (二叉树)高度平衡二叉树的判定

    题目描述 给定一个二叉树 xff0c 判断它是否是高度平衡的二叉树 本题中 xff0c 一棵高度平衡二叉树定义为 xff1a 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1 题目分析 由题意可知 xff0c 高度平衡二叉树是指树
  • 屏蔽快捷键

    屏蔽鼠标右键 function document oncontextmenu event returnValue 61 false 屏蔽F1帮助 function window onhelp return false 屏蔽其他功能键 fun
  • SpringBoot中使用防止用户重复点击,后台实现

    lt 64 Aspect需要的包 gt lt https mvnrepository com artifact aopalliance aopalliance gt lt dependency gt lt groupId gt aopall
  • Java基础-基本语法

    1 Java 语言有哪些特点 简单易学 有丰富的类库 面向对象 xff08 Java最重要的特性 xff0c 让程序耦合度更低 xff0c 内聚性更高 xff09 与平台无关性 xff08 JVM是Java跨平台使用的根本 xff09 可靠
  • Spring常用注解

    bean注入与装配的方式有很多种 xff0c 可以通过xml xff0c get set方式 xff0c 构造函数或者注解等 简单易用的方式就是使用Spring的注解 xff0c Spring提供了大量的注解方式 64 Required注解
  • RabbitMQ

    什么是 RabbitMQ xff1f RabbitMQ 是使用 Erlang 语言来编写的 xff0c 并且是基于 AMQP 协议 最大的特点就是 消费并不需要确保提供方存在 xff0c 实现了服务之间的高度解耦 AMQP xff1a Ad
  • word批量设置图片大小和对齐,使用宏定义

    word使用宏定义来批量设置图片大小 打开word中开发工具 xff0c 文件 选项 word选项 新建Visual Basic文件 点击 插入 模块 复制下列任意代码 xff0c 粘贴到右侧 xff08 注意可以灵活设置Myheigth或
  • postman设置不更新

    一 关闭自动更新目前有两种方案 xff1a 第一种 xff1a Hosts文件配置以下地址屏蔽连接 xff1a 1 以下配置粘贴到文件中 xff0c 文件位置 xff1a C Windows System32 drivers etc 0 0
  • ECharts多个折线图动态获取json数据

    ECharts 多个折线图动态获取json数据 效果图如下 xff1a 一 html部分 lt p id 61 34 TwoLineChart 34 style 61 34 width 100 height 400px 34 gt lt p
  • JS中setTimeout()的用法详解

    setTimeout 是属于 window 的 method 但我们都是略去 window 这顶层物件名称 这是用来设定一个时间 时间到了 就会执行一个指定的 method 1 SetTimeOut 1 1 SetTimeOut 语法例子
  • Java写个程序00001递增到99999

    NumberFormat f 61 new DecimalFormat 34 00000 34 for int i 61 1 i lt 10000 i 43 43 System out println f format i ER 00001
  • JQuery判断数组中是否包含某个元素

    inArray 34 元素字符串 34 数组名称 var arry 61 34 C 34 34 html 34 34 css 34 34 JavaScript 34 var result 61 inArray 34 C 34 arry 如果
  • JSP获得当前时间并显示

    lt 64 page import 61 34 java text SimpleDateFormat 34 gt lt 64 page import 61 34 java util 34 gt lt 64 page language 61
  • js 判断字符串是否包含另外一个字符串

    lt script type 61 34 text javascript 34 gt var str 61 34 测试一个字符串 ehtrzes 是否包含另外一个字符串 34 if str indexOf 34 ehtrzes 34 gt

随机推荐

  • js判断函数是否存在、判断是否为函数

    lt script type 61 34 text javascript 34 gt 判断是否为函数 try if typeof FunName 61 61 61 34 function 34 是函数 其中 FunName 为函数名称 al
  • python中的类和对象,属性和方法

    一 面向对象的概述 面向对象是一种描述业务问题 设计业务实体和实体之间关系的方法 二 类和对象 1 类和对象得区别 xff1a 类是对客观世界中事物得抽象 xff0c 而对象是类实例化后的实体 例如 xff1a 汽车模型就是一个类 xff0
  • 什么是“约瑟夫环”

    今天遇到一个关于 约瑟夫环 的问题 xff0c 于是上网查了下什么是 约瑟夫环 出自百度 xff1a 约瑟夫问题 xff08 有时也称为约瑟夫斯置换 xff0c 是一个出现在计算机科学和数学中的问题 在计算机编程的算法中 xff0c 类似问
  • 使用Fontcreator字体制作软件及字体设计学习

    fontcreator对于字体修改爱好者而言是一款极好的文字编辑工具 xff0c 门槛要求低 专业性强 集设计和修改为一体 xff0c 可用来制作 编辑 修改ttf xff0c otf xff0c ttc格式的字体文件 xff0c 非常的实
  • 远程连接centos 7 图形化桌面

    使用xrdp工具 xff0c 类似windows系统的远程桌面 xff08 rdp xff09 xff0c 需要在服务端安装远程桌面服务 如果你的服务器可以使用阿里的yum源 xff0c 可以直接使用epel仓库安装 xff0c 执行以下命
  • selinux - Android编写sepolicy

    为service编写sepolicy 由init启动的service服务要在各自的selinux domain中运行 具体flow如下 init devices rc中声明service xff0c 将在init时启动 xff1a Note
  • Spring Boot结合easyExcel实现自增序号

    有些业务功能要求能导出序号 xff0c 现在提供两种实现方式 通过mysql查询实现 xff1b 实现RowWriteHandler接口 xff0c 自定义拦截器 xff1b 一 通过mysql查询实现 通过自定义变量实现每行数据 43 1
  • Spring Boot 实体里的List集合参数验证

    Spring Boot 实体里的List集合参数验证 Spring Boot 通过Hibernate Validator 加验证大家都知道 不知道的话可以参考这篇文章SpringBoot里参数校验 参数验证 今天讲一下Spring Boot
  • 树形结构工具类,如:菜单、部门等

    1 树节点 span class token keyword package span span class token namespace com span class token punctuation span zjson span
  • EasyPoiUtil导出工具

    span class token keyword package span span class token namespace com span class token punctuation span zjson span class
  • ffmpeg部署和springboot使用

    视频存储部署 一 环境安装 1 1 yasm安装 在编译ffmpeg时 xff0c 执行 configure xff0c 报出了如下错误 xff1a nasm yasm not found or too old Use disable x8
  • 【docker】安装clickhouse

    一 联网安装clickhouse 1 为了方便安装 xff0c 将clickhouse的工作目录和数据目录都在同一个目录下 xff0c 在home下创建目录 mkdir clickhouse cd clickhouse 创建日志 配置文件
  • springboot整合mybatis-plus、clickhouse、mysql多数据源

    springboot的多数据源有多种方式 xff0c 本文按照指定不同dao mapper xml的方式来实现访问不同的数据源 这样的好处是不用注解去切换数据源 1 引入驱动 span class token generics span c
  • linux中的oracle启动和关闭

    一 启动数据库实例 span class token number 1 span 切换到oracle用户 su span class token operator span oracle span class token number 2
  • Source Insight 中文注释为乱码解决办法(完美解决,一键搞定)

    我从网上查了一堆解决办法 xff0c 但是都是2017年以前的解决方案 xff0c 并且都是针对于source insight 3 5及以下版本的 xff0c 目前SI软件版本都到4 0了 xff0c 应该有新方法出现了 干货 xff1a
  • BigDecimal计算工具类

    方便以后大家使用 span class token keyword import span span class token namespace java span class token punctuation span math spa
  • 安装、使用mongodb踩过的坑

    轻松一下 没用分布式架构之前 xff0c 你只有一个问题 xff1a 并发性能不足 用了分布式架构 xff0c 多出了一堆问题 xff1a 数据如何同步 主键如何产生 如何熔断 分布式事务如何处理 使用mongodb踩过的坑 今天对安装 x
  • JS使用总结:简单标签赋值和取值:span等;实时触发事件

    JS使用总结 简单标签赋值和取值 xff1a span等 xff1b 实时触发事件 xff1b 了解一下简单标签赋值和取值实时触发事件代码 了解一下 作为后台开发 xff0c 今天使用了前端的技术 xff0c 做一个总结 xff1b 包括两
  • 自定义生产省略号

    span class hljs attribute overflow span span class hljs value hidden span span class hljs attribute text overflow span s
  • android WIFI相关问题集合

    1 Wi Fi hotspot cannot be used normally 问题描述 xff1a android P Settings Network amp internet Hotspot amp tethering Wi Fi h