RasPi4 WiFi problem with KR country code

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
JoKi_4755061
Level 2
Level 2

The Raspberry Pi 4B implements WiFi with brcm43455.

With WiFi country code KR(Korea), most of available channels are disabled:

$ iw phy phy0 channels

Band 1:

* 2412 MHz [1] (disabled)

* 2417 MHz [2] (disabled)

* 2422 MHz [3] (disabled)

* 2427 MHz [4] (disabled)

* 2432 MHz [5] (disabled)

* 2437 MHz [6] (disabled)

* 2442 MHz [7] (disabled)

* 2447 MHz [8] (disabled)

* 2452 MHz [9] (disabled)

* 2457 MHz [10] (disabled)

* 2462 MHz [11] (disabled)

* 2467 MHz [12] (disabled)

* 2472 MHz [13] (disabled)

* 2484 MHz [14] (disabled)

Band 2:

* 5170 MHz [34] (disabled)

* 5180 MHz [36] (disabled)

* 5190 MHz [38] (disabled)

* 5200 MHz [40] (disabled)

* 5210 MHz [42] (disabled)

* 5220 MHz [44] (disabled)

* 5230 MHz [46] (disabled)

* 5240 MHz [48] (disabled)

* 5260 MHz [52] (disabled)

* 5280 MHz [56] (disabled)

* 5300 MHz [60] (disabled)

* 5320 MHz [64] (disabled)

* 5500 MHz [100] (disabled)

* 5520 MHz [104] (disabled)

* 5540 MHz [108] (disabled)

* 5560 MHz [112] (disabled)

* 5580 MHz [116] (disabled)

* 5600 MHz [120] (disabled)

* 5620 MHz [124] (disabled)

* 5640 MHz [128] (disabled)

* 5660 MHz [132] (disabled)

* 5680 MHz [136] (disabled)

* 5700 MHz [140] (disabled)

* 5720 MHz [144] (disabled)

* 5745 MHz [149]

Maximum TX power: 20.0 dBm

Channel widths: 20MHz

* 5765 MHz [153]

Maximum TX power: 20.0 dBm

Channel widths: 20MHz

* 5785 MHz [157]

Maximum TX power: 20.0 dBm

Channel widths: 20MHz

* 5805 MHz [161]

Maximum TX power: 20.0 dBm

Channel widths: 20MHz

* 5825 MHz [165] (disabled)

All 2.4GHz channels are disabled, and most of 5GHz channels are disabled.

Actually totally unusable.

When I set the country code to GB:

$ iw phy phy0 channels

Band 1:

* 2412 MHz [1]

Maximum TX power: 20.0 dBm

Channel widths: 20MHz HT40+

* 2417 MHz [2]

Maximum TX power: 20.0 dBm

Channel widths: 20MHz HT40+

* 2422 MHz [3]

Maximum TX power: 20.0 dBm

Channel widths: 20MHz HT40+

* 2427 MHz [4]

Maximum TX power: 20.0 dBm

Channel widths: 20MHz HT40+

* 2432 MHz [5]

Maximum TX power: 20.0 dBm

Channel widths: 20MHz HT40- HT40+

* 2437 MHz [6]

Maximum TX power: 20.0 dBm

Channel widths: 20MHz HT40- HT40+

* 2442 MHz [7]

Maximum TX power: 20.0 dBm

Channel widths: 20MHz HT40- HT40+

* 2447 MHz [8]

Maximum TX power: 20.0 dBm

Channel widths: 20MHz HT40- HT40+

* 2452 MHz [9]

Maximum TX power: 20.0 dBm

Channel widths: 20MHz HT40- HT40+

* 2457 MHz [10]

Maximum TX power: 20.0 dBm

Channel widths: 20MHz HT40-

* 2462 MHz [11]

Maximum TX power: 20.0 dBm

Channel widths: 20MHz HT40-

* 2467 MHz [12]

Maximum TX power: 20.0 dBm

Channel widths: 20MHz HT40-

* 2472 MHz [13]

Maximum TX power: 20.0 dBm

Channel widths: 20MHz HT40-

* 2484 MHz [14] (disabled)

Band 2:

* 5170 MHz [34] (disabled)

* 5180 MHz [36]

Maximum TX power: 20.0 dBm

Channel widths: 20MHz HT40+

* 5190 MHz [38] (disabled)

* 5200 MHz [40]

Maximum TX power: 20.0 dBm

Channel widths: 20MHz HT40-

* 5210 MHz [42] (disabled)

* 5220 MHz [44]

Maximum TX power: 20.0 dBm

Channel widths: 20MHz HT40+

* 5230 MHz [46] (disabled)

* 5240 MHz [48]

Maximum TX power: 20.0 dBm

Channel widths: 20MHz HT40-

* 5260 MHz [52]

Maximum TX power: 20.0 dBm

No IR

Radar detection

Channel widths: 20MHz HT40+

DFS state: usable (for 19 sec)

DFS CAC time: 60000 ms

* 5280 MHz [56]

Maximum TX power: 20.0 dBm

No IR

Radar detection

Channel widths: 20MHz HT40-

DFS state: usable (for 19 sec)

DFS CAC time: 60000 ms

* 5300 MHz [60]

Maximum TX power: 20.0 dBm

No IR

Radar detection

Channel widths: 20MHz HT40+

DFS state: usable (for 19 sec)

DFS CAC time: 60000 ms

* 5320 MHz [64]

Maximum TX power: 20.0 dBm

No IR

Radar detection

Channel widths: 20MHz HT40-

DFS state: usable (for 19 sec)

DFS CAC time: 60000 ms

* 5500 MHz [100]

Maximum TX power: 20.0 dBm

No IR

Radar detection

Channel widths: 20MHz HT40+

DFS state: usable (for 19 sec)

DFS CAC time: 60000 ms

* 5520 MHz [104]

Maximum TX power: 20.0 dBm

No IR

Radar detection

Channel widths: 20MHz HT40-

DFS state: usable (for 19 sec)

DFS CAC time: 60000 ms

* 5540 MHz [108]

Maximum TX power: 20.0 dBm

No IR

Radar detection

Channel widths: 20MHz HT40+

DFS state: usable (for 19 sec)

DFS CAC time: 60000 ms

* 5560 MHz [112]

Maximum TX power: 20.0 dBm

No IR

Radar detection

Channel widths: 20MHz HT40-

DFS state: usable (for 19 sec)

DFS CAC time: 60000 ms

* 5580 MHz [116]

Maximum TX power: 20.0 dBm

No IR

Radar detection

Channel widths: 20MHz HT40+

DFS state: usable (for 19 sec)

DFS CAC time: 60000 ms

* 5600 MHz [120]

Maximum TX power: 20.0 dBm

No IR

Radar detection

Channel widths: 20MHz HT40-

DFS state: usable (for 19 sec)

DFS CAC time: 60000 ms

* 5620 MHz [124]

Maximum TX power: 20.0 dBm

No IR

Radar detection

Channel widths: 20MHz HT40+

DFS state: usable (for 19 sec)

DFS CAC time: 60000 ms

* 5640 MHz [128]

Maximum TX power: 20.0 dBm

No IR

Radar detection

Channel widths: 20MHz HT40-

DFS state: usable (for 19 sec)

DFS CAC time: 60000 ms

* 5660 MHz [132]

Maximum TX power: 20.0 dBm

No IR

Radar detection

Channel widths: 20MHz HT40+

DFS state: usable (for 19 sec)

DFS CAC time: 60000 ms

* 5680 MHz [136]

Maximum TX power: 20.0 dBm

No IR

Radar detection

Channel widths: 20MHz HT40-

DFS state: usable (for 19 sec)

DFS CAC time: 60000 ms

* 5700 MHz [140]

Maximum TX power: 20.0 dBm

No IR

Radar detection

Channel widths: 20MHz

DFS state: usable (for 19 sec)

DFS CAC time: 60000 ms

* 5720 MHz [144] (disabled)

* 5745 MHz [149] (disabled)

* 5765 MHz [153] (disabled)

* 5785 MHz [157] (disabled)

* 5805 MHz [161] (disabled)

* 5825 MHz [165] (disabled)

Now the WiFi is usable.

How could the correct WiFi country code make it malfunction?

I want to know when I can have fixed firmware for this problem.

PS. I remember the Raspberry Pi 3B+ also has same problem.

0 Likes
1 Solution

Hello:

    Our country regulatory is set as country_code/rev as usual,   we often provide customer to set the country to US/0, XR/4,or other options..  but raspberry didn't release interface to their customer to change rev to match the setting.   Hypothetically,  raspberry set the XR in their driver to XR/0 ,  but it is disabled in default, so customer can't change it to XR/1 or XR/4 ,etc...  I believe we have good code/rev in the release to Raspberry , but the setting in driver is wrong .  if you want to solve the issue, you need to get the driver , try to find the match position of the code, then to change the code/rev to have a test .

View solution in original post

0 Likes
34 Replies
Zhengbao_Zhang
Moderator
Moderator
Moderator
250 sign-ins First comment on KBA 10 questions asked

Hello:

   Would you please share the NVRAM file from the board ?  by the way I want to know how you are setting your country code now ,   and if the country code is KR/0 ?

0 Likes

Thanks for your reply ZhengbaoZ_96​,

WiFi country setting is done by raspi-config, and the country code is just KR. (AFAIK)

I don't know what is the NVRAM file you mentioned.

However, of course I will give it to you to solve this problem.

Please tell me how to find it.

0 Likes

Hello:

   you can try to find *.cal in file directory in Raspberry , I don't know if nvram is open to customers in Raspberry.   I got this one from Raspberry qa..

   Seems they are asking customer to configure the band you needed ,  not limited to your country code.

You can choose the one you needed.

On the Raspberry Pi 3B+ and Raspberry Pi 4B, you will also need to set the country code, so that the 5GHz networking can choose the correct frequency bands. You can do this using the raspi-config application: select the 'Localisation Options' menu, then 'Change Wi-Fi Country'. Alternatively, you can edit the wpa_supplicant.conf file and add the following. (Note: you need to replace 'GB' with the 2 letter ISO code of your country. See Wikipedia for a list of 2 letter ISO 3166-1 country codes.)

country=GB

country=KR,  so your question is kR in wpa_supplicant.conf can't work , is that right ?

Yes. Can't use WiFi with country code KR. (Which is correct)

0 Likes

ZhengbaoZ_96

Is there any on-going investigation about this problem?

0 Likes

Hello:

    Our country regulatory is set as country_code/rev as usual,   we often provide customer to set the country to US/0, XR/4,or other options..  but raspberry didn't release interface to their customer to change rev to match the setting.   Hypothetically,  raspberry set the XR in their driver to XR/0 ,  but it is disabled in default, so customer can't change it to XR/1 or XR/4 ,etc...  I believe we have good code/rev in the release to Raspberry , but the setting in driver is wrong .  if you want to solve the issue, you need to get the driver , try to find the match position of the code, then to change the code/rev to have a test .

0 Likes

ZhengbaoZ_96

Thank you for your reply. It helped me to understand what the real problem is. It looks like that the brcmfmac driver choose the first match by country code regardless of revision.

1. Can you please explain what the revision is for?

2. Can I assume the highest revision is recent and the one to be used?

0 Likes

revision is for different customers , or for different regulatory requirements.

Most popular revision for KR is KR/4 ..

0 Likes

ZhengbaoZ_96

It looks like that the brcmfmac43455-sdio.clm_blob provided within Raspberry Pi OS has 10 entries with KR country code. (revision 0 to 9) From the document "Cypress Wi-Fi CLM Regulatory Manual", this kind of clm_blob is "Master CLM". Right? Is it okay and expected to distribute the master clm for an end-user product like Raspberry Pi?

If yes, is there a open interface for Linux to specify country code with revision?

If no, is it possible for you to provide a "Per Product CLM" which has single working KR entry (maybe it is KR/4 in master clm)?

0 Likes

I found cyfmac43455-sdio.clm_blob included in the latest Cypress Linux WiFi driver release. It looks like a "Per Product CLM", and it looks like having single KR entry. I replaced existing brcmfmac43455-sdio.clm_blob with renamed cyfmac43455-sdio.clm_blob, my RasPi4 booted okay, and got many enabled channels:

$ iw phy0 channels

Band 1:

    * 2412 MHz [1]

      Maximum TX power: 13.0 dBm

      Channel widths: 20MHz

    * 2417 MHz [2]

      Maximum TX power: 13.0 dBm

      Channel widths: 20MHz

    * 2422 MHz [3]

      Maximum TX power: 13.0 dBm

      Channel widths: 20MHz

    * 2427 MHz [4]

      Maximum TX power: 13.0 dBm

      Channel widths: 20MHz

    * 2432 MHz [5]

      Maximum TX power: 13.0 dBm

      Channel widths: 20MHz

    * 2437 MHz [6]

      Maximum TX power: 13.0 dBm

      Channel widths: 20MHz

    * 2442 MHz [7]

      Maximum TX power: 13.0 dBm

      Channel widths: 20MHz

    * 2447 MHz [8]

      Maximum TX power: 13.0 dBm

      Channel widths: 20MHz

    * 2452 MHz [9]

      Maximum TX power: 13.0 dBm

      Channel widths: 20MHz

    * 2457 MHz [10]

      Maximum TX power: 13.0 dBm

      Channel widths: 20MHz

    * 2462 MHz [11]

      Maximum TX power: 13.0 dBm

      Channel widths: 20MHz

    * 2467 MHz [12]

      Maximum TX power: 13.0 dBm

      Channel widths: 20MHz

    * 2472 MHz [13]

      Maximum TX power: 13.0 dBm

      Channel widths: 20MHz

    * 2484 MHz [14] (disabled)

Band 2:

    * 5170 MHz [34] (disabled)

    * 5180 MHz [36]

      Maximum TX power: 20.0 dBm

      Channel widths: 20MHz HT40+ VHT80

    * 5190 MHz [38] (disabled)

    * 5200 MHz [40]

      Maximum TX power: 20.0 dBm

      Channel widths: 20MHz HT40- VHT80

    * 5210 MHz [42] (disabled)

    * 5220 MHz [44]

      Maximum TX power: 20.0 dBm

      Channel widths: 20MHz HT40+ VHT80

    * 5230 MHz [46] (disabled)

    * 5240 MHz [48]

      Maximum TX power: 20.0 dBm

      Channel widths: 20MHz HT40- VHT80

    * 5260 MHz [52] (disabled)

    * 5280 MHz [56] (disabled)

    * 5300 MHz [60] (disabled)

    * 5320 MHz [64] (disabled)

    * 5500 MHz [100] (disabled)

    * 5520 MHz [104] (disabled)

    * 5540 MHz [108] (disabled)

    * 5560 MHz [112] (disabled)

    * 5580 MHz [116] (disabled)

    * 5600 MHz [120] (disabled)

    * 5620 MHz [124] (disabled)

    * 5640 MHz [128] (disabled)

    * 5660 MHz [132] (disabled)

    * 5680 MHz [136] (disabled)

    * 5700 MHz [140] (disabled)

    * 5720 MHz [144] (disabled)

    * 5745 MHz [149]

      Maximum TX power: 20.0 dBm

      Channel widths: 20MHz HT40+ VHT80

    * 5765 MHz [153]

      Maximum TX power: 20.0 dBm

      Channel widths: 20MHz HT40- VHT80

    * 5785 MHz [157]

      Maximum TX power: 20.0 dBm

      Channel widths: 20MHz HT40+ VHT80

    * 5805 MHz [161]

      Maximum TX power: 20.0 dBm

      Channel widths: 20MHz HT40- VHT80

    * 5825 MHz [165]

      Maximum TX power: 20.0 dBm

      Channel widths: 20MHz

I will compare this list with recent Korean regulation.

0 Likes

The channel list above looks not matching with Korean regulation. Why should channels 52 ~ 144 be disabled? The only KR entry in the cyfmac43455-sdio.clm_blob is not KR/4?

0 Likes
lock attach
Attachments are accessible only for community members.

hello:

Have a try to see if attached wl tool can be used in Raspberri ,  then use below command to have a test after up of the board:

wl down

wl country KR/4

wl up

0 Likes

ZhengbaoZ_96

Both two binaries are executable on my RPi4, but looks not compatible with brcmfmac driver:

pi@raspi4b:~/Downloads $ ./wl down

./wl: wl driver adapter not found

pi@raspi4b:~/Downloads $ ./wl_fmac_rpi3 down

./wl_fmac_rpi3: wl driver adapter not found

0 Likes

Is Wifi on when doing wl act ?

0 Likes

and you need to  put yourself in root mode to  try the tool.

0 Likes

ZhengbaoZ_96

Oh I forgot to try it with root permission. Tested RPi4 uses Ethernet connection, and WiFi is just up and unassociated:

$ ifconfig wlan0

wlan0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500

        ether dc:a6:32:xx:yy:zz  txqueuelen 1000  (Ethernet)

        RX packets 0  bytes 0 (0.0 B)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 0  bytes 0 (0.0 B)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

$ iwconfig wlan0

wlan0    IEEE 802.11  ESSID:off/any

          Mode:Managed  Access Point: Not-Associated  Tx-Power=31 dBm

          Retry short limit:7  RTS thr:off  Fragment thr:off

          Power Management:on

$ iwlist wlan0 channel

wlan0    4 channels in total; available frequencies :

          Channel 149 : 5.745 GHz

          Channel 153 : 5.765 GHz

          Channel 157 : 5.785 GHz

          Channel 161 : 5.805 GHz

$ sudo ./wl -i wlan0 down

$ sudo ./wl -i wlan0 country

KR (KR/0) KOREA, REPUBLIC OF

$ sudo ./wl -i wlan0 country KR/4

$ sudo ./wl -i wlan0 up

$ iwlist wlan0 channel

wlan0    4 channels in total; available frequencies :

          Channel 149 : 5.745 GHz

          Channel 153 : 5.765 GHz

          Channel 157 : 5.785 GHz

          Channel 161 : 5.805 GHz

$ sudo ./wl -i wlan0 country

KR (KR/4) KOREA, REPUBLIC OF

The utility looks like working, but the number of available channels is not changed.

Is there something I missed?

0 Likes

Hello:

You can change to KR/0, KR/1, KR/2, KR/3 to find if one rev can match your request .

0 Likes

Tried quick test for all 10 revisions with loop:

$ for REV in 0 1 2 3 4 5 6 7 8 9 ; do

> sudo ./wl -i wlan0 down

> sudo ./wl -i wlan0 country KR/${REV}

> sudo ./wl -i wlan0 country

> sudo ./wl -i wlan0 up

> iwlist wlan0 channel

> done

KR (KR/0) KOREA, REPUBLIC OF

wlan0     4 channels in total; available frequencies :

          Channel 149 : 5.745 GHz

          Channel 153 : 5.765 GHz

          Channel 157 : 5.785 GHz

          Channel 161 : 5.805 GHz

KR (KR/1) KOREA, REPUBLIC OF

wlan0     4 channels in total; available frequencies :

          Channel 149 : 5.745 GHz

          Channel 153 : 5.765 GHz

          Channel 157 : 5.785 GHz

          Channel 161 : 5.805 GHz

KR (KR/2) KOREA, REPUBLIC OF

wlan0     4 channels in total; available frequencies :

          Channel 149 : 5.745 GHz

          Channel 153 : 5.765 GHz

          Channel 157 : 5.785 GHz

          Channel 161 : 5.805 GHz

KR (KR/3) KOREA, REPUBLIC OF

wlan0     4 channels in total; available frequencies :

          Channel 149 : 5.745 GHz

          Channel 153 : 5.765 GHz

          Channel 157 : 5.785 GHz

          Channel 161 : 5.805 GHz

KR (KR/4) KOREA, REPUBLIC OF

wlan0     4 channels in total; available frequencies :

          Channel 149 : 5.745 GHz

          Channel 153 : 5.765 GHz

          Channel 157 : 5.785 GHz

          Channel 161 : 5.805 GHz

KR (KR/5) KOREA, REPUBLIC OF

wlan0     4 channels in total; available frequencies :

          Channel 149 : 5.745 GHz

          Channel 153 : 5.765 GHz

          Channel 157 : 5.785 GHz

          Channel 161 : 5.805 GHz

KR (KR/6) KOREA, REPUBLIC OF

wlan0     4 channels in total; available frequencies :

          Channel 149 : 5.745 GHz

          Channel 153 : 5.765 GHz

          Channel 157 : 5.785 GHz

          Channel 161 : 5.805 GHz

KR (KR/7) KOREA, REPUBLIC OF

wlan0     4 channels in total; available frequencies :

          Channel 149 : 5.745 GHz

          Channel 153 : 5.765 GHz

          Channel 157 : 5.785 GHz

          Channel 161 : 5.805 GHz

KR (KR/8) KOREA, REPUBLIC OF

wlan0     4 channels in total; available frequencies :

          Channel 149 : 5.745 GHz

          Channel 153 : 5.765 GHz

          Channel 157 : 5.785 GHz

          Channel 161 : 5.805 GHz

KR (KR/9) KOREA, REPUBLIC OF

wlan0     4 channels in total; available frequencies :

          Channel 149 : 5.745 GHz

          Channel 153 : 5.765 GHz

          Channel 157 : 5.785 GHz

          Channel 161 : 5.805 GHz

0 Likes

ok, let's go back to KR/4,  and try wl channels.

after that , I think you need to restart the wifi manager service , then it should get a correct channel list.

In my test it can be updated by disable wifi and enable wifi .

0 Likes

ZhengbaoZ_96

How did you disable/enable the WiFi? I don't know how to do it from RPi4.. ifconfig down/up didn't work. No such service named wifi manager.

0 Likes

I think you need to restart your wpa_supplicant for get the channel configuration again.

like:

wpa_supplicant -Dnl80211 -iwlan0 -c/etc/wpa_supplicant.conf

You need to find the correct position in Raspberri.

ZhengbaoZ_96

Started with clean rebooted state.

1. initial state

$ sudo ./wl -i wlan0 country

KR (KR/0) KOREA, REPUBLIC OF

$ sudo ./wl -i wlan0 channels

149 153 157 161

$ iwlist wlan0 channel

wlan0     4 channels in total; available frequencies :

          Channel 149 : 5.745 GHz

          Channel 153 : 5.765 GHz

          Channel 157 : 5.785 GHz

          Channel 161 : 5.805 GHz

2. switch to KR/4

$ sudo ./wl -i wlan0 down

$ sudo ./wl -i wlan0 country KR/4

$ sudo ./wl -i wlan0 up

3. restart wpa_supplicant

$ sudo wpa_cli -i wlan0 terminate

OK

$ sudo wpa_supplicant -B -Dnl80211,wext -c/etc/wpa_supplicant/wpa_supplicant.conf -iwlan0

Successfully initialized wpa_supplicant

P2P: No social channels supported by the driver - do not enable P2P

nl80211: kernel reports: Attribute failed policy validation

Failed to create interface p2p-dev-p2p-dev-wlan0: -22 (Invalid argument)

nl80211: Failed to create a P2P Device interface p2p-dev-p2p-dev-wlan0

P2P: Failed to enable P2P Device interface

4. changed(?) state

$ sudo ./wl -i wlan0 country

KR (KR/4) KOREA, REPUBLIC OF

$ sudo ./wl -i wlan0 channels

1 2 3 4 5 6 7 8 9 10 11 12 13 34 36 38 40 42 44 46 48 52 56 60 64 100 104 108 112 116 120 124 149 153 157 161

$ iwlist wlan0 channel

wlan0     4 channels in total; available frequencies :

          Channel 149 : 5.745 GHz

          Channel 153 : 5.765 GHz

          Channel 157 : 5.785 GHz

          Channel 161 : 5.805 GHz

Channel-list extracted by wl utility is affected by KR/4 setting, but actual available channel list is unchanged.

0 Likes

Hello:

try to install a network manger in Raspberri system,  what I am test is network-manager can update the channel info correctly to "iwlist wlan0 channel"

0 Likes

ZhengbaoZ_96

Installed network-manager, but it has problem in managing wlan0:

$ sudo service network-manager status

● NetworkManager.service - Network Manager

   Loaded: loaded (/lib/systemd/system/NetworkManager.service; enabled; vendor preset: enabled)

   Active: active (running) since Tue 2020-08-25 14:36:02 KST; 5h 4min ago

     Docs: man:NetworkManager(8)

Main PID: 869 (NetworkManager)

    Tasks: 4 (limit: 4915)

   CGroup: /system.slice/NetworkManager.service

           ├─ 869 /usr/sbin/NetworkManager --no-daemon

           └─1107 /sbin/dhclient -d -q -sf /usr/lib/NetworkManager/nm-dhcp-helper -pf /run/dhclient-eth0.pid -lf /var/lib/NetworkManager/dhclient-5687b096-652a-33ce-9e07-ec2a3420f62b-eth0.lease -cf /var/lib/NetworkManager/dhclient-eth0.conf eth0

Aug 25 14:36:48 raspi4b NetworkManager[869]: <info>  [1598333808.7705] device (vetheaddff6): carrier: link connected

Aug 25 14:36:48 raspi4b NetworkManager[869]: <info>  [1598333808.7724] device (veth14deb53): carrier: link connected

Aug 25 14:36:55 raspi4b NetworkManager[869]: <warn>  [1598333815.0175] device (wlan0): re-acquiring supplicant interface (#4).

Aug 25 14:36:55 raspi4b NetworkManager[869]: <error> [1598333815.3082] sup-iface[0x10525d8,wlan0]: error adding interface: wpa_supplicant couldn't grab this interface.

Aug 25 14:36:55 raspi4b NetworkManager[869]: <info>  [1598333815.3084] device (wlan0): supplicant interface state: starting -> down

Aug 25 14:37:02 raspi4b NetworkManager[869]: <info>  [1598333822.0190] device (veth14deb53): carrier: link connected

Aug 25 14:37:06 raspi4b NetworkManager[869]: <warn>  [1598333826.0194] device (wlan0): re-acquiring supplicant interface (#5).

Aug 25 14:37:06 raspi4b NetworkManager[869]: <error> [1598333826.3375] sup-iface[0x1052418,wlan0]: error adding interface: wpa_supplicant couldn't grab this interface.

Aug 25 14:37:06 raspi4b NetworkManager[869]: <info>  [1598333826.3377] device (wlan0): supplicant interface state: starting -> down

Aug 25 14:37:06 raspi4b NetworkManager[869]: <info>  [1598333826.3378] device (wlan0): supplicant interface keeps failing, giving up

0 Likes

Hello:

   Is the system running a networkd which will conflict with network-manager ?

0 Likes

ZhengbaoZ_96

There is no process named networkd:

$ ps aux | grep -i net

root        29  0.0  0.0      0     0 ?        I<   Aug25   0:00 [netns]

root       869  0.0  0.1  65880 13456 ?        Ssl  Aug25   0:03 /usr/sbin/NetworkManager --no-daemon

root      1107  0.0  0.0   7912  5012 ?        S    Aug25   0:00 /sbin/dhclient -d -q -sf /usr/lib/NetworkManager/nm-dhcp-helper -pf /run/dhclient-eth0.pid -lf /var/lib/NetworkManager/dhclient-5687b096-652a-33ce-9e07-ec2a3420f62b-eth0.lease -cf /var/lib/NetworkManager/dhclient-eth0.conf eth0

pi       24115  0.0  0.0   7348   576 pts/0    S+   16:01   0:00 grep --color=auto -i net

0 Likes

ZhengbaoZ_96

Unfortunately, it does not help. However, I think we're going too far.. What I really want to find is how to fix the Wi-Fi issue with KR country code, and hopefully in a way that may be accepted by Raspberry Pi OS.

0 Likes

Hello:

    if we can compile the fmac driver for raspberri , it can be modified in the code

static s32 brcmf_translate_country_code(struct brcmf_pub *drvr, char alpha2[2],

                    struct brcmf_fil_country_le *ccreq)

ccreq->rev = cpu_to_le32(country_codes->table[found_index].rev);  // if you use KR, you can change the rev value to the one you want.

    memcpy(ccreq->ccode, country_codes->table[found_index].cc,

          BRCMF_COUNTRY_BUF_SZ);

    ccreq->country_abbrev[0] = alpha2[0];

    ccreq->country_abbrev[1] = alpha2[1];

    ccreq->country_abbrev[2] = 0;

0 Likes

ZhengbaoZ_96

Yes, it can be an option for me, but not for every KR users.

I think the most simple and appropriate solution is to have a clm_blob that has only single well-coded entry for a country code, just like the latest Cypress Linux WiFi Driver Release. (Actually not that well-coded, because it enables only channels 1 2 3 4 5 6 7 8 9 10 11 12 13 36 40 44 48 149 153 157 161 165 with KR country code. This should be corrected too.)

Once I suggested the maintainer(not sure) to update the clm_blob up to date, but he disagreed because the term "Per Product CLM" looks like a dedicated/tuned to a specific product, not to Raspberry Pi.

firmware-brcm80211: BCM43455: most channels disabled for country KR · Issue #12 · RPi-Distro/firmwar...

Can you confirm whether the "Per Product CLM" has tuning parameter to a specific product or not?

0 Likes

Yes, Per Product CLM should have changes compared to the normal released one.

You know sometimes the regulatory will have dynamic modification on channel or power .  So every real product will request to modify the CLM based on the certification lab request . If you are using the board for lab needs, it is ok with the default released CLM .

0 Likes

ZhengbaoZ_96

Okay.. then.. what's the process to get the new clm_blob for Raspberry Pi? What can I do to get a working clm_blob with KR country code?

0 Likes

Currently, if you can modify the code , it is a better way.   it is not often to change clm in a MP project .

0 Likes