I have an unbranded temu laptop with Celeron N4020 Gemini Lake CNVi wifi, using the iwlwifi driver. lspci calls it "00:0c.0 0280: 8086:31dc (rev 06) ... Subsystem: 8086:0034". iwlwifi identifies it as "iwlwifi 0000:00:0c.0: Detected Intel(R) Wireless-AC 9560 160MHz, REV=0x312". It loads firmware "iwlwifi-9000-pu-b0-jf-b0-46.ucode". Out of the box, it fails to initialize, and this appears to be the pivotal message: > iwlwifi 0000:00:0c.0: Can't parse empty family 8000 OTP/NVM sections It is objecting to the fact that NVM_SECTION_TYPE_REGULATORY is missing. The other NVM sections appear to be intact. MAC_OVERRIDE is missing but the HW section is present. As an experiment, I hacked iwl_parse_nvm_sections() to disable that error message. And I hacked the downstream iwl-nvm-parse.c consumers to accept regulatory==NULL, in which case it defaults each channel's flags to 0 and lar_enabled=true. For illustration, my patch is at https://galexander.org/x/iwlwifi-patch-20250522-1 (public domain, not that you'd want to use it as I wrote it) Now it "works". After initialization, "iw phy" lists all of the channels as disabled, but after "iw reg set US", an appropriate subset of them become enabled (presumably using cfg80211's regulatory.db). I am able to connect to my AP as a client. I have only tested 5GHz so far but it seems to "just work." FWIW, it has a reasonable MAC address. So from my perspective as an end user, this is already resolved, no action needed :) I don't really know the larger implications of this...if iwlwifi should change to be more forgiving, or if this is a one-off defective device, or if you will want to support a new standard way to get the regulatory info from the firmware. I'm still expecting to discover it "doesn't really work". I'm happy to answer questions. Mostly I'm leaving this here as breadcrumbs because I expect someone else will run into the same problem. As an aside - thank you! I have been using iwlwifi for years, and the code is well-organized and easy to work with. You all have done great work!
Does Windows work on this device though?
Good question! Sorry I can't answer it. Laptop came with windows pre-installed, but I didn't test it. That would certainly have been a good clue for whether it's a one-off defect.
This device has an OTP that is not correct, we can't support it. If you made it work by removing checks in the driver, this means that can't commit on anything related to this device's behavior.