RT5390 USB wifi 卡只能间歇性地与 Linux 3.12.9 配合使用

RT5390 USB wifi 卡只能间歇性地与 Linux 3.12.9 配合使用

我正在研究一个无线路由器,并被安排了一项任务来支持一些 wifi 卡,即 Ralink RT5390 和 RT2571。

RT2571 卡运行良好,我可以将其设置为接入点,或连接到其他接入点。我可以在这两种模式之间切换,没有任何问题。

然后,当我尝试使用新的 RT5390 时,第一次启动时一切都正常。但是,如果我重新启动路由器,RT5390 将不会显示为接入点,或者不会连接到另一个接入点。此功能永远不会恢复。所有应该运行的进程(hostapdwpa_supplicant)都在正常运行,但似乎卡无法正常传输。

如果我运行,iw dev scan <ifname of RT5390>则不会得到任何结果,但也不会出现任何错误,返回值为iw0在启动时,我可以看到驱动程序和固件文件也已正确加载,没有任何错误,并且udev我用来重命名网络接口的规则也运行良好。

我正在使用带有内核的 buildroot Linux 映像3.12.9。我已经编译了驱动程序模块rt2800usb- 因为这是 RT5390 上的底层芯片。我还将相应的固件文件添加到了/lib/firmware

我已检查电源管理是否设置为off,并且 tx 功率是否设置为 20 dbm。我不知道是什么原因导致的,如果能提供建议,我将不胜感激。

答案1

根据 WikiDevi 的此页面,https://wikidevi.com/wiki/Ralink_RT5390_Reference_Design,RT5390 可以由 rt2800pci(在反向移植中)或 rt2860sta 驱动。从您所说的内容来看,不清楚您使用的驱动程序是否与反向移植中的驱动程序相同或有任何不同。也许您可能希望检查一下。

无论如何我建议尝试另一个,您可以下载rt2860sta这里,原因很明显。如果你需要它们,你可以找到反向移植这里

我唯一的其他(温和的)建议是将参数 nohwcrypt 设置为 1 来加载驱动程序。这是一个众所周知的技巧,偶尔可以让这些驱动程序正常工作,但没有明显的正当理由。

答案2

最后我通过找到较新版本的rt2800.bin固件文件解决了这个问题。

我从 () 获取固件文件的 Debian 软件包ralink-firmware有版本号0.36。当我最初下载并解压软件包时,它包含的版本号v0.24rt2800.bin

我决定重新检查一遍所有步骤,以确保没有犯任何错误,所以我重新下载了 debian 软件包 - 版本0.36- 当我解压它时,我发现rt2800.bin已经更新为v0.29。使用此版本解决了我所有的问题。

相关内容