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.

[参考译文] AM5708:SDK8 中缺少用于 HSR/PRP 的 PRUETH 驾驶员风暴预防机制

Guru**** 2538950 points
Other Parts Discussed in Thread: AM5708

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1543006/am5708-prueth-driver-storm-prevention-mechanism-for-hsr-prp-is-missing-in-sdk8

部件号:AM5708


工具/软件:

您好:

一位客户抱怨说、有些基于 AM5708 处理器的继电器在配置 PRP 模式并安装在现有变电站网络中时重复启动。 他们运行的 PEOS 版本基于 Yocto Dunfell、为 TI SDK 8.2.1 版本。  

我们能够通过复制其网络流量来重现故障、我们看到 prueth_lre 驱动程序的 nt_updater 函数导致内核崩溃、迫使中继自动重新启动。 但是、PRP 网络中具有相同流量但已安装的旧固件版本(基于 TI SDK 6)的另一个继电器从不会重新启动。

寻找两个 TI SDK 版本的 PRUETH 驱动程序的差异、我发现 SDK 6 中有一种风暴预防机制、这在 SDK8 中有所不同。 此外、TI SDK 8 文档中有一个名为“网络风暴预防“的部分、其中建议使用“Linux"Linux<xmt-block0>“ tc 命令为 广播/多播/单播流量配置滤波。 我尝试了在 TI docu 上做 C&P(以  kbit 为单位的相同信用额度和相同的选项)、但它没有奏效。 我深入研究了 tc 命令选项、最后、在以下 配置下、我让继电器不再重新启动:

tc qdisc 添加 dev eth1 clsact
tc qdisc 添加 dev eth2 clsact
tc 滤波器添加 DEV eth1 入口花卉 SKIP_SW DST_Mac 01:15:4e:00:01:00 操作管制速率 5kbit 突发 64b 下降
tc 滤波器添加 DEV eth2 入口花卉 SKIP_SW DST_Mac 01:15:4e:00:01:00 操作管制速率 5kbit 突发 64b 下降

tc 滤波器添加 DEV eth1 入口花 SKIP_SW dst_Mac ff:ff:ff:ff:ff:ff 操作管制速率 5kbit 突发 64b 下降

tc 滤波器添加 DEV eth2 入口花 SKIP_SW dst_Mac ff:ff:ff:ff:ff:ff 操作管制速率 5kbit 突发 64b 下降

如您所见、这些是非常严格的过滤器、因为我在 Wireshark 上看到 交换机转发 ARP 数据包持续风暴的捕获、以及大量 PRP 监控帧同时到达中继。 现在、我们必须分析这些限制性滤波器是否会影响 PRP 协议性能。

您能告诉我们在 SDK 6 中将哪些滤波器应用于 PRP 配置中的广播/多播流量? 如果应用的滤波器如此严格以允许 PRP 协议正常工作、我们如何解决 SDK 8 中的 PRUETH 驱动程序问题?

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

    您好、Naiara、

    我将查看您的查询、并尝试在一周结束前更新您。

    -Josue

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

    感谢你的评分  

    在没有应用广播/多个过滤器时、您可以从 prueth_lre 驱动程序的 nt_updater 函数看到内核崩溃日志:

    [ 5734.034118] 8<--- cut here ---
    [ 5734.037231] Unable to handle kernel paging request at virtual address f1478000
    [ 5734.044677] printk: console [ttyS2]: printing thread stopped
    [ 5734.051910] pgd = a20961ea
    [ 5734.054779] [f1478000] *pgd=80000080007003, *pmd=82781003, *pte=00000000
    [ 5734.062347] Internal error: Oops: 207 [#1] PREEMPT SMP ARM
    [ 5734.067840] Modules linked in: xt_nat xt_policy xt_conntrack xt_MASQUERADE nf_conntrack_netlink xfrm_user xfrm_algo xt_addrtype iptable_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 br_netfilter bridge stp llc iptable_filter ipt_REJECT nf_reject_ipv4 xt_tcpudp ip_tables x_tables rpmsg_proto rsi_usb rsi_91x mac80211 cfg80211 libarc4 irq_pruss_intc prueth pru_rproc icss_iep omap_aes_driver libaes pruss ahci_platform libahci_platform libahci libata omap_wdt xhci_plat_hcd xhci_hcd ti_vip v4l2_fwnode ti_vpe ti_sc ti_csc ti_vpdma omap_des omap_hdq omap_crypto wire libdes omap_sham crypto_engine omap_remoteproc virtio_rpmsg_bus sch_fq_codel kgoose(O) kbdriver(O)
    [ 5734.127044] CPU: 1 PID: 1341 Comm: prueth_nt Tainted: G           O      5.10.100-rt62-9caaa01409 #1
    [ 5734.136230] Hardware name: Generic DRA74X (Flattened Device Tree)
    [ 5734.142333] PC is at memcmp+0x18/0x3c
    [ 5734.146026] LR is at nt_updater+0x45c/0x984 [prueth]
    [ 5734.151062] pc : [<c06f947c>]    lr : [<bf152d54>]    psr: 20000013
    [ 5734.157348] sp : cf567f10  ip : cf567f2d  fp : cf567f60
    [ 5734.162597] r10: f1473600  r9 : 000100ff  r8 : 00000940
    [ 5734.167846] r7 : d00e7c00  r6 : 0000012c  r5 : c3ad5748  r4 : cf74d740
    [ 5734.174407] r3 : f1477fff  r2 : f1478005  r1 : cf567f2e  r0 : f1478000
    [ 5734.180969] Flags: nzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
    [ 5734.188110] Control: 30c5387d  Table: 83b96c00  DAC: 55555555
    [ 5734.193908] Process prueth_nt (pid: 1341, stack limit = 0x8c840f89)
    [ 5734.200195] Stack: (0xcf567f10 to 0xcf568000)
    [ 5734.204559] 7f00:                                     c3ad5730 c3ad5730 00000000 c3ad5748
    [ 5734.212799] 7f20: 00000004 0c5237dc 6b0bed6a 520c6000 6aeddc37 c1a04cc8 cf74d880 c3ad5730
    [ 5734.221008] 7f40: c1ade5e8 00000000 cf74d880 cf74d884 cf566000 ffffe000 cf567f60 c02474cc
    [ 5734.229217] 7f60: 00000000 d00c8a00 cf566000 cf74d040 cf4fec80 c0247408 cf74d880 cf565ccc
    [ 5734.237426] 7f80: d00c8a24 c02484f8 00000000 cf74d040 c024836c 00000000 00000000 00000000
    [ 5734.245635] 7fa0: 00000000 00000000 00000000 c0200140 00000000 00000000 00000000 00000000
    [ 5734.253875] 7fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    [ 5734.262084] 7fe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000
    [ 5734.270294] [<c06f947c>] (memcmp) from [<bf152d54>] (nt_updater+0x45c/0x984 [prueth])
    [ 5734.278198] [<bf152d54>] (nt_updater [prueth]) from [<c02474cc>] (kthread_worker_fn+0xc4/0x1b0)
    [ 5734.286987] [<c02474cc>] (kthread_worker_fn) from [<c02484f8>] (kthread+0x18c/0x1cc)
    [ 5734.294769] [<c02484f8>] (kthread) from [<c0200140>] (ret_from_fork+0x14/0x34)
    [ 5734.302032] Exception stack(0xcf567fb0 to 0xcf567ff8)
    [ 5734.307098] 7fa0:                                     00000000 00000000 00000000 00000000
    [ 5734.315338] 7fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    [ 5734.323547] 7fe0: 00000000 00000000 00000000 00000000 00000013 00000000
    [ 5734.330200] Code: e2422001 e2403001 e0802002 e241c001 (e5f30001)
    [ 5734.336669] prueth pruss2_eth eth2: prueth_lre_emac_rx_packets: overflow_cnt_o = 10
    [ 5734.344787] prueth pruss2_eth eth2: prueth_lre_emac_rx_packets: overflow_cnt_o = 5
    [ 5734.359893] ---[ end trace 1f3c9649c5b91c87 ]---
    

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

    我注意到、在 SDK6 文档中、还有一个名为“广播风暴预防“的章节。 它解释了此 SDK 版本的 prueth 驱动程序中包含的风暴预防机制。 它中继以下 Linux 文件以启用和配置它:

    /sys/devices/platform/prussnsp_credit <ID> eth/net/ethe <if number> 

    我 在我们的器件中使用 TI SDK6 查找了该值、但该值在测试中未重新启动:NSP_CREDIT = 0、因此它被禁用。 请确认此假设。

    我们可以得出结论、在具有 SDK8 的器件中观察到的问题很可能是由 SDK 08.02.01 版本中引入的错误引起的。

    您是否注意到 SDK8 中的其他器件也有类似的行为? 我们将尝试在 IDK 中重现问题。

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

    您好、Naiara、

    这个功能被禁用的事实不能给我们足够的信息我恐怕. 我必须联系我们的开发团队、然后返回给您 Naiara。

    据我所知、我们还没有看到这方面的情况。

    感谢您的耐心。

    请注意、我们的标准支持模型不再支持此 SDK。

    -Josue

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

    您好 Josue、

    我们能够在 IDK 中重现内核崩溃:

    root@am57xx-evm:~# [ 2674.443359] 8<--- cut here ---
    [ 2674.446472] Unable to handle kernel paging request at virtual address f11f8000
    [ 2674.453796] printk: console [ttyS2]: printing thread stopped
    [ 2674.460021] pgd = 6d721529
    [ 2674.462860] [f11f8000] *pgd=80000080007003, *pmd=8168b003, *pte=00000000
    [ 2674.469970] Internal error: Oops: 207 [#1] PREEMPT_RT SMP ARM
    [ 2674.475738] Modules linked in: xfrm_user xfrm_algo sha512_generic sha512_arm sha256_generic libsha256 md5 aes_arm_bs crypto_simd cryptd aes_arm aes_generi)
    [ 2674.542541] CPU: 0 PID: 1695 Comm: prueth_nt Tainted: G           O      5.10.100-rt62-g204ec708dc #1
    [ 2674.551818] Hardware name: Generic DRA72X (Flattened Device Tree)
    [ 2674.557922] PC is at memcmp+0x18/0x3c
    [ 2674.561614] LR is at nt_updater+0x43c/0x964 [prueth]
    [ 2674.566619] pc : [<c05e7804>]    lr : [<bf22fb04>]    psr: 20010013
    [ 2674.572906] sp : c2337f10  ip : c2337f2d  fp : c2337f60
    [ 2674.578155] r10: f11f3600  r9 : 00010004  r8 : 00000940
    [ 2674.583404] r7 : c3b7b800  r6 : 000003b4  r5 : c38bff48  r4 : c3ba2440
    [ 2674.589965] r3 : f11f7fff  r2 : f11f8005  r1 : c2337f2e  r0 : f11f8000
    [ 2674.596527] Flags: nzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
    [ 2674.603698] Control: 30c5387d  Table: 82ea4540  DAC: fffffffd
    [ 2674.609466] Process prueth_nt (pid: 1695, stack limit = 0xb9002df3)
    [ 2674.615753] Stack: (0xc2337f10 to 0xc2338000)
    [ 2674.620147] 7f00:                                     c38bff30 c0b1fea4 c38bff48 c2336000
    [ 2674.628356] 7f20: 00000004 972ab380 000b6a7a 2a976000 7a6a80b3 40e548d0 c3ba2380 c38bff30
    [ 2674.636566] 7f40: c12df708 00000000 c3ba2380 c3ba2384 c2336000 ffffe000 c2337f60 c0247604
    [ 2674.644775] 7f60: 00000000 c3ba2840 c2336000 c3ba2280 c14c9000 c0247540 c3ba2380 c3bcdca4
    [ 2674.653015] 7f80: c3ba2864 c0248618 c14c9000 c3ba2280 c024848c 00000000 00000000 00000000
    [ 2674.661224] 7fa0: 00000000 00000000 00000000 c0200140 00000000 00000000 00000000 00000000
    [ 2674.669433] 7fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    [ 2674.677642] 7fe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000
    [ 2674.685882] [<c05e7804>] (memcmp) from [<bf22fb04>] (nt_updater+0x43c/0x964 [prueth])
    [ 2674.693786] [<bf22fb04>] (nt_updater [prueth]) from [<c0247604>] (kthread_worker_fn+0xc4/0x1c4)
    [ 2674.702545] [<c0247604>] (kthread_worker_fn) from [<c0248618>] (kthread+0x18c/0x1dc)
    [ 2674.710327] [<c0248618>] (kthread) from [<c0200140>] (ret_from_fork+0x14/0x34)
    [ 2674.717590] Exception stack(0xc2337fb0 to 0xc2337ff8)
    [ 2674.722686] 7fa0:                                     00000000 00000000 00000000 00000000
    [ 2674.730895] 7fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    [ 2674.739105] 7fe0: 00000000 00000000 00000000 00000000 00000013 00000000
    [ 2674.745758] Code: e2422001 e2403001 e0802002 e241c001 (e5f30001)
    [ 2674.759429] ---[ end trace 0000000000000002 ]---

    我正在尝试再次复制它以检查 IDK 是否也重新启动(昨天第一次看到崩溃没有重新启动,但我意识到它是今天上午重新启动的)。  

    另一方面,我们的系统 在新旧版本之间有另一个变化。 这与 TI SDK 文档中的“接收中断起搏“部分相关。 TI 建议对接口进行配置、以便在接收帧时起搏中断、从而通过减少 Linux 内核中的开销来在硬件上累积以太网帧并产生较少的中断数。 在 SDK 6 中、我们按照 TI 的建议对其进行了配置、但 SDK 8 中消失了对此节奏的驱动程序支持、因此我们将其从应用中删除。 SDK 8 文档仍建议使用该起搏机制、但它不起作用。

    此致

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

    Naiara,

    我仍在等待开发团队的反馈。 感谢您的更新。

    -Josue

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

    Naiara,

    您能否分享在 TI EVM 上重现此设计的过程和设置?

    -Josue

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

    你好 Josue、

    Naiara 将在下星期一回来,我无法正确地设置环境来重现问题,但我相信我们将能够提供步骤在 IDK 下周重现。

    我的手在 她的 阴道里轻轻地抚摸着,在她的阴户上轻轻地抚摸着。  由于失败的函数是从 nt_updater() 调用的 memcmp() 、因此它看起来像调用栈

    memcmp()
    node_table_insert_from_queue()
    pop_queue()
    pop_queue_process()
    nt_updater()

    在  node_table_insert_from_queue() 中、这将是以下行:

    static int node_table_insert_from_queue(struct node_tbl *nt,
    					struct nt_queue_entry *entry)
    {
    	[...]
    	if (IND_BIN_NO(hash) == 0) {
    		/* there is no bin for this hash, create one */
    		index = find_free_bin(nt);
    		if (index == nt->bin_array_max_entries)
    			return LRE_ERR;
    
    		IND_BINOFS(hash) = index;
    	} else {
    		for (index = IND_BINOFS(hash);
    		     index < IND_BINOFS(hash) + IND_BIN_NO(hash); index++) {
    			if ((memcmp(nt->bin_array->bin_tbl[index].src_mac_id,
    				    macid, ETH_ALEN) == 0)) {
    				not_found = 0;
    				break;
    			}
    		}
    	}
    	[...]
    }

    在讨价还价时、我发现这篇文章是 5 年前发布的、对于 SDK 05.03.00.07  AM4376:Linux/RT PRP/PRP 驱动程序问题 

    在它中,  ·阿加尼切夫提供了一个似乎集成在 prueth_lge.c 文件中的 diff。 不过 、由于我找不到任何--index;或等效项、因此 TI 似乎没有在存储库中找到此部件。

    --- 341,348 ----
      		if (empty_slot != nt->nt_array_max_entries) {
      			move_down(index, empty_slot, nt, true);
      		} else {
    ! 			--index;
    ! 			for (empty_slot = index;
      			     (BIN_NODEOFS(empty_slot) !=
      			     nt->nt_array_max_entries) &&
      			     (empty_slot > 0);
    

    遵循 起来并不容易、因为函数是从不同文件中移动的(在 SDK 5 中为 prueth_node_tbl.c、在 SDK 8 中为 prueth_lre.c)。  您能否确认该建议是否被排除在功能的最终版本之外是有意的还是意外的?

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

    塞巴斯蒂安

    感谢您的更新 Sebastian、正如我之前提到的、实施此计划的团队不再与 TI 合作、也不再担任其他职位、因此回答历史问题并不容易。  

    很好的调查。 当我尝试让系统在我这边启动并运行时、我会牢记这一点。

    -Josue

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

    您好、Sebastian、Naiara、

    我相信我最终重新创建了这些内容、我将继续测试和验证与我共享的更改。  

    root@am57xx-evm:~# ifconfig[ 3375.595397] 8<--- cut here ---
    [ 3375.598602] Unable to handle kernel paging request at virtual address f11f0000
    [ 3375.606140] pgd = 9176f0c2
    [ 3375.608886] [f11f0000] *pgd=80000080007003, *pmd=8167d003, *pte=00000000
    [ 3375.615844] Internal error: Oops: 207 [#1] PREEMPT SMP ARM
    [ 3375.621368] Modules linked in: xfrm_user xfrm_algo sha512_generic sha512_arm sha256_generic libsha256 md5 aes_arm)
    [ 3375.688201] CPU: 0 PID: 1301 Comm: prueth_nt Tainted: G        W  O      5.10.100-g7a7a3af903 #1
    [ 3375.697021] Hardware name: Generic DRA72X (Flattened Device Tree)
    [ 3375.703155] PC is at memcmp+0x18/0x3c
    [ 3375.706848] LR is at nt_updater+0x448/0x974 [prueth]
    [ 3375.711822] pc : [<c05e26e8>]    lr : [<bf20fc00>]    psr: 20070013
    [ 3375.718109] sp : c3a6bf10  ip : c3a6bf2d  fp : 00000006
    [ 3375.723358] r10: f11eb600  r9 : 000100ff  r8 : 00000940
    [ 3375.728607] r7 : c45fd800  r6 : 000001bc  r5 : c2d82d48  r4 : c3a29900
    [ 3375.735168] r3 : f11effff  r2 : f11f0005  r1 : c3a6bf2e  r0 : f11f0000
    [ 3375.741729] Flags: nzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
    [ 3375.748901] Control: 30c5387d  Table: 82da0340  DAC: fffffffd
    [ 3375.754669] Process prueth_nt (pid: 1301, stack limit = 0x17abb59c)
    [ 3375.760955] Stack: (0xc3a6bf10 to 0xc3a6c000)
    [ 3375.765319] bf00:                                     c2d82d30 000000a5 c2d82d48 c3a6a000
    [ 3375.773559] bf20: 00000004 032ab380 0006edbd 2a03a000 bded80b3 c385a5c3 c3a29a80 c2d82d30
    [ 3375.781768] bf40: c12d8e90 00000000 c3a29a80 c3a29a84 c3a6a000 ffffe000 c3a6bf60 c0247a14
    [ 3375.789978] bf60: 00000000 c3a29700 c3a299c0 c3a6a000 00000000 c0247950 c3a29a80 c4605ca4
    [ 3375.798187] bf80: c3a29724 c02489f0 00000000 c3a299c0 c02488a0 00000000 00000000 00000000
    [ 3375.806396] bfa0: 00000000 00000000 00000000 c0200138 00000000 00000000 00000000 00000000
    [ 3375.814605] bfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    [ 3375.822845] bfe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000
    [ 3375.831054] [<c05e26e8>] (memcmp) from [<bf20fc00>] (nt_updater+0x448/0x974 [prueth])
    [ 3375.838928] [<bf20fc00>] (nt_updater [prueth]) from [<c0247a14>] (kthread_worker_fn+0xc4/0x1c4)
    [ 3375.847686] [<c0247a14>] (kthread_worker_fn) from [<c02489f0>] (kthread+0x150/0x190)
    [ 3375.855468] [<c02489f0>] (kthread) from [<c0200138>] (ret_from_fork+0x14/0x3c)
    [ 3375.862701] Exception stack(0xc3a6bfb0 to 0xc3a6bff8)
    [ 3375.867797] bfa0:                                     00000000 00000000 00000000 00000000
    [ 3375.876007] bfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    [ 3375.884216] bfe0: 00000000 00000000 00000000 00000000 00000013 00000000
    [ 3375.890869] Code: e2422001 e2403001 e0802002 e241c001 (e5f30001) 
    [ 3375.899749] ---[ end trace d0416ffcf2fcbd9e ]---
    

    很抱歉耽误你的时间。  

    您能告诉我这些行背后的原因是什么(从起始冗余脚本开始)?

    /usr/sbin/ethtool -K eth4 hsr-fwd-offload off
    
    /usr/sbin/ethtool -K eth5 hsr-fwd-offload off
    
    /usr/sbin/ethtool -K eth4 l2-fwd-offload off
    
    /usr/sbin/ethtool -K eth5 l2-fwd-offload off

    我将在下周再深入研究一下。

    -Josue

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

    你好、Josue。 很高兴听到您能够重现此问题!

    我记得没错、这些卸载功能适用于 HSR、因此在启用 PRP W 时会恢复这些功能。 您认为它们应该在此模式下启用吗?

    我没有在没有这些线路的情况下进行测试、但这是让 Linux 将正确的固件加载到 PRUSS 中的方法。

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

    我在劳动节期间不在办公室。  

    感谢您的耐心!

    -Josue

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

    塞巴斯蒂安

    很遗憾、本周已根据 BW 为我加载了内容。 我将努力在明天再次实现这一目标。

    此致、

    Josue

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

    你好 Josue、

    对此有任何更新? 您是否有机会检查 提供的补丁?

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

    塞巴斯蒂安

    还没有使用。 我很抱歉等待、但我已经加载了开发活动和升级。

    当我有 BW 时、我会在此处通知您。

    -Josue