|
Device Background:
Host: PocketBook 912 (released 2011), running Linux kernel 2.6.35.
Peripheral: 8BitDo Micro (released 2024/2026), modern Bluetooth 5.0+ controller.
OS Environment: Minimalist BusyBox, BlueZ 4.x stack (incomplete), Read-Only root filesystem.
Work Accomplished:
Environment Preparation: Gained root access and successfully remounted the root filesystem as Read-Write (mount -o remount,rw /) to create necessary symlinks (/opt) and system directories (/var/run/dbus).
Software Stack: Manually ported a more complete BlueZ 4.66 stack from Debian Squeeze (armel). This included bluetoothd, hidd, sdptool, and bluetooth-agent.
Library Dependency Resolution: Systematically resolved missing library dependencies by manual injection. Successfully added:
GLib 2.24 (and related gthread, gmodule, gio)
libdbus-1.so.3
libcap-ng.so.0
libpcre.so.3
D-Bus Configuration: Configured and successfully launched dbus-daemon as root, establishing the system_bus_socket.
Service Discovery: Successfully used sdptool browse to identify the 8BitDo Micro's HID services (Keyboard mode). Physical radio communication was verified.
The Fatal Obstacle (GLIBC Incompatibility):
The final attempt failed due to a fundamental mismatch between the system's C library and the ported binaries.
System GLIBC: 2.6.1 (compiled 2008).
Ported Binary Requirement: GLIBC 2.7 / 2.9.
Result: Even with a localized LD_LIBRARY_PATH pointing to a newer libc.so.6 (v2.11.3) extracted from Debian Squeeze, the binaries (specifically dbus-daemon and bluetoothd) triggered a Segmentation Fault.
Root Cause: A critical conflict between the system's old dynamic linker (/lib/ld-linux.so.3) and the newer GLIBC libraries. On this specific 2011-era firmware, the architecture gap between GLIBC 2.6 and 2.9 is insurmountable without recompiling the entire toolchain or using a chroot/container (which is resource-prohibitive for the PB912).
Last edited by SERG-987; 01-11-2026 at 12:44 PM.
|