[yocto] wifi 移植使用手册

1. porting driver

各个厂商有个各厂商的driver, 配置方式, 拿过来,照着porting guide 去porting okay 就行, 有什么问题,问厂商就行!

2. 上层软件工具需求

  • wpa_supplicant/iwd
  • connman/NetworkManager

wpa_supplicant是linux系统的最基础无线网卡管理程序,可以没有connman/NetworkManager, 但不能没有 wpa_supplicant。 因为没有它, 无线将无法链接& 管理wifi。(iwd 我没有用过)

yocto 的默认连接管理器是connman,因为它比networkmanager 更轻量。它在zeus 中支持ethernet, wifi,vpn 等。尽管有很多bug, 但基本还是能用的。

3. 查询网络节点是否生成

$ ifconfig wifi
wifi0     Link encap:Ethernet  HWaddr 88:da:1a:76:38:bc  
          inet6 addr: fe80::8ada:1aff:fe76:38bc/64 Scope:Link
          UP BROADCAST MULTICAST DYNAMIC  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

或者也可以使用以下命令查看

ls /sys/class/net/
can0  can1  eth0  eth1	lo  wifi0

如果有wifi 的网络节点生成,说明driver 加载正常。

4. 使能wifi 协议栈

connmand 会探测到是否有对应的wifi 节点生成:

$ connmanctl  technologies
/net/connman/technology/p2p
  Name = P2P
  Type = p2p
  Powered = False
  Connected = False
  Tethering = False
/net/connman/technology/wifi
  Name = WiFi
  Type = wifi
  Powered = True
  Connected = False
  Tethering = False
/net/connman/technology/bluetooth
  Name = Bluetooth
  Type = bluetooth
  Powered = True
  Connected = False
  Tethering = False
/net/connman/technology/ethernet
  Name = Wired
  Type = ethernet
  Powered = True
  Connected = True
  Tethering = False

Powered = True 表示已经使能, 否则,将是没有使能。如果不存在wifi 节点,表示driver 没有正常工作。

如果没有使能,请执行以下命令:

$ connmanctl enable wifi

5. 扫描wifi 热点并获取结果

$ connmanctl scan wifi
$ connmanctl services
*AO Wired                ethernet_c400ad7d091c_cable
    advanxxx            wifi_88da1a7638bc_616476616e74656368_managed_psk
    TP-LINK_A990         wifi_88da1a7638bc_54502d4c494e4b5f41393930_managed_psk
    QA-Test              wifi_88da1a7638bc_51412d54657374_managed_psk
    TP-LINK_603854       wifi_88da1a7638bc_54502d4c494e4b5f363033383534_managed_none
    PCCWS_LOCAL          wifi_88da1a7638bc_50434357535f4c4f43414c_managed_psk
    QA-Test-5G           wifi_88da1a7638bc_51412d546573742d3547_managed_psk
    php                  wifi_88da1a7638bc_706870_managed_psk
                         wifi_88da1a7638bc_hidden_managed_none
                         wifi_88da1a7638bc_hidden_managed_psk
    KOALXA-AP-2.4        wifi_88da1a7638bc_4b4f414c58412d41502d322e34_managed_psk
    PCCWS_GDCN           wifi_88da1a7638bc_50434357535f4744434e_managed_psk
    ChinaNet-APUU        wifi_88da1a7638bc_4368696e614e65742d41505555_managed_psk
    DIRECT-8CAXA-JIANFENGmsMZ wifi_88da1a7638bc_4449524543542d38434158412d4a49414e46454e476d734d5a_managed_psk
    HP-HOTSPOT-98-LaserJet M1218 wifi_88da1a7638bc_48502d484f5453504f542d39382d4c617365724a6574204d31323138_managed_none
    KoalXARd@6           wifi_88da1a7638bc_4b6f616c584152644036_managed_psk
    TP-LINK_F8FE         wifi_88da1a7638bc_54502d4c494e4b5f46384645_managed_none
    KOALXA-AP-5          wifi_88da1a7638bc_4b4f414c58412d41502d35_managed_psk

6.注册agent并链接wifi

需要创建一个agent 去操作这个请求。
链接一个加密的wifi 热点会提示你需要输入密码。

connmanctl
connmanctl> agent on
Agent registered
connmanctl> connect wifi_88da1a7638bc_616476616e74656368_managed_psk
Agent RequestInput wifi_88da1a7638bc_616476616e74656368_managed_psk
  Passphrase = [ Type=psk, Requirement=mandatory ]
Passphrase? ******
Connected wifi_88da1a7638bc_616476616e74656368_managed_psk
connmanctl> quit

至此就完成了wifi的链接,便可以正常上网了。

7. 设置静态IP

设置静态IP

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值