构建 RaLink RT2860 WiFi 网络驱动程序(内核 3.0.4 x64)
我在构建 rt2860 wifi 驱动程序时遇到问题。 这是我第一次必须这样做。 我从RaLink网站下载了驱动程序,修改了它,然后以root身份运行make。
root:2010_07_16_RT2860_Linux_STA_v2.4.0.0/ $ make
make -C tools
make[1]: Entering directory `/home/root/2010_07_16_RT2860_Linux_STA_v2.4.0.0/tools'
gcc -g bin2h.c -o bin2h
make[1]: Leaving directory `/home/root/2010_07_16_RT2860_Linux_STA_v2.4.0.0/tools'
/home/root/2010_07_16_RT2860_Linux_STA_v2.4.0.0/tools/bin2h
cp -f os/linux/Makefile.6 /home/root/2010_07_16_RT2860_Linux_STA_v2.4.0.0/os/linux/Makefile
make -C /lib/modules/3.0.4/build SUBDIRS=/home/root/2010_07_16_RT2860_Linux_STA_v2.4.0.0/os/linux modules
make[1]: Entering directory `/lib/modules/3.0.4/build'
make[1]: *** No rule to make target `modules'. Stop.
make[1]: Leaving directory `/lib/modules/3.0.4/build'
make: *** [LINUX] Error 2
这个错误消息让我假设,应该有一个带有名为“modules”的目标的 makefile。构建文件夹绝对是空的...现在该怎么办?我应该获取特定的内核源并将它们放入 /lib/modules/3.xx/build/ 中吗?
编辑:
我还下载了固件文件和 我的地区。是症结所在。
root:~/ $ grep -i rt2800pci /boot/linux-3.0.4-x64
# CONFIG_RT2800PCI is not set
root:~/ $ for BUSID in $(lspci | awk '{ IGNORECASE=1 } /net/ { print $1 }'); do lspci -s $BUSID -m; lspci -s $BUSID -n; done
03:00.0 "Network controller" "RaLink" "RT2860" "Unknown vendor 1a3b" "Device 1059"
03:00.0 0280: 1814:0781
I have a problem to build the rt2860 wifi driver.
Its the first time i have to do this.
I downloaded the driver from the RaLink website, modified it and then i ran make as root.
root:2010_07_16_RT2860_Linux_STA_v2.4.0.0/ $ make
make -C tools
make[1]: Entering directory `/home/root/2010_07_16_RT2860_Linux_STA_v2.4.0.0/tools'
gcc -g bin2h.c -o bin2h
make[1]: Leaving directory `/home/root/2010_07_16_RT2860_Linux_STA_v2.4.0.0/tools'
/home/root/2010_07_16_RT2860_Linux_STA_v2.4.0.0/tools/bin2h
cp -f os/linux/Makefile.6 /home/root/2010_07_16_RT2860_Linux_STA_v2.4.0.0/os/linux/Makefile
make -C /lib/modules/3.0.4/build SUBDIRS=/home/root/2010_07_16_RT2860_Linux_STA_v2.4.0.0/os/linux modules
make[1]: Entering directory `/lib/modules/3.0.4/build'
make[1]: *** No rule to make target `modules'. Stop.
make[1]: Leaving directory `/lib/modules/3.0.4/build'
make: *** [LINUX] Error 2
This error message makes me assume, that there should be a makefile with a target named 'modules'. The build folder is absolutely empty... what to do now? Should i get the specific kernel sources and place them into /lib/modules/3.x.x/build/?
EDIT:
I also downloaded the firmware files and
my distri. is Crux.
root:~/ $ grep -i rt2800pci /boot/linux-3.0.4-x64
# CONFIG_RT2800PCI is not set
root:~/ $ for BUSID in $(lspci | awk '{ IGNORECASE=1 } /net/ { print $1 }'); do lspci -s $BUSID -m; lspci -s $BUSID -n; done
03:00.0 "Network controller" "RaLink" "RT2860" "Unknown vendor 1a3b" "Device 1059"
03:00.0 0280: 1814:0781
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
主线内核已经很好地支持了基于 rt2xx 的设备,因此无需从 RaLink 网站下载任何内容。 RT2860 的内核模块是“rt2800pci”。
您可以运行 menuconfig,选择此驱动程序作为模块并重建,或者您可以使用 compat-wireless 软件包。
编辑:您还需要它的固件(rt2860.bin)。您可以从firmware-ralink Debian 软件包获取它。
There rt2xx-based devices are already supported in the mainline kernel quite well, so there's no need to download anything from the RaLink website. The kernel module for the RT2860 is "rt2800pci".
You can either run menuconfig, select this driver as a module and rebuild OR you can use the compat-wireless package.
EDIT: You will also need the firmware for it (rt2860.bin). You can get it from the firmware-ralink Debian package.
我在 eeepc1000 上使用 debian-sid,该 eeepc1000 也有 ralink。
当我使用 2.6 内核时,我必须将 ralink 的所有内核驱动程序添加到黑名单中,然后进行编译。
当我升级到内核 3.2 时,情况一团糟。我在内核中有一些不受黑名单影响的新模块,有些与卡一起工作...我的 AP 只收到 10% 左右的信号,而且很混乱...
升级 debian 软件包后(来自 linux-image) -3.2.0-3 到 3.2.0-4) 支撑完全消失。
我通过删除黑名单找回了它。我现在使用的模块是 rt2x00pci,rt2800lib,rt2800pci
所以,如果您在 2.6 上编译驱动程序并添加黑名单...只需删除黑名单并忽略您编译的任何内容(STA 驱动程序...它们甚至不会如果内核中的那些为您工作,则将被探测,但如果它们正在被探测,请将 STA 添加到黑名单中)
我真的不知道如何支持。 3.0,但在 3.2 上它与 2.6 上的 ra 驱动程序一样好。
I'm using debian-sid on a eeepc1000 that has a ralink as well.
when i was on the 2.6 kernels, i had to add all in-kernel drivers for ralink to the blacklist, and compile that.
when i upgraded to kernel 3.2 it was a mess. i had some new module in the kernel that was not affected by the blacklist somewhat working with the card... my AP got only 10% signal or so, and it was messy...
after upgrading the debian package (from linux-image-3.2.0-3 to 3.2.0-4) the support was completely gone.
i got it back by removing the blacklist. the modules i'm using now are rt2x00pci,rt2800lib,rt2800pci
so, if you compiled the drivers on 2.6 and added the blacklists... simply remove the blacklists and ignore whatever you had compiled (the STA drivers... they will not even be probed if the ones in the kernel work for you. but if they are being probed, add the STA ones to the blacklist)
I honestely do not know hows the support on 3.0, but on 3.2 it's as good as it was on 2.6 with the ra drivers.