小编Pla*_*ove的帖子

Debian 内核 - 如果驱动程序是在内核中编译的,为什么我需要固件文件?

我在我的DE10-Nano 板上运行的 Debian 上使用这个 USB wifi 设备

从产品细节来看,这似乎使用了RT2800USB驱动程序中包含的RT5370芯片组。我在内核中启用了它,如下面的屏幕截图所示:

在此处输入图片说明

但是,除非我也使用以下命令安装固件,否则 wifi 设备不起作用:

sudo apt install firmware-ralink
Run Code Online (Sandbox Code Playgroud)

我的问题是 - 固件与驱动程序有什么关系?wifi设备不应该已经有必要的固件吗?这里到底发生了什么?

我是内核驱动程序和设备的新手,所以试图了解这里发生的魔力。我的理解是,要使用设备,我只需要确保相关驱动程序要么编译到内核中,要么作为以后可以加载的模块使用。

这是我运行时的 dmesg 输出ifup wlan0。固件文件rt2870.bin由软件包提供firmware-ralink

[   78.302351] ieee80211 phy0: rt2x00lib_request_firmware: Info - Loading firmware file 'rt2870.bin'
[   78.311413] ieee80211 phy0: rt2x00lib_request_firmware: Info - Firmware detected - version: 0.36
[   80.175252] wlan0: authenticate with 30:23:03:41:73:67
[   80.206023] wlan0: send auth to 30:23:03:41:73:67 (try 1/3)
[   80.220665] wlan0: authenticated
[   80.232966] wlan0: associate with …
Run Code Online (Sandbox Code Playgroud)

debian kernel-modules linux-kernel

11
推荐指数
3
解决办法
2303
查看次数

标签 统计

debian ×1

kernel-modules ×1

linux-kernel ×1