降级 iwlwifi

降级 iwlwifi

我问这个问题,但我越来越确定我的问题是由错误的iwlwifi固件版本引起的。我不想再把事情搞得一团糟,我想问一下是否可以将我的 islwifi 固件降级到以前的版本。

如果可以的话,你能具体告诉我怎么做吗?我不太擅长通用说明。或者我错过了什么网站?

答案1

Linux 固件源正在 Git 存储库中开发,因此可以轻松回顾固件的所有旧版本。

  1. 安装git安装 git
  2. 克隆存储库(cgit 网页):

    git clone http://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
    
  3. cd进入存储库:

    cd linux-firmware
    
  4. 根据以下信息找到您设备的固件无线上网开发页面或遗产(向下滚动),例如iwlwifi-3945-2.ucode

    find . -name "iwlwifi*"
    

    请注意,对于某些设备,多个版本被保存为单独的文件,以兼容旧的内核版本。

  5. 查看该文件的历史记录:

    git log iwlwifi-3945-2.ucode
    

    显示(删除了一些不相关的行):

    commit d90a18c9e7eef19ab978c4c0bb2d2d4b8fa49dce
    Date:   Thu May 14 18:15:50 2009 +0100
    
        linux-firmware: Update Intel Wireless Wifi 3945 firmware
    
        Version is now 15.32.2.9
    
    commit caef650a8c909f557ed7f6b23c413401d6994fdb
    Date:   Tue Jan 20 21:37:48 2009 +0000
    
        linux-firmware: Add Intel Wireless Wifi firmware
    
  6. 顶部的修订版本是您工作目录中的版本。要检索同一文件的旧版本,请执行以下操作:

    git show caef650a8c909f557ed7f6b23c413401d6994fdb iwlwifi-3945-2.ucode > ~/some/destination/iwlwifi-3945-2.ucode
    

    也可以看看:如何从 Git 中的特定修订版本中检索单个文件?

    但是,大多数固件文件在存储库中只有一个修订版,并且仅通过多个文件名进行版本控制。

  7. 通过将文件复制到那里来安装固件/usr/local/lib/firmware(手动安装的固件文件的位置):

    sudo cp /path/to/iwlwifi-3945-2.ucode /usr/local/lib/firmware/
    
  8. 删除并重新插入内核模块:

    rmmod iwldvm && rmmod iwlwifi
    modprobe iwlwifi && modprobe iwldvm
    

    并查看dmesg固件是否已加载。


如果您想知道是否有任何文件已从存储库中删除,请尝试以下操作:

git log --diff-filter=D --summary | grep delete

在撰写本文时,还没有删除过任何英特尔固件。

答案2

http://wireless.kernel.org/en/users/Drivers/iwlwifi

您可以找到英特尔无线芯片的固件。

但我不知道您是否能找到适合您的特定芯片的旧版本。

相关内容