This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] M2-CC3351:CC3351驱动程序未在内核6.1.x 的 BuildRoot 2024.05.3上进行探测的问题

Guru**** 2343440 points
Other Parts Discussed in Thread: CC3351
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1503754/m2-cc3351-issue-with-cc3351-driver-not-probing-on-buildroot-2024-05-3-with-kernel-6-1-x

器件型号:M2-CC3351
Thread 中讨论的其他器件:CC3351

工具/软件:

你(们)好


构建 AM62处理器 SDK 09.01.00.08、安装了相关的 am62x wic 映像、wlan0接口正常工作。
现在、我使用 BuildRoot 2024.05.3并使用 buildroot-external-TI 10.01.10.04。 内核6.1.x 中没有 CC3351驱动程序 因此、我参考了 cCC33xx 迁移指南至 BuildRoot 的"patch" cc33xx_linux_package_1_0_0_8。 但 cc33xx 在启动时不进行探测。


[ 1.947785] mmc0:使用 ADMA 64位的 fa10000.mmc [fa10000.MMC]上的 SDHCI 控制器
[1.960553] mmc1:CQHCI 5.10版
[ 1.961208] cfg80211:为监管数据库加载已编译的 X.509证书
[ 1.973696]已加载 X.509证书"请求:00b28ddf47aef9cea7"
[1.980108]已加载 X.509证书'wens: 61c038651aabdcf94bd0ac7ff06c7248db18c600'
[ 1.987410] clk:禁用未使用的时钟
[ 1.991441] platform regulature.0:regulature.db 的直接固件加载失败、错误-2
[2.000091] cfg80211:无法加载 regulature.db
[2.007243] mmc1:使用 ADMA 64位的 fa00000.mmc [fa00000.MMC]上的 SDHCI 控制器
[ 2.016834] mmc2:CQHCI 版本5.10
[ 2.049947] mmc0:已启用队列引擎命令
[ 2.054434] mmc0:地址0001处的新 HS200 MMC 卡
[ 2.060228] mmcblk0:mmc0:0001 G1M15L 29.6 GiB
[ 2.061030] mmc2:使用 ADMA 64位的 fa20000.mmc [fa20000.MMC]上的 SDHCI 控制器
[2.066446] mmcblk0:p1 p2
[2.067772] mmc1:地址为 AAAA 的全新超高速 SDR104 SDHC 卡
[2.068576] mmcblk1:mmc1:AAAA SH32G 29.7 Gib
[ 2.070811] mmcblk1:P1 p2
[ 2.077600] sdhci-am654 fa20000.mmc:卡声明支持低于定义范围的电压
[ 2.082437] mmcblk0boot0:mmc0:0001 G1M15L 31.5 MIB
[2.098351] mmc2:地址0001处的新高速 SDIO 卡
[2.103076] mmcblk0boot1:mmc0:0001 G1M15L 31.5 MIB


k3-am625-sk.dts


&main_pmx0{
main_rgmii2_pins_default:main-rgmii2-default-pins{
全部引导;
pinctrl-single、pins =<
AM62X_IOPAD (0x184、PIN_INPUT、0)/(AE23) RGMII2_RD0/
AM62X_IOPAD (0x188、PIN_INPUT、0)/(AB20) RGMII2_RD1/
AM62X_IOPAD (0x18c、PIN_INPUT、0)/(AC21) RGMII2_RD2/
AM62X_IOPAD (0x190、PIN_INPUT、0)/(AE22) RGMII2_RD3/
AM62X_IOPAD (0x180、PIN_INPUT、0)/(AD23) RGMII2_RXC/
AM62X_IOPAD (0x17c、PIN_INPUT、0)/(AD22) RGMII2_RX_CTL /
AM62X_IOPAD (0x16c、PIN_OUTPUT、0)/(Y18) RGMII2_TD0/
AM62X_IOPAD (0x170、PIN_OUTPUT、0)/(AA18) RGMII2_TD1/
AM62X_IOPAD (0x174、PIN_OUTPUT、0)/(AD21) RGMII2_TD2/
AM62X_IOPAD (0x178、PIN_OUTPUT、0)/(AC20) RGMII2_TD3/
AM62X_IOPAD (0x168、PIN_OUTPUT、0)/(AE21) RGMII2_TXC/
AM62X_IOPAD (0x164、PIN_OUTPUT、0)/(AA19) RGMII2_TX_CTL
>;
};

ospi0_pins_default:ospi0-default-pins{
全部引导;
pinctrl-single、pins =<
AM62X_IOPAD (0x000、PIN_OUTPUT、0)/(H24) OSPI0_CLK/
AM62X_IOPAD (0x02c、PIN_OUTPUT、0)/(F23) OSPI0_CSn0/
AM62X_IOPAD (0x00c、PIN_INPUT、0)/(E25) OSPI0_D0 /
AM62X_IOPAD (0x010、PIN_INPUT、0)/(G24) OSPI0_D1/
AM62X_IOPAD (0x014、PIN_INPUT、0)/(F25) OSPI0_D2/
AM62X_IOPAD (0x018、PIN_INPUT、0)/(F24) OSPI0_D3/
AM62X_IOPAD (0x01c、PIN_INPUT、0)/(J23) OSPI0_D4/
AM62X_IOPAD (0x020、PIN_INPUT、0)/(J25) OSPI0_D5/
AM62X_IOPAD (0x024、PIN_INPUT、0)/(H25) OSPI0_D6/
AM62X_IOPAD (0x028、PIN_INPUT、0)/(J22) OSPI0_D7/
AM62X_IOPAD (0x008、PIN_INPUT、0)/(J24) OSPI0_DQS/
>;
};

VDD_SD_dv_pins_default:VDD-SD-dv-default-pins{
全部引导;
pinctrl-single、pins =<
AM62X_IOPAD (0x07c、PIN_OUTPUT、7)/(P25) GPMC0_CLK.GPIO0_31/
>;
};

MAIN_GPIO1_ioexp_intr_pins_default:main-ga1-ioexp-intr-default-pins{
全部引导;
pinctrl-single、pins =<
AM62X_IOPAD (0x01d4、PIN_INPUT、7)/(B15) UART0_RTSn.GPIO1_23 /
>;
};

wlan_en_pins_default:wlan-en-pins-default{
pinctrl-single、pins =<
AM62X_IOPAD (0x124、PIN_OUTPUT、7)/(A23) MMC2_SDCD1.GPIO0_71/
>;
};

main_mmc2_pins_default:main-mmc2-pins-default{
pinctrl-single、pins =<
AM62X_IOPAD (0x120、PIN_INPUT、0)/(C24) MMC2_CMD/
AM62X_IOPAD (0x118、PIN_INPUT、0)/(D25) MMC2_CLK/
AM62X_IOPAD (0x114、PIN_INPUT、0)/(B24) MMC2_DAT0/
AM62X_IOPAD (0x110、PIN_INPUT、0)/(C25) MMC2_DAT1/
AM62X_IOPAD (0x10c、PIN_INPUT、0)/(E23) MMC2_DAT2/
AM62X_IOPAD (0x108、PIN_INPUT、0)/(D24) MMC2_DAT3/
AM62X_IOPAD (0x11c、PIN_INPUT、0)/(#N/A) MMC2_CLKB/
>;
};

main_wlirq_pins_default:main-wlirq-pins-default{
pinctrl-single、pins =<
AM62X_IOPAD (0x128、PIN_INPUT、7)/(B23) MMC2_SDWP.GPIO0_72/
>;
};

MAIN_uart1_pins_new:main-uart1-pins-new{
pinctrl-single、pins =<
AM62X_IOPAD (0x1ac、PIN_INPUT、2)/(E19) McASP0_AFSR.UART1_RXD/
AM62X_IOPAD (0x198、PIN_OUTPUT、2)/(A19) McASP0_AXR2.UART1_RTSn /
AM62X_IOPAD (0x194、PIN_INPUT、2)/(B19) McASP0_AXR3.UART1_CTSN/
AM62X_IOPAD (0x1b0、PIN_OUTPUT、2)/(A20) McASP0_ACLKR.UART1_TXD/
>;
};

};
&sdhci2{
状态="正常";
VMMC-SUPPLY =<&WLAN_EN>;
pinctrl-names ="default";
pinctrl-0 =<&main_mmc2_pins_default>;
总线宽度=<4>;
不可拆卸;
TI、未通过测试的故障 CD;
电容断电卡;
保持电源处于挂起状态;
assigned-clocks =<&K3_CLKS 157 158>;
assigned-clock-parament=<&k3_CLKS 157 160>;

#address-cells =<1>;
#size-cells =<0>;
wlcore:wlcore@0{
compatible ="ti、cc3351";
reg =<2>;
pinctrl-names ="default";
pinctrl-0 =<&main_wlirq_pins_default>;
中断父级=<&MAIN_GPIO0>;
中断=<72 IRQ_TYPE_EDGE_FALLING>;
};
};

谢谢、

Sheng

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好:

    您可以尝试加载 cc33xx 模块吗? 您可以使用"modprobe cc33xx"执行此操作。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Sabeeh:

    我无法加载。

    谢谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    https://github.com/TexasInstruments-Sandbox/cc33xx-linux-mpu-ports/blob/main/ti-linux-6.6.y/drivers-cc33xx-update-to-1.0.0.8.patch#L31

    此补丁无法修补到 TI 内核6.6.58。  我在这个补丁中看到了一个逻辑冲突。 该补丁 在 WAIT_FOR_BOOT_IRQ()中添加了 cc33xx_IRQ()、但 从 cc33xx_IRQ()中将函数名称更改为 cc33xx_enable_interrupts()。  没有任何函数调用 cc33xx_enable_interrupts()。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Sabeeh:
    我在修改一些代码后取得了一些进展。  

    TI-connectivity/cc33xx-conf.bin 配置二进制大小错误? 这些二进制文件来自 cc33xx_Linux_package_1_0_0_8。 如何解决?

    我无法 通过校准器命令生成 cc33xx-nvs.bin。 无法执行该命令、因为它是使用 ARM 而非 AARM64进行编译的。 如何解决?



    [ 3.195156] cc33xx_SDIO mmc2:0001:2:使用 GPIO 作为 IRQ
    [ 3.261866] cfg80211:为监管数据库加载已编译的 X.509证书
    [ 3.302422]已加载 X.509证书"请求:00b28ddf47aef9cea7"
    [ 3.308788]加载的 X.509证书'wens:61c038651aabdcf94bd0ac7ff06c7248db18c600'
    [ 3.410242] cc33xx_driver cc33xx.5.auto:直接加载 ti-connectivity/cc33xx-nvs.bin 固件失败、出现错误-2
    [ 3.422424] cc33xx:ti-connectivity/cc33xx-conf.bin 配置二进制文件大小错误、预计1133得到1353
    [ 3.433090] cc33xx:警告返回默认配置
    [ 3.571827] am65-cpsw-Nuss 8000000.Ethernet eth0:PHY [8000f00.MDIO:00]驱动程序[TI DP83867](IRQ=POLL)
    [ 3.581348] am65-cpsw-Nuss 8000000.Ethernet eth0:配置 phy/rgmii-rxid 链路模式
    [5.508259] cc33xx:错误 FW 卡滞、触发恢复
    [ 5.513779] cc33xx:错误驱动程序初始化期间发生致命错误、无法恢复
    [ 6.740639] am65-cpsw-Nuss 8000000.Ethernet eth1:PHY [8000f00.MDIO:01]驱动程序[TI DP83867](IRQ=POLL)
    [ 6.749984] am65-cpsw-Nuss 8000000.Ethernet eth1:配置 phy/rgmii-rxid 链路模式
    [7.509400] cc33xx:警告:将 INI params 下载到 FW 命令发送失败:-5
    [7.516892] cc33xx:错误固件下载失败
    [9.969853] NET:注册的 PF_inet6协议系列

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、

    您应该从 CC33xx SDK 1.0.0.8: https://www.ti.com/tool/download/CC33XX-LINUX-MPU/1.0.0.8拉取固件二进制文件 

    安装 CC33xx SDK 后、转到 SDK 目录 cc33xx/cc33xx_rootfs/lib/firmware/ti-connectivity/*、并将这些二进制文件复制到目标上的同一目录(root/lib/firmware/ti-connectivity)。

    我无法 通过校准器命令生成 cc33xx-nvs.bin。

    NVS.bin 文件不是必需的、可以安全地忽略它。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、

    我不确定您的意思。 我刚刚进行了测试、然后能够直接将此补丁应用到 TI 内核6.6.58中。 您能说明遇到的错误吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Sabeeh:
    有我的更新:
    若要生成 cc33xx-NVS.bin、请编译校准器并将其复制到/lib/firmware/ti-connectivity. 运行它:

    #./calibrator dev wlan0 cc33xx_plt set_manual_calib-rx 1 -tx 1
    命令失败:无此类设备(-19)

    wlan0不存在。  如何解决此问题?

    [ 3.236386] cfg80211:为监管数据库加载已编译的 X.509证书
    [ 3.270392]已加载 X.509证书"请求:00b28ddf47aef9cea7"
    [ 3.276771]已加载 X.509证书'wens:61c038651aabdcf94bd0ac7ff06c7248db18c600'
    [ 3.373347] cc33xx_driver cc33xx.4.auto:直接加载 ti-connection/cc33xx-nvs.bin 时出现错误-2
    [ 3.385088] cc33xx:错误 ti-connectivity/cc33xx-conf.bin 配置二进制文件大小错误、预期1136得到1353
    [ 3.395748] cc33xx:警告返回默认配置
    [3.552030]蓝牙:版本2.22
    [ 3.555202] am65-cpsw-Nuss 8000000.Ethernet eth0:PHY [8000f00.MDIO:00]驱动程序[TI DP83867](IRQ=POLL)
    [3.555793] NET:注册的 PF_Bluetooth 协议系列
    [ 3.564948] am65-cpsw-Nuss 8000000.Ethernet eth0:配置 phy/rgmii-rxid 链路模式
    [ 3.570254]蓝牙:已初始化 HCI 设备和连接管理器
    [ 3.570278]蓝牙:已初始化 HCI 套接字层
    [ 3.589785]蓝牙:已初始化 L2CAP 套接字层
    [5.465822] cc33xx:错误固件卡滞、触发恢复
    [5.471340] cc33xx:错误驱动程序初始化期间发生致命错误、无法恢复
    [ 6.746238] am65-cpsw-Nuss 8000000.Ethernet eth1:PHY [8000f00.MDIO:01]驱动程序[TI DP83867](IRQ=POLL)
    [ 6.755580] am65-cpsw-Nuss 8000000.Ethernet eth1:配置 phy/rgmii-rxid 链路模式
    [7.466974] cc33xx:警告:将 INI params 下载到 FW 命令发送失败:-5
    [7.474480] cc33xx:错误 FW 下载失败

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Sabeeh:
    取得了一些进展。 它无法 通过 校准器生成 cc33xx-nvs.bin。 有内核消息和校准器的运行情况。 您能帮我们弄清楚吗?

    [ 2.951504] cc33xx_SDIO mmc2:0001:2:使用 GPIO 作为 IRQ
    [ 2.978817] cfg80211:为监管数据库加载已编译的 X.509证书
    [ 3.012690]已加载 X.509证书"请求:00b28ddf47aef9cea7"
    [ 3.019179]已加载 X.509证书'wens: 61c038651aabdcf94bd0ac7ff06c7248db18c600'
    [ 3.113931] cc33xx_driver cc33xx.4.auto:直接加载 ti-connectivity/cc33xx-nvs.bin 时失败、出现错误-2
    已完成
    正在启动系统消息总线:完成
    开始蓝牙 d:好的
    启动网络:[ 3.268873]蓝牙:core 版本2.22
    .......................................................................................

    # ifconfig wlan0
    wlan0 Link encap:以太网 HWaddr F8:FB:90:13:6D:34
    广播多播 MTU:1500公制:1
    Rx 数据包:0错误:0丢弃:0溢出:0帧:0
    TX 数据包:0错误:0丢弃:0溢出:0载波:0
    冲突:0 txqueueelen:1000
    Rx 字节:0 (0.0 B) TX 字节:0 (0.0 B)

    # cd /lib/firmware/ti-connectivity

    #./calibrator --debug dev wlan0 cc33xx_plt set_manual_calib-rx 1 -tx 1
    Set_MANUAL_calib 已使用:4参数调用
    校准器::设置校准参数
    调试:收到的消息:
    ---------------------------- 开始 NetLink 消息--------------------------------
    [NetLink 报头] 16个八位字节
    .nlmsg_len = 84
    .type = 2.
    .flags = 0 <>
    .Seq =-1072
    .port =-1191181730
    [errormsg] 20个八位字节
    .error =-95"不支持操作"
    [原始消息] 16个八位字节
    .nlmsg_len = 16
    .type = 25 <0x19>
    .flags = 5.
    .Seq =-1072
    .port =-1191181730
    -------------------------------- 结束 NetLink 消息----------------------------
    命令失败:操作不受支持(-95)

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、

    cc33xx-nvs.bin 不是操作所必需的。 它由用户创建、而不是由应用程序创建。 您可以在以下文档中阅读有关 cc33xx-nvs.bin 的信息: https://dev.ti.com/tirex/content/CC33XX_LINUX_MPU_1_00_00_05__all/docs/linux/html/linux/sw-examples/software-examples.html#override-default-mac-address 

    有关校准器工具的操作、请参阅此处的指南: https://dev.ti.com/tirex/content/CC33XX_LINUX_MPU_1_00_00_05__all/docs/linux/html/linux/calibrator/calibrator.html 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、

    您的意思是、如果忽略来创建 cc33xx-NVS.bin、我可以使用类似 sta_start.sh 来设置 wlan0接口

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    #./ sta_start.sh
    PS:无效选项-"w"
    BusyBox v1.36.1 (2025年05月01日14:31:31 CST)多调用二进制文件。

    用法:ps [-o col1、col2=header]

    显示进程列表

    -o col1、col2=标题选择要显示的列
    #已成功初始化 wpa_supplicant
    第225行:未知全局字段"device_name=Sitara"。
    第225行:配置行"device_name=Sitara"无效。
    第229行:未知全局字段"manufacer=TI"。
    第229行:配置行"manufacer=TI"无效。
    第233行:未知全局字段"model_name=SimpleLink "。
    第233行:配置行"model_name=simplic"无效。
    第237行:未知全局字段"model_number=cc33xx"。
    第237行:配置行"model_number=cc33xx"无效。
    第241行:未知全局字段'SERIAL_NUMBER=12345'。
    第241行:配置行"SERIAL_NUMBER=12345"无效。
    第268行:未知全局字段"CONFIG_METHOLS=VIRTUAL_DISPLAY VIRTUAL_Push_button keypad"。
    第268行:无效的配置行"CONFIG_METHOLS=VIRTUAL_DISPLAY VIRTUAL_Push_putton keypad"。
    无法读取或解析配置/usr/share/cc33xx/wpa_supplicant.conf。
    :CTRL-EVENT-DSCP-POLICY CLEAR_ALL

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、
    通过在 wpa_supplicant.conf 中对这些行进行注释修复了这些行。

    sta_connect.sh 返回"未知事件37"。 如何解决?

    #./ sta_start.sh
    PS:无效选项-"w"
    BusyBox v1.36.1 (2025年05月01日14:31:31 CST)多调用二进制文件。

    用法:ps [-o col1、col2=header]

    显示进程列表

    -o col1、col2=标题选择要显示的列
    #已成功初始化 wpa_supplicant
    wlan0:CTRL-EVENT-REGDOM-CHANGE init=user type=Country alpha2=US

    #./ sta_connect.sh -n Deco99N2F -s WPA-PSK -p Chao5P@Chiron
    sh:0:未知操作数
    连接到 SSID:Deco99N2F、秒类型:WPA-PSK、密钥:Chao5P@Chiron、PMF:
    NETID=0
    ==========================================
    设置密码:Chao5P@Chiron
    设置 PMF:
    sh:0:未知操作数
    好的
    好的
    好的
    无效的 SET_NETWORK 命令:需要三个参数
    (网络 ID、变量名称和值)
    好的
    好的
    好的
    好的
    # wlan0: SME:试图用 fe:09:0d:C2:45:69 (SSID=[ 197.905433] wlan0:用 fe:09:0d:C2:45:69验证
    'eco99N2F' freq= 5200 MHz)
    [197.951837] wlan0:将授权发送到 fe:09:0d:C2:45:69 (尝试1/3)
    [197.958864] wlan0:已验证
    wlan0:尝试与 fe:09:0d:C2:45:69 (SSID=Deco99N[ 197.963709] wlan0:与 fe:09:0d:C2:45:69关联(尝试1/3)
    2f' freq= 5200 MHz)
    [197.986760] wlan0:Rx AssocResp from Fe:09:0d:C2:45:69 (capab=0x1011 status=0 aid=2)
    [197.999186] cc33xx: He Disabled
    [198.003795] wlan0:关联
    wlan0:与 fe:09:0d:C2:45:69关联
    wlan0:CTRL-EVENT-SUBNET-STATUS-UPDATE status=0
    wlan0:CTRL-EVENT-REGDOM-CHANGE init=COUNTRY_IE type=COUNTRY alpha2=US
    wlan0:未知事件37
    wlan0:wpa:密钥协商已完成、Fe:09:0d:C2:45:69 [WPA]:PT [198.061020] cc33xx:关联完成。
    CCMP GTK=CCMP] K=
    wlan0:CTRL-EVENT-CONNECTED -连接至 fe:09:0d:C2:45:69已完成[id=0 id_str=]
    wlan0:未知事件37

    # ifconfig wlan0
    wlan0 Link encap:以太网 HWaddr F8:FB:90:13:6D:34
    inet6地址:fe80:::fafb:90ff:fe13:6d34/64范围:链接
    向上广播运行多播 MTU:1500公制:1
    RX 数据包:7错误:0丢弃:2溢出:0帧:0
    TX 数据包:7错误:0丢弃:0溢出:0载波:0
    冲突:0 txqueueelen:1000
    RX 字节:672 (672.0 B) TX 字节:854 (854.0 B)