Halium / projectmanagement

141 stars 32 forks source link

[device-port] [a2109] Lenovo Ideatab A2109A #85

Open JakeStanger opened 6 years ago

JakeStanger commented 6 years ago

Tree: halium-7.1

LXC container:

root@localhost:~# systemctl status lxc@android
● lxc@android.service - LXC Container: android
   Loaded: loaded (/lib/systemd/system/lxc@.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Wed 2018-06-20 02:12:53 UTC; 45min ago
     Docs: man:lxc-start
           man:lxc
  Process: 1202 ExecStart=/usr/bin/lxc-start -F -n %i (code=exited, status=255)
 Main PID: 1202 (code=exited, status=255)

Jun 20 02:12:53 localhost.localdomain lxc-start[1202]: lxc-start: conf.c: lxc_create_tty: 3570 No such file or directory
Jun 20 02:12:53 localhost.localdomain lxc-start[1202]: lxc-start: conf.c: lxc_setup: 4086 failed to create the ttys
Jun 20 02:12:53 localhost.localdomain lxc-start[1202]: lxc-start: start.c: do_start: 811 Failed to setup container "andr
Jun 20 02:12:53 localhost.localdomain lxc-start[1202]: lxc-start: sync.c: __sync_wait: 57 An error occurred in another p
Jun 20 02:12:53 localhost.localdomain lxc-start[1202]: lxc-start: start.c: __lxc_start: 1358 Failed to spawn container "
Jun 20 02:12:53 localhost.localdomain lxc-start[1202]: lxc-start: tools/lxc_start.c: main: 366 The container failed to s
Jun 20 02:12:53 localhost.localdomain lxc-start[1202]: lxc-start: tools/lxc_start.c: main: 370 Additional information ca
Jun 20 02:12:53 localhost.localdomain systemd[1]: lxc@android.service: Main process exited, code=exited, status=255/n/a
Jun 20 02:12:53 localhost.localdomain systemd[1]: lxc@android.service: Unit entered failed state.
Jun 20 02:12:53 localhost.localdomain systemd[1]: lxc@android.service: Failed with result 'exit-code'.

test_gps gets as far as *** tracking.... - I am not sure whether this counts as a succesful test or not.

test_hwcomposer

root@localhost:~# EGL_PLATFORM=hwcomposer test_hwcomposer
Segmentation fault

test_lights

test_lights: test_lights.c:34: main: Assertion `notifications != NULL' failed.
Aborted

This is expected behaviour since the device has no lights.

test_vibrator works succesfully.

test_wifi 1

root@localhost:~# test_wifi 1
Cannot load driver (err -1)
WiFi driver load state: 0

Wifi itself is working and an internet connection can be established.

test_sensors

root@localhost:~# test_sensors
/system/lib/hw/sensors.kai.so: has text relocations
test_sensors: test_sensors.c:74: main: Assertion `hwmod != NULL' failed.
Aborted

I presume this is SELinux related, at a guess?

test_audio

root@localhost:~# test_audio
Audio device API version 0200 doesn't match platform current 3004.test_audio: test_audio.c:71: main: Assertion `audiohw->common.version == AUDIO_DEVICE_API_VERSION_CURRENT' failed.
Aborted

test_camera

root@localhost:~# test_camera
library "libcamera_compat_layer.so" not found
Segmentation fault

test_input


root@localhost:~# test_input
library "libis_compat_layer.so" not found
Segmentation fault

test_nfc

root@localhost:~# test_nfc
Starting test_nfc.
Finding NFC hardware module.
test_nfc: test_nfc.c:156: testNfc: Assertion `hwModule != NULL' failed.
Aborted

Again expected as device does not have NFC

test_recorder

root@localhost:~# test_recorder
Test application for video recording using the camera
Recording start with volume up button. And stops with volume down.
The result is stored to /root/test_video.avi

library "libcamera_compat_layer.so" not found
Segmentation fault

lxc_checkconfig

root@localhost:~# lxc-checkconfig 
--- Namespaces ---
Namespaces: enabled
Utsname namespace: enabled
Ipc namespace: enabled
Pid namespace: enabled
User namespace: enabled
newuidmap is not installed
newgidmap is not installed
Network namespace: enabled
Multiple /dev/pts instances: missing

--- Control groups ---
Cgroup: enabled
Cgroup clone_children flag: enabled
Cgroup device: enabled
Cgroup sched: enabled
Cgroup cpu account: enabled
Cgroup memory controller: enabled
Cgroup cpuset: enabled

--- Misc ---
Veth pair device: enabled
Macvlan: enabled
Vlan: enabled
Bridges: enabled
Advanced netfilter: enabled
CONFIG_NF_NAT_IPV4: missing
CONFIG_NF_NAT_IPV6: missing
CONFIG_IP_NF_TARGET_MASQUERADE: enabled
CONFIG_IP6_NF_TARGET_MASQUERADE: missing
CONFIG_NETFILTER_XT_TARGET_CHECKSUM: enabled
FUSE (for use with lxcfs): enabled

--- Checkpoint/Restore ---
checkpoint restore: enabled
CONFIG_FHANDLE: enabled
CONFIG_EVENTFD: enabled
CONFIG_EPOLL: enabled
CONFIG_UNIX_DIAG: enabled
CONFIG_INET_DIAG: enabled
CONFIG_PACKET_DIAG: missing
CONFIG_NETLINK_DIAG: missing
File capabilities: enabled

Note : Before booting a new kernel, you can check its configuration
usage : CONFIG=/path/to/config /usr/bin/lxc-checkconfig

Do I need to add parameters to the kernel cmdline for the missing entries to become enabled? Passing my kernel config shows they are all enabled.

jbruechert commented 6 years ago

You probably only need to enable CONFIG_DEVPTS_MULTIPLE_INSTANCES.

JakeStanger commented 6 years ago
root@localhost:~# systemctl status lxc@android
● lxc@android.service - LXC Container: android
   Loaded: loaded (/lib/systemd/system/lxc@.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2018-06-20 05:33:40 UTC; 3min 14s ago
     Docs: man:lxc-start
           man:lxc
 Main PID: 1180 (lxc-start)
   Memory: 2.3M
      CPU: 605ms
   CGroup: /system.slice/system-lxc.slice/lxc@android.service
           └─1180 /usr/bin/lxc-start -F -n android

Jun 20 05:33:40 localhost.localdomain systemd[1]: Started LXC Container: android.
Jun 20 05:33:41 localhost.localdomain lxc-start[1180]: 4870 blocks
Jun 20 05:33:41 localhost.localdomain lxc-start[1180]: mkdir: cannot create directory '/var/lib/lxc/android/rootfs//cache': File exists
Jun 20 05:33:41 localhost.localdomain lxc-start[1180]: mount: mount point /var/lib/lxc/android/rootfs//cache is a symbolic link to nowhere
Jun 20 05:33:41 localhost.localdomain lxc-start[1180]: lxc-start: start.c: preserve_ns: 153 No such file or directory - Kernel does not support attaching to pid namespaces.

LXC is running now; lxc-checkconfig now has Multiple /dev/pts instances enabled but others are still missing. All test results same as before.

JakeStanger commented 6 years ago

Other graphics tests:

root@localhost:~# test_egl
library "libgui.so" wasn't loaded and RTLD_NOLOAD prevented it
library "/vendor/lib/libGLESv2.so" not found
library "/vendor/lib/libGLESv1_CM.so" not found
Segmentation fault
root@localhost:~# test_glesv2 
library "libgui.so" wasn't loaded and RTLD_NOLOAD prevented it
library "/vendor/lib/libGLESv2.so" not found
library "/vendor/lib/libGLESv1_CM.so" not found
Segmentation fault

These files exist but with _tegra before the file extension.

Passing as environment variables:

root@localhost:~# LIBGLESV2=/vendor/lib/egl/libGLESv2_tegra.so LIBEGL=/vendor/lib/egl/libEGL_tegra.so test_egl
Segmentation fault

Same for test_glesv2

JakeStanger commented 6 years ago

Question - should I have anything on the device screen at this point? Currently just got the lenovo boot splash screen where display hangs.

jbruechert commented 6 years ago

The container needs to start fully start before most tests work.

JakeStanger commented 6 years ago

I see, that'd make sense. Any idea where I should be going with the remaining missings? Other unspecified kernel config options or parameters? Cheers.

doniks commented 6 years ago

You can read lxc-checkconfig to see which kernel config it's actually checking for, it's just a script. But I don't think it will help with the segaults. Unfortunately, I don't have a great suggestion for those. You could give plasma mobile a shot. Maybe it's actually all good. Sometimes the libhybris tests themselves are broken and it's not actually a problem in your port

amrithmmh commented 5 years ago

i have similar errors as shown in logs is there any fix till now?

amrithmmh commented 5 years ago

Other graphics tests:

root@localhost:~# test_egl
library "libgui.so" wasn't loaded and RTLD_NOLOAD prevented it
library "/vendor/lib/libGLESv2.so" not found
library "/vendor/lib/libGLESv1_CM.so" not found
Segmentation fault
root@localhost:~# test_glesv2 
library "libgui.so" wasn't loaded and RTLD_NOLOAD prevented it
library "/vendor/lib/libGLESv2.so" not found
library "/vendor/lib/libGLESv1_CM.so" not found
Segmentation fault

These files exist but with _tegra before the file extension.

Passing as environment variables:

root@localhost:~# LIBGLESV2=/vendor/lib/egl/libGLESv2_tegra.so LIBEGL=/vendor/lib/egl/libEGL_tegra.so test_egl
Segmentation fault

Same for test_glesv2

any solution for this problem?

seisdr commented 3 years ago

root@localhost:~# test_audio Audio device API version 0200 doesn't match platform current 3004.test_audio: test_audio.c:71: main: Assertion `audiohw->common.version == AUDIO_DEVICE_API_VERSION_CURRENT' failed. Aborted


fixed this?
and is buletooth work?
JakeStanger commented 3 years ago

I've never made any progress on this since my last post I'm afraid.

seisdr commented 3 years ago

well look into the system or find / 2>&1 |grep libGLESv1_CM.so and find where gles is located and look for this file libcamera_compat_layer.so also use gdb to track and see what is the issue with those i have same issue with test_audio

JakeStanger commented 3 years ago

If you're looking into porting it yourself, you could do those things and put the results here. It's been three years since I've played with the thing, and I don't exactly have it to hand nor the time to be looking into that.