Android 打开热点2.4G系统重启解决
Android 打开热点2.4G系统重启解决
文章目录
- Android 打开热点2.4G系统重启解决
- 一、前言
- 二、过程分析
- 1、Android 设备开机后第一次打开热点2.4G系统重启
- 2、日志分析
- 3、设备重启原因
- 三、解决方法
- 四、其他
- 1、wifi/有线网 代理信息也可能导致系统重启
- 2、Android13 热点默认5G频道配置修改
- 3、Android 设置默认热点名称和热点密码、密码长度
一、前言
Android 设备开机后第一次打开热点2.4G系统重启?以5G形式打开热点没有问题!
这个问题咋回事呢?和底层驱动的人一起分析了一下,本文进行分享一下分析和解决过程。
这种问题一般应用开发不会遇到,只有一些系统开发,或者系统新方案调试可能会遇到。
查看了AndroidRuntime 和crash 日志,重启前没啥异常日志。这种情况一般是底层/驱动未完全适配导致。
二、过程分析
1、Android 设备开机后第一次打开热点2.4G系统重启
以5G形式打开热点没有问题!
并且第一次以5G形式打开热点,第二次再以2.4G形式可以正常打开热点。
这种情况没遇到过啊!只能看看日志了。
2、日志分析
查看了AndroidRuntime 和 crash 关键字的日志,重启前没啥异常日志。
设备重启的异常情况一般adb日志比较难看到相关日志。
从串口查看日志发现重启前logcat和内核日志,有如下日志:
12-2[ 407.566214][0 T6256 d.] Internal error: BRK handler: f2005512 [#1] PREEMPT SMP
...
[ 409.545917][0 T6256 d.] Kernel panic - not syncing: BRK handler: Fatal exception
从这个内核Kernel日志看,BPK异常后,就挂了。
百度查看了一下“Kernel panic - not syncing”这个异常是芯片启动异常。
对底层不熟悉,不做进一步分析。
后续的分析和解决都是底层开发的协助完成的。
3、设备重启原因
8852bs在打开2.4G热点的时候,wpa config文件中配置了80211ac就会重启!
80211ac 是一种路由设置,开启热点需要把自己的设备当成路由器,所以底层要配置一写路由参数。
80211ac 配置是5G热点才能设置的。所以系统热点开启不能默认配置80211ac,否则会异常。
三、解决方法
对wpa config配置文件修改了一下,80211ac 属性只有在5G热点才配置。
+++ b/release/XXX/common/wifi_bt/wifi/wpa_supplicant_8/hostapd/aidl/hostapd.cpp
@@ -699,7 +699,7 @@ std::string CreateHostapdConfig(iface_params.name.c_str(), ssid_as_string.c_str(),channel_config_as_string.c_str(),iface_params.hwModeParams.enable80211N ? 1 : 0,
- iface_params.hwModeParams.enable80211AC ? 1 : 0,
+ (iface_params.hwModeParams.enable80211AC && ((band & band5Ghz) != 0)) ? 1 : 0,he_params_as_string.c_str(),hw_mode_as_string.c_str(), ht_cap_vht_oper_he_oper_chwidth_as_string.c_str(),nw_params.isHidden ? 1 : 0,
从上面代码可以看到 最终修改就是把 enable80211AC 判断是5G网络时才配置。
上面的 wpa 目录是AML 供应商的目录,一般系统的目录可能是在 external/wpa_supplicant_8
四、其他
1、wifi/有线网 代理信息也可能导致系统重启
设置代理信息需要填写端口号,如果端口号超出范围也会导致系统重启。
网络端口号的范围是1-65535,65535 是2的16次方,是4个字节的存储空间。
具体报错是啥当的时没看!因为比较好解所以未进行分析。
这里只要在应用中判断端口号范围即可解决该问题。
今天顺便测了一下,发现这种情况只是sygoty重启了是有AndroidRuntime 的,部分日志如下:
01-05 18:23:41.261 1452 1452 D wpa_supplicant: nl80211: Deauthenticate event
01-05 18:23:41.261 1452 1452 D wpa_supplicant: nl80211: Ignore deauth event triggered due to own deauth request
01-05 18:23:41.261 1452 1452 D wpa_supplicant: nl80211: Event message available
01-05 18:23:41.262 1452 1452 D wpa_supplicant: nl80211: Drv Event 48 (NL80211_CMD_DISCONNECT) received for wlan0
01-05 18:23:41.262 1452 1452 D wpa_supplicant: nl80211: Ignore disconnect event when using userspace SME
01-05 18:23:41.265 1951 1951 D PinyinIME: onWindowHidden
01-05 18:23:41.272 1951 1951 D wdw : getScreenWidth 1260
01-05 18:23:41.272 1951 1951 D wdw : getHeightForCandidates mCandidatesAreaHeight50
01-05 18:23:41.273 889 1067 D WifiConfigurationUtil: Add upgradable SAE configuration.
--------- beginning of crash
01-05 18:23:41.276 889 1067 E AndroidRuntime: *** FATAL EXCEPTION IN SYSTEM PROCESS: WifiHandlerThread
01-05 18:23:41.276 889 1067 E AndroidRuntime: java.lang.IllegalArgumentException: Invalid ProxyInfo: [t] 888888 xl=y
01-05 18:23:41.276 889 1067 E AndroidRuntime: at android.net.wifi.WifiConfiguration.setHttpProxy(WifiConfiguration.java:3807)
01-05 18:23:41.276 889 1067 E AndroidRuntime: at com.android.server.wifi.WifiConfigManager.mergeWithInternalWifiConfiguration(WifiConfigManager.java:1164)
01-05 18:23:41.276 889 1067 E AndroidRuntime: at com.android.server.wifi.WifiConfigManager.updateExistingInternalWifiConfigurationFromExternal(WifiConfigManager.java:1284)
01-05 18:23:41.276 889 1067 E AndroidRuntime: at com.android.server.wifi.WifiConfigManager.addOrUpdateNetworkInternal(WifiConfigManager.java:1384)
01-05 18:23:41.276 889 1067 E AndroidRuntime: at com.android.server.wifi.WifiConfigManager.addOrUpdateNetwork(WifiConfigManager.java:1578)
01-05 18:23:41.276 889 1067 E AndroidRuntime: at com.android.server.wifi.WifiConfigManager.addOrUpdateNetwork(WifiConfigManager.java:1619)
01-05 18:23:41.276 889 1067 E AndroidRuntime: at com.android.server.wifi.WifiServiceImpl.lambda$connect$112(WifiServiceImpl.java:5899)
01-05 18:23:41.276 889 1067 E AndroidRuntime: at com.android.server.wifi.WifiServiceImpl.$r8$lambda$nNJamaVDTZuLL0j_quZy9fnDAw4(Unknown Source:0)
01-05 18:23:41.276 889 1067 E AndroidRuntime: at com.android.server.wifi.WifiServiceImpl$$ExternalSyntheticLambda16.run(Unknown Source:12)
01-05 18:23:41.276 889 1067 E AndroidRuntime: at android.os.Handler.handleCallback(Handler.java:942)
01-05 18:23:41.276 889 1067 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:99)
01-05 18:23:41.276 889 1067 E AndroidRuntime: at android.os.Looper.loopOnce(Looper.java:201)
01-05 18:23:41.276 889 1067 E AndroidRuntime: at android.os.Looper.loop(Looper.java:288)
01-05 18:23:41.276 889 1067 E AndroidRuntime: at android.os.HandlerThread.run(HandlerThread.java:67)
01-05 18:23:41.282 889 1067 I DropBoxManagerService: add tag=system_server_crash isTagEnabled=true flags=0x2
01-05 18:23:41.287 889 1067 I Process : Sending signal. PID: 889 SIG: 9
看了下日志没看出啥,可能跟Hal层有点关系,具体还需要进一步分析。
2、Android13 热点默认5G频道配置修改
这个是之前写的framework 上层代码的修改:
https://blog.csdn.net/wenzhi20102321/article/details/135349837
3、Android 设置默认热点名称和热点密码、密码长度
https://blog.csdn.net/wenzhi20102321/article/details/127737534
相关文章:
Android 打开热点2.4G系统重启解决
Android 打开热点2.4G系统重启解决 文章目录 Android 打开热点2.4G系统重启解决一、前言二、过程分析1、Android 设备开机后第一次打开热点2.4G系统重启2、日志分析3、设备重启原因 三、解决方法四、其他1、wifi/有线网 代理信息也可能导致系统重启2、Android13 热点默认5G频道…...

全链路压力测试有哪些主要作用
全链路压力测试是在软件开发和维护过程中不可或缺的一环,尤其在复杂系统和高并发场景下显得尤为重要。下面将详细介绍全链路压力测试的主要作用。 一、全链路压力测试概述 全链路压力测试是指对软件系统的全部组件(包括前端、后端、数据库、网络、中间件等)在高负载…...

【python基础教程】print输出函数和range()函数的正确使用方式
嗨喽,大家好呀~这里是爱看美女的茜茜呐 print()有多个参数,参数个数不固定。 有四个关键字参数(sep end file flush),这四个关键字参数都有默认值。 print作用是将objects的内容输出到file中,objects中的…...
LeetCode255.用队列实现栈
题目传送门:Leetcode255.用队列实现栈 请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。 实现 MyStack 类: void push(int x) 将元素 x 压…...

PHPStudy快速搭建网站并结合内网穿透远程访问本地站点
文章目录 [toc]使用工具1. 本地搭建web网站1.1 下载phpstudy后解压并安装1.2 打开默认站点,测试1.3 下载静态演示站点1.4 打开站点根目录1.5 复制演示站点到站网根目录1.6 在浏览器中,查看演示效果。 2. 将本地web网站发布到公网2.1 安装cpolar内网穿透2…...

AI嵌入式K210项目(1)-芯片开发板介绍
系列文章目录 在人工智能大潮滚滚而来的时代,作为一个从事嵌入式行业多年的程序猿倍感焦虑,有被替代的焦虑,也有跟不上新技术步伐的无奈,本系列文章将介绍一个从硬件设计到ai训练、最后到模型部署的完整案例;第一阶段…...

Blazor中使用impress.js
impress.js是什么? 你想在浏览器中做PPT吗?比如在做某些类似于PPT自动翻页,局部放大之类,炫酷无比。 在Blazor中,几经尝试,用以下方法可以实现。写文不易,请点赞、收藏、关注,并在转…...
ros2 ubuntu 20.04 安装 foxy
设置区域设置 确保您有一个支持UTF-8. 如果您处于最小环境(例如 docker 容器)中,则区域设置可能是最小的,例如POSIX. 我们使用以下设置进行测试。但是,如果您使用不同的 UTF-8 支持的区域设置,应该没问题。…...

Blazor 错误笔记
1. 运行时问题 Microsoft.NETCore.App.Runtime.Mono.browser-wasm Microsoft.NETCore.App.Runtime.Mono.browser-wasm 是一个 .NET Core 运行时的包,用于在浏览器中运行 .NET Core 应用程序。它是针对 WebAssembly 架构的 .NET Core 运行时,可以在浏览…...

【深度学习1对1指导】
...

XUbuntu22.04之快速复制绝对路径(二百零五)
简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…...

21、Kubernetes核心技术 - 高可用集群搭建(kubeadm+keepalived+haproxy)
目录 一、简介 二、高可用集群架构说明 三、部署环境说明 四、高可用集群搭建 (1)、初始化所有节点 (2)、修改host文件 (3)、调整内核参数 (4)、所有节点安装Docker (4-1)、配置 docker 的阿里 yum 源 (4-2)、yum 安装 docker (4-3)、配置 docker 的镜像源 (4-4)…...
使用SpringDataRedis操作Redis
Redis的java客户端 jedisLettuceSpring Data Redis Spring Data redis 是Spring的一部分,对 Redis 底层开发包进行了高度封装。在Spring项目中,可以使用Spring Data Redis来简化操作。 Spring Data Redis使用方式 操作步骤: 导入Spring …...

PyCharm社区版如何创建Django项目并运行
一、配置Django环境 1、使用PyCharm打开一个普通的Python项目 2、为该项目配置Django环境 (1)点击"File"-"Settings" (2)点击"Project:项目名"-"Python Interpreter"-"号" &…...
深度探讨鸿蒙工程师面试题
深度探讨鸿蒙工程师面试题 第一部分:引言 鸿蒙(HarmonyOS)作为华为推出的全场景分布式操作系统,引领着未来智能化时代的潮流。鸿蒙工程师在这一创新性领域中扮演着至关重要的角色。本文将深入研究一系列鸿蒙工程师面试题&#x…...

python数据结构堆栈
堆 堆是一种树形结构:满足两个主要性质 堆是一种完全二叉树:堆中所有层级除了最后一层都是完全填满的,且最后一层的节点都是向左排列堆中的任意节点都不大于(或不小于)其子节点的值,这也是堆的属性 impo…...

从网页连接socket服务器和I/O
1.i/o InputStream和InputStreamReader是Java I/O类库中的两个关键类,用于处理字节流。它们的主要区别在于它们处理数据的方式。 InputStream: InputStream是用于读取字节流的抽象类。它是所有字节输入流类的父类。InputStream的子类可以从不同的数据源读取字节&…...

鸿蒙HarmonyOS学习手册_入门篇
鸿蒙HarmonyOS学习手册_入门篇 文章目录 鸿蒙HarmonyOS学习手册_入门篇入门快速入门开发准备基本概念UI框架应用模型工具准备 构建第一个ArkTS应用(Stage模型)-快速入门-入门创建ArkTS工程ArkTS工程目录结构(Stage模型)构建第一个…...

人工智能复习
机器学习中线性回归和逻辑回归: 机器学习的分类: 监督学习和无监督学习,半监督学习 监督学习(Supervised Learning): 监督学习是一种利用带有标签(标记)的数据进行训练的机器学习…...

C++ 多态以及多态的原理
文章目录 多态的概念多态的构成条件虚函数的重写虚函数重写的两个例外 重载、重写(覆盖)、重定义(隐藏)对比C11 final 和 override关键字抽象类接口继承和普通继承多态的原理虚函数表多态的原理 单继承和多继承关系的虚函数表单继承中的虚函数表多继承中的虚函数表 多态的概念 …...

从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路
进入2025年以来,尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断,但全球市场热度依然高涨,入局者持续增加。 以国内市场为例,天眼查专业版数据显示,截至5月底,我国现存在业、存续状态的机器人相关企…...
质量体系的重要
质量体系是为确保产品、服务或过程质量满足规定要求,由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面: 🏛️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限,形成层级清晰的管理网络…...
什么是EULA和DPA
文章目录 EULA(End User License Agreement)DPA(Data Protection Agreement)一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA(End User License Agreement) 定义: EULA即…...
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问(基础概念问题) 1. 请解释Spring框架的核心容器是什么?它在Spring中起到什么作用? Spring框架的核心容器是IoC容器&#…...
scikit-learn机器学习
# 同时添加如下代码, 这样每次环境(kernel)启动的时候只要运行下方代码即可: # Also add the following code, # so that every time the environment (kernel) starts, # just run the following code: import sys sys.path.append(/home/aistudio/external-libraries)机…...

Web后端基础(基础知识)
BS架构:Browser/Server,浏览器/服务器架构模式。客户端只需要浏览器,应用程序的逻辑和数据都存储在服务端。 优点:维护方便缺点:体验一般 CS架构:Client/Server,客户端/服务器架构模式。需要单独…...

华为OD机试-最短木板长度-二分法(A卷,100分)
此题是一个最大化最小值的典型例题, 因为搜索范围是有界的,上界最大木板长度补充的全部木料长度,下界最小木板长度; 即left0,right10^6; 我们可以设置一个候选值x(mid),将木板的长度全部都补充到x,如果成功…...

MySQL的pymysql操作
本章是MySQL的最后一章,MySQL到此完结,下一站Hadoop!!! 这章很简单,完整代码在最后,详细讲解之前python课程里面也有,感兴趣的可以往前找一下 一、查询操作 我们需要打开pycharm …...

Python环境安装与虚拟环境配置详解
本文档旨在为Python开发者提供一站式的环境安装与虚拟环境配置指南,适用于Windows、macOS和Linux系统。无论你是初学者还是有经验的开发者,都能在此找到适合自己的环境搭建方法和常见问题的解决方案。 快速开始 一分钟快速安装与虚拟环境配置 # macOS/…...

Linux【5】-----编译和烧写Linux系统镜像(RK3568)
参考:讯为 1、文件系统 不同的文件系统组成了:debian、ubuntu、buildroot、qt等系统 每个文件系统的uboot和kernel是一样的 2、源码目录介绍 目录 3、正式编译 编译脚本build.sh 帮助内容如下: Available options: uboot …...