Navigation

    全志在线开发者论坛

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • 社区主页
    1. Home
    2. mengxp
    M
    • Profile
    • Following 1
    • Followers 0
    • my integral 1638
    • Topics 6
    • Posts 36
    • Best 1
    • Groups 0

    mengxpLV 5

    @mengxp

    1638
    integral
    1
    Reputation
    17
    Profile views
    36
    Posts
    0
    Followers
    1
    Following
    Joined Last Online

    mengxp Unfollow Follow

    Best posts made by mengxp

    • Reply: rtl8723ds高并发时死锁有人遇到过吗

      已初步确定是螃蟹的AP模式逻辑问题,并非死锁。

      测试环境
      1.rtl8723ds (AP) <-----> iphone (STA)

      触发条件
      1.作为AP模式
      2.正在发送数据
      3.对方STA进入SLEEP模式,有概率触发该bug。

      问题描述
      1.hal\rtl8723d\sdio\rtl8723ds_xmit.c 中 xmit_xmitframes 函数
      #ifdef CONFIG_AP_MODE
      if (MLME_IS_AP(padapter) || MLME_IS_MESH(padapter)) {
      if ((pxmitframe->attrib.psta->state & WIFI_SLEEP_STATE) &&
      (pxmitframe->attrib.triggered == 0)) {
      RTW_INFO("%s: one not triggered pkt in queue when this STA sleep, break and goto next sta\n", func);
      break;
      }
      }
      #endif

      这段代码意图其实是符合 80211 中的传统省电模式 (Legacy Power Save)

      传统省电模式 (Legacy Power Save)
      假设某个时间STA进入sleep,它通过发送数据帧或null-date帧来告诉AP我进入省电了
      AP收到这个帧后就不发数据帧给处于省电模式下的STA了。
      STA会在下一个 DITM period wake up,并收到AP的beacon
      在beacon 中DTIM 信息元素会告诉 STA,你sleep的时候有发你的数据,我替你存下了,快来取

      但实际工作的时候不知道为什么驱动会反复的触发发送信号量,然后反复的进入这个流程,导致 RTWHALXT 线程占满CPU。
      而且影响到了正常的收发逻辑。

      暂时解决方案
      注释掉上述 break; 语句,逻辑变更为,即使 STA 进入休眠仍然发送,STA收不到就收不到,该帧就算丢弃了。
      实验发现也并没有造成多大的通讯延迟影响。

      后续解决方案
      联系模块fae尝试解决。但我不认为模块fae方面有能力解决这个问题。(我是普通用户不是VIP)

      posted in R329
      M
      mengxp

    Latest posts made by mengxp

    • Reply: R328安全启动失败,调试寄存器资料可否公开?

      分析到了。上下电时序可能有异常,破坏了efuse中rotpk的某些比特。

      正确的rotpk
      74e61bc6f59b1382a29019xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

      芯片中的rotpk
      74e61bc6fd9b1382a39019xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

      果然efuse供电引脚需要改成按需上电。

      posted in 全志方案讨论区
      M
      mengxp
    • Reply: R11的I2S没有MCLK引脚, 如果要驱动声卡,应该怎么处理呢?可以用一个24.576MHz有源晶振代替吗?

      @whycan 哇,那就离谱,看来全志的I2S接口很拉胯啊

      posted in R11
      M
      mengxp
    • Reply: R328安全启动失败,调试寄存器资料可否公开?

      @musich
      我今天用IDA撸完了,已经掌握了相关寄存器和SRAM中的几个调试数据。
      启动失败进FEL读一下就可以了。
      不得不说全志的SBROM开发人员还是有两把刷子。

      posted in 全志方案讨论区
      M
      mengxp
    • Reply: R11的I2S没有MCLK引脚, 如果要驱动声卡,应该怎么处理呢?可以用一个24.576MHz有源晶振代替吗?

      @ubuntu 在 R11的I2S没有MCLK引脚, 如果要驱动声卡,应该怎么处理呢?可以用一个24.576MHz有源晶振代替吗? 中说:

      , 播放音乐鸦雀无声。

      等晕哥试试?

      posted in R11
      M
      mengxp
    • R328安全启动失败,调试寄存器资料可否公开?

      我小批量试产了一些R328做的小产品,发现在烧录securebit之后有概率无法启动,不知道是什么原因。有的时候还遇到过正常使用用着用着就无法启动了。

      我想分析启动失败的原因,由于是SecureBoot,我逆向了SBROM的相关代码,发现启动时会写入寄存器 30000D0,好像是阶段指示器,请问这个寄存器写入的数据,可否公开一下?我不想逆了,BROM_CONFIG是未公开的,代码好复杂。

      30000d0.png

      posted in 全志方案讨论区
      M
      mengxp
    • Reply: 求教搭载全志t7的车机内存扩容问题

      @huangkun 什么车机方便说下嘛,想搞研究

      posted in 全志方案讨论区
      M
      mengxp
    • Reply: R11的I2S没有MCLK引脚, 如果要驱动声卡,应该怎么处理呢?可以用一个24.576MHz有源晶振代替吗?

      @ubuntu 应该可以,那个时钟不是同步数据用的,就好比你wifi芯片外挂24M晶振或者37.4M晶振。你看下你对接芯片的datasheet 和设计指南。

      posted in R11
      M
      mengxp
    • Reply: r328烧录secure bit后有概率引导失败

      我焯我焯。我参考了 https://support.xilinx.com/s/article/65240 上面说的,他说的上下电时序会影响 efuse 完整性!!!看来得改设计。。LDO是省不了了。

      posted in 全志方案讨论区
      M
      mengxp
    • Reply: r328烧录secure bit后有概率引导失败

      求原厂大佬们回复

      posted in 全志方案讨论区
      M
      mengxp
    • r328烧录secure bit后有概率引导失败

      正在试产一些样机,全志R328芯片。
      烧录了 secure bit 之后,有小概率无法引导,引导失败,现象就是进入到了 FEL。(此时还没有烧录 ROTPK)

      排除主板问题,焊接问题。因为FEL烧录镜像是没问题的,整个主板和CPU是能够正常工作的。只是无法引导,此时 normal image 和 secure image 都不能引导。感觉就是芯片莫名其妙报废掉了。

      大概5块板子有1块就出现一次这种问题。换芯片重新烧录可以解决这个问题。感觉不是板子的问题。

      如果 boot 失败了,会有什么日志或者寄存器状态可以帮助调试吗?

      是否有可能是上电时序造成的?我现在EFUSE供电是和PLL LDO 1.8V绑定在一起的。有关系吗?我看设计指南上说EFUSE应该最晚上电。

      posted in 全志方案讨论区
      M
      mengxp