>> 1) Could the if_iwn driver fall back to using the 6000g2a-5 microcode >> without any code changes? (My gut feeling says "yes", but I have >> no existence proof of that.) > > Unless it's really necessary (ABI change in accessing device with new > firmware), it seems that the firmware should just be named for the > device and not have the firmware version. Thus you'd get the version > you have in tree, and that might be a little old. Alternatively there > could be a symlink. But I don't understand why it is versioned.
"Upstream decision" is my guess, possibly as part of "release bit identification" if/when there's changes to the firmware. BTW, for this specific problem, I now know that providing the new name as a symlink to the old file makes the new driver basically work, at least in my case, so that means the driver could have a fallback if we wanted. Though... There's no "search list" or "alternative name" field provided for the firmware file in the driver (yet), but that looks like a SMOP. It seems we released the iwlwifi-6000g2a-5 version as part of at least 9.2 if not 9.0, so it's not like it's just a backward compatibility issue with an earlier version of -current (which would possibly be of minor concern). I can see "My wifi doesn't work anymore after a kernel upgrade!" can act as a major turnoff... >> Should the wireless firmware go into a different set which we also >> learn the habit of extracting before reboot of the kernel? > > If the versioning is really intractable and frequent, perhaps, but I > think this can be 99% solved by not putting firmware versions in > filenames. > > A quick skim of /libdata/firmware makes me think it is mostly not > versioned. Really? I suspect all the if_iwn files are versioned; if it follows the pattern for iwlwifi-6000g2a-5, the number behind the last hyphen is the version number. Regards, - HÃ¥vard