Thursday, May 2, 2024
 Popular · Latest · Hot · Upcoming
3
rated 0 times [  3] [ 0]  / answers: 1 / hits: 5571  / 1 Year ago, mon, december 12, 2022, 6:25:28

I asked this question, but I'm becoming more and more certain that my problem stems from a faulty iwlwifi firmware version. Rather than muddy the water there, I'd like to ask if it's possible to downgrade my islwifi firmware to a previous version.



If it's possible, can you tell me specifically how? I'm not really great with generic instructions. Or is there a website that I've missed?


More From » wireless

 Answers
0

The Linux firmware sources are being developed in a Git repository, so it's easy to go back in time for all older releases of the firmware.




  1. Install git Install git

  2. Clone the repository (cgit web page):



    git clone http://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git

  3. cd into the repository:



    cd linux-firmware

  4. Locate the firmware for your device as per the iwlwifi development page or legacy (scroll down), e.g. iwlwifi-3945-2.ucode.



    find . -name "iwlwifi*"


    Notice that for some devices multiple versions are kept as separate files, for the compatibility of older kernel versions.


  5. Have a look at the history of the file:



    git log iwlwifi-3945-2.ucode


    shows (removed some irrelevant lines):



    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. The revision at the top is the version in your working directory. To retrieve an older version of the same file, do this:



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


    see also: How to retrieve a single file from specific revision in Git?



    However, most firmware files only have a single revision in the repository and are versioned by just having multiple filenames.


  7. Install the firmware in /usr/local/lib/firmware (location for manually installed firmware files) by copying the file there:



    sudo cp /path/to/iwlwifi-3945-2.ucode /usr/local/lib/firmware/

  8. Remove and re-insert the kernel module(s):



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


    And look at dmesg to see if the firmware gets loaded.







In case you wonder if any files have been removed from the repository, try this:



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


At the time of writing, no Intel firmware has been deleted ever.


[#30617] Tuesday, December 13, 2022, 1 Year  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
enytidge

Total Points: 169
Total Questions: 105
Total Answers: 107

Location: Papua New Guinea
Member since Tue, Aug 24, 2021
3 Years ago
enytidge questions
Tue, Feb 28, 23, 15:26, 1 Year ago
Sun, Jan 1, 23, 19:36, 1 Year ago
Sun, Oct 24, 21, 07:30, 3 Years ago
Wed, Nov 9, 22, 22:02, 2 Years ago
;