更新

更新

我有一个 usb wifi LB-Link WN155A,我尝试了很多方法但仍然无法工作。

我有两个无线接口,一个是 PC,另一个是 USB wifi。PC wifi 接口工作正常,但我无法让 USB wifi 工作。

对于该模块,我也尝试编译mt和rtl ko,但失败了。

Ubuntu 16.04

$ uname -r
4.15.0-38-generic`

$ lsusb
Bus 001 Device 008: ID 0bda:8176 Realtek Semiconductor Corp. RTL8188CUS 802.11n WLAN Adapter

sudo lshw -numeric -class network

*-network               
       description: Wireless interface
       product: Intel Corporation [8086:24FD]
       vendor: Intel Corporation [8086]
       physical id: 0
       bus info: pci@0000:3a:00.0
       logical name: wlp58s0
       version: 78
       serial: f8:63:3f:3b:dc:ab
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
       configuration: broadcast=yes driver=iwlwifi driverversion=4.15.0-36-generic firmware=34.0.1 ip=192.168.10.151 latency=0 link=yes multicast=yes wireless=IEEE 802.11
       resources: irq:131 memory:dc100000-dc101fff
  *-network
       description: Ethernet interface
       product: Ethernet Connection (4) I219-V [8086:15D8]
       vendor: Intel Corporation [8086]
       physical id: 1f.6
       bus info: pci@0000:00:1f.6
       logical name: eno1
       version: 21
       serial: f4:4d:30:6e:78:a9
       capacity: 1Gbit/s
       width: 32 bits
       clock: 33MHz
       capabilities: pm msi bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=e1000e driverversion=3.2.6-k firmware=0.1-4 latency=0 link=no multicast=yes port=twisted pair
       resources: irq:128 memory:dc200000-dc21ffff
  *-network
       description: Wireless interface
       physical id: 2
       bus info: usb@1:1
       logical name: wlxec3dfddbdbdb
       serial: ec:3d:fd:db:db:db
       capabilities: ethernet physical wireless
       configuration: broadcast=yes driver=rtl8192cu driverversion=4.15.0-36-generic firmware=N/A link=no multicast=yes wireless=IEEE 802.11

$ifconfig 
wlp58s0   Link encap:Ethernet  HWaddr f8:63:3f:3b:dc:ab  
      inet addr:192.168.10.151  Bcast:192.168.11.255  Mask:255.255.254.0
      inet6 addr: fe80::757f:9c2b:d5e1:7ff6/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:14472 errors:0 dropped:2 overruns:0 frame:0
      TX packets:2852 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000 
      RX bytes:17545226 (17.5 MB)  TX bytes:398195 (398.1 KB)

wlxec3dfddbdbdb Link encap:Ethernet  HWaddr ec:3d:fd:db:db:db  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

我尝试下载驱动程序(8192cu 和 8188eu)

$ lsmod
Module                  Size  Used by
8188eu                724992  0
ccm                    20480  6
nls_iso8859_1          16384  1
rfcomm                 77824  2
rtl8xxxu              122880  0
rtl8192cu              73728  0
rtl_usb                20480  1 rtl8192cu
rtl8192c_common        57344  1 rtl8192cu
rtlwifi                77824  3 rtl_usb,rtl8192c_common,rtl8192cu
bnep                   20480  2
arc4                   16384  4
snd_hda_codec_hdmi     49152  1
intel_wmi_thunderbolt    16384  0
wmi_bmof               16384  0
snd_hda_codec_realtek   106496  1

在我建立模块后,我尝试使用modprobe,但它显示

modprobe: FATAL: Module 8188eu.ko not found in directory /lib/modules/4.15.0-36-generic

我也尝试修改/etc/network/interface。但仍然失败。

更新

编译mt7601错误

/declanlc-driver-mt7601usta/src/os/linux/../../os/linux/rt_linux.c:120:3: error: implicit declaration of function ‘init_timer’ [-Werror=implicit-function-declaration]
   init_timer(pTimer);
   ^
/declanlc-driver-mt7601usta/src/os/linux/../../os/linux/rt_linux.c:121:9: error: ‘OS_NDIS_MINIPORT_TIMER {aka struct timer_list}’ has no member named ‘data’
   pTimer->data = (unsigned long)data;
         ^
/declanlc-driver-mt7601usta/src/os/linux/../../os/linux/rt_linux.c:122:20: error: assignment from incompatible pointer type [-Werror=incompatible-pointer-types]
   pTimer->function = function;
                    ^

答案1

所有安装均需 sudo apt install -y git build-essential make autoconf libtool gcc gettext linux-headers-$(uname -r)

现在你可以尝试安装你的驱动程序

但在此之前我建议尝试安装

mt7601 驱动程序 git clone https://github.com/declanlc/declanlc-driver-mt7601usta.git cd declanlc-driver-mt7601usta/src make mkdir -p /etc/Wireless/RT2870STA/ cp RT2870STA.dat /etc/Wireless/RT2870STA/ insmod os/linux/mt7601Usta.ko

如果这不起作用那么尝试您提到的驱动程序

rtl8188eu: git clone https://github.com/lwfinger/rtl8188eu.git cd rtl8188eu make all sudo make install sudo modprobe rtl8188eu or 8188eu

rtl8192cu: git clone https://github.com/lwfinger/rtl8192cu cd rtl8192cu make sudo make install sudo modprobe rtl8192cu or 8192cu

相关内容