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

相关推荐
Ruiery1 小时前
Linux 6.6内核并发与同步(五):mutex 可睡眠锁
linux·运维·服务器
开开心心就好2 小时前
竖式除法出题工具,整除余数混合模式
运维·服务器·前端·javascript·ocr·perl·1024程序员节
程序猿老A3 小时前
轻量应用服务器总是CPU 100%怎么办?
服务器
余额瞒着我当琳4 小时前
Linux初识:Linux的历史,计算机的发展脉络,发行版本,选购云服务器,安装Xshell,第一次连接,基础命令指南
linux·运维·服务器
lazy H4 小时前
【计算机网络】第 15 篇:Java BIO、NIO 与高并发网络通信——从 Socket 理解 I/O 模型
网络·后端·tcp/ip·计算机网络·nio·408
垆边人似月.4 小时前
RDMA 文件传输踩坑(四):从固定延时改造为 READY/ACK 协议
linux·服务器·网络
服务器硬件项目经理5 小时前
《超节点修仙录》· 第一卷·炼气期【第04话】 超节点 vs 普通服务器——不就是多插了几张卡吗?
运维·服务器·人工智能·嵌入式硬件·深度学习·机器学习
程序猿老A5 小时前
轻量应用服务器怎么搭建 WordPress站点?
服务器
snysy6 小时前
服务器安全加固与入侵检测实战:从SSH加固、防火墙策略到挖矿木马排查
服务器·安全·ssh
IT古董6 小时前
Modbus TCP 详解:工业设备通信协议与 MES 集成实战
网络·网络协议·tcp/ip