eGalax touchscreen and Banana Pi and Raspbian OS

I have been using an eGalax Touchscreen monitor with my Raspberry Pi, for a while. With the new Banana Pi board, I wanted to use the same eGalax TS Monitor and try my web kiosk project. After a lot of research and trials,I finally came up with a much more straight forward and simple tutorial, that explains the steps, as in detail, as possible.

Setup specs:

Build PC:
Intel core i3@2.4GHz
4GB RAM
Ubuntu 14.04 LTS 32-bit Desktop OS
HDD space available: 120GB
2/4MBits internet

Banana Pi:
SD card: 8GB class 10 SDHC UHS-1
2A power supply via microUSB DC IN.
A/V output by: HDMI
TS i/o by: USB
US Keyboard

Prologue:
Download the “Raspbian_For_BananaPi_v3.1” file from here and burn it on a good SD card with sufficient space(at least 4GB) and speed(at least class 4). If you need help in installing the image onto the SD card, follow the instructions given here.

Verify if the SD card is bootable or not. While booting, you should see the green led on the board blink often and texts start appearing in your monitor and finally a Desktop interface appears.

The default login details are:
username: bananapi
password: bananapi

Shutdown the bananapi and insert the SD card in your computer’s SD card reader, running a linux OS.

Now, we are ready to start building the modified OS kernel.

Step 1:
Install the cross-compiler tools.

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential u-boot-tools uboot-mkimage binutils-arm-linux-gnueabihf gcc-4.7-arm-linux-gnueabihf-base g++-4.7-arm-linux-gnueabihf gcc-arm-linux-gnueabihf cpp-arm-linux-gnueabihf libusb-1.0-0 libusb-1.0-0-dev git wget fakeroot kernel-package zlib1g-dev libncurses5-dev

Note: If you are using later versions of linux, uboot-mkimage would have been replaced by
u-boot-tools. You can remove the uboot-mkimage from the install list.

Step 2:
Create a directory where you will build the OS.
mkdir newos

and cd into it.
cd newos

Step 3:
Download the BSP packages
git clone https://github.com/LeMaker/bananapi-bsp.git
took about 5-10 seconds.

Step 4:
Compile everything.

cd bananapi-bsp
./configure Bananapi

Once the configure script finished without any errors, then do:
make linux-config

It will download bananapi packages from git, which took about 1-2 hours on my system and then menuconfig would open automatically.
In the menuconfig screen, go to:

Device drivers->Input Device Support->Touchscreens->USB Touchscreen Driver

Mark the “USB Touchscreen Driver” option as built-in by pressing the ‘Y’ key, i.e. a * symbol in the []s alongside the option, should appear.
NOTE: Do not select the “EETI eGalax multi-touch panel support” option.

Press ESC key again and again, until you get a dialog box asking if you want to save the configuration changes. Select the YES option.
The build will continue and complete, in a few seconds.

Now, on the command line, issue
make

It will build the USB touchscreen driver into the kernel and take about 10-15 minutes(as in my system) to complete.

Step 5:
Copy the kernel components to your SD card:

sudo cp build/Bananapi_hwpack/kernel/uImage /media/username/boot
(first FAT partition of the SD card)
sudo cp build/Bananapi_hwpack/kernel/script.bin /media/username/boot

Step 6:
Copy the new compiled library modules & firmware

sudo cp -r build/Bananapi_hwpack/rootfs/lib /media/username/disk2
(Second EXT4 partition of SD card)
sudo cp -r build/Bananapi_hwpack/rootfs/etc /media/username/disk2

Step 7:
Unmount/Eject the SD card and boot it with Banana Pi.
Check if, your touches on the Desktop screen, moves the mouse cursor and then use your calibration program(for eg. eCalib), if necessary, to calibrate the TS inputs.

References:
#1: http://forum.lemaker.org/viewthread.php?tid=1706
#2: http://forum.lemaker.org/1562-1-1-egalax_touchscreen_and_banana_pi.html

Leave a comment