我在电子阅读器上运行 alpine Linux,但无法使用 WiFi。我曾经成功过一次,但重启后就无法恢复了。
要使用 USB ssh 进入电子阅读器,我在 PC 上运行以下命令:
ifconfig <USB interface> 192.168.2.3
ssh [email protected]
然后在我的电子阅读器上运行:
ifconfig eth0 up
iwconfig eth0 essid NAME key PASSWORD
ifconfig
给出:
eth0 Link encap:Ethernet HWaddr 58:B0:D4:71:48:2C
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:37 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3908 (3.8 KiB) TX bytes:0 (0.0 B)
usb0 Link encap:Ethernet HWaddr 16:16:97:D3:84:43
inet addr:192.168.2.2 Bcast:192.168.2.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1286 errors:0 dropped:0 overruns:0 frame:0
TX packets:302 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:71707 (70.0 KiB) TX bytes:37189 (36.3 KiB)
dhclient -v eth0
给出:
Listening on LPF/eth0/58:b0:d4:71:48:2c
Sending on LPF/eth0/58:b0:d4:71:48:2c
Sending on Socket/fallback
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 4
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 6
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 13
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 20
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 17
No DHCPOFFERS received.
No working leases in persistent database - sleeping.
编辑:我让它(有点)工作,我需要运行所有这三个命令,并且还按照这个顺序让它工作。
iwconfig eth0 essid XXX key XXX
wpa_supplicant -B -i eth0 -c /etc/wpa_supplicant.conf -D wext # fails, operation not permitted
dhclient -v eth0
我现在遇到的唯一问题是,我可以 ping IP,但不能 ping 域名?
(none):/home/user# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8): 56 data bytes
64 bytes from 8.8.8.8: seq=0 ttl=119 time=16.403 ms
64 bytes from 8.8.8.8: seq=1 ttl=119 time=12.965 ms
...
(none):/home/user# ping google.com
ping: bad address 'google.com'
我认为这与我的电脑和电子阅读器之间的USB连接有关,我只能从电子阅读器ping我的电脑,没有其他内部IP。 (无法访问我的DNS服务器)
编辑2:
我通过 USB 禁用了 ssh,并使用 IP 进行连接。现在 DNS 也已修复,一切正常。
我仍然不知道为什么我需要 iwconfig 和 wpa_supplicant ?
答案1
ifconfig eth0 up
iwconfig eth0 essid NAME key PASSWORD
仅当 WiFi 网络配置为使用过时且损坏的 WEP 加密时,此功能才有效。
eth0
也是无线网络接口的一个非典型名称:您确定这是正确的接口吗?ethtool -i eth0
电子阅读器上写着什么?
在评论中,该驱动程序被证明是rtl8189fs
:一个树外驱动程序,边缘可能仍然有点粗糙。
无论如何,wpa_supplicant 是访问现代 WPA2 加密无线网络的关键组件。
wpa_supplicant -B -i eth0 -c /etc/wpa_supplicant.conf -D wext # fails, operation not permitted
“不允许操作”可能并不意味着命令完全失败:该-D wext
选项告诉它使用旧式无线扩展,这在您的内核中可能不可用。一旦尝试使用无线扩展失败,wpa_supplicant
可以尝试使用更现代的 WiFi 控制界面,相当于选项-D nl80211
。尝试替换该-D wext
选项-D nl80211
或完全删除它,然后查看错误消息是否消失。
另外,pgrep -a wpa_supplicant
在运行表面上失败的命令后运行:如果它指示wpa_supplicant
进程仍在运行,那么它实际上确实设法继续运行,而不管错误如何。
通常wpa_supplicant
会为您处理设置 ESSID 和加密密钥,因此如果wpa_supplicant
有效(尽管出现错误消息,但看起来确实如此),那么iwconfig eth0 essid XXX key XXX
可能没有必要。
您的下一步是找出为什么dhclient
没有向您提供有效的 DNS 服务器地址,并可能尝试手动提供它们以验证 DNS 连接。例如,尝试显式发送对的 IPv4 地址的dig google.com A @8.8.8.8
DNS 请求并查看答案。google.com
8.8.8.8