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.

[参考译文] SK-AM62P-LP:启用“通过器件树覆盖“后 CAN 接口不可见

Guru**** 2530270 points
Other Parts Discussed in Thread: AM62P

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1563926/sk-am62p-lp-can-interface-not-visible-after-enabling-via-device-tree-overlay

器件型号:SK-AM62P-LP
主题:AM62P 中讨论的其他器件

工具/软件:

尊敬的专家:

我尝试按照 Android 15 文档通过设备树叠加来启用 CAN:

software-dl.ti.com/.../Application_Notes_dtbo_support.html

我使用了以下命令:

=> env set adtbo_idx 9
=> saveenv
=> reset

成功引导设备后、我在ip link show列表中找不到 CAN 接口。

am62p:/# ip link show
1:低: MTU 65536 qdisc noqueue 状态未知模式默认组缺省值 qlen 1000
链接/回送 00:00:00:00:00:00 brd 00:00:00:00:00:00:00
2:dummy0: MTU 1500 qdisc noqueue 状态未知模式默认组默认 qlen 1000
链路/醚 7e:e0:7f:9f:22:00 brd ff:ff:ff:ff:ff:ff:ff:ff:ff
3:ifb0: MTU 1500 qdisc noop 状态停机模式默认组缺省值 qlen 32
链接/醚:95:53:a0:98:D7 brd ff:ff:ff:ff:ff:ff:ff:ff
4:ifb1: MTU 1500 qdisc noop 状态停机模式默认组缺省值 qlen 32
链路/醚 02:3D:db:D9:3f:ed brd ff:ff:ff:ff:ff:ff:ff:ff
5: tunl0@none: MTU 1480 qdisc noop 状态下行模式默认组缺省值 qlen 1000
Link/ipip 0.0.0.0 brd 0.0.0.0
6:gre0@none: MTU 1476 qdisc noop 状态下行模式默认组缺省值 qlen 1000
链接/GRE 0.0.0.0 BRD 0.0.0.0
7: gretap0@none: MTU 1462 qdisc noop 状态下行模式默认组缺省值 qlen 1000
链接/协议 00:00:00:00:00:00 Brd ff:ff:ff:ff:ff:ff:ff:ff:ff
8:erspan0@无: MTU 1450 qdisc noop 状态停机模式默认组缺省值 qlen 1000
链接/协议 00:00:00:00:00:00 Brd ff:ff:ff:ff:ff:ff:ff:ff:ff
9:ip_vti0@无: MTU 1480 qdisc noop 状态下行模式默认组缺省值 qlen 1000
Link/ipip 0.0.0.0 brd 0.0.0.0
10:IP6_vti0@无: MTU 1364 qdisc noop 状态停机模式默认组缺省值 qlen 1000
链接/tunnel6 :: brd :::
11: sit0@none: MTU 1480 qdisc noop 状态下行模式默认组缺省值 qlen 1000
链接/ SIT 0.0.0.0 Brd 0.0.0.0
12: ip6tnl0@none: MTU 1452 qdisc noop 状态下行模式默认组缺省值 qlen 1000
链接/tunnel6 :: brd :::
13: ip6gre0@none: MTU 1448 qdisc noop 状态停机模式默认组缺省值 qlen 1000
链接/gre6 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 Brd 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
14:eth0: MTU 1500 qdisc noop 状态停机模式默认组缺省值 qlen 1000
链路/醚 c0:d6:0A:F9:6a:db brd ff:ff:ff:ff:ff:ff:ff:ff:ff:ff
15:eth1: MTU 1500 qdisc noop 状态停机模式默认组缺省值 qlen 1000
链路/醚 2e:C7:A4:1c:83:00 brd ff:ff:ff:ff:ff:ff:ff:ff:ff

此致、

Bibin Robin

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

    您好、

    您能否确认您使用的是 Linux 还是 MCU+、RTOS、裸机域?

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

    我使用的是 Android 15

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

    您好、
    期待您的答复。

    此致、
    Bibin

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

    尊敬的 Varun:

    我想跟进几天前发布的关于设备树重叠的问题。 我知道您可能很忙、但您的意见对我的项目很有帮助。

    此致、

    Bibin

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

    你好 Divyansh Mittal 。你能检查吗?

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

    你好 Varun C , Divyansh Mittal 

    这些是 dmesg -w 的日志 mesage

    130|控制台:/vendor_DLKM/lib/modules # dmesg -w
    [1167.467962 ] m_can:未知符号 alloc_candev_MQS(错误–2)
    [1167.468035] m_can:未知符号 free_candev (err –2)
    [ 1167.468071] m_can:未知符号 can_rx_offload_add_manual (err –2)
    [ 1167.468117] m_can:未知符号 can_rx_offload_del (err –2)
    [ 1167.468144] m_can:can_transmitter 的未知符号 (err –2)
    [ 1167.468169] m_can:受保护符号:irq_wake_thread (err –13)
    [ 1167.468193] m_can:未知符号 register_candev (err –2)
    [ 1167.468215] m_can:未知符号 unregister_candev (err –2)
    [ 1167.468287] m_can:未知符号 can_rx_offload_get_echo_skb_queue_timestamp (err –2)
    [ 1167.468304] m_can:未知符号 can_get_echo_skb (err –2)
    [ 1167.468319] m_can:未知符号 can_rx_offload_threading_irq_finish (err –2)
    [ 1167.468337] m_can:未知符号 alloc_can_err_skb (err –2)
    [ 1167.468352] m_can:未知符号 can_rx_offload_queue_timestamp (err –2)
    [1167.468373] m_can:未知符号 alloc_can_skb (err –2)
    [1167.468542] m_can:未知符号 alloc_canfd_skb (err –2)
    [1167.468573] m_can:未知符号 can_fd_dlc2len (err –2)
    [ 1167.468634] m_can:未知符号 can_bus_off (err –2)
    [ 1167.468656] m_can:未知符号 can_free_echo_skb (err –2)
    [ 1167.468695] m_can:未知符号 open_candev (err –2)
    [ 1167.468711] m_can:未知符号 can_rx_offload_enable (err –2)
    [ 1167.468777] m_can:未知符号 close_candev(错误–2)
    [ 1167.46899] m_can:未知符号 can_dropped_invalid_skb (err –2)
    [1167.468815] m_can:未知符号 can_skb_get_frame_len (err –2)
    [1167.468856] m_can:未知符号 can_fd_len2dlc (err –2)
    [1167.468880] m_can:未知符号 can_put_echo_skb (err –2)
    [ 1167.468915] m_can:未知符号 can_change_mtu (err –2)


    [1218.426865] m_can_platform: unknown symbol m_can_class_allocat_dev (err –2)
    [1218.426910] m_can_platform:未知符号 m_can_clase_get_clocks (err –2)
    [1218.426991] m_can_platform:未知符号 m_can_class_register (err –2)
    [1218.427012] m_can_platform:未知符号 m_can_clase_free_dev (err –2)
    [1218.427027] m_can_platform: unknown symbol m_can_class_unregister (err –2)
    [1218.427059] m_can_platform:未知符号 m_can_class_suspend (err –2)
    [1218.427075] m_can_platform:未知符号 m_can_clase_resume (err –2)

    此致、

    Bibin Robin

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

    您好:

    很抱歉耽误你的时间。

    只是为了确认、考虑到错误日志的时间、您尝试手动加载驱动程序? 驱动程序应使用器件树叠加层自动加载。

    错误表明 CAN 驱动器因 gki 符号错误而无法加载。

    可能需要修补和重建内核来绕过符号错误。 此错误将在下一个 Android 版本中得到修复。

    我们将向您提供更多信息。

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

    您好、Maxime:

    是的这些是我尝试手动加载驱动程序时的日志,但当我尝试使用 DTBO 时,我得到了类似的错误


    6.109745][T168] ueventd:无法使用 args ''输入/vendor/lib/modules/can-dev.ko:权限被拒绝
    [6.119968][T168] ueventd: LoadWithAliases 无法加载/vendor/lib/modules/can-dev.ko、尝试了:can_dev
    [6.130255][T168] ueventd: LoadWithAliases 无法加载:NcanT(null)Cbosch,m_can,已尝试: M_can_platform, of : NcanT(null)Cbosch,m_can

    6.190704][T167] can_dev:导出受保护的符号 can_eth_ioctl_HWTS
    [6.256785][T167] ueventd:无法使用 args ''输入/vendor/lib/modules/can-dev.ko:权限被拒绝
    [6.266944][T167] ueventd:LoadWithAliases 无法加载/vendor/lib/modules/can-dev.ko、尝试了:can_dev
    [6.266988][T167] ueventd: LoadWithAliases 无法加载:NcanT(null)Cbosch,m_can,尝试: M_can_platform, of : NcanT(null)Cbosch,m_can

    此致、

    Bibin

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

    您好、是的、很遗憾、需要重新编译内核才能加载 CAN 驱动程序。

    下面是补丁: e2e.ti.com/.../update_5F00_symbols_5F00_list_5F00_can_5F00_drivers.diff

    您将需要重建内核和 Android BSP 来部署它。 请遵循文档: https://software-dl.ti.com/processor-sdk-android/esd/AM62PX/latest/docs/android/、Foundational_Components_Kernel

    该修补程序在 repo sync 命令后应用于内核根树的“common “目录中。

    请告诉我这是否有效。

    谢谢你。

    此致、

    马克西姆