Using hardware without cape-universal

Hello folks,

I am trying to optimize the boot time of my system with Waveshare CAN cape.

I got CAN1 (P24,P26) working by setting in uEnv.txt:

uboot_overlay_addr0=/lib/firmware/BB-CAN1-00A0.dtbo

It is also possible to use config-pin (I later noticed that this is a feature of cape-universal) to enable CAN1 as explained in this link: https://www.thomas-wedemeyer.de/beaglebone-canbus-python.html

While trying to reduce boot time, I realized that disabling cape-universal significantly reduces boot time. However when I disable it, CAN bus stops working and I get the following error when trying to enable it:

debian@beaglebone:~$ sudo ip link set can1 up type can bitrate 500000 Cannot find device "can1"

Is it possible to use the CAN interface without cape-universal? How can I avoid unneeded hardware initialization to reduce boot time?

Thanks
Bora

start over with a fresh image:

https://rcn-ee.net/rootfs/bb.org/testing/2019-05-27/stretch-iot/

There has been a lot of boot-time optimization all over the image..
and you didn't state which one you are running?

Regards,

I am using the lxqt image, booting to multi-user target instead of the desktop. I also tried with IoT image but the Kernel itself takes 25 sec. to boot, not mentioning the userland. I believe the cape-universal is enabled there by default, too. Is cape-universal necessary to use the hardware like can bus, or is it possible to disable it? If so, how can I enable can1 without cape-universal?

Regards
Bora

Up

Hello Robert,

Is there a place that we can track the changes made to the image? I already have configured my image and starting with a new image would take a long time.

I still do not understand why disabling cape-universal affects the operation of can1 overlay.. why do we have to wait hardware initialization that we wont use at all?

Thanks
Bora