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-CC3301:am62x:cc33xx_probe 失败

Guru**** 2478815 points
Other Parts Discussed in Thread: CC3301

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1394510/m2-cc3301-am62x-cc33xx_probe-fail

器件型号:M2-CC3301

工具与软件:

您好!

我正在尝试将 cc3301集成到定制的 AM62xx 中。

加载驱动程序时出现以下错误、请提供建议

 $ sudo dmesg
[ 118.702689] cc33xx_SDIO mmc2:0001:2:SDIO PM 电容= 0x1
[ 118.702755] cc33xx_SDIO mmc2:0001:2:使用 GPIO 作为 IRQ
[ 118.703816] wlcore:cc33xx_probe:启动
[ 118.708319]---- [剪切于此处]--------
[ 118.708345]警告:CPU:2 PID:413 at net/mac80211/main.c:630 ieee80211_alloc_hw_nm+0xa4/0x608
[118.708401] 模块链接如下: cc334xx_sDIO (+) cc33xx usb_f_acm u_serial usb_f_rlau_ether ip6t_reject nf_reject_ipvipv6 ipt_reject nf_reject_ipv4 sdhci dwc3_am62 rtc_ti_k3 ti_am65_cpsw_nuss phylink k3_cpi_desc_pool libphy cdns_dphy_Rx spi_omap2_mcspi phy_gmii_sel
[118.709063] CPU: 2 PID: 413 Comm: modprobe not patent 6.6+unreleased-ARM64
[ 118.709086]硬件名称:TI AM6234 (DT)
[ 118.709100] pstate:60000005 (NZCv daif -pan -uao -tco -dit -ssbs BTYPE=-)
[ 118.709118] PC : ieee80211_alloc_hw_nm+0xa4/0x608
[118.709148] LR : wlcore_alloc_hw+0x34/0x480 [cc33xx]
[118.709238] sp : ffffff8000822d3470
[118.709246] x29: ffffff8000822d3470 x28: 000000000000000c x27: 00000000000000000001
[118.709276] x26: 0000000000000000 x25: 0000000000000000 x24: 0000000000000000
[118.709304] x23: 000000000000004e x22: 0000000000008000 x21: ffffff80007a2ff510
[118.709334] x20:ffff000001858810 x19:ff000001858800 x18:0000000000000006
[ 118.709363] x17:0000000000000000 x16:0000000000000020 x15:00000000000000000002
[ 118.709392] x14:0000000000000001 x13:0000000000000004 x12:00000000000000000000
[ 118.709420] x11: 00000000ffffefff x10: ffff800081b68af0 x9: ffff80007a2e4cec
[ 118.709448] x8 : 0000000000017fe8 x7 : c0000000ffefff x6 : 00000000000000000001
[ 118.709476] x5 : 0000000000000000 x4 : 0000000000000000 x3 : ffff80007a2dfa38.
[ 118.709503] x2 : 0000000000000000 x1 : 0000000000000000 x0 : 0000000000002018
[118.709532] 呼叫跟踪:
[ 118.709548] ieee80211_alloc_hw_nm+0xa4/0x608
[ 118.709574] wlcore_alloc_hw+0x34/0x480 [cc33xx]
[ 118.709638] cc33xx_prob+0x30/0xb8 [cc33xx]
[ 118.709697] platform_probe+0x70/0xd0
[ 118.709727] REQUITE_PROTECT+0x18c/0x3d8  
[ 118.709746] __driver_probe_device+0x84/0x180
[ 118.709767] driver_probe_device+0x44/0x120
[ 118.709787] __device_attach_driver+0xc4/0x168
[ 118.709806] bus_for_each_drv+0x8c/0xf0
[ 118.709825] __DEVICE_Attach+0xa4/0x1c0
[ 118.709843] DEVICE_INITIALIZE_PROBEG+0x1c/0x30
[ 118.709863] BUS_PROTECT_DEVICE+0xb4/0xc0
[ 118.709881] DEVICE_ADD+0x5f8/0x7e8.
[ 118.709899] platform_device_add+0x188/0x288
[ 118.709921] SDIO_cc33xx_prob+0x218/0x3b8 [cc33xx_SDIO]
[ 118.709964] SDIO_BUS_PROBEG+0x144/0x1f8
[ 118.709991] REQUITE_PROBE+0x18c/0x3d8
[ 118.710010] __driver_probe_device+0x84/0x180
[ 118.710029] DRIVER_PROBE_DEVICE+0x44/0x120
[ 118.710051] __driver_attach+0xFC/0x210
[ 118.710069] BUS_FOR_EACH_DEV+0x80/0xe8
[ 118.710087] DRIVER_Attach+0x2C/0x40
[118.710104]  BUS_ADD_DRIVER+0x118/0x228
[ 118.710122] DRIVER_REGISTER + 0x68/0x138
[ 118.710144] SDIO_REGISTER_DRIVER+0x30/0x48
[118.710166]  SDIO_cc33xx_init+0x20/0xF8 [cc33xx_SDIO]
[118.710202]  DO_ONE_INITCALL+0x60/0x290
[118.710223]  DO_INIT_MODULE+0x60/0x218
[118.710245]  LOAD_MODULE+0x2298/0x2348
[ 118.710263] init_module_from_file+0x8c/0xd8
[ 118.710281] __ARM64_sys_finit_module+0x1b4/0x388
[118.710301]  Invoke_syscall+0x78/0x108
[118.710326]  el0_Svc_common.constprop.0+0x48/0xf0
[118.710350]  DO_el0_Svc+0x24/0x38
[118.710371]  el0_Svc+0x48/0x138
[ 118.710397] el0t_64_sync_handler+0x100/0x130
[118.710414]  el0T_64_SYNC+0x190/0x198
[118.710432]--[ 结束跟踪0000000000000000]--
[118.710539] wlcore:错误无法分配 ieee80211_HW
[118.715941] wlcore:错误、无法分配硬件
[ 118.720418] cc33xx_driver:cc33xx.5.auto 的探测器失败、错误为-12

谢谢!

Gireesh Hiremath

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

    Gireesh、您好!
    请分享您完成的集成工作吗? 您还能共享 devicetree 吗? 您是否已遵循 CC33xx SDK 文档中的迁移指南?

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

    以及您正在使用哪个内核版本?

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

    尊敬的 Sabeeh:

    我正在使用内核版本6.6.15。

    然后访问 www.ti.com/.../1.0.0.4

    在定制电路板中、在启动时启用所需的电压

    器件树、如下所示

    ssdhci2 {
           状态="正常";
           VMMC 电源=<&VCC_3V3_sys>;
           pinctrl-names ="默认值";
           pinctrl-0 =<&MAIN_mmc2_PINS_DEFAULT>;
           总线宽度=<4>;
           不可拆卸;
           TI、不带测试光盘的故障;
           cap-power-off-card;
           保持电源处于挂起状态;
           ti、驱动器强度欧姆=<50>;
           分配的时钟数=<&K3_CLKS 157 158>;
           assigned-clock-parents =<&K3_CLKS 157 160>;

           #address-cells =<1>;
           #size-cells =<0>;
           wlcore:wlcore@0{
                   兼容="ti、cc33xx";
                   reg =<2>;
                   pinctrl-names ="默认值";
                   pinctrl-0 =<&MAIN_wlirq_PINS_DEFAULT>;
                   INTERRUPT-PARENT =<&MAIN_GPIO0>;
                   中断=<32 IRQ_TYPE_EDGE_FALLING>;
           };
    };

           MAIN_mmc2_PINS_DEFAULT:MAIN-mmc2-PINS-DEFAULT{
                   PINCTL-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{
                   PINCTL-SINGLE、PINS =<
                           AM62X_IOPAD (0x0084、PIN_INPUT、7)/*(L23) GPMC0_ADVn_ALE.GPIO0_32 */
                   >;
           };

    谢谢!

    Gireesh

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

    Gireesh、您好!

    您的 IRQ 引脚上是否有反向器? 如果没有、您能否从"IRQ_TYPE_EDGE_FALLING"切换到"IRQ_TYPE_EDGE_RISN"?

    此外、CC33x SDK 1.0.0.4的 cc33xx 驱动程序仅支持内核6.1。 对于内核6.6、是否可以使用 TI 内核6.6? 具体而言、这一分支是: https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/?h=ti-linux-6.6.y 

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

    Gireesh、您好!  

    您是否碰巧在 WL_IRQ 线路上有一个上拉电阻器? 如果是、应将其删除。  

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

    尊敬的 Sabeeh:

    我现在删除了某个上拉电阻器、但电压电平会从3v3转换为1v8

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

    Gireesh、您好!

    您看到的软件问题是由使用不正确的 SOP 模式引起的。 我们之前已经看到 TXB 电压转换器存在问题、因此我认为这就是问题所在。  

    请注意、SOP 模式由 Logger、IRQ_WL 和 IRQ_BLE 确定。 不应上拉两个 IRQ。 我们可以通过从 Logger 引脚和 Logger 工具检查设备日志、确认 CC33xx 是否读取了正确的 SOP 模式。 因此、我建议您在进行必要的硬件修改后进行设置。  

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

    尊敬的 Sabeeh:

    谢谢您的建议、硬件修改后我会再回来与您联系。

    此致

    Gireesh

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

    尊敬的 Sabeeh:

    我已经完成了硬件修改、

    但仍然获得相同的误差。 请提供有关记录器工具的更多信息。

    此致、

    Gireesh Hiremath  

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

    Gireesh、您好!

    您能解释一下硬件修改吗? 您是否移除了 TXB 转换器?

    该记录器工具内置在 SimpleLink 无线工具箱应用中、可从以下位置安装: https://www.ti.com/tool/download/SIMPLELINK-WIFI-TOOLBOX 

    您还将需要安装 Wireshark。  

    安装后、启动无线工具应用程序、一个基于 Web 浏览器的 GUI 可导航至"Logger"工具。 将 UART-RX 引脚 USB-UART 收发器(如 FTDI 芯片)连接到 CC33xx 上的记录器引脚并连接到您的计算机、您应该可以记录日志。 器件上电期间、SOP 模式将打印到 Wireshark。  

    安装软件、如果您有任何问题/疑虑、请告诉我。  

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

    你好、萨比斯、

    感谢提供信息、我要设置工具、

    原始硬件

    .

    我进行了以下修改

    1>向上拉至记录器线路

    2>通过添加10k 寄存器下拉至 IRQ wifi 和 IRQ bt 线路

    我尚未拆除 TxB IC、因为我们正在使用的是 BDE-209模块 I/o 线、工作电压为1v8、保持不变。

    感谢 SABees 的支持,

    Gireesh Hiemath

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

    Gireesh、您好!

    我的理解是、TXB IC 上有一个内部上拉电阻器。 因此、虽然您到目前为止所做的硬件更改是正确的、但我认为您仍会遇到同样的问题、因为 SOP 模式将不正确。 不管怎样,我们可以用记录器工具检查,所以请告诉我如何进行。  

    我的建议是使用 SN74AXC 替换 TXB、因为这是我们在 EVM 上使用的器件。 不过、我明白这在此刻是很难做到的。  

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

    你好、Sabeeh。

    现在我把记录器引脚向上拉。

    要将 LOGGER 引脚连接到 UART-RX 引脚、我是否需要恢复上拉电阻?

    谢谢!

    Gireesh

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

    Gireesh、您好!

    您可以通过上拉连接到 UART RX 引脚、无需恢复硬件更改。

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

    尊敬的 Sabeeh:

    很抱歉耽误您的时间、我能得到接口 wlan0、现在我将检查通信并提供反馈。

    感谢您的支持、

    Gireesh