我已经构建了 linux 发行版 Boot2Qt来源使用用于具有集成 wifi 芯片的 Colibri iMX6ULL 板的 yocto 工具Marvell W8997-M1216
。
我安装了整个 Linux 固件堆栈,并且我认为 wifi 芯片的内核模块也是正确的。
没有出现 mlan 界面。
mlan 接口到底是什么创建的?
我还需要安装其他东西吗?
编辑:
我也很感谢您提供有关 Linux 操作系统需要具备功能性 wifi 的先决条件,以及究竟是什么软件创建无线接口的一般性答案。
答案1
a) 复制
sd8787.bin
到/lib/firmware/mrvl/
目录,如果目录不存在则创建该目录。b) 安装 WLAN 驱动程序,
insmod mwifiex.ko
c) 卸载 WLAN 驱动程序,
ifconfig mlanX down
rmmod mwifiex
另外,您应该验证启动时正在加载哪些模块,
# Check the kernel buffer
dmesg
# List kernel modules
lsmod
# List PCI devices
lspci
答案2
我设法找到了正确的内核模块并且它现在可以工作了。这里是完整的过程:
将以下行添加到 local.conf 中:
BB_DANGLINGAPPENDS_WARNONLY ?= "true"
MACHINE ?= "colibri-imx6ull"
DISTRO_FEATURES_append = " wifi packagegroup-base-wifi dhcp-client" // add wifi tools like iw and a dhcp client
MACHINE_FEATURES_append = " wifi" // add wifi at machine level
IMAGE_INSTALL_append = " linux-firmware dhcp-client" // install all firmware (needed for wifi) and the dhcp client
接下来启动menuconfig通过进入构建目录来添加内核模块:BUILD_DIR/meta-boot2qt/build-colibri-imx6ull/
并运行命令
bitbake virtual/kernel -c menuconfig
如果您收到未定义的系统符号的错误,您可能缺少 ncurses 库。安装它sudo apt-get install libncurses-dev
从控制台选项卡中打开的菜单转到Networking support > Wireless
。检查以下模块:
接下来回到主菜单,输入Device Drivers > Network device support > Wireless LAN
选择 marvell drivers:
保存更改并运行:
bitbake b2qt-embedded-qt5-image
现在应该安装必要的固件、驱动程序和工具。