我一直在尝试解决我的笔记本电脑上装有 ubuntu 16.04 的 wifi 设置问题。由于某种原因,它似乎无法连接。尝试过 wicd、network-manager 以及 ifconfig。在进一步调试时,我发现调用 dhclient 时会出现以下情况:
sudo dhclient -v wlp1s0
Listening on LPF/wlp1s0/90:cd:b6:97:67:bf
Sending on LPF/wlp1s0/90:cd:b6:97:67:bf
Sending on Socket/fallback
DHCPDISCOVER on wlp1s0 to 255.255.255.255 port 67 interval 3 (xid=0x9d8a1621)
...
DHCPDISCOVER on wlp1s0 to 255.255.255.255 port 67 interval 1 (xid=0x9d8a1621)
No DHCPOFFERS received.
No working leases in persistent database - sleeping.
另外,当转储给定无线设备上的 TCP 连接时,我根本看不到传出或传入的数据包。
sudo tcpdump -n -i wlp1s0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on wlp1s0, link-type EN10MB (Ethernet), capture size 262144 bytes
为了确保没有 iptable 规则阻止传出或传入流量,我没有看到设置过滤器。此外,为了避免路由器出现问题,我验证了它是否适用于分发 dhcp ips 的其他设备,并且在同一台笔记本电脑上,以太网适配器运行正常。
我不确定发生了什么。是设备驱动程序有问题还是我的网络配置有问题?
无线硬件是 QCA9565/AR9565 无线网络适配器。
答案1
嗯,DHCP 握手是通过 UDP 完成的,所以不要指望 TCP 数据包。
检查 ifconfig 的输出并确保您正在处理正确的接口。
尝试禁用网络管理器并再次手动测试 dhclient。新旧网络服务之间可能存在一些冲突。
确保网络的 DHCP 服务器/路由器的地址池中有可用地址。池中的所有 IP 可能已被网络上的其他设备占用。