【问题标题】:BeagleBone Pocket CAN0 and CAN1 doesn't workBeagleBone Pocket CAN0 和 CAN1 不工作
【发布时间】:2018-10-01 12:00:14
【问题描述】:

我的 beaglebone 口袋有问题,需要帮助。我尝试使用 MCP2551 收发器设置 can0。我加载了 BB-CAN0-00A0.dtbo 和 BB-CAN1-00A0.DTBO 但我在 /sys/class/net 中没有 can 设备,并且设备 can0 和 can1 不存在。

这是我的 version.sh 日志



    git:/opt/scripts/:[73593ebe3b7d3cc381eeb502d45ccb33a6ec5e78]
    eeprom:[A335PBGL00A21748EPB00201]
    model:[TI_AM335x_PocketBeagle]
    dogtag:[BeagleBoard.org Debian Image 2018-08-30]
    bootloader:[microSD]:[/dev/mmcblk0]:[U-Boot 2018.03-00002-gac9cce7c6a]:[location: dd MBR]
    kernel:[4.14.67-ti-r73]
    nodejs:[v6.14.4]
    uboot_overlay_options:[enable_uboot_overlays=1]
    uboot_overlay_options:[uboot_overlay_addr4=/lib/firmware/BB-CAN0-00A0.dtbo]
    uboot_overlay_options:[uboot_overlay_addr5=/lib/firmware/BB-CAN1-00A0.dtbo]
    uboot_overlay_options:[uboot_overlay_pru=/lib/firmware/AM335X-PRU-RPROC-4-14-TI-00A0.dtbo]
    uboot_overlay_options:[enable_uboot_cape_universal=1]
    pkg check: to individually upgrade run: [sudo apt install --only-upgrade ]
    pkg:[bb-cape-overlays]:[4.4.20180803.0-0rcnee0~stretch+20180804]
    pkg:[bb-wl18xx-firmware]:[1.20180517-0rcnee0~stretch+20180517]
    pkg:[kmod]:[23-2rcnee1~stretch+20171005]
    pkg:[librobotcontrol]:[1.0.2-git20180829.0-0rcnee0~stretch+20180830]
    pkg:[firmware-ti-connectivity]:[20170823-1rcnee1~stretch+20180328]
    groups:[debian : debian adm kmem dialout cdrom floppy audio dip video plugdev users systemd-journal i2c bluetooth netdev cloud9ide gpio pwm eqep admin spi tisdk weston-launch xenomai]
    cmdline:[console=ttyO0,115200n8 bone_capemgr.uboot_capemgr_enabled=1 root=/dev/mmcblk0p1 ro rootfstype=ext4 rootwait coherent_pool=1M net.ifnames=0 quiet]
    dmesg | grep pinctrl-single
    [    1.148050] pinctrl-single 44e10800.pinmux: 142 pins at pa f9e10800 size 568
    [    1.241720] pinctrl-single 44e10800.pinmux: pin PIN95 already requested by ocp:P1_28_pinmux; cannot claim for 481cc000.can
    [    1.253051] pinctrl-single 44e10800.pinmux: pin-95 (481cc000.can) status -22
    [    1.260180] pinctrl-single 44e10800.pinmux: could not request pin 95 (PIN95) from group pinmux_dcan0_pins  on device pinctrl-single
    [    1.280383] pinctrl-single 44e10800.pinmux: pin PIN97 already requested by ocp:P2_09_pinmux; cannot claim for 481d0000.can
    [    1.291556] pinctrl-single 44e10800.pinmux: pin-97 (481d0000.can) status -22
    [    1.298668] pinctrl-single 44e10800.pinmux: could not request pin 97 (PIN97) from group pinmux_dcan1_pins  on device pinctrl-single
    dmesg | grep gpio-of-helper
    [    1.156291] gpio-of-helper ocp:cape-universal: ready
    END

还有我的 /boot/uEnv.txt:



    uname_r=4.14.67-ti-r73
    #uuid=
    #dtb=

    ###U-Boot Overlays###
    ###Documentation: http://elinux.org/Beagleboard:BeagleBoneBlack_Debian#U-Boot_Overlays
    ###Master Enable
    enable_uboot_overlays=1
    ###
    ###Overide capes with eeprom
    #uboot_overlay_addr0=/lib/firmware/.dtbo
    #uboot_overlay_addr1=/lib/firmware/.dtbo
    #uboot_overlay_addr2=/lib/firmware/.dtbo
    #uboot_overlay_addr3=/lib/firmware/.dtbo
    ###
    ###Additional custom capes
    uboot_overlay_addr4=/lib/firmware/BB-CAN0-00A0.dtbo
    uboot_overlay_addr5=/lib/firmware/BB-CAN1-00A0.dtbo
    #uboot_overlay_addr6=/lib/firmware/.dtbo
    #uboot_overlay_addr7=/lib/firmware/.dtbo
    ###
    ###Custom Cape
    #dtb_overlay=/lib/firmware/.dtbo
    ###
    ###Disable auto loading of virtual capes (emmc/video/wireless/adc)
    #disable_uboot_overlay_emmc=1
    #disable_uboot_overlay_video=1
    #disable_uboot_overlay_audio=1
    #disable_uboot_overlay_wireless=1
    #disable_uboot_overlay_adc=1
    ###
    ###PRUSS OPTIONS
    ###pru_rproc (4.4.x-ti kernel)
    #uboot_overlay_pru=/lib/firmware/AM335X-PRU-RPROC-4-4-TI-00A0.dtbo
    ###pru_rproc (4.14.x-ti kernel)
    uboot_overlay_pru=/lib/firmware/AM335X-PRU-RPROC-4-14-TI-00A0.dtbo
    ###pru_uio (4.4.x-ti, 4.14.x-ti & mainline/bone kernel)
    #uboot_overlay_pru=/lib/firmware/AM335X-PRU-UIO-00A0.dtbo
    ###
    ###Cape Universal Enable
    enable_uboot_cape_universal=1
    ###
    ###Debug: disable uboot autoload of Cape
    #disable_uboot_overlay_addr0=1
    #disable_uboot_overlay_addr1=1
    #disable_uboot_overlay_addr2=1
    #disable_uboot_overlay_addr3=1
    ###
    ###U-Boot fdt tweaks... (60000 = 384KB)
    #uboot_fdt_buffer=0x60000
    ###U-Boot Overlays###

    cmdline=coherent_pool=1M net.ifnames=0 quiet

    #In the event of edid real failures, uncomment this next line:
    #cmdline=coherent_pool=1M net.ifnames=0 quiet video=HDMI-A-1:1024x768@60e

    #Use an overlayfs on top of a read-only root filesystem:
    #cmdline=coherent_pool=1M net.ifnames=0 quiet overlayroot=tmpfs

    ##enable Generic eMMC Flasher:
    ##make sure, these tools are installed: dosfstools rsync
    #cmdline=init=/opt/scripts/tools/eMMC/init-eMMC-flasher-v3.sh

如果您有任何建议,我不明白我的配置有什么问题。

谢谢

【问题讨论】:

  • 我认为 Cape-universal 与叠加层冲突,您可能需要禁用它。 dmesg 输出中是否有关于 CAN 的信息?
  • @TBR:这就是解决方案。我已经找了好几天了。您能否提供一个官方答案,以便搜索更友好?
  • @MB 你去。很高兴它有助于解决您遇到的问题。

标签: linux beagleboneblack can-bus


【解决方案1】:

cape-universal 可能与您尝试加载的叠加层发生冲突。比如本例。

一种可能的方法是禁用 cape-universal。另一种选择可能是尝试在运行时进行设置。不过,对于不会改变前者的静态硬件设置来说更可取。

请注意,BBB 的默认图像不断发展,因此这不是一个普遍的答案。

【讨论】:

    猜你喜欢
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    • 2019-12-10
    • 2012-08-15
    • 2023-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多