You have to Sign Up
before you can post: click the Sign Up link above to proceed.
To start viewing messages, select the forum category that you want to visit from the selection below.
You can only create a post inside one of the forum categories.
Do your best to select a forum category that is most relevant to your question.
You can only download attachments in posts when you are logged in.
A while back I purchased the 4DPi-24-HAT to use with a Raspberry PI3.
It worked fine, but each time I did an apt-get update & upgrade, it stopped working (known problem...).
In theory I can avoid problems by waiting for an updated kernel release, the problem is to know which kernel package is the most recent.
The product page still shows: 4DPi-24-HAT Kernel Package (Kernel 4.9.35). I know there are more recent releases.
The page doesn't seem up to date. PS: the webserver disallows directory browsing so I can't easily find out the most recent file.
So I am looking for a more permanent and stable solution.
I understand that building a custom kernel for the Raspberry PI could be the solution.
I have some experience with Linux but building a custom kernel is something new for me.I checked the posts on the forum and did some research.
Some relevant posts:
Compiling device tree overlays (only necessary if overlay sources are mofified):
recent dtc (device tree compiler) has to be installed. A script is provided.
For example DT overlay for 24-hat can be compiled with:
./dtc.sh 24-hat
resulting .dtb files should be flashed to HAT EEPROMs or copied to:
/boot/overlays on RPi.
I am not sure it is relevant here.
Enable driver(s) in menuconfig and build the kernel:
Code:
cd ~/linux
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig
I enabled the 4D modules as described here:
Code:
Enable driver(s) in menuconfig and build the kernel:
Device Drivers-->Graphics support
<*> Support for 4D Systems display modules --->
<*> 4D Systems LCD HAT support (2.4, 3.2 and 3.5 inch)
<*> DMA Enabled SPI Master Driver
<M> Module for ADS7846 resistive touch screen controller
<M> Module for AR1020 resistive touch screen controller
<M> Module for DMA supported PWM backlight driver
Screenshot: Menuconfig for 4D
Build sources:
For Pi 2, Pi 3, or Compute Module 3:
Code:
cd linux
KERNEL=kernel7
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- bcm2709_defconfig
Next:
Code:
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage modules dtbs
Finally, I followed the section 'Install directly onto the SD card'.
I have a clean and working micro SD card with Raspbian.
Version:
Code:
Raspbian Stretch with desktop
Version: April 2018
Release date: 2018-04-18
Using lsblk my SD cards shows up as sdh1 & sdh2
Code:
mkdir mnt
mkdir mnt/fat32
mkdir mnt/ext4
sudo mount /dev/sdh1 mnt/fat32
sudo mount /dev/sdh2 mnt/ext4
Next, install the modules:
Code:
sudo make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- INSTALL_MOD_PATH=mnt/ext4 modules_install
Finally, copy the kernel and Device Tree blobs onto the SD card, making sure to back up your old kernel:
I have verified that the resulting image is still bootable by connecting a screen to the HDMI plug.
However, I am wondering if I got the steps in the right order.
In the /boot/overlays/ directory I don't see any 4D files
At this time my /boot/config.txt does not contain directives about overloads.
Could someone confirm if I am on the right track ?
@4D team: as a workaround is there any way you could keep the product page up to date with a link to the most recent kernel files ?
We do update the product page as soon as the new kernel pack is available and has been tested. We try to do this as promptly as we can after a new Raspbian release has been done.
We are currently updating the datasheet to update some instructions to catch with the raspberry pi fast update.
For now, here is the new link for new 4DPi kernel:
thank you for trying to keep up with the kernel development and Raspbian releases. I'm the creator of the other topic (https://forum.4dsystems.com.au/forum...anch-rpi-4-9-y) and would like to compile a kernel for the current 4.14 branch. Could you please provide the used sources for the display driver?
The download link is currently being resolved. After we changed to a new website and server a few things like this broke, and they are in progress to be solved. The actual file can be found on the download section of the product page on the website however.
We are trying to get this resolved as soon as possible.
James_4DSystems, please provide the link where updated kernel can be found. I have the same result as mhaag have. My situation is urgent, I need to get my display running as soon as possible. We use this displays on our instruments at work. You guys need to resolve this quickly.
Beside the fact that the kernel link doesn't work, there is another issue with the bitbucket source code, why are there files as compiled binary in the repo?
compress-v6.o
compress-v7.o
are only available as binary, this makes it almost impossible for future kernel versions to compile...
is it possible to check in the source files for it?
e.g.:
drivers/video/gen4-hats/compress-v6.o: In function `lcdpi_spi_write':
compress-v6.c.text+0x88): undefined reference to `__memzero'
drivers/video/gen4-hats/compress-v6.o: In function `lcdpi_spi_write_ssd1963':
compress-v6.c.text+0x140): undefined reference to `__memzero'
drivers/video/gen4-hats/compress-v6.o: In function `write_spi_dma':
compress-v6.c.text+0x1cc): undefined reference to `__memzero'
drivers/video/gen4-hats/4dpi_touch.o: In function `ads7846_remove':
4dpi_touch.c.text+0xb50): undefined reference to `hwmon_device_unregister'
drivers/video/gen4-hats/4dpi_touch.o: In function `ads7846_probe':
4dpi_touch.c.text+0x1a6c): undefined reference to `hwmon_device_unregister'
4dpi_touch.c.text+0x1ab8): undefined reference to `hwmon_device_register'
Thanks for your answer, i found now a precompiled version in download section: gen4-hats_4-14-34_v1.1.tar_1.gz
But these binaries does not work, why is the source code not complete in the Bitbucket repo?
I want compile them with an actual kernel to get support for
Debian Buster Distribution, because the Stretch Distribution is not longer available for download on the http://downloads.raspberrypi.org/
page.
If i use your precompiled version with Buster i get following errors during boot:
spi-bcm2835 3f00b840..spi: could not get clk: -517
bcm2835_vchiq 3f00b840.mailbox: Missing firmware node
irq 39: nobody cared (try booting with the "irqpoll" option)
....
I can see afterwards the screen with the LXQT Desktop but the RASPI stucks/freezes after the boot.
Please help, i have 4 Displays and i want them up and running until end of this week.
KR,
Markus
Here is a pre-release Kernel Pack for the Buster Desktop release from July 2019. It is not working for Lite yet it seems, but hopefully there will be an update soon.
Please note the /download link as per the datasheet is not working currently, we are actively trying to resolve this.
For now, you can download the Pre-Release kernel pack from the product pages on the website.
Kernel 4-19-57
CHRIS4DSYSTEMS what kernel is your Jessie OS running?
At the moment while our server is still being sorted so the links work as per the Datasheet, you will need to download the file and put it onto a flash drive or something, and then plug it into your Pi, and then execute the commands from the Datasheet but pointing to the file you downloaded. But you wont be able to install the one listed above on top of Jessie I wouldn't think, you would need the one to match the OS Kernel you are using.
Let me know what you are using and ill try and find the matching older Kernel Patch for it.
Hey James, thanks for your support. Unfortunately it did not work for me. It did go through the install on Raspbian Buster OS, but when I change to the Gen4 display it's just black... So, resorted back to Raspbian Stretch, this time the kernel indicated in the datasheet worked... the download from the website went through, my system is now running. Any thoughts on this? In the future I might be using the Buster, so I will need that working kernel.
Hi Chris. Did you install the Buster Desktop version or the Buster Lite version? It only works with Buster Desktop at this stage. We have tested it on multiple Pis and on all of our 4DPi display models and it is working correctly.
I installed 'Raspbian Buster with recommended software'. I must be doing something wrong then.... can you give me the detailed steps (like the one on the datasheet) for the Raspbian Buster OS?
thanks for you effort and compiling it for buster, but again the question, why are following files not in the bitbucket repo?
compress-v6.c and compress-v7.c ( the compress-vX.o object files are not working for actual kernel versions)
it makes it easier to create our own patches for different kernel versions.
At least i prefer source code releases and not dedicated binary releases for SOME kernel versions.
Why are you doing this? It creates a lot of work on your side too....
If you release the complete source code base it gives us (not 4dsystems employees) the possibility to compile it for future kernels,
2) Insert the SD card into the Raspberry Pi. Do not connect the 4DPi yet. You will need an external monitor/keyboard/network connection, else simply a network connection to the Pi and the rest can be done over an SSH connection.
3.) Either log into the Raspberry Pi from your keyboard/monitor using the standard ‘pi’ and ‘raspberry’ credentials, else SSH into your raspberry PI and log in via your SSH session.
4.) Expand the file system on the downloaded image using raspi-config (submenu Expand Filesystem).
After exiting raspi-config a reboot is needed.
Code:
sudo raspi-config
sudo reboot
5.) To download and install files, enter the following commands in terminal/shell /SSH to download the kernel from the 4D Systems Server:
thanks for you effort and compiling it for buster, but again the question, why are following files not in the bitbucket repo?
compress-v6.c and compress-v7.c ( the compress-vX.o object files are not working for actual kernel versions)
it makes it easier to create our own patches for different kernel versions.
At least i prefer source code releases and not dedicated binary releases for SOME kernel versions.
Why are you doing this? It creates a lot of work on your side too....
If you release the complete source code base it gives us (not 4dsystems employees) the possibility to compile it for future kernels,
KR,
Markus
please release the missing source code :
compress-v6.c
compress-v7.c
I'd also like to give my contribution in maintaining the driver for future kernel releases.
Comment