尝试安装 NDISWrapper,但在“make”命令后出现错误

尝试安装 NDISWrapper,但在“make”命令后出现错误

几天前我安装了 Ubuntu,并且试图让我的互联网适配器(TP-LINK 8200ND,通过 USB)工作,即使驱动程序不支持 Linux。

我正在尝试安装 NDISWrapper,因为当我搜索解决方案时很多人都推荐它。我遵循说明:

“将目录更改为该文件夹,然后输入命令:make uninstall”

好的,一切正常,我没有看到任何错误。

“制作”

输出如下:

make -C utils
make[1]: Entering directory '/home/raiden/Desktop/ndiswrapper-1.60/utils'
gcc -g -Wall -I../driver  -o loadndisdriver loadndisdriver.c
In file included from loadndisdriver.c:37:0:
../driver/loader.h:19:41: error: missing binary operator before token "("
 #if LINUX_VERSION_CODE > KERNEL_VERSION(4,0,0)
                                         ^
Makefile:16: recipe for target 'loadndisdriver' failed
make[1]: *** [loadndisdriver] Error 1
make[1]: Leaving directory '/home/raiden/Desktop/ndiswrapper-1.60/utils'
Makefile:23: recipe for target 'utils' failed
make: *** [utils] Error 2

我尝试继续,希望没事,但是下一个命令(以 root 身份进行安装)给出了相同的输出,并且包装器不起作用。

有人知道如何解决这个问题吗?

注意:我在 Ubuntu 上没有互联网。我在 Windows 上写这篇文章,驱动程序工作正常,所以如果你想建议需要互联网的东西,请记住这一点。

谢谢!

编辑: lsusb 输出:

Bus 001 Device 005: ID 058f:6387 Alcor Micro Corp. Flash Drive
Bus 001 Device 007: ID 2357:0100  
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 003: ID 04f3:0103 Elan Microelectronics Corp. ActiveJet K-2024 Multimedia Keyboard
Bus 003 Device 002: ID 045e:00cb Microsoft Corp. Basic Optical Mouse v2.0
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

我已经确认设备 2357:0100 是网络适配器,因为当我分离它并重试此命令时,它就消失了。

编辑2:我已经设法通过手机上网。

答案1

您可以使用安装媒体并通过 apt 安装:

sudo apt search ndis|grep -i wrap
  ndiswrapper 的图形前端(安装 Windows WiFi 驱动程序)
ndiswrapper/xenial 1.59-6 amd64
  ndiswrapper Linux 内核模块的用户空间实用程序
ndiswrapper-dkms/xenial,xenial 1.59-6 全部
  ndiswrapper Linux 内核模块 (DKMS) 的源代码
ndiswrapper-source/xenial,xenial 1.59-6 全部
  ndiswrapper Linux 内核模块的源代码
ndiswrapper-utils-1.9/xenial,xenial 1.59-6 全部
  过渡虚拟包升级至 ndiswrapper

由于您需要内核头来编译 ndiswrapper,所以我假设您可以安装其他软件包。

答案2

您的设备已被司机认领rtl8192cu 司机rtl8xxxu包含在所有最新的 Ubuntu 版本中。我很惊讶它默认不起作用。但是,通常的内核驱动程序有点不稳定。有一个更好、更稳定的驱动程序可用。请打开终端并执行:

sudo add-apt-repository ppa:hanipouspilot/rtlwifi
sudo apt-get update
sudo apt-get install rtlwifi-new-dkms
sudo -i
echo "blacklist rtl8xxxu"  >>  /etc/modprobe.d/blacklist.conf
exit

重新启动并告诉我们性能是否有所改善。

您确认您有一个不想使用的内部无线设备,因为它显然不支持 802.11N。让我们将其驱动程序列入黑名单:

sudo -i
echo "blacklist rtl818x_pci"  >>  /etc/modprobe.d/blacklist.conf
exit

我也在你的粘贴中注意到了这一点:

[16.197682]rtlwifi:信道规划0x0

[16.197684]rtlwifi:不良信道计划0x0

[ 16.197686] rtlwifi:国家代码 11

我建议明确设置你的监管范围。检查你的:

sudo iw reg get

如果您选择 00,则这是一个通用的设置。请在此处查找您的设置:http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2然后暂时设置一下:

sudo iw reg set IS

当然,如果不是冰岛,请替换您的国家代码。永久设置它:

gksudo gedit /etc/default/crda

如果您没有文本编辑器 gedit,请使用 nano 或 Kate 或 leafpad。

将最后一行改为:

REGDOMAIN=IS

仔细校对,保存并关闭文本编辑器。

断开系绳并重新启动,然后让我们听到您的结果。

相关内容