器件型号: J722SXH01EVM
我们遇到一个问题、即 roadcom 的 BCM43752 上 Wi-Fi 模块基础驱动程序无法在 K3-J722S 上的器件基础上加载。
以下是详细信息:
使用的驱动程序版本是 bcmdhd.101.10.591.x_SparkLAN_v8、此驱动程序在 6.6.58 内核和 6.12.43 内核上使用相同的构建方法正确编译。 编译后的驱动程序在 6.6.58 内核上工作正常、但无法在 6.12.43 内核上加载。
我比较了两个内核的启动日志、发现在加载过程开始时日志是一致的。 但是、在执行 dhdpcie_get_resource 函数期间、6.12.43 内核会记录一条消息、内容为“BAR1 not enabled for this device size (0)、addr (0x0000000000000000)“、然后退出并重试加载驱动程序、在同一点反复失败。 四次尝试后、它停止尝试、驱动程序无法加载。 此消息不会出现在 6.6.58 内核上、并且驱动程序加载成功。
我还在两个内核上执行 cat /sys/bus/pci/devices/0000:01:00.0/resource 以检查 PCI 资源分配。 我发现在这两个内核中、BAR1 的大小均为 0。 但是、我不确定为什么驱动程序在 6.6.58 内核上成功加载、但在 6.12.43 内核上 BAR1 大小为 0 时失败。 我已附上两个系统的完整启动日志、以[DHD]开头的行是驱动程序的日志信息。
此外、我们还有一款搭载 NXP iMX8MP SoC 和内核版本 6.12.20 的器件。 相同的驱动程序源代码在此内核上编译并正常工作。 因此、在 TI 6.12.43 内核上加载驱动程序的问题可能与内核配置或 PCI 总线驱动程序有关、而不是与内核本身有关。 我还附上了 NXP 内核上驱动程序加载的日志。
请帮助分析问题所在。 如果需要任何其他信息、请告诉我、我将提供这些信息。 谢谢
dmesg_output_6.6.58.txtdmesg_output_6.12.43.txtdriver_load_log_6.12.20@nxp.txt
