无线网卡适配

买了款EDUP(深圳翼联)无线网卡在Linux系统不没有驱动适配用不起来,后来电话到翼联,翼联技术人员
给了无线驱动包并且告诉我无线网卡芯片型号RTL881BU,

00008446-RTL88x2BU_WiFi_linux_v5.2.4.1 解压后
看到型号是:
########################## WIFI IC ############################
CONFIG_MULTIDRV = n
CONFIG_RTL8188E = n
CONFIG_RTL8812A = n
CONFIG_RTL8821A = n
CONFIG_RTL8192E = n
CONFIG_RTL8723B = n
CONFIG_RTL8814A = n
CONFIG_RTL8723C = n
CONFIG_RTL8188F = n
CONFIG_RTL8822B = y
CONFIG_RTL8723D = n
CONFIG_RTL8821C = n
######################### Interface ###########################
默认选择CONFIG_RTL8822B = y 没有RTL8812BU,猜测驱动共用
选了海思平台,修改了下编译选项
ifeq (KaTeX parse error: Expected 'EOF', got '#' at position 33: …HISILICON), y) #̲EXTRA_CFLAGS +=…(SUPPORT_CONCURRENT),y)
#EXTRA_CFLAGS += -DCONFIG_CONCURRENT_MODE
#endif
#EXTRA_CFLAGS += -DCONFIG_IOCTL_CFG80211 -DRTW_USE_CFG80211_STA_EVENT
#ARCH := arm
#ifeq ($(CROSS_COMPILE),)

CROSS_COMPILE = arm-hisiv200-linux-

CROSS_COMPILE =

#endif
#MODULE_NAME := rtl8192eu
#ifeq ($(KSRC),)

//KSRC := …/…/…/…/…/…/kernel/linux-3.4.y

#endif
EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN -DCONFIG_PLATFORM_HISILICON
EXTRA_CFLAGS += -DCONFIG_IOCTL_CFG80211 -DRTW_USE_CFG80211_STA_EVENT
ARCH ?= arm64
CROSS_COMPILE ?=
KVER ?= ( s h e l l u n a m e − r ) K S R C : = / l i b / m o d u l e s / (shell uname -r) KSRC := /lib/modules/ (shellunamer)KSRC:=/lib/modules/(KVER)/build
MODDESTDIR := /lib/modules/$(KVER)/kernel/drivers/net/wireless/
INSTALL_PREFIX :=
endif
==>make -j8
编译fail
wireless/RTL8812BU/include/osdep_service_linux.h:282:8: error: ‘_timer’ {aka ‘struct timer_list’} has no member named ‘data’
ptimer->data = (unsigned long)cntx;
^~
wireless/RTL8812BU/include/osdep_service_linux.h:283:2: error: implicit declaration of function ‘init_timer’; did you mean ‘_init_timer’? [-Werror=implicit-function-declaration]
init_timer(ptimer);
^~~~~~~~~~
_init_timer
In file included from /home/uos/wireless/RTL8812BU/include/osdep_service.h:42,
from /home/uos/wireless/RTL8812BU/include/drv_types.h:27,
from /home/uos/wireless/RTL8812BU/core/rtw_ioctl_query.c:17:
wireless/RTL8812BU/include/osdep_service_linux.h: In function ‘_init_timer’:
wireless/RTL8812BU/include/osdep_service_linux.h:282:8: error: ‘_timer’ {aka ‘struct timer_list’} has no member named ‘data’

发现不好解决,去github 搜索了一下"RTL8812BU "找了个新的驱动
https://github.com/morrownr/88xbu
下载下来,解压缩,选择
###################### Platform Related #######################
CONFIG_PLATFORM_ARM_NV_NANO = n
CONFIG_PLATFORM_I386_PC = n
CONFIG_PLATFORM_ARM_RPI = y
CONFIG_PLATFORM_ANDROID_X86 = n
CONFIG_PLATFORM_ARM_RPI ==》选择

稍微修改
ifeq ($(CONFIG_PLATFORM_ARM_RPI), y)
EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN
EXTRA_CFLAGS += -DCONFIG_IOCTL_CFG80211 -DRTW_USE_CFG80211_STA_EVENT
#ARCH := arm
ARCH := arm64
KVER := ( s h e l l u n a m e − r ) K S R C : = / l i b / m o d u l e s / (shell uname -r) KSRC := /lib/modules/ (shellunamer)KSRC:=/lib/modules/(KVER)/build
MODDESTDIR := /lib/modules/ ( K V E R ) / k e r n e l / d r i v e r s / n e t / w i r e l e s s / I N S T A L L P R E F I X : = S T A G I N G M O D D I R : = / l i b / m o d u l e s / (KVER)/kernel/drivers/net/wireless/ INSTALL_PREFIX := STAGINGMODDIR := /lib/modules/ (KVER)/kernel/drivers/net/wireless/INSTALLPREFIX:=STAGINGMODDIR:=/lib/modules/(KVER)/kernel/drivers/staging
endif

==》make -j8编译OK
总用量 9756
-rw-r----- 1 uos uos 4916512 8月 28 19:11 88x2bu.ko
-rw-r----- 1 uos uos 8043 8月 28 19:11 88x2bu.mod.c
-rw-r----- 1 uos uos 98296 8月 28 19:11 88x2bu.mod.o
-rw-r----- 1 uos uos 4819072 8月 28 19:11 88x2bu.o
-rwxrwxrwx 1 root root 64 7月 5 13:18 clean
drwxrwxrwx+ 4 root root 4096 8月 28 19:11 core
-rwxrwxrwx 1 root root 237 7月 5 13:18 dkms.conf
drwxrwxrwx+ 9 root root 4096 8月 28 19:10 hal
-rwxrwxrwx 1 root root 1902 7月 5 13:18 halmac.mk
-rwxrwxrwx 1 root root 51 7月 5 13:18 ifcfg-wlan0
drwxrwxrwx+ 5 root root 12288 7月 5 13:18 include
-rwxrwxrwx 1 root root 110 7月 5 13:18 Kconfig
-rwxrwxrwx 1 root root 70462 8月 28 19:10 Makefile
-rw-r----- 1 uos uos 66 8月 28 19:10 modules.order
-rw-r----- 1 uos uos 0 8月 28 19:11 Module.symvers
drwxrwxrwx+ 3 root root 4096 8月 28 19:10 os_dep
drwxrwxrwx+ 2 root root 4096 8月 28 19:11 platform
-rwxrwxrwx 1 root root 2013 7月 5 13:18 README.md
-rwxrwxrwx 1 root root 1920 7月 5 13:18 rtl8822b.mk
-rwxrwxrwx 1 root root 423 7月 5 13:18 runwpa
-rwxrwxrwx 1 root root 294 7月 5 13:18 wlan0dhcp
PC:~/wireless/RTL8812BU001/RTL8812BU-master$

sudo insmod 88x2bu.ko 无线网络可用,完美解决

ifconfig
wlxe84e0686728a: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.2.6.229 netmask 255.255.255.0 broadcast 10.2.6.255
inet6 fe80::611f:cd3e:e5c1:f8c8 prefixlen 64 scopeid 0x20
ether e8:4e:06:86:72:8a txqueuelen 1000 (Ethernet)
RX packets 1047 bytes 227591 (222.2 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 232 bytes 31882 (31.1 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在Ubuntu上插入无线网卡需要进行以下步骤: 1. 查看无线网卡型号:可以通过终端命令`lspci`或`lsusb`来查看已连接的硬件设备信息,找到无线网卡的型号。 2. 检查是否有适配的驱动程序:在软件与更新中查看是否有适配无线网卡型号的附加驱动项。如果没有,需要手动安装驱动程序。 3. 查看无线网卡驱动匹配的内核版本:有些无线网卡驱动程序需要与特定的内核版本匹配。可以通过查看驱动程序的官方文档或支持页面来获取相关信息。 4. 查看Ubuntu内核版本:使用终端命令`uname -r`来查看当前系统正在运行的内核版本。 5. 升级内核:如果无线网卡驱动程序要求的内核版本高于当前系统的内核版本,需要先升级内核。可以使用`apt-get`命令或者软件更新工具来升级内核。 6. 下载驱动程序:根据无线网卡型号和内核版本,在驱动程序的官方网站或支持页面上下载适配的驱动程序。 7. 安装驱动程序:将下载的驱动程序解压缩,并按照驱动程序提供的安装说明进行安装。 8. 配置无线网络:安装完驱动程序后,可以使用系统设置或网络管理工具来配置无线网络连接。 请注意,具体的步骤和命令可能因无线网卡型号和Ubuntu版本而有所不同。建议在安装驱动程序之前,先查阅无线网卡型号和驱动程序的官方文档,以获取准确的安装指导。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kaira88

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值