Ubuntu 24.04上配置Realtek USB无线网卡

在Ubuntu 24.04上配置Realtek USB无线网卡(ID 0bda:a192)

问题分析

之前在Ubuntu22.04上安装的驱动rtl8192fuhttps://gitee.com/BrightXu/rtl8192fu.git在系统升级为24.04后无法使用,重新编译报错,无法编译成功。

解决方法

1. 确认内核版本
  • 查看USB无线网卡:
      lsusb
    

可以看到一个Bus 001 Device 004: ID 0bda:a192 Realtek Semiconductor Corp. DISK

  • 查看内核版本:
    uname -a
    
    当前linux版本为6.8.0-49-generic,根据仓库的说明rtl8192fu仅支持的内核版本为:5.2 ~ 5.19 / 6.0 ~ 6.4,因此无法编译成功
2. 修改源码并编译
  • 下载源码

    • 原始仓库: https://gitee.com/BrightXu/rtl8192fu.git
  • 修改源码文件:os_dep/linux/ioctl_cfg80211.c
    由于linux.6.8.0内核的代码中一些函数比如cfg80211_ch_switch_started_notify,cfg80211_ch_switch_notify,函数的借口发生变化,因此这里需要更改部分调用代码

  • 修改源码文件:os_dep/linux/usb_intf.c
    同理这里也需要更改部分调用代码

  • 修改后的代码:
    https://github.com/iefengjian/rtl8192fu.git

  • 编译安装:

    cd rtl8192fu
    make -j$(nproc)
    sudo make install
    
3. 切换设备模式
  • 使用usb_modeswitch:
    sudo usb_modeswitch -KW -v 0bda -p a192
    
    这个命令会尝试将设备切换到网络模式。
4. 安装驱动
  • 加载驱动模块:
    sudo modprobe  8192fu
    
    此时就可以连接无线网络了。

注意事项

  • 内核版本: 在ubuntu24.04,内核版本为6.8.0-49-generic上尝试成功,内核版本相同应该没有问题。
  • 其他配置: /etc/modprobe.d/rtl8192fu-alias.conf,这个文件不知道干嘛的,我的内容如下:
alias usb:v0BDAp318Bd*dc*dsc*dp*icFFiscFFipFFin* 8192fu
alias usb:v7392pB722d*dc*dsc*dp*icFFiscFFipFFin* 8192fu
alias usb:v0B05p18F1d*dc*dsc*dp*icFFiscFFipFFin* 8192fu
alias usb:v0BDApA725d*dc*dsc*dp*icFFiscFFipFFin* 8192fu
alias usb:v0BDApF192d*dc*dsc*dp*icFFiscFFipFFin* 8192fu

希望这些信息能帮助您解决问题!

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值