[ROM][UNOFFICIAL] Testing LineageOS 14.1 Image for Dell Venue 8 3830

Search This thread

pstglia

Member
Apr 21, 2019
41
47
Testing ROM for Dell Venue 8 3830 (LineageOS 14.1)


It's in a very early stage. It boots, but lacks several resouces.

Was build using as base Asus T00F lineage source files

I'm posting here asking for help to implement/fix missing features (if anyone still interested on such old device)
All source code to build is available on github (links bellow).


Working
Boots
Display
Touchscreen
Wi-FI
Virtual Navigation Buttons
Sound
Rotation

Not working:
Camera
Bluetooth

Known issues:
- Sometimes when returning from sleep, backlight bright level is 0.
Workaround: You can blindly unlock and adjust bright bar and it will light again

- ARM apps not working due mismatches with libraries (Houdini)

- ADB only works using network. Not working using USB

- Observed battery is draining quicker than expected.


# Testing Image (should be flash using FASTBOOT)
# updated 2022-06-03
# WARNING: MAY BRICK YOUR DEVICE PERMANENTLY! USE AT YOUR OWN RISK!!!!


Boot tablet in fastboot mode (volume down + Power) and flash these files:
sudo fastboot flash system system_img.img.gz sudo fastboot flash boot boot.img sudo fastboot flash dnx CLVP_CYAB_P801_FwDnX_vF9.6C_ww42_005.bin sudo fastboot flash ifwi CLVP_CYAB_IFWI_vF9.6C_ww42_005_P801_wifi_uos.bin sudo fastboot -w sudo fastboot erase cache


Source Files


# LOCAL MANIFEST


Init a NEW repo
(repo init -u https://github.com/LineageOS/android.git -b cm-14.1)

Copy local manifest to .repo/local_manifests and sync it.
repo sync -c --no-tags --no-clone-bundle -j$(nproc --all)


# Kernel
NOTE: must be build using gcc 4.7 [1]. Checkout commit c7931763d41be602407ed9d71e2c0292c6597e00, update prebuilts link to this gcc
and build using kernel_build.sh script. If everything goes as expected, You'll have a new_boot.img created

# device/dell/P801_NoModem

# vendor/dell/P801_NoModem

# hardware/libaudio

# external/boringssl

# system/core

# external/tinyalsa

# external/cui

Credits / Thanks:
- The LineageOS Team
- Android-x86 Team / Chih-Wei Huang for the amazing project and repositories (used one of them here so far)
- vampirefo for providing CWM recovery and valuable information
- Social-Design-Concepts for providing unlocked firmwares (required to boot custom Image)
- Fabio Júnior Chaves da Silva (again, owner of this tablet)
- Dell for providing kernel source (wouldn't hurt to include some AOSP code also, but it's better than nothing )



[1] - https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/x86/i686-linux-android-4.7/
 

Attachments

  • IMG_20220531_142345095.jpg
    IMG_20220531_142345095.jpg
    2.1 MB · Views: 20
  • IMG_20220531_143145575.jpg
    IMG_20220531_143145575.jpg
    2.2 MB · Views: 21
  • IMG_20220531_142626067.jpg
    IMG_20220531_142626067.jpg
    1.4 MB · Views: 20
  • IMG_20220531_142605041.jpg
    IMG_20220531_142605041.jpg
    1.7 MB · Views: 24
Last edited:

pstglia

Member
Apr 21, 2019
41
47
Hi,

This is the list of missing features / issues:
Choose one of your preference and hands on! :)

update 2022-05-31: Audio and Rotation were fixed.
kernel display driver was updated. Experience is smoother


-[FIXED] Wi-fi is not working:

Help wanted: Fix code and make it work:
Status so far: Fixed.
It will work on boot if you keep it enabled. If you disable Wi-fi from settings and try to re-enable (or switch on/off airplane mode), it will stop working until you boot it again.

update 2022-06-02: Discovered that you can't ioctl wlan0 to up state when you disable it (using root + proper capabilities).
However, if you rmmod bcm4330 and insmod it again, you can enable it.
It seems a driver issue.

update 2022-06-03: Using stock kernel module for network, no issues with ioctl after disbling wi-fi

-[FIXED] Sound is not working:
Help wanted: Investigate what's wrong and fix it

Status: Fixed [working since updated 2022-05-29]

Note: libaudio from stock image couldn't be loaded, so generated one from Android-x86 libaudio code (see [2]).
Maybe adjusts are needed on source, config and Boardconfig files.

update 2022-05-22: all libs are being loaded, but there are some errors when trying to load codecs. Config files must be checked (as well libs);


- [FIXED] Navigation menu is not being displayed:
Help wanted: Discover why is not being shown and fix it

Status: Fixed (created a overlay on device tree and made "def_force_show_navbar" to be enabled - see commit 8768b512c08b5fc60a7d7674ffce7c3a23a7857a)


- Camera is not working:
Help wanted: Make it work

Status so far: HALs must be copied. Possibly lot's of shims and Voodoos/Mojos required.


- [FIXED] Sensors are not working:
Help wanted: Make it work

Status: Fixed (replaced sensor_hal_config files)



- Bluetooth is not working:
Help wanted: Make it work

Status do far: Added some libs and configs here and there, but must be investigated



- [FIXED] Port/Enable zram to kernel:
Help wanted: Porting :)

Status: Enabled from stage tree (it was there all the time).
Seems to be working (at least swap was mounted using it)


[1] - https://github.com/pstglia/linux/tree/DELL_VENUE_LOS_14.1/modules/wlan/PRIVATE/bcm43xx
[2] - https://github.com/pstglia/hardware-libaudio/tree/DELL_VENUE_LOS_14.1
 
Last edited:

pstglia

Member
Apr 21, 2019
41
47
Additional info for those interested on improve this:

1) Added a debug service that collects dmesg & logcat 3 times every boot

output is recorded on /data/log_debug_venue8_3030.txt

2) ADB from usb cable is not working, but is working from network. This way, I suggest you enable these on "Developer options":

- Root acess: Select "ADB only".
- Android debugging
- ADB over network (note: You must connect to a network prior - IP and port will be displayed when enabling this option)

Once done, from PC, you can connect to adb:
# (will connect to tablet)
adb connect TABLET_IP_ADDR
# (will restart adbd on tablet, to root mode)
adb root
# (will connect again, now with root acess)
adb connect TABLET_IP_ADDR

3) If you want to make any change to /system on living image, you must remount /system with write privileges:

- Ensure you enabled adb over network as described on step 2
- connect to table and remount /system:
adb shell
mount -o rw,remount /system
 

pstglia

Member
Apr 21, 2019
41
47
How difficult would it be to port to the 7840? Or alternatively, would it be possible to help me learn how I could build it myself?

Hi,

It has a medium/high level of difficult, depending how "perfect" do you want your port.

And more than difficult, it's *extremelly* time consuming. You must be prepared to spent weeks/ months in order to try to make something work.

And before starting anything, be sure is viable. A crucial point is having kernel source files for your device.
without it, don't waste your time.
In your case, take a look at opensource.dell.com


Learning: As a start, I'd recomend you to watch these videos:


You'll need to learn all of these (not limited to):
- Learn some C/C++ and java. You'll have to read source code to understand basicallyhow it works
- Learn Unix/Linux terminal commands. I'll need lots of find, grep, cd, cat, etc....
- Learn shell script
- Learn git
- Learn how to compile and cusomize a kernel
- Understand how Android source code/components are strutured (AOSP)

During your development, you'll need to carefully look at log files, include debugging info on scripts/codes, think,research, deduce, test, retest, test again,back some steps an try new appoaches.
And finally, I won't be working on any other device. After finishing this one I'm working on (or giving it up), not going to waste my time on custom roms sonner.... I have a life to live :)

Good luck
 
Last edited: