The brcmfmac driver needs to load a firmware (.bin) and nvram (.txt) file from /usr/lib/firmware/brcm but we have no firmware files for BCM4354 in the AMLGX image. If you find files, add them manually: https://wiki.libreelec.tv/how-to/add-firmware
Most mentions of IP1001M found via Google seem to point back at either unifrequ/ophub device-trees, which look to be a hack job that only partially works, or CE forum threads which fizzle out with the recommendation to avoid X' boxes.
I did also find https://blog.csdn.net/zuiaikg703/article/details/120350194 which (translated) has some hacky changes for an IP1001C variant, but Google AI claims the difference between IP1001C and IP1001M is that C is multi-mode (copper/optical) while M is single-mode (copper). The current ICPLUS PHY kernel driver only implements a relatively basic level of support for registers, so I would assume it was written around the M variant, but AI also flagged some differences in support for Jumbo frames and other items between C and M that I don't see registers being defined for, which leaves scope for unknown defaults that could leave the PHY misconfigured.
One thing I did notice is the current kernel driver does not support the 0x02430d91 hardware identifier that I see mentioned in the unifreq dts, so the MDIO bus will not auto-discover and configure the chip automatically.
This should add the identifier: https://github.com/chewitt/linux/…9d8517b2529ebd4 but no guarantees that helps? You may also need to undo some of the ethernet_phy/mdio hackery from ophub dts files.
The latest AMLGX images in my test share have a kernel with that patch, but not a dts for the X96-max-plus box.