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的方法。

相关推荐
淮北4944 分钟前
ubuntu22 默认输入法调整频率
运维·服务器·git·ubuntu·elasticsearch
土星云SaturnCloud5 分钟前
大坝结构安全智能诊断:土星云边缘计算全周期管控实践
服务器·人工智能·安全·ai·边缘计算
Percep_gan6 分钟前
切割服务器日志
运维·服务器
农村小镇哥27 分钟前
C#读取CSV文件的方法
服务器·数据库·c#
playboy1341 小时前
监控硬盘循环覆盖,监控数据恢复哪些情况还能找回录像
服务器·门控循环单元·智能硬件
承渊政道1 小时前
飞牛NAS部署Immich:搭建家庭相册并实现远程访问
运维·服务器·docker·内网穿透·cpolar·nas·immich
橘色的喵2 小时前
EventPool 32-bit 带标签 CAS 池:RT-Thread 单核 + Linux 双平台无锁
linux·运维·服务器
艾莉丝努力练剑2 小时前
【Qt:问题解决】Qt程序入口点错误修复:MinGW ABI兼容问题
java·服务器·开发语言·qt·文件系统·动静态库
buhuizhiyuci2 小时前
【Linux 网络篇】数据的 “循环系统“:协议认识与网络传输的流程
linux·运维·服务器·网络·vscode
GDAL10 小时前
Nginx TCP/UDP四层转发(Stream模块)完整深入教程
tcp/ip·nginx·udp