Page 1 of 1

Reverse engineering Industrial Beagleboard

Posted: Sat Mar 02, 2024 4:11 pm
by ac2ev
We recently retired some equipment and I got to take it home to play with. The device in question will be described as a custom beagle Bone based system. The manufacturer has a custom board with lots of I/O to play with. This particular system uses a SD card so that's made my job a bit easier. I've gone through and disabled most of their custom programs to get it close to a bare Beagle Board but none of the standard Beagle development is there. On other units I've tried installing a standard image, I may have posted about it here. That removes all the drivers and leaves me with a non working LCD.

I have root on the device. SSH, ethernet, console, LCD, keyboard are working. It does NOT like having lightdm and XFCE running. It froze up, so I'm back to console only.

Code: Select all

[    0.000000] Linux version 4.4.70-bone-rt-r17 (daven@dmccallaVM) (gcc version 5.4.1 20170404 (Linaro GCC 5.4-2017.05) ) #211 PREEMPT RT Fri Nov 6 09:39:55 CST 2020
[    0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=50c5387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] Machine model: TI AM335x BeagleBone Green
[    0.000000] cma: Reserved 24 MiB at 0x9e800000
What I'm looking to currently accomplish is a way to map the GPIO to the various connectors. I don't know an easy way to do this. I started to do 'cat value' on the various items in sys/class/gpio but that is excruciatingly slow. It took 15 minutes to find that the e-stop switch was mapped to gpio65.
The version of cat installed has no options:

Code: Select all

cat --help
BusyBox v1.22.1 (Debian 1:1.22.0-9+deb8u1) multi-call binary.
Usage: cat [FILE]...
Concatenate FILEs and print them to stdout

Code: Select all

root@THE-DEVICE:/sys/class/gpio# cd gpio65
root@THE-DEVICE:/sys/class/gpio/gpio65# ls
active_low  device      edge        power       subsystem   uevent      value
There must be an easier way.

Re: Reverse engineering Industrial Beagleboard

Posted: Sun Mar 03, 2024 11:01 am
by ac2ev
The issue I'm dealing with is that because the system uses Busybox not all functions are enabled and as such I can't install python-pip as it requires updating libc6 which errors and I'm not sure how to "fix" this.

Code: Select all

readlink: invalid option -- 'm'
BusyBox v1.22.1 (Debian 1:1.22.0-9+deb8u1) multi-call binary.

Usage: readlink [-fnv] FILE

Display the value of a symlink

	-f	Canonicalize by following all symlinks
	-n	Don't add newline
	-v	Verbose

dpkg: error processing archive /var/cache/apt/archives/libc6_2.19-18+deb8u10_armhf.deb (--unpack):
 subprocess new pre-installation script returned error exit status 1
Errors were encountered while processing: