RK3568-11.0 设置WiFi p2p静态IP

客户反应RK3568-11的盒子连接USB无线投屏设备,通过RK3568的热点通信,需要设置p2p的IP为固定IP

App创建WiFi p2p组 ,mWifiP2pManager.createGroup 或者打开WLAN热点就会分配p2p0 IP地址。

复制代码
wlan0     Link encap:Ethernet  HWaddr 80:e4:da:00:11:32  Driver rtl8852bs
          inet addr:192.168.0.109  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::7e03:d509:2d8:b5ee/64 Scope: Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2862 errors:0 dropped:2 overruns:0 frame:0
          TX packets:666 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1116038 TX bytes:148511

p2p0      Link encap:Ethernet  HWaddr f2:06:88:66:9c:17  Driver rtl8852bs
          inet addr:192.168.188.243  Bcast:192.168.188.255  Mask:255.255.255.0
          inet6 addr: fe80::f006:88ff:fe66:9c17/64 Scope: Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:54 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 TX bytes:0

方法1 使用命令可以临时修改IP地址

bash 复制代码
adb shell
su
ip addr flush dev p2p0
ip addr add 192.168.49.100/24 dev p2p0


ifconfig

p2p0      Link encap:Ethernet  HWaddr f2:06:88:66:9c:17  Driver rtl8852bs
          inet addr:192.168.49.100  Bcast:0.0.0.0  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:56 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 TX bytes:0
  • ip addr flush dev p2p0 清空
  • 确认网段不与 wlan0/eth0 冲突

方法2 App 代码执行

java 复制代码
// 示例:设置 p2p0 静态 IP
public void setP2pStaticIp(String iface, String ip, String prefix) {
    try {
        String cmd1 = "ip addr flush dev " + iface;
        String cmd2 = "ip addr add " + ip + "/" + prefix + " dev " + iface;
        // 需要 su
        Process p1 = Runtime.getRuntime().exec(new String[]{"su", "-c", cmd1});
        p1.waitFor();
        Process p2 = Runtime.getRuntime().exec(new String[]{"su", "-c", cmd2});
        p2.waitFor();
    } catch (Exception e) {
        e.printStackTrace();
    }
}

// 调用示例
setP2pStaticIp("p2p0", "192.168.49.100", "24");

方法3 开机自动设置,执行脚本

java 复制代码
/data/local/p2p_static_ip.sh

#!/system/bin/sh
# 等待 P2P 网卡 up
sleep 3
ip addr flush dev p2p0
ip addr add 192.168.49.100/24 dev p2p0
ip route add 192.168.49.0/24 dev p2p0

service p2p_static_ip /data/local/p2p_static_ip.sh
    class main
    user root
    group root
    oneshot

使用命令设置p2p0的静态IP后,虽然可以生效,但是手机连接这个WIFI热点后无法上网。

看来还需要继续研究一下,p2p0分配IP的方法。

相关推荐
BreezeJiang43 分钟前
从域名到 Node.js:一次云服务器请求经过了哪些层?
服务器
草莓熊Lotso3 小时前
【Redis 初阶】Set 类型深度解析:去重集合的运算能力与实战场景
linux·网络·数据库·windows·redis·tcp/ip·缓存
Julien200413 小时前
调查和解决 SELinux 问题
linux·运维·服务器·网络·学习方法
kekekzt14 小时前
TCP协议的粘包问题介绍,IP分片,MTU,MSS,滑动窗口的概念及之间的关系
网络·网络协议·tcp/ip
2601_9620746814 小时前
自己编译RustDesk,并将自建ID服务器和key信息写入客户端
运维·服务器
大模型丫丫15 小时前
Hermes Agent:轻量级智能体框架实战指南
大数据·运维·服务器
mooooooooooye16 小时前
2026 年跨平台 SSH 客户端怎么选?Xterminal、Termius、MobaXterm 谁更合适
服务器·网络·ssh
Blockchina17 小时前
Codex 实战:从一句需求到可验收的 Linux 主机巡检脚本
运维·服务器·网络
Best-Wishes17 小时前
BurpSuite Pro教育版在linux系统中配置
linux·运维·服务器·网络安全·burpsuite
Java后端的Ai之路18 小时前
14、Python - 责任链模式
服务器·开发语言·人工智能·python·责任链模式