linux - 如何在网卡太新而驱动程序无法包含在任何发行版中的机器上安装 Linux

标签 linux ubuntu driver nic

关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。












我们不允许在 Stack Overflow 上提出有关通用计算硬件和软件的问题。您可以编辑问题,使其成为 on-topic对于堆栈溢出。


去年关闭。







Improve this question




我最近遇到的问题是我的新 HP 15s-fq2001ni 笔记本电脑有一个 Realtek RTL8821CE-M wifi NIC。
我想在笔记本电脑上安装 Ubuntu,所以我下载了最新的 ubuntu 20.10 iso 镜像,并使用 Rufus 将 iso 镜像写入运行 Windows 的旧 DELL 笔记本电脑上的 USB 内存棒。
在惠普笔记本电脑上安装新的 Ubuntu 操作系统后,我注意到网卡无法正常工作。
经过一番谷歌搜索,我发现 RTL8821CE wifi NIC 是相当新的,并且发行版没有附带内置此 NIC 驱动程序的内核。
我发现驱动程序是为网卡编写的,可以在这里找到:https://github.com/tomaspinho/rtl8821ce
松了一口气,我下载了驱动程序源,并用 USB 内存棒将其复制到了 HP 笔记本电脑上。
坏消息 - 我在 HP 笔记本电脑上提取源代码的目录中运行了 make,我发现 gcc 没有安装。
apt-get install gcc 当然会失败,因为惠普笔记本电脑没有网卡就无法连接到互联网。
驱动程序也需要 DKMS 来安装内核模块(同样不能用 apt 下载)。
更坏的消息,只是通过 USB 复制 gcc 的相关 .deb 文件是行不通的,因为有太多的依赖项,以至于我会花费数小时迭代一个令人沮丧的过程,发现 HP 缺少一个库,然后将其下载到DELL笔记本电脑,将其复制到USB,然后将USB移动到HP,并使用“dpkg -i”安装.deb文件,却发现它依赖于我没有的另一个库(这就是为什么像apt这样的包管理器是发明的)
接下来,我尝试使用 apt-mirror 将整个 ubuntu 存储库(106 GB 下载)镜像到外部 HDD 上,方法是将我的 DELL 笔记本电脑启动到 ubuntu 的实时版本,然后使用 apt-mirror 在外部 HDD 上构建存储库。然后我在惠普笔记本电脑上安装了外置硬盘并更改了/etc/apt/sources.list 以将外置硬盘上的包视为存储库。
deb 文件:/媒体/[用户]/镜像
这不起作用,因为事实证明 apt-mirror 中存在错误,导致它无法下载构建完整镜像所需的所有文件。
我尝试修复 apt-mirror 代码,该代码在一定程度上有效,但是有很多错误,以至于我花了很长时间,我想知道是否有更简单的方法....?

最佳答案

所以现在很多天了,我终于找到了一个解决方案:

  • 在惠普笔记本电脑上安装 ubuntu
  • 在启动 Ubuntu iso 镜像
  • 时,使用“Try Ubuntu”实时选项在另一台 DELL 笔记本电脑上启动 ubuntu 的实时实例
  • 在第二台戴尔笔记本电脑上的这个 Ubuntu 实时实例上安装外部硬盘
  • 下载驱动源码到外置硬盘
  • 在第二台戴尔笔记本电脑上的这个 Ubuntu 实时实例上安装 GCC 和 DKMS

  • sudo apt-get install gcc
    sudo apt-get install dkms
  • 复制 /usr (包含已编译的 GCC 和 dkms 二进制文件)从第二台 DELL 笔记本电脑上的 Ubuntu 实时实例到外部硬盘
  • 在启动 Ubuntu iso 镜像时使用“Try Ubuntu”实时选项在新的 HP 笔记本电脑上启动 ubuntu 的实时实例
  • 在 Ubuntu 的实时实例上安装 HP 笔记本电脑上的外部 HDD
    (即使笔记本电脑已经在其内部硬盘上安装了 Ubuntu -
    您需要这样做,因为您无法覆盖 /usr 中的文件当安装的 Ubuntu 版本
    正在运行,因为它们将被使用)
  • 将 HP 笔记本电脑的内部硬盘安装在 Ubuntu 的实时实例上
  • 复制/usr的内容在外部硬盘上连接到 HP 的内部硬盘
  • 重新启动 HP 并启动到内部 HDD 上已安装的 Ubuntu 实例(移除 USB 启动媒体后)
  • 在 HP
  • 上安装的 Ubuntu 实例上安装外部硬盘
  • 在外部硬盘上的网络驱动程序源代码目录中,使用“make”编译驱动程序源(使用步骤 10 中复制的 GCC 二进制文件)
  • 使用“make install”(使用 dkms)安装内核驱动模块
  • 网卡上来就可以连接wifi了
  • 关于linux - 如何在网卡太新而驱动程序无法包含在任何发行版中的机器上安装 Linux,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66167503/

    相关文章:

    linux - 使用单一模式字符串匹配多个单词Lua脚本

    php - LINUX 添加了第二期? php 脚本可以工作,但是当我使用 cron 作业执行时,它在数据库中有双条目

    linux - 如何知道 SSH key 的长度?

    c++ - 如何使用寄存器和偏移地址?

    c++ - 如何在驱动程序的 INF 文件中使用变量?

    Linux下获取相机照片的C程序

    python - NAV 2016 - Web 服务 - 401 未授权 - Ubuntu 或 Linux 系统上的基本授权

    linux - 如何更改备份在 Ubuntu 16.04 中创建备份的时间?

    linux - 如何更改 godaddy 中的 dns 以指向 windows azure linux vms?

    Linux 无线 : ACK implementation