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.

[参考译文] cc3300:SDK 1.0.0.3内核补丁问题

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1369288/cc3300-sdk-1-0-0-3-kernel-patch-issue

器件型号:cc3300

工具与软件:

各位专家、您好!

我要将我们的版本移植到使用新的 SDK 1.0.0.3版本、并注意到了一个问题。

设置:
CPU - AM6231定制电路板
WLAN - CC3300
AM62X PSDK - 09.02.01.10
CC33XX SDK - 1.0.0.3

在将更新的源代码/补丁/二进制文件添加到 Yocto 构建后、我注意到更新后的内核模块会拒绝新的 cc33xx-conf.bin 文件。

root@host:~# dmesg |grep wlcore |grep -v -e "Processing message" -e "Reading control info"
[   13.583149] wlcore: cc33xx_probe :: Start
[   13.592413] wlcore: Wireless Driver Version 1.7.0.27
[   13.592449] wlcore: WLAN CC33xx platform device probe done
[   13.628595] wlcore: Could not get nvs file ti-connectivity/cc33xx-nvs.bin
[   13.631366] wlcore: ERROR ti-connectivity/cc33xx-conf.bin configuration binary size is wrong, expected 981 got 1353
[   13.668202] wlcore: WARNING falling back to default config
[   13.684158] wlcore: Chip wakeup
[   13.967361] wlcore: Set BLKsize to 128
[   13.967505] wlcore: BOOT IRQs: 0x8
[   13.967786] wlcore: Response len 704, allocated buffer len 712
[   13.967791] wlcore: CMD# 35, len=712
[   13.967798] wlcore: CC33XX device info: PG version: 2, Metal version: 0, Boot ROM version: 1 M3 ROM version: 1, MAC address: 0x3468b588b0d7, Device part number: 0
[   13.967807] wlcore: Downloading ti-connectivity/cc33xx_2nd_loader.bin to device
[   14.071712] wlcore: Suspending IRQ while device reboots
[   14.177913] wlcore: Resuming IRQ
[   14.213018] wlcore: BOOT IRQs: 0x10
[   14.215259] wlcore: ti-connectivity/cc33xx_2nd_loader.bin loaded successfully
[   14.215311] wlcore: Downloading ti-connectivity/cc33xx_fw.bin to device
[   15.041808] wlcore: Suspending IRQ while device reboots
[   15.148099] wlcore: Resuming IRQ
[   15.450720] wlcore: BOOT IRQs: 0x20
[   15.450750] wlcore: ti-connectivity/cc33xx_fw.bin loaded successfully
[   15.450820] wlcore: WARNING flow control disable - BLE will not work
[   15.464104] wlcore: Downloading INI Params and Configurations to FW, INI Bin File Payload Length: 981
[   15.464342] wlcore: ERROR FW is stuck, triggering recovery
[   17.492243] wlcore: Command T.O
[   17.492270] wlcore: CMD# 37, len=1000
[   17.492281] wlcore: WARNING download INI params to FW command sending failed: -5
[   17.527923] wlcore: ERROR FW download failed
[   17.563753] wlcore: wlcore_nvs_cb Complete

上面的示例显示内核模块需要一个较小的 conf 文件。 我注意到、此 SDK 版本中有更多配置。 在四处寻思后、我发现 cc33xx_kernel.patch 创建的 conf.h 文件是错误的版本。

$ cd path/to/cc33xx/sdk/1.0.0.3
$ grep -r CC33XX_CONF_VERSION .
./cc33conf_src/conf.h:#define CC33XX_CONF_VERSION       0x01070070
./cc33conf_src/cc33conf.h:#define DEFAULT_VERSION_SYMBOL        "CC33XX_CONF_VERSION"
./patches/cc33xx_kernel.patch:+#define CC33XX_CONF_VERSION      0x01070050
./patches/cc33xx_kernel.patch:+ header.version  = cpu_to_le32(CC33XX_CONF_VERSION);
$ hexdump -s 4 -n 4 -C cc33xx_rootfs/lib/firmware/ti-connectivity/cc33xx-conf.bin 
00000004  70 00 07 01                                       |p...|
00000008

上面的示例显示提示补丁创建了错误的 conf.h 文件并确认 SDK 中分发的 cc33xx-conf.bin 文件中使用的 CC33XX_CONF_VERSION。

与 该补丁创建的 conf.h 和 cc33conf_src 中分布的 conf.h (忽略变量的类型差异)不同时、情况会变得更加明显。

为了修复这个问题、我将 cc33conf_src/conf.h 文件丢弃到我的内核源代码树中并重新构建。 一切都很好。

我在故障排除过程中还遇到了使用 cc33xxconf 时遇到的问题、但我将为此创建另一个线程。

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

    您好!

    如果应用了补丁、conf.h 文件为什么没有更新?

    从原始消息来看、驱动程序版本似乎是2.7.0.27版、而 根据补丁程序、您应该有2.7.0.114版。

    此致、

    什洛米

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

    为了进行彻底检查、我已将1.0.0.3干净安装到/tmp、并从 wlcore.h 头文件中再次检查了版本。 cc33xx_kernel.patch 也在 wlcore.h 文件中定义了1.7.0.27。

    我会更深入一些、做后续跟进。


    我希望这是一个补丁应用程序问题、但它看起来不是问题。

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

    让我重新分配给科林尼,我可以跟她跟进。

    什洛米

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

    您好!

    您能否澄清您要寻求帮助的问题? 如果我理解正确、您会注意到生成了错误版本的 conf 文件、但您可以修复它? 您是否正在寻找官方解决方案、阐明发生这种情况的原因、或者您是否正在寻求其他未解决问题的帮助?

    此致!
    科林讷

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

    它开始时指出了1.0.0.3中的一个修复、以允许加载 cc33xx-conf.bin。 但是、在 Shlomi 指出驱动程序版本不正确后、 我快速检查了一下、发现补丁文件没有从1.0.0.1更改为1.0.0.3。

    Files cc33xx-1.0.0.1/patches/cc33xx_kernel.patch and cc33xx-1.0.0.3/patches/cc33xx_kernel.patch are identical
    

    代码示例显示以下内容:

    1. 下载并全新安装每个 SDK
    2. 每个 SDK 中文件的比较。 具体而言、这些目录:patches、cc33xx_rootfs

    抱歉、我继续编辑以修复语法问题。

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

    我认为这不能解决问题、如果1.0.0.3实际上没有与随附的固件二进制文件匹配的内核驱动程序更新。

    您能否提供 kmod 版本1.7.0.114的补丁、或者是否有计划进行新的发布以修复?

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

    我们在定制 am62x 电路板上有同样的问题。  它在1.0.0.1上工作正常。  

    1.0.0.3


    [  10.990643] cc33xx_driver cc33xx.2.auto:直接加载 ti-connectivity/cc33xx-nvs.bin 固件失败,错误-2
    [11.02334]  wlcore:错误 ti-connectivity/cc33xx-conf.bin configuration binary size is error, expected 981 got 1353
    [  11.055614] wlcore:警告:退回到默认配置

    我的 cc33xx_kernel.patch 在2个版本之间是相同的

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

    好的、似乎存在释放问题。 目前已有计划发布此修补程序。 请注意、这不是预编译映像问题、只涉及安装程序。 在此期间、如果需要、可以使用预编译映像、直到安装程序修复。

    此致!
    科林讷

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

    感谢您的更新!   我们不能使用预构建映像、因为我们有一个自定义板、并且我们将使用 buildroot、但我会留意更新。

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

    谢谢您提供的信息、我会关注更新、