This forum covers PCAN-Linux and Linux development issues concerning our products
-
jwillnetwork
- Posts: 5
- Joined: Mon 14. Jun 2021, 14:30
Post
by jwillnetwork » Thu 22. Jul 2021, 16:37
Code: Select all
FROM amd64/python:3.7-slim-buster
WORKDIR /app
ADD cisco_umbrella_root_ca.crt /usr/local/share/ca-certificates/cisco_umbrella_root_ca.crt
RUN chmod 644 /usr/local/share/ca-certificates/cisco_umbrella_root_ca.crt && update-ca-certificates
RUN apt-get update
RUN apt-get install make -y
#RUN apt-get install linux-headers -y
RUN apt-get install -y --no-install-recommends software-properties-common
RUN apt-get -y install sudo
RUN sudo apt-get install -y --no-install-recommends gcc make python3-dev
#RUN pip install psutil --cert="/usr/local/share/ca-certificates/cisco_umbrella_root_ca.crt"
#RUN pip3 install ptvsd==4.1.3 --cert="/usr/local/share/ca-certificates/cisco_umbrella_root_ca.crt"
#COPY requirements.txt ./
#RUN pip3 install -r requirements.txt --cert="/usr/local/share/ca-certificates/cisco_umbrella_root_ca.crt"
#RUN pip3 install j1939 --cert="/usr/local/share/ca-certificates/cisco_umbrella_root_ca.crt"
#RUN pip3 install cantools --cert="/usr/local/share/ca-certificates/cisco_umbrella_root_ca.crt"
#RUN pip3 install aio-timers --cert="/usr/local/share/ca-certificates/cisco_umbrella_root_ca.crt"
RUN pip install psutil
RUN pip3 install ptvsd==4.1.3
COPY requirements.txt ./
RUN pip3 install -r requirements.txt
RUN pip3 install j1939
RUN pip3 install cantools
RUN pip3 install aio-timers
#RUN apt-get install udev
#RUN apt-get install kmod
RUN mkdir -p /temp/peak-linux-driver-8.12.0
ADD peak-linux-driver-8.12.0 /temp/peak-linux-driver-8.12.0
WORKDIR /temp/peak-linux-driver-8.12.0/driver
RUN sudo make clean
#RUN make
RUN make install
RUN modprobe pcan
WORKDIR /app
COPY . .
CMD [ "python3", "-u", "./main.py" ]
There's my dockerfile to run the peak adapter in a docker container running ubuntu 18.04. The error is "Makefile:129 *** Unable to automatically find the kernel headers. These are mandatory to build the pcan driver. Please set the KERNEL_LOCATION variable to the root directory of your own built kernel."
What should I do next?
Last edited by
M.Gerber on Mon 26. Jul 2021, 11:35, edited 1 time in total.
Reason: Inserted [code] tag for improved readability.
-
M.Heidemann
- Sales & Support

- Posts: 1083
- Joined: Fri 20. Sep 2019, 13:31
Post
by M.Heidemann » Fri 23. Jul 2021, 08:27
Hello,
We do not use Docker and cannot support Docker environments,
however it seems like the installation of kernel-headers is commented out:
Code: Select all
#RUN apt-get install linux-headers -y
As the error-message clearly states, these are required to build the PCAN-Linux driver.
Try to have your docker container setup with kernel-headers installed and try again.
Please also note the requirements mentioned in the PCAN-Linux documentation, chapter "2.2 - System Requirements":
http://www.peak-system.com/fileadmin/me ... an_eng.pdf
Please report back to us if this has resolved your issue.
Best Regards
Marvin
---
Marvin Heidemann
PEAK-Support Team
-
jwillnetwork
- Posts: 5
- Joined: Mon 14. Jun 2021, 14:30
Post
by jwillnetwork » Mon 2. Aug 2021, 19:19
Getting the can messages over socketcan worked instead of pcan_usb using the docker container.
During device setup in the container this code was used:
self.ecu.connect(bustype='socketcan', channel='can0')
#self.ecu.connect(bustype='pcan', channel='PCAN_USBBUS1', bitrate=250000)
Running this script on the device before container deployment allowed the messages to be uploaded:
sudo modprobe peak-usb
sudo ip link set can0 up type can bitrate 250000
sudo ip link set up can0
-
M.Heidemann
- Sales & Support

- Posts: 1083
- Joined: Fri 20. Sep 2019, 13:31
Post
by M.Heidemann » Tue 3. Aug 2021, 08:05
Hello,
Thank you for your feedback!
Best Regards
Marvin
---
Marvin Heidemann
PEAK-Support Team