2 Replies Latest reply on Aug 12, 2019 2:39 AM by DaMa_4403631

    regulatory setting for linux wifi drivers


      Hi chi-hsienl_21,

          I checked the latest cypress-fmac-v4.14.77-2019_0503.


          I am using raspberry bi 3b+ with CYW43455, and encountered some wifi 5g channel problems.

          It seems that brcmf_construct_chaninfo() will clear all channel flags and disable all channels first, then enable by chanspecs from firmware data.


          if (band)

          for (i = 0; i < band->n_channels; i++)

              band->channels[i].flags = IEEE80211_CHAN_DISABLED;



          I have 2 questions:

          1.  40Mhz/80Mhz channel disabled flags will not be cleared, therefore linux command iw reg get will not show 40/80Mhz channels, though actually 40/80Mhz mode is ok to be used.


          if (ch.bw == BRCMU_CHAN_BW_80) {

              channel->flags &= ~IEEE80211_CHAN_NO_80MHZ;

          } else if (ch.bw == BRCMU_CHAN_BW_40) {

              brcmf_update_bw40_channel_flag(channel, &ch);



          2. the 2nd question is brcmf_construct_chaninfo()  use most regulatory information from firmware, and wireless-regdb data is ignored. this will cause a lot of channels to be disabled if there's no firmware update for regulatory change. for example, when setting country=TW, only channel 56~64, 149~165 is enabled.


         would you please help to check above problems. thanks.