1、OS:Linux3.18 + Android4.4
问题点: 开发板已经接入4G模块,可以正常上网,现在要通过开启Wifi热点共享网络,在设置里开启AP模式时,wifi一直在不停的开关,不能打开热点。
原本不加4G模块,ap功能是正常的,添加后不能用,以为是4g模块和wifi驱动冲突,看kernel和logcat,一点点找,iptables这部分存在问题。
具体的natcontroller功能及runcmd功能列表看Android系统中iptables的应用(三)NatController,
这时候看logcat

09-18 09:49:02.853 D/Tethering( 2130): TetheredState.processMessage what=12
09-18 09:49:02.853 V/NatController( 1429): enableNat(intIface=<wlan0>, extIface=<usb0>)
09-18 09:49:02.863 D/MobileDataStateTracker( 2130): hipri: Broadcast received: android.intent.action.ANY_DATA_STATE apnType=hipri
09-18 09:49:02.863 D/MobileDataStateTracker( 2130): hipri: Received state=DISCONNECTED, old=CONNECTED, reason=dataDisabled
09-18 09:49:02.863 D/MobileDataStateTracker( 2130): hipri: setDetailed state, old =CONNECTED and new state=DISCONNECTED
09-18 09:49:02.863 D/ConnectivityService( 2130): ConnectivityChange for mobile_hipri: DISCONNECTED/DISCONNECTED
09-18 09:49:02.913 V/NatController( 1429): runCmd(/system/bin/ip route flush cache) res=0
09-18 09:49:02.923 V/NatController( 1429): runCmd(/system/bin/iptables -t nat -A natctrl_nat_POSTROUTING -o usb0 -j MASQUERADE) res=3
09-18 09:49:02.923 E/NatController( 1429): Error seting postroute rule: iface=usb0
09-18 09:49:02.933 D/dalvikvm( 2130): GC_CONCURRENT freed 773K, 15% free 6215K/7236K, paused 4ms+9ms, total 61ms
09-18 09:49:02.973 V/NatController( 1429): runCmd(/system/bin/ip route flush cache) res=0
09-18 09:49:02.993 V/NatController( 1429): runCmd(/system/bin/iptables -F natctrl_FORWARD) res=0
09-18 09:49:02.993 V/NatController( 1429): runCmd(/system/bin/iptables -A natctrl_FORWARD -j DROP) res=0
09-18 09:49:03.003 V/NatController( 1429): runCmd(/system/bin/iptables -t nat -F natctrl_nat_POSTROUTING) res=3
09-18 09:49:03.003 E/Tethering( 2130): Exception enabling Nat: java.lang.IllegalStateException: command '129 nat enable wlan0 usb0 2 fe80::/64 192.168.43.0/24' failed with '400 129 Nat operation failed (Cannot assign requested address)'
09-18 09:49:03.023 D/TetherController( 1429): untetherInterface(wlan0)
09-18 09:49:03.033 D/BluetoothAdapter( 2651): 1099669424: getState() :  mService = null. Returning STATE_OFF

在runCmd(/system/bin/iptables -t nat -A natctrl_nat_POSTROUTING -o usb0 -j MASQUERADE) res=3这行已经错误,正常res=0,尝试在开发板串口输入

iptables -t nat -A natctrl_nat_POSTROUTING -o usb0 -j MASQUERADE

会出现

iptables v1.4.11.1: can't initialize iptables table `nat': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.

这时候已经明白原因,Linux内核没有添加nat模块,在内核添加nat后,ap热点可以正常使用。

2、OS:Linux4.14 + Android9

10-18 14:06:16.770  1721  2571 D unicore_gps: nmea parse(pos=91,f=00): $GYOACC,,,0.004634,-0.000892,0.000872,100,-0.000168,6.745954,-7.517619,100,35,-200,100,1*22
10-18 14:06:16.789  1638  1683 W IptablesRestoreController: iptables-restore process 9347 terminated status=256
10-18 14:06:16.789  1638  1683 E IptablesRestoreController: iptables error:
10-18 14:06:16.789  1638  1683 E IptablesRestoreController: ------- COMMAND -------
10-18 14:06:16.789  1638  1683 E IptablesRestoreController: *raw
10-18 14:06:16.789  1638  1683 E IptablesRestoreController: -D tetherctrl_raw_PREROUTING -p tcp --dport 21 -i wlan0 -j CT --helper ftp
10-18 14:06:16.789  1638  1683 E IptablesRestoreController: COMMIT
10-18 14:06:16.789  1638  1683 E IptablesRestoreController: *filter
10-18 14:06:16.789  1638  1683 E IptablesRestoreController: -D tetherctrl_FORWARD -i tbox0 -o wlan0 -m state --state ESTABLISHED,RELATED -g tetherctrl_counters
10-18 14:06:16.789  1638  1683 E IptablesRestoreController: -D tetherctrl_FORWARD -i wlan0 -o tbox0 -m state --state INVALID -j DROP
10-18 14:06:16.789  1638  1683 E IptablesRestoreController: -D tetherctrl_FORWARD -i wlan0 -o tbox0 -g tetherctrl_counters
10-18 14:06:16.789  1638  1683 E IptablesRestoreController: COMMIT
10-18 14:06:16.789  1638  1683 E IptablesRestoreController:
10-18 14:06:16.789  1638  1683 E IptablesRestoreController: -------  ERROR -------
10-18 14:06:16.789  1638  1683 E IptablesRestoreController: iptables-restore: line 2 failed
10-18 14:06:16.789  1638  1683 E IptablesRestoreController: ----------------------
10-18 14:06:16.789  1638  1683 E TetherController: Error setting forward rules
10-18 14:06:16.802  1721  2571 D unicore_gps: nmea parse(pos=19,f=00): $SNRSTAT,1,1,0,0*5D
10-18 14:06:16.804  1721  2571 D unicore_gps: nmea parse(pos=56,f=00): $NOTICE,1,,,,-1999,0.0000,1,0001,00,0002,0010,0000,67*0E
10-18 14:06:16.805  1721  2571 D unicore_gps: nmea parse(pos=25,f=00): $GNRMC,,V,,,,,,,,,,N,V*37
10-18 14:06:16.813  1721  2571 D unicore_gps: __check_rnss_mode:3268
10-18 14:06:16.813  1721  2571 D unicore_gps: init_cmds 12
10-18 14:06:16.813  1721  2571 D unicore_gps: Get chip config
10-18 14:06:16.813  1721  2571 D unicore_gps: function gps_dev_send: $PDTINFO
10-18 14:06:16.816  1721  2571 D unicore_gps: function gps_dev_send: $CFGPRT
10-18 14:06:16.824  2009  2069 E Tethering: [wlan0] ERROR Exception enabling NAT: java.lang.IllegalStateException: command '353 nat enable wlan0 tbox0 1 192.168.43.0/24' failed with '400 353 Nat operation failed (No such device)'

在内核的配置文件中添加CONFIG_NETFILTER_XT_TARGET_CT=y

[All] - Android 9 - Can't enable wifi tethering · Issue #228 · sonyxperiadev/bug_tracker · GitHub

WiFi开启热点冲突相关推荐

  1. android开启热点softap模式,[RK3288][Android6.0] Wifi开启热点(SoftAP)流程小结

    Platform: Rockchip OS: Android 6.0 Kernel: 3.10.92 在Settings中选择要打开wifi热点功能: 调用流程如下: onPreferenceChan ...

  2. 树莓派3b——使用360wifi(小度wifi、小米wifi)开启热点

    前言 树莓派3b板子自带了wifi模块,但wifi模块只能开启网卡模式或热点模式,也就是说使用自身的wifi开了热点后,就不能在连接其他的wifi了.当然,使用自身的wifi开启热点,然后额外插入其他 ...

  3. 破解Dr.com的WiFi限制,使用win10开启热点功能

    前言 现在国内大部分高校都使用了宽带上网认证,有一些比较严格的客户端还会禁止开启WiFi共享.作为8102年的新人类,怎么能没有WiFi这一必需品呢? 下面就来记录一下,在Dr.com客户端下破解共享 ...

  4. linux系统中同时开启wifi与热点的办法

    如果你在linux操作系统中有同时开启wifi与热点的需求,请按下面的办法操作. 目前开启热点后会自动关闭wifi 同时开启wifi与热点的办法 1. 准备工作 查看是否支持AP模式 iw list ...

  5. Android 10.0热点为Enhanced Open模式时不允许WiFI和热点同时开启代码流程梳理

    前言: WLAN Enhanced Open 官方介绍 WLAN Enhanced Open :WiFi增强开放,这个功能就是当手机开启热点时,Securty的一个选项,与WPA2/WPA3同级,En ...

  6. Wifi热点java_用笔记本电脑开启热点Java小程序

    用笔记本电脑开启热点Java小程序是一条命令设置笔记本成无线热点, 制作"开启无线热点工具,这个小工具实际上是用java来执行cmd命令来完成操作,当然也可以反射jar里边的字节码文件. 使 ...

  7. linux 创建wifi 热点_linux开启wifi和热点双用

    有些情况下我们需要将连接并认证过的wifi共享出来,这样就无需多个认证达到多人使用了 无线网卡是否支持AP模式 无线设备必须兼容 nl80211标准 ,并且支持 AP (Access Point)工作 ...

  8. wifi udp android,Android开启热点进行UDP通信中的坑

    1.写在前面: 2018年的第一篇文章,最近在使用UDP协议进行硬件通信,大家都知道UDP协议通信必须在同一个局域网内,但是每个用户家的wifi都是不一样的,硬件设备是无法只值连接到用户家的wifi的 ...

  9. 带无线网卡的电脑开启热点

    带无线网卡的电脑开启热点 文章目录 带无线网卡的电脑开启热点 准备: 共享WiFi的建立 建立Bat批处理文件 准备: 无线网卡 大部分笔记本自带或USB无线网卡 验证你的无线网卡是否支持承载网络 按 ...

  10. 笔记本wifi做热点 android通过热点上网

    在做android的时候,我们可能会用到web service 在myeclipse上发布一个web service服务,在手机上调用这个服务操作数据库,但是在模拟器上运行成功,但是在真机上就会显示程 ...

最新文章

  1. 反向代理服务器的工作原理
  2. bread是可数还是不可数_凡是规则,皆有例外——规则的可数名词复数,真的规则吗?...
  3. 【渝粤教育】国家开放大学2018年秋季 2111T病理学与病理生理学 参考试题
  4. 当使用easyui时,表单的onchange事件失效
  5. azure机器学习_我如何打造一款赢得2016 Azure机器学习奖的游戏
  6. [ETL] Flume 理论与demo(Taildir Source Hdfs Sink)
  7. Flutter知识点:数据存储之sqflite
  8. Python多线程和多进程编程
  9. 定义枚举类型时指定其使用的大小 (C++,C#)
  10. 标准误计算机excel公式,excel标准误差怎么算
  11. 小米air2se耳机只有一边有声音怎么办_小米蓝牙耳机Air2 SE,169元是否值得购买?值...
  12. 【笔记】Oracle触发器,根据另外一张表是否存在此记录,来判断是否更新
  13. 惠普战66键盘win10亮度调节快捷键失灵的解决办法
  14. 小玩童童装骗子加盟骗局
  15. python语言迷宫游戏_一个Python迷宫小游戏
  16. 2016计算机2级试题,2016年计算机二级考试题及答案
  17. 区块链开发成本有多高?
  18. Java基础面试题 .
  19. 基于安卓/android/微信小程序的学生考勤签到APP-#计算机毕业设计
  20. 华北科技学院计算机专业录取分数线,华北科技学院录取分数线2021是多少分(附历年录取分数线)...

热门文章

  1. 卡通人“小糊涂”就要登场亮相
  2. PHP WebSehll 后门脚本与检测工具
  3. wordpress 通过get_the_excerpt和the_excerpt函数获取文章摘要
  4. 基于PHP的超市进销存管理系统
  5. suse下oracle静默安装,SUSE Linux Enterprise 11SP1静默安装Oracle 11gR2说明文档.doc
  6. php转换透明ico,php在线生成ico文件的代码_PHP教程
  7. 类和对象5:绑定和静态、类、抽象方法
  8. 类和对象1:基础学习
  9. DLang 编译实验
  10. 多视图聚类方向:子空间学习