Linux pi3类似设备上的WLan0连接[yocto]

Linux pi3类似设备上的WLan0连接[yocto],linux,yocto,Linux,Yocto,我有一个基于这个的Yocto盒子。除了无线上网,一切都很好。我无法运行wlan0接口。我不知道为什么它有问题 以下是我所做的: root@MYONE:~# ifconfig eth0 Link encap:Ethernet HWaddr 74:FE:48:3A:55:AB inet addr:192.168.178.88 Bcast:192.168.178.255 Mask:255.255.255.0 UP BROADCAST MULTIC

我有一个基于这个的Yocto盒子。除了无线上网,一切都很好。我无法运行
wlan0
接口。我不知道为什么它有问题

以下是我所做的:

root@MYONE:~# ifconfig
eth0      Link encap:Ethernet  HWaddr 74:FE:48:3A:55:AB
          inet addr:192.168.178.88  Bcast:192.168.178.255  Mask:255.255.255.0
          UP BROADCAST MULTICAST  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)

eth1      Link encap:Ethernet  HWaddr 74:FE:48:3A:55:AC
          inet addr:192.168.178.89  Bcast:192.168.178.255  Mask:255.255.255.0
          inet6 addr: fe80::76fe:48ff:fe3a:55ac%4804152/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:4965 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8457 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:279140 (272.5 KiB)  TX bytes:3066125 (2.9 MiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1%4804152/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:169 errors:0 dropped:0 overruns:0 frame:0
          TX packets:169 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1
          RX bytes:12859 (12.5 KiB)  TX bytes:12859 (12.5 KiB)

wlan0     Link encap:Ethernet  HWaddr 02:00:EA:FF:D2:06
          UP BROADCAST MULTICAST  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)
这是wpa_supplicant.conf文件:

    ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
update_config=1

network={
        ssid="FRITZ!Box 7630 MO"
        psk="42483903143454867118"
        key_mgmt=WPA-PSK
        proto=RSN
        key_mgmt=WPA-PSK
        pairwise=CCMP
        auth_alg=OPEN
}
数据类似于另一个通过Wifi连接的pi3

当我查看日志文件时,我得到的是:

    ifconfig: SIOCGIFFLAGS: No such device
Successfully initialized wpa_supplicant
Line 1: unknown global field 'Passphrase must be 8..63 characters'.
Line 1: Invalid configuration line 'Passphrase must be 8..63 characters'.
Failed to read or parse configuration '/usr/customized/infrastructure/rootfs/config/wpa.conf'.
udhcpc (v1.24.1) started
Sending discover...
Sending discover...
Sending discover...
No lease, forking to background
有人知道如何解决这个问题吗

更新 感谢@dagelf answer,这里是
iwconfig

    root@MYONE:~# iwconfig
    sit0      no wireless extensions.

    lo        no wireless extensions.

    wlan0     IEEE 802.11abgn  ESSID:off/any
              Mode:Managed  Access Point: Not-Associated   Tx-Power=20 dBm
              Retry short limit:7   RTS thr:off   Fragment thr:off
              Encryption key:off
              Power Management:off

    eth1      no wireless extensions.

    eth0      no wireless extensions.



root@MYONE:~# lsmod
Module                  Size  Used by
bnep                   19037  2
wcn36xx                71132  0
venus                  66686  0
videobuf2_dma_sg       13896  1 venus
v4l2_mem2mem           16221  1 venus
tpm_spi_tis             4055  0
tpm                    50326  1 tpm_spi_tis
smsc75xx               38940  0
root@MYONE:~#
正如你所看到的,界面被检测到了


提前多谢

wpa_supplicant.conf文件中唯一需要的内容是要连接到的网络的详细信息。您可以使用以下命令创建新文件:

wpa_passphrase Mywifinetwork > /usr/customized/infrastructure/rootfs/config/wpa.conf
*type in passphrase for Mywifinetwork and then enter*
您收到的错误消息表明您的密码短语不够长。事实上,这可能是唯一的错误

此外,它还提到了上面的wpa.conf文件——因此我认为它没有使用您拥有的wpa_supplicant.conf文件。您可以省略>中的所有内容,它只会将其回显到控制台,然后您可以将其复制并粘贴到wpa.conf文件中。另外,我看到其中有两个KEY_MGMT子句,如果它实际使用该文件,那么在开头有一些空格-可能不是这样。我怀疑你在做这个的时候有打字错误

您可以测试wpa_supplicant.conf文件,并通过以下方式手动连接:

ifconfig wlan0 up
wpa_supplicant -Dnl80211 -iwlan0 -c/usr/customized/infrastructure/rootfs/config/wpa.conf
这样你就可以连接到无线网络了。然后,在另一个终端窗口中,您需要从网络获取IP地址:

dhclient -d -i wlan0
那你应该接通了。但也有一些程序,如NetworkManager,试图在后台自动执行此操作,并且会干扰此过程,因此最好使用系统首选的配置方法

无线接口仅在加载无线驱动程序时才会显示。现在越来越少发现没有无线驱动的设备。。。但通常你可以使用USB无线适配器来安装这些设备

无线设备也可以称为“eth0”或“eth1”。一种简单的方法是运行以下命令:

iwconfig
它只显示无线设备

你也可以试试

iw dev
如果这两个命令都不存在,您可以查看引导日志以获取线索,例如:

dmesg | grep -i wireless

您可以查看是否可以找到为无线设备加载的模块

要查看系统上可用的所有模块,可以查看/usr/src/linux*/drivers/net/wireless,例如

find /usr/src/linux*/drivers/net/wireless

在非常罕见的情况下,您需要通过加载驱动程序手动启用设备,例如:

 modprobe -v ath10k
(v只是为了显示更多细节,但您也可以在后面使用“dmesg”。如果没有“dmesg”命令,您还可以:)

有时无线驱动程序或设备会崩溃,在这种情况下,您可以通过以下方法修复它们,而无需重新启动:

rmmod iwlmvm
modprobe iwlmvm
(这是一些经常在我身上崩溃的英特尔设备的驱动程序。)

我希望您已经了解了Linux的重要基石之一


许多更大的系统,如Ubuntu和Fedora,以可重复的方式将接口重命名为“wlp2s0”或“enp5s1n2”或“enx908723081”,因为根据内核和引导过程,如果您有两个类似的卡,它们有时可能会颠倒顺序,例如eth0是以前的eth1,反之亦然-导致设备将错误的接口连接到错误的网络

它是在类似的设备上,还是在实际的Pi3或3B或3B+上?看起来只是wpa.conf文件中的一个输入错误…非常感谢您的回答。但这对我来说仍然很棘手:wpa_密码短语Mywifinetwork>到底是什么现在我应该把它放在wpa.config中吗?当然,只要在任何计算机上键入它就行了-没有以>开头的部分。它提供的输出是带有用于连接到Wi-Fi网络的密码短语的部分。是的,该部分必须进入wpa.conf文件。该文件可以命名为任何名称,但在其他地方,有人调用了名为“wpa_supplicant”的程序,并告诉它使用该文件。>仅允许Linux shell将输出写入文件,而不是将其打印到屏幕上。还要检查iwconfig是否显示无线设备!如果没有,您需要确保Wi-Fi驱动程序正在编译并包含在图像中,如果没有,请向yocto项目报告。最后3个是我提供的;-)无更改:(尽管wpa.config文件正确)
find /usr/src/linux*/drivers/net/wireless
 echo `for a in /usr/src/linux*; do (cd $a/drivers/net/wireless; for b in */*; do echo $b; done); done|egrep -v '(Makefile|Kconfig)'|cut -d\/  -f2|sort|uniq`
 modprobe -v ath10k
cat /dev/kmsg
rmmod iwlmvm
modprobe iwlmvm