This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] WL1801MOD:WL1801如何获取 WIFI 接口以从调制解调器/路由器获取 IPv4地址?

Guru**** 2391415 points
Other Parts Discussed in Thread: WL1801, WL1801MOD

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1436877/wl1801mod-wl1801-how-do-i-get-the-wifi-interface-to-acquire-a-ipv4-address-from-my-modem-router

器件型号:WL1801MOD
Thread 中讨论的其他器件:WL1801

工具与软件:

我曾尝试让 WL1801接口使用 hostapd、WPA 请求程序和网络管理器获取 IPv4地址。  他们都不工作,我从路由器没有任何响应。  下面是 ifconfig 命令的输出:

# ifconfig wlan0
wlan0:flags=-28605 MTU 1500
INET 169.254.63.90网络掩码255.255.0.0广播169.254.255.255
inet6 fe80::2cfa:4d26:344:38c0 prefixlen 64 scopeid 0x20
乙醚 da:43:C8:E1:E4:4b txqueuelen 1000 (以太网)
RX 数据包0字节0 (0.0B)
RX 错误0丢弃0溢出0帧0
TX 数据包62字节8896 (8.6KiB)
TX 错误0丢弃0溢出0载波0冲突0

是否有应用手册或其他资料能告诉我需要做些什么才能将 WiFi 接口连接到本地网络?  此外、我使用的定制硬件中没有以太网。  此外、我将使用 AM62X 定制电路板上的 BuildRoot。  我有其他设备连接到路由器,所以路由器肯定不是问题。

谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Patricia:

    连接到 AP 后、可以执行"udhcpc -i wlan0"从网络请求 DHCP 租用。 您可以在第5.1.1节和5.1.2节中找到示例:

    https://www.ti.com/lit/ug/swru561a/swru561a.pdf

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我之前阅读过此 pdf、但其中的很多信息都已过时。  例如、应该有一个名为"sta_start.sh"的脚本和另一个名为"sta_connect-ex.sh"的脚本。  我在我的建筑环境中同时拥有18xx-ti-utils (V8.8)和 wlconf(aso V8.8)。  找不到这2个脚本。  所以我创建了我自己的脚本和系统服务。  systemd 服务在一个服务器中启动 hostapd、在另一个服务器中启动 wpa_supplicant。  有一个网络脚本会首先解锁 WLAN 的 rfkill、然后重新启动 hostapd 和 wpa_supplicant。  最后、使用"ifconfig wlan0 up"使网络接口联机。  我以为这应该足够了,但我得到的只是反复显示"wlcore down"。  请您告诉我可以在哪里找到 swru561a.pdf 中提到的2个脚本、以便我再次启动该过程、看看该界面是否会出现并保持正常运行?  此外、我运行了"configure-device"脚本来配置 WL1801MOD、并使用该 conf.bin 文件。  这不是我的问题。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我终于把它打开了。  我不需要 sru661a.pdf 中调用的2个脚本。  我不需要 Hostapd。  我启用了 wpa_supplicant、添加了"/etc/wpa_supplicant/wpa_supplicant/wpa_supplicant-wlan0.conf、并将以下内容添加到 systemd/network/:

    创建 wpa_supplicant-wlan0.conf、其中包含以下内容:

    AP_SCAN=1
    CTRL_interface=/var/run/wpa_supplicant
    UPDATE_CONFIG=1

    网络={
    SSID= ENTER-YOUR-SSID-HERE
    PSK= ENTER-YOUR-WPA-PSK-PASSPHRASE-HERE
    key_mgmt=WPA-PSK
    SCAN_SSID=1
    }

    创建文件"25-wlan.network"、其中包含以下内容:

    [匹配]
    NAME=wlan0

    [网络]
    DHCP= 4.54

    然后、我创建了一个系统类型的 OneShot 服务、该服务调用包含以下命令的脚本:

    #!/bin/sh

    #取消阻止 WIFI 设备(以某种方式,当网络首次启动时它被阻止)
    rfkill 解除对 WLAN 的阻止

    #将 WPA 类型设置为 AP
    iw wlan0设置类型 ap

    #在启动 WPA 之前增加一点延迟
    /bin/sleep 2.

    #启动无线服务
    systemctl wpa_supplicant@wlan0.servICE
    systemctl 重新启动 systemd-servicewomen
    systemctl restart wpa_supplicant@wlan0.service

    运行"ifconfig -a":

    dummy0:flags=195 MTU 1500
    INET 169.254.217.132网络掩码255.255.0.0广播169.254.255.255
    inet6 fe80::f85e:aa56:c1f5:6774 prefixlen 64 scopeid 0x20.
    乙醚72:05:66:58:bc:6F txqueuelen 1000 (以太网)
    RX 数据包0字节0 (0.0B)
    RX 错误0丢弃0溢出0帧0
    TX 数据包22字节3136 (3.0 KiB)
    TX 错误0丢弃0溢出0载波0冲突0

    Lo: flags=73. MTU 65536
    INET 127.0.0.1网络掩码255.0.0.0
    inet6 ::1 prefixlen 128 scopeid 0x10.
    loop txqueuelen 1000 (本地环回)
    RX 数据包108字节7800 (7.6 KiB)
    RX 错误0丢弃0溢出0帧0
    TX 数据包108字节7800 (7.6 KiB)
    TX 错误0丢弃0溢出0载波0冲突0

    wlan0:flags=-28605 MTU 1500
    INET 10.0.0.35网络掩码255.255.255.0广播10.0.0.255
    inet6 fe80::8c88:fcff:feec:e39a prefixlen 64 scopeid 0x20.
    inet6 2601:190:500:79d0:bd0c:871:7f40:ee65 prefixlen 64 scopeid 0x0
    INET6 2601:190:500:79d0::c696 prefixlen 128 scopeid 0x0
    乙醚8e:88:ETH:EC:E3:9a fc txqueuelen 1000 (以太网)
    RX 数据包147字节20371 (19.8 KiB)
    RX 错误0丢弃0溢出0帧0
    TX 数据包323字节44885 (43.8 KiB)
    TX 错误0丢弃0溢出0载波0冲突0

    运行 ping:

    # ping 10.0.0.249.
    Ping 10.0.0.249 (10.0.0.249) 56 (84)字节数据。
    64字节、从10.0.0.249开始:ICMP_SEQ=1 TTL=64时间=119ms
    64字节、从10.0.0.249开始:ICMP_SEQ=2 TTL=64时间=2.94ms
    64字节、从10.0.0.249开始:ICMP_SEQ=3 TTL=64时间=2.51ms
    64字节、从10.0.0.249开始:ICMP_SEQ=4 TTL=64时间=6.01ms
    64字节、从10.0.0.249开始:ICMP_SEQ=5 TTL=64时间=2.30ms
    64字节、从10.0.0.249开始:ICMP_SEQ=6 TTL=64时间=4.07ms

    --10.0.0.249 ping 统计数据--
    发送6个数据包、接收6个、0%数据包丢失、时间为5007ms
    RTT 最小值/avg/max/mdev = 2.298/22.862/119.355/43.170ms