On Wed, Sep 08, 2021 at 07:08:06AM +0200, Soeren Moch wrote: > Hi Shawn, > > On 08.09.21 03:00, Shawn Guo wrote: > > Hi Soeren, > > > > On Tue, Sep 07, 2021 at 09:22:52PM +0200, Soeren Moch wrote: > >> On 25.04.21 13:02, Shawn Guo wrote: > >>> Instead of aborting country code setup in firmware, use ISO3166 country > >>> code and 0 rev as fallback, when country_codes mapping table is not > >>> configured. This fallback saves the country_codes table setup for recent > >>> brcmfmac chipsets/firmwares, which just use ISO3166 code and require no > >>> revision number. > >> This patch breaks wireless support on RockPro64. At least the access > >> point is not usable, station mode not tested. > >> > >> brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4359/9 wl0: Mar 6 2017 > >> 10:16:06 version 9.87.51.7 (r686312) FWID 01-4dcc75d9 > >> > >> Reverting this patch makes the access point show up again with linux-5.14 . > > Sorry for breaking your device! > > > > So it sounds like you do not have country_codes configured for your > > BCM4359/9 device, while it needs particular `rev` setup for the ccode > > you are testing with. It was "working" likely because you have a static > > `ccode` and `regrev` setting in nvram file. > It always has been a mystery to me how country codes are configured for > this device. Before I read your patch I did not even know that a > translation table is required. Is there some documentation how this is > supposed to work? Not sure if this makes a difference, BCM4359/9 is a > Cypress device I think, I added mainline support for it some time ago. One way to add the translation table is using DT. You can find more info and example in following commits: b41936227078 ("dt-bindings: bcm4329-fmac: add optional brcm,ccode-map") 1a3ac5c651a0 ("brcmfmac: support parse country code map from DT") > > I have installed different firmware files, brcmfmac4359-sdio.clm_blob, > brcmfmac4359-sdio.bin, brcmfmac4359-sdio.txt, the latter also linked as > brcmfmac4359-sdio.pine64,rockpro64-2.1.txt. This probably is the nvram > file. ccode and regrev are set to zero, which probably means > 'international save settings". I'm not sure how this 'international save settings' works for brcmfmac devices. Do you have more info or any pointers? > > But roaming to a different > > region will mostly get you a broken WiFi support. Is it possible to set > > up the country_codes for your device to get it work properly? > In linux-5.13 it worked, probably with save settings (not all channels > selectable, limited tx power), with linux-5.14 it stopped working, so it > is a regression. > I personally would like to learn how all this is configured properly. > For general use I think save settings are better than no wifi at all > with this patch. This fallback to ISO CC seams to work with newer > (Synaptics?) devices only. I do not mind you send a reverting if you have problem to add a proper translation table for your device. But that would mean I have to add a pretty "meaningless" translation table for my devices :( Shawn