Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

brcmfmac firmware #46

Closed
jamstec0 opened this issue Jul 16, 2024 · 20 comments
Closed

brcmfmac firmware #46

jamstec0 opened this issue Jul 16, 2024 · 20 comments

Comments

@jamstec0
Copy link

I am using linux-aarch64-rockchip-bsp6.1-joshua-git kernel on orange pi 5 pro. ap6256 does not seem to work with brcmfmac.

The brcmfmac driver is loaded.

Module                  Size  Used by
btsdio                 16384  0
pwm_fan                20480  0
brcmfmac              294912  0
brcmutil               20480  1 brcmfmac
yt6801                135168  0
panthor               110592  0
drm_gpuvm              36864  1 panthor
drm_exec               16384  2 drm_gpuvm,panthor
joydev                 24576  0
drm_shmem_helper       24576  1 panthor
input_leds             16384  0
gpu_sched              45056  1 panthor
pwm_bl                 16384  0
uio_pdrv_genirq        16384  0
uio                    24576  1 uio_pdrv_genirq
sch_fq_codel           20480  3
fuse                  131072  1
dm_mod                139264  0
nfnetlink              24576  1
ip_tables              32768  0
ipv6                  528384  32

However, I am getting errors due to lack of firmware.

kernel: brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43456-sdio for chip BCM4345/9
kernel: usbcore: registered new interface driver brcmfmac
kernel: brcmfmac mmc2:0001:1: Direct firmware load for brcm/brcmfmac43456-sdio.rockchip,rk3588s-orangepi-5-pro.bin failed with error -2
kernel: brcmfmac mmc2:0001:1: Direct firmware load for brcm/brcmfmac43456-sdio.clm_blob failed with error -2
kernel: brcmfmac: brcmf_c_process_clm_blob: no clm_blob available (err=-2), device may have limited channels available
kernel: brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4345/9 wl0: Feb 11 2020 11:54:51 version 7.45.96.61 (be7af2d@shgit) (r745790) FWID 01-a41d86bd es7.c5.n4.a3
NetworkManager[418]: <info>  [1721085967.2798] rfkill1: found Wi-Fi radio killswitch (at /sys/devices/platform/fe2d0000.mmc/mmc_host/mmc2/mmc2:0001/mmc2:0001:1/ieee80211/phy0/rfkill1) (driver brcmfmac)
kernel: ieee80211 phy0: brcmf_c_set_cur_etheraddr: Setting cur_etheraddr failed, -52

Do you know where this firmware file is located?
Or do I need to create it?

@7Ji
Copy link
Owner

7Ji commented Jul 16, 2024

7Ji/linux-firmware-orangepi-git

But it should come pre-installed?

@jamstec0
Copy link
Author

jamstec0 commented Jul 16, 2024

7Ji/linux-firmware-orangepi-git is installed. I tried reinstalling it, but there was no change.
I found brcmfmac43456-sdio.bin and brcmfmac43456-sdio.txt in /lib/firmware/brcm.

This problem does not seem to occur when using orangepi-xunlong's bcmdhd.ko. The preinstalled bcmdhd.ko does not work.

@7Ji
Copy link
Owner

7Ji commented Jul 16, 2024

This problem does not seem to occur when using orangepi-xunlong's bcmdhd.ko. The preinstalled bcmdhd.ko does not work.

What do you mean by "using orangepi-xunlong's bcmdhd.ko"? How did you use a kernel module built for a different kernel? The kernel shouldn't even accept drivers not built against it.

But that reminds me.. The current firmware package "linux-firmware-orangepi-git" is using orangepi's firmware tree as upstream and only packs those not existing in "linux-firmware". It's totally legitimate that Joshua uses a different version of the bcmdhd driver in their kernel their that relies on a newer firmware.

> pacman -Qo /lib/firmware/brcm/brcmfmac43456-sdio.bin
/usr/lib/firmware/brcm/brcmfmac43456-sdio.bin is owned by linux-firmware-orangepi-git 20240124.76ead17.20240703.e94a2a3b-1

@7Ji
Copy link
Owner

7Ji commented Jul 17, 2024

Try linux-firmware-joshua-git instead of linux-firmware-orangepi-git

@jamstec0
Copy link
Author

What do you mean by "using orangepi-xunlong's bcmdhd.ko"? How did you use a kernel module built for a different kernel?

I think it was consistent because it was when I was using the linux-aarch64-rockchip-rk3588-bsp5.10-orangepi-git kernel that did it, which directly tracks the orangepi kernel...

I replaced the firmware with linux-firmware-joshua-git, but now it seems that the wifi device is not recognized anymore (it does not show up in ip link)

kernel: brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43456-sdio for chip BCM4345/9
kernel: usbcore: registered new interface driver brcmfmac
kernel: ieee80211 phy0: brcmf_c_preinit_dcmds: Default MAC is used, replacing with random MAC to avoid conflicts
kernel: ieee80211 phy0: brcmf_c_set_cur_etheraddr: Setting cur_etheraddr failed, -52
kernel: ieee80211 phy0: brcmf_bus_started: failed: -52
kernel: ieee80211 phy0: brcmf_attach: dongle is not responding: err=-52
kernel: brcmfmac: brcmf_sdio_firmware_callback: brcmf_attach failed

If linux-firmware-joshua-git and linux-aarch64-rockchip-bsp6.1-joshua-git both upstream https://github.com/Joshua-Riek/ and If you have not made any changes, I don't think there should be any consistency errors.

Perhaps https://github.com/Joshua-Riek/ubuntu-rockchip is using this kernel and firmware, so I'll compare it to this.

@Joshua-Riek
Copy link

This is a driver issue, ive been trying to work on a dkms package as a workaround, but this driver is terrible. I'm close to fully disabling the WiFi and Bluetooth device tree nodes as this is ridiculous.

Joshua-Riek/ubuntu-rockchip#841 (comment)

@jamstec0
Copy link
Author

jamstec0 commented Jul 19, 2024

But it's mentioned that brcmfmac works on other devices like Rock Pi 4b and Radxa Zero 2, which also utilize the ap6256 chip. What differentiates these devices from the Orange Pi 5 Pro in terms of brcmfmac compatibility?

@Joshua-Riek
Copy link

I suspect Orange Pi is using a different hardware variant that is not compatible. Someone could also try backporting brcmfmac.

@jamstec0
Copy link
Author

The linux-aarch64-rockchip-bsp6.1-joshua-git kernel uses the source from https://github.com/Joshua-Riek/linux-rockchip along with a few patches upstream. Therefore, it is likely using the same source as the ubuntu-rockchip kernel.

However, in the case of ubuntu-rockchip, the drivers are loaded correctly on the first boot, while this kernel seems to encounter errors even on the first boot.

Is this due to differences in the kernel build configuration, or are there other changes specific to the ubuntu-rockchip kernel that are not included in this one?
Also, why does ubuntu-rockchip succeed in loading the drivers only on the first boot?

@7Ji
Copy link
Owner

7Ji commented Jul 24, 2024

However, in the case of ubuntu-rockchip, the drivers are loaded correctly on the first boot

Also, why does ubuntu-rockchip succeed in loading the drivers only on the first boot?

As far as how I wrote the image packer, there's no such concept of "first boot" for my ALARM images, as there's no such concept in either upstream ALARM or Arch, and I don't want to introduce non-mainline logic. So your first boot on the images here are conceptually the same as all later boots on them.

My doubt is that the initcpio in ubuntu-rockchip is using a similar config to generic Ubuntu and it would load as many drivers as possible, mitigating some key drivers not built-in for the core peripherals. For Arch mkinitcpio with "fallback" config pretty much does that similarly, but I'm using booster and it tries not to pre-load too many drivers. Here it's very likely that bcmdhd-sdio being a badly modified -pcie driver does not have a correct sdio dependency and sdio bus is not even initialized.

@jamstec0
Copy link
Author

After some investigation, it seems that brcmfmac is loaded correctly on the initial boot, indicating that the driver itself is functioning properly.

The issue of the brcmfmac driver error upon reboot seems to be caused by the system not unbinding the Wi-Fi SDIO device before rebooting.

Therefore, I believe that the reboot logs mentioned the use of the default MAC address because of this.

kernel: ieee80211 phy0: brcmf_c_preinit_dcmds: Default MAC is used, replacing with random MAC to avoid conflicts
kernel: ieee80211 phy0: brcmf_bus_started: failed: -52
kernel: ieee80211 phy0: brcmf_attach: dongle is not responding: err=-52
kernel: brcmfmac: brcmf_sdio_firmware_callback: brcmf_attach failed

By executing echo 'mmc2:0001:1' | sudo tee /sys/bus/sdio/drivers/brcmfmac/unbind in a service before rebooting, the driver is now loaded correctly even after reboots.

Additionally, Bluetooth was made functional by using brcm_patchram_plus, which is used in ubuntu-rockchip.

I have one final query. How can I integrate wiringOP into Arch Linux? I have attempted to install it directly from orangepi-xunlong/wiringOP, but the installation process encountered errors.

Thank you for your assistance.

@Joshua-Riek
Copy link

@jamstec0 I have WiringOP packaged for my Ubuntu Rockchip project and can help with compiling / installing if needed. Are you able to provide the exact steps you took to produce the error?

@jamstec0
Copy link
Author

jamstec0 commented Jul 25, 2024

@jamstec0 I have WiringOP packaged for my Ubuntu Rockchip project and can help with compiling / installing if needed. Are you able to provide the exact steps you took to produce the error?

In order to build wiringPi for the rootfs, I ran these commands:

sudo pacman -S base-devel (equivalent to build-essential)

git clone https://github.com/orangepi-xunlong/wiringOP.git

cd wiringOP

./build

However, upon executing these commands, I encountered the following errors:

fgrep: warning: fgrep is obsolescent; using grep -F
wiringPi.c: In function ‘orangepi_pwm_set_act’:
wiringPi.c:3479:37: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare]
 3479 |                         if (act_cys >= pwm_period || act_cys < 0)
      |                                     ^~
wiringPi.c: In function ‘wiringPiNewNode’:
wiringPi.c:3656:55: warning: ‘calloc’ sizes specified with ‘sizeof’ in the earlier argument and not in the later argument [-Wcalloc-transposed-args]
 3656 |   node = (struct wiringPiNodeStruct *)calloc (sizeof (struct wiringPiNodeStruct), 1) ;  // calloc zeros
      |                                                       ^~~~~~
wiringPi.c:3656:55: note: earlier argument should specify number of elements, later size of each element
wiringPi.c: In function ‘orangepi_get_gpio_mode’:
wiringPi.c:5951:59: warning: comparison of unsigned expression in ‘>= 0’ is always true [-Wtype-limits]
 5951 |                                                 if (index >= 0 && index <= 11)
      |                                                           ^~
wiringPi.c:5971:59: warning: comparison of unsigned expression in ‘>= 0’ is always true [-Wtype-limits]
 5971 |                                                 if (index >= 0 && index <= 1)
      |                                                           ^~
wiringPi.c:5997:59: warning: comparison of unsigned expression in ‘>= 0’ is always true [-Wtype-limits]
 5997 |                                                 if (index >= 0 && index <= 7)
      |                                                           ^~
wiringPi.c:6005:59: warning: comparison of unsigned expression in ‘>= 0’ is always true [-Wtype-limits]
 6005 |                                                 if (index >= 0 && index <= 1)
      |                                                           ^~
wiringPi.c:6012:59: warning: comparison of unsigned expression in ‘>= 0’ is always true [-Wtype-limits]
 6012 |                                                 if (index >= 0 && index <= 1)
      |                                                           ^~
wiringPi.c:6020:59: warning: comparison of unsigned expression in ‘>= 0’ is always true [-Wtype-limits]
 6020 |                                                 if (index >= 0 && index <= 19)
      |                                                           ^~
In file included from wiringPi.c:78:
wiringPi.h:597:33: warning: unsigned conversion from ‘long int’ to ‘unsigned int’ changes value from ‘17181179904’ to ‘1310720’ [-Woverflow]
  597 | #define A310B_IOMUX_BASE_GROUP7 0x400140000
      |                                 ^~~~~~~~~~~
wiringPi.c:6029:73: note: in expansion of macro ‘A310B_IOMUX_BASE_GROUP7’
 6029 |                                                         iomux_phyaddr = A310B_IOMUX_BASE_GROUP7;
      |                                                                         ^~~~~~~~~~~~~~~~~~~~~~~
wiringPi.c: In function ‘orangepi_set_gpio_mode’:
wiringPi.c:7082:59: warning: comparison of unsigned expression in ‘>= 0’ is always true [-Wtype-limits]
 7082 |                                                 if (index >= 0 && index <= 11)
      |                                                           ^~
wiringPi.c:7102:59: warning: comparison of unsigned expression in ‘>= 0’ is always true [-Wtype-limits]
 7102 |                                                 if (index >= 0 && index <= 1)
      |                                                           ^~
wiringPi.c:7114:60: warning: comparison of unsigned expression in ‘>= 0’ is always true [-Wtype-limits]
 7114 |                                                 if( (index >= 0 && index <=1) && PWM_OUTPUT == mode )
      |                                                            ^~
wiringPi.c:7132:59: warning: comparison of unsigned expression in ‘>= 0’ is always true [-Wtype-limits]
 7132 |                                                 if (index >= 0 && index <= 7)
      |                                                           ^~
wiringPi.c:7141:59: warning: comparison of unsigned expression in ‘>= 0’ is always true [-Wtype-limits]
 7141 |                                                 if (index >= 0 && index <= 1)
      |                                                           ^~
wiringPi.c:7148:59: warning: comparison of unsigned expression in ‘>= 0’ is always true [-Wtype-limits]
 7148 |                                                 if (index >= 0 && index <= 1)
      |                                                           ^~
wiringPi.c:7157:59: warning: comparison of unsigned expression in ‘>= 0’ is always true [-Wtype-limits]
 7157 |                                                 if (index >= 0 && index <= 19)
      |                                                           ^~
wiringPi.h:597:33: warning: unsigned conversion from ‘long int’ to ‘unsigned int’ changes value from ‘17181179904’ to ‘1310720’ [-Woverflow]
  597 | #define A310B_IOMUX_BASE_GROUP7 0x400140000
      |                                 ^~~~~~~~~~~
wiringPi.c:7167:73: note: in expansion of macro ‘A310B_IOMUX_BASE_GROUP7’
 7167 |                                                         iomux_phyaddr = A310B_IOMUX_BASE_GROUP7;
      |                                                                         ^~~~~~~~~~~~~~~~~~~~~~~
wiringPi.c:7212:49: error: ‘return’ with no value, in function returning non-void [-Wreturn-mismatch]
 7212 |                                                 return;
      |                                                 ^~~~~~
wiringPi.c:6362:5: note: declared here
 6362 | int orangepi_set_gpio_mode(int pin, int mode)
      |     ^~~~~~~~~~~~~~~~~~~~~~
make: *** [Makefile:85: wiringPi.o] Error 1

These errors did not occur in previous builds. There may be a missing package.

@Joshua-Riek
Copy link

A quick hack would be adding -Wno-error=return-mismatch to CFLAGS. However, this is a hack and could cause problems.

I can't look at the source code right now, but the error is triggered due to a return with no value, a safe bet would be to return 0 on wiringPi.c:7212. Again, this may be incorrect as I can't look at the code right now, but it should get you passed the compile error.

@7Ji
Copy link
Owner

7Ji commented Jul 26, 2024

That would need to be fixed to a exit(1) instead of plain returning, see

orangepi-xunlong/wiringOP#115

@jamstec0
Copy link
Author

I see there was such a change. The build went well, and I think the GPIOs are working just by setting BOARD=orangepi5pro in /etc/orangepi-release.
Looking at ubuntu-rockchip, I found a line that says SYSTEM_VERSION=Opios-arch-aarch64-gnome-opi5pro-24.05-linux5.10.160-Devolopment-board. What is the purpose of SYSTEM_VERSION?

Anyway, I think everything is working now. Since the Arch Linux kernel for Orange Pi originally had a defect where the NPU didn't work, this is all thanks to both of you. Thank you very much.
I wanted to customize the u-boot settings and looked for the u-boot for Orange Pi 5 Pro, but I couldn't find one. Do you know anything about it?

@Joshua-Riek
Copy link

SYSTEM_VERSION=Opios-arch-aarch64-gnome-opi5pro-24.05-linux5.10.160-Devolopment-board is from an OS image built by Orange Pi, not Ubuntu Rockchip.

@jamstec0
Copy link
Author

jamstec0 commented Aug 2, 2024

It seems that the previous issue might have been resolved, but after several shutdowns, I am unable to connect to Wi-Fi. Moreover, I cannot determine the cause of this error at all.

Previously, I had experienced sudden connectivity issues like this, but reinstalling the OS resolved them. The brcmfmac driver seems to be loading correctly, and the hardware itself appears to be functional as it worked with the Ubuntu-rockchip image.

wpa_cli:

<3>CTRL-EVENT-ASSOC-REJECT bssid=80:22:a7:b8:01:d5 status_code=16
<3>BSSID 80:22:27:18:01:d5 ignore list count incremented to 21, ignoring for 1800 seconds <3>CTRL-EVENT-SSID-TEMP-DISABLED id=0 ssid="xxxxx-xxxxxx-x" auth_failures 6 duration=111 reason CONN FAILED
<3>CTRL-EVENT-SCAN-STARTED
<3>CTRL-EVENT-SCAN-RESULTS
<3>WPS-AP-AVAILABLE
<3>CTRL-EVENT-SCAN-STARTED
<3>CTRL-EVENT-SCAN-RESULTS
<3>WPS-AP-AVAILABLE
<3>CTRL-EVENT-SSID-REENABLED id=0 ssid="atern-192161-a"
<3>BSSID 80:22:a7:b8:01:45 ignore list count incremented to 22, ignoring for 1800 seconds
<3>Trying to associate with SSID 'atern-192161-a'
<3>Associated with 80:22:a7:b8:01:45
<3>CTRL-EVENT-SUBNET-STATUS-UPDATE status=0
3>Authentication with 80:22:a7:b8:01:45 timed out. <
<3>BSSID 80:22:a7:18:01:45 ignore list count Incremented to 23, ignaring for 1800 seconds
<3>CTRL-EUENT-DISCONNECTED bssid=80:22:47:18:01:45 reason-3 locally_generated-1
<3>BSSID 00:22:a7:b8:01:45 ignore list count incremented to 24, ignoring for 1800 seconds <3>CTRL-EVENT-SSID-TEMP-DISABLED id=0 ssid="xxxxx-xxxxxx-x" auth_failures-7 duration 147 reason-CONM FAILED
<3>CTRL-EVENT-DSCP-POLICY clear_all
<3>CTRL-EVENT-REGDOM-CHANGE init CORE type WORLD
<3>CTRL-EVENT-SCAN-STARTED
<3>CTRL-EUENT-SCAN-RESULTS
<3>WPS-AP-AVAILABLE

nmcli:

Aug 02 07:55:45 arch NetworkManager[422]: <info>  [1722585345.1982] Config: added 'ssid' value 'xxxxx'
Aug 02 07:55:45 arch NetworkManager[422]: <info>  [1722585345.1983] Config: added 'scan_ssid' value '1'
Aug 02 07:55:45 arch NetworkManager[422]: <info>  [1722585345.1983] Config: added 'bgscan' value 'simple:30:-65:300'
Aug 02 07:55:45 arch NetworkManager[422]: <info>  [1722585345.1983] Config: added 'key_mgmt' value 'WPA-PSK WPA-PSK-SHA256 FT-PSK'
Aug 02 07:55:45 arch NetworkManager[422]: <info>  [1722585345.1983] Config: added 'auth_alg' value 'OPEN'
Aug 02 07:55:45 arch NetworkManager[422]: <info>  [1722585345.1983] Config: added 'psk' value '<hidden>'
Aug 02 07:55:46 arch NetworkManager[422]: <info>  [1722585346.2279] device (wlan0): supplicant interface state: disconnected -> scanning
Aug 02 07:55:46 arch NetworkManager[422]: <info>  [1722585346.2280] device (p2p-dev-wlan0): supplicant management interface state: disconnected -> scanning
Aug 02 07:55:48 arch NetworkManager[422]: <info>  [1722585348.9584] device (wlan0): supplicant interface state: scanning -> associating
Aug 02 07:55:48 arch NetworkManager[422]: <info>  [1722585348.9584] device (p2p-dev-wlan0): supplicant management interface state: scanning -> associating
Aug 02 07:55:51 arch NetworkManager[422]: <info>  [1722585351.7980] device (wlan0): supplicant interface state: associating -> associated
Aug 02 07:55:51 arch NetworkManager[422]: <info>  [1722585351.7981] device (p2p-dev-wlan0): supplicant management interface state: associating -> associated
Aug 02 07:56:01 arch NetworkManager[422]: <info>  [1722585361.8011] device (wlan0): supplicant interface state: associated -> disconnected
Aug 02 07:56:01 arch NetworkManager[422]: <info>  [1722585361.8011] device (p2p-dev-wlan0): supplicant management interface state: associated -> disconnected
Aug 02 07:56:01 arch NetworkManager[422]: <info>  [1722585361.9041] device (wlan0): supplicant interface state: disconnected -> scanning
Aug 02 07:56:01 arch NetworkManager[422]: <info>  [1722585361.9041] device (p2p-dev-wlan0): supplicant management interface state: disconnected -> scanning
Aug 02 07:56:04 arch NetworkManager[422]: <info>  [1722585364.5893] device (wlan0): supplicant interface state: scanning -> associating
Aug 02 07:56:04 arch NetworkManager[422]: <infoa>  [1722585364.5893] device (p2p-dev-wlan0): supplicant management interface state: scanning -> associating
Aug 02 07:56:07 arch NetworkManager[422]: <info>  [1722585367.4217] device (wlan0): supplicant interface state: associating -> associated
Aug 02 07:56:07 arch NetworkManager[422]: <info>  [1722585367.4217] device (p2p-dev-wlan0): supplicant management interface state: associating -> associated
Aug 02 07:56:10 arch NetworkManager[422]: <warn>  [1722585370.2481] device (wlan0): Activation: (wifi) association took too long
Aug 02 07:56:10 arch NetworkManager[422]: <info>  [1722585370.2482] device (wlan0): state change: config -> need-auth (reason 'none', sys-iface-state: 'managed')
Aug 02 07:56:10 arch NetworkManager[422]: <info>  [1722585370.2484] sup-iface[cd5e46ad079bf445,0,wlan0]: wps: type pbc start...
Aug 02 07:56:10 arch NetworkManager[422]: <warn>  [1722585370.2487] device (wlan0): Activation: (wifi) asking for new secrets
Aug 02 07:56:10 arch NetworkManager[422]: <info>  [1722585370.2495] device (wlan0): state change: need-auth -> prepare (reason 'none', sys-iface-state: 'managed')
Aug 02 07:56:10 arch NetworkManager[422]: <info>  [1722585370.2498] device (wlan0): state change: prepare -> config (reason 'none', sys-iface-state: 'managed')
Aug 02 07:56:10 arch NetworkManager[422]: <info>  [1722585370.2501] device (wlan0): Activation: (wifi) connection 'xxxxx' has security, and secrets exist.  No new secrets needed.
Aug 02 07:56:10 arch NetworkManager[422]: <info>  [1722585370.2501] Config: added 'ssid' value 'xxxxx'
Aug 02 07:56:10 arch NetworkManager[422]: <info>  [1722585370.2501] Config: added 'scan_ssid' value '1'
Aug 02 07:56:10 arch NetworkManager[422]: <info>  [1722585370.2502] Config: added 'bgscan' value 'simple:30:-65:300'
Aug 02 07:56:10 arch NetworkManager[422]: <info>  [1722585370.2502] Config: added 'key_mgmt' value 'WPA-PSK WPA-PSK-SHA256 FT-PSK'
Aug 02 07:56:10 arch NetworkManager[422]: <info>  [1722585370.2502] Config: added 'auth_alg' value 'OPEN'
Aug 02 07:56:10 arch NetworkManager[422]: <info>  [1722585370.2502] Config: added 'psk' value '<hidden>'
Aug 02 07:56:10 arch NetworkManager[422]: <info>  [1722585370.2580] device (wlan0): supplicant interface state: associated -> disconnected
Aug 02 07:56:10 arch NetworkManager[422]: <info>  [1722585370.2581] device (p2p-dev-wlan0): supplicant management interface state: associated -> disconnected
Aug 02 07:56:10 arch NetworkManager[422]: <info>  [1722585370.2712] device (wlan0): supplicant interface state: disconnected -> scanning
Aug 02 07:56:10 arch NetworkManager[422]: <info>  [1722585370.2712] device (p2p-dev-wlan0): supplicant management interface state: disconnected -> scanning
Aug 02 07:56:12 arch NetworkManager[422]: <info>  [1722585372.9859] device (wlan0): supplicant interface state: scanning -> associating
Aug 02 07:56:12 arch NetworkManager[422]: <info>  [1722585372.9859] device (p2p-dev-wlan0): supplicant management interface state: scanning -> associating
Aug 02 07:56:15 arch NetworkManager[422]: <info>  [1722585375.8175] device (wlan0): supplicant interface state: associating -> associated
Aug 02 07:56:15 arch NetworkManager[422]: <info>  [1722585375.8176] device (p2p-dev-wlan0): supplicant management interface state: associating -> associated

Additionally, when installing NetworkManager, the following error occurred:
ieee80211 phy0: brcmf_c_set_cur_etheraddr: Setting cur_etheraddr failed, -52
A point of concern is that even when rebooting without unbinding the SDIO device, the message kernel: ieee80211 phy0: brcmf_c_preinit_dcmds: Default MAC is used, replacing with random MAC to avoid conflicts no longer appears. This might indicate that the issue is related to something other than the MAC address. I have checked for other errors but have not found any particular issues. There might be some missing messages.
dmesg.log

@jamstec0 jamstec0 reopened this Aug 2, 2024
@jamstec0
Copy link
Author

jamstec0 commented Aug 3, 2024

I tested NetworkManager on a newly installed Arch Linux, but the same ieee80211 phy0: brcmf_c_set_cur_etheraddr: Setting cur_etheraddr failed, -52 error still occurs. Isn't this a side effect of performing unbind? Are you aware of any such cases?

@7Ji
Copy link
Owner

7Ji commented Aug 6, 2024

Please open another issue and attach a log with kernel cmdline argument ignore_loglevel.

Moreover, open at https://github.com/7Ji-PKGBUILDs instead of here, if this problem only affects linux-aarch64-rockchip-bsp5.10-joshua-git but not opi's vendor kernel.

@7Ji 7Ji closed this as completed Aug 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants