[DEV only] Random Development thoughts

Search This thread

blueether

Senior Member
Jan 21, 2011
3,391
1,639
Te Awamutu, New Zealand
[
AOSP]
The first is if I just build with make I get this error:
Code:
I...
hardware/qcom/display/msm8974/libqdutils/mdp_version.cpp:33:27: fatal error: linux/msm_mdp.h: No such file or directory
 #include <linux/msm_mdp.h>
  ...
and if I do make bootimage I get this:
Code:
make: *** No rule to make target `out/target/product/togari/kernel', needed by `out/target/product/togari/boot.img'. Stop.
...

I thought I should post the fixes for this
Code:
AndroidBoard.mk:
TARGET_PREBUILT_KERNEL := out/target/product/togari/kernel

Code:
BoardConfig.mk:
TARGET_SPECIFIC_HEADER_PATH += device/sony/togari/include \
  kernel/sony/msm8974/include
Didn't work

Code:
hardware/qcom/display/msm8974/Android.mk:
append LOCAL_C_INCLUDES += ../../../../kernel/sony/msm8974/include
seems to have not worked worked either

...

overlay errors were solved with
Code:
<add-resource type="string" name="config_perf_profile_default_entry"/>
    <string name="config_perf_profile_default_entry" translatable="false">1</string>
for each error <add-resource> error
 
Last edited:

LordManhattan

Senior Member
Oct 20, 2007
15,039
5,495
Kepler-34b
One question. The "L" preview is now out for the Nexus 5 and 7, and I've watched a couple of videos of it now, and I can't wait to try it.

The question: Is it possible to get the lockscreen, settings app and notification center on the GPe ROM? It should be in the "L" SystemUI, no? And I'm guessing that API levels and what not between those two (KK and L) aren't that different? Or?
@DooMLoRD
 

LordManhattan

Senior Member
Oct 20, 2007
15,039
5,495
Kepler-34b
Was there anything intresting in the last ~3/4 of an hour. I had to cook dinner and never got back to watch the end
Neh, the most interesting was the Android part, but Android Wear is cool, and they also demonstrated Android TV, Android Auto (for cars) and a lot of other stuff. I also followed the individual sessions, and the "What's new in Android L" was interesting, so check that one out if you want too. The sessions are 45 min long.

EDIT:

 
Last edited:

blueether

Senior Member
Jan 21, 2011
3,391
1,639
Te Awamutu, New Zealand
Neh, the most interesting was the Android part, but Android Wear is cool, and they also demonstrated Android TV, Android Auto (for cars) and a lot of other stuff. I also followed the individual sessions, and the "What's new in Android L" was interesting, so check that one out if you want too. The sessions are 45 min long.
...

Yeah, some cool stuff coming, I'd got to the android TV stuff
 

alia5

Senior Member
Apr 24, 2011
208
271
Regensburg
Hi,

im trying to build DirtyUnicorns 8.2 for our beloved Z-Ultra
However im getting this error and cant seem to figure it out:

Code:
...
Import includes file: /home/alia5/du/out/target/product/togari/obj/EXECUTABLES/showlease_intermediates/import_includes
Export includes file: external/dhcpcd/Android.mk -- /home/alia5/du/out/target/product/togari/obj/EXECUTABLES/showlease_intermediates/export_includes
Notice file: external/dhcpcd/NOTICE -- /home/alia5/du/out/target/product/togari/obj/NOTICE_FILES/src//system/bin/showlease.txt
make: *** No rule to make target `/home/alia5/du/out/target/product/togari/obj/SHARED_LIBRARIES/libqdutils_intermediates/export_includes', needed by `/home/alia5/du/out/target/product/togari/obj/SHARED_LIBRARIES/libsurfaceflinger_intermediates/import_includes'.  Stop.
make: *** Waiting for unfinished jobs....
Export includes file: frameworks/native/services/surfaceflinger/Android.mk -- /home/alia5/du/out/target/product/togari/obj/SHARED_LIBRARIES/libsurfaceflinger_intermediates/export_includes

any help? thanks in advance

Edit: nevermind got rid of it myself
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 5
    F2FS mount and sysfs options

    Now that we have an F2FS-enabled firmware by default, I've been reading about the mount options and sysfs entries available. As many of us know, there are lots of tweaks out there for EXT4, but what about F2FS? Well, here is the official documentation from the Linux kernel:

    https://www.kernel.org/doc/Documentation/filesystems/f2fs.txt

    As for the mount options, I think only discard could be interesting (but it's questionable, some people say it's better to schedule a regular fstrim call instead). There are also some sysfs tunables which I think can have a noticeable impact in battery life, and performance. Testing them would require a lot of trial and error. I'm pasting them below for those who don't want to go through the full document:

    Code:
    ================================================================================
    SYSFS ENTRIES
    ================================================================================
    
    Information about mounted f2f2 file systems can be found in
    /sys/fs/f2fs.  Each mounted filesystem will have a directory in
    /sys/fs/f2fs based on its device name (i.e., /sys/fs/f2fs/sda).
    The files in each per-device directory are shown in table below.
    
    Files in /sys/fs/f2fs/<devname>
    (see also Documentation/ABI/testing/sysfs-fs-f2fs)
    ..............................................................................
     File                         Content
    
     gc_max_sleep_time            This tuning parameter controls the maximum sleep
                                  time for the garbage collection thread. Time is
                                  in milliseconds.
    
     gc_min_sleep_time            This tuning parameter controls the minimum sleep
                                  time for the garbage collection thread. Time is
                                  in milliseconds.
    
     gc_no_gc_sleep_time          This tuning parameter controls the default sleep
                                  time for the garbage collection thread. Time is
                                  in milliseconds.
    
     gc_idle                      This parameter controls the selection of victim
                                  policy for garbage collection. Setting gc_idle = 0
                                  (default) will disable this option. Setting
                                  gc_idle = 1 will select the Cost Benefit approach
                                  & setting gc_idle = 2 will select the greedy aproach.
    
     reclaim_segments             This parameter controls the number of prefree
                                  segments to be reclaimed. If the number of prefree
    			      segments is larger than the number of segments
    			      in the proportion to the percentage over total
    			      volume size, f2fs tries to conduct checkpoint to
    			      reclaim the prefree segments to free segments.
    			      By default, 5% over total # of segments.
    
     max_small_discards	      This parameter controls the number of discard
    			      commands that consist small blocks less than 2MB.
    			      The candidates to be discarded are cached until
    			      checkpoint is triggered, and issued during the
    			      checkpoint. By default, it is disabled with 0.
    
     ipu_policy                   This parameter controls the policy of in-place
                                  updates in f2fs. There are five policies:
                                   0: F2FS_IPU_FORCE, 1: F2FS_IPU_SSR,
                                   2: F2FS_IPU_UTIL,  3: F2FS_IPU_SSR_UTIL,
                                   4: F2FS_IPU_DISABLE.
    
     min_ipu_util                 This parameter controls the threshold to trigger
                                  in-place-updates. The number indicates percentage
                                  of the filesystem utilization, and used by
                                  F2FS_IPU_UTIL and F2FS_IPU_SSR_UTIL policies.
    
     max_victim_search	      This parameter controls the number of trials to
    			      find a victim segment when conducting SSR and
    			      cleaning operations. The default value is 4096
    			      which covers 8GB block address range.
    
     dir_level                    This parameter controls the directory level to
    			      support large directory. If a directory has a
    			      number of files, it can reduce the file lookup
    			      latency by increasing this dir_level value.
    			      Otherwise, it needs to decrease this value to
    			      reduce the space overhead. The default value is 0.
    
     ram_thresh                   This parameter controls the memory footprint used
    			      by free nids and cached nat entries. By default,
    			      10 is set, which indicates 10 MB / 1 GB RAM.
    2
    great!

    can you just fork my repo and shift to the branch which worked for you, then send pull request? i will investigate on the Z1...

    and yes please do send the steps!

    well if we get custom compiled WLAN modules properly working on custom compiled kernel for stock ROM then i can have features like intelli-plug, F2FS, AsyncFS and lots more on stock ROMs!

    Well I'm still learning my way around git & GitHub, so I think it will be faster if you just reproduce the steps below:

    1) Copy Prima WLAN sources from CM11-based kernel:

    I copied from SlimRom's kernel source. Put the sources under drivers/staging/prima.

    2) Modify related Kconfig and Makefile:

    drivers/staging/Kconfig
    Code:
    131,132d130
    < source "drivers/staging/prima/Kconfig"
    <

    drivers/staging/Makefile
    Code:
    58,59d57
    < obj-$(CONFIG_PRIMA_WLAN)        += prima/
    < obj-$(CONFIG_PRONTO_WLAN)       += prima/

    3) Modify defconfig:

    I'm pasting every option related to WLAN. The Prima options should appear after a "make menuconfig".

    Code:
    CONFIG_WIRELESS=y
    CONFIG_WIRELESS_EXT=y
    CONFIG_WEXT_CORE=y
    CONFIG_WEXT_PROC=y
    CONFIG_WEXT_SPY=y
    CONFIG_WEXT_PRIV=y
    CONFIG_CFG80211=y
    CONFIG_NL80211_TESTMODE=y
    # CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
    # CONFIG_CFG80211_REG_DEBUG is not set
    CONFIG_CFG80211_DEFAULT_PS=y
    # CONFIG_CFG80211_DEBUGFS is not set
    CONFIG_CFG80211_INTERNAL_REGDB=y
    # CONFIG_CFG80211_WEXT is not set
    # CONFIG_WIRELESS_EXT_SYSFS is not set
    # CONFIG_LIB80211 is not set
    # CONFIG_CFG80211_ALLOW_RECONNECT is not set
    # CONFIG_MAC80211 is not set
    # CONFIG_WIMAX is not set
    CONFIG_RFKILL=y
    CONFIG_RFKILL_PM=y
    CONFIG_RFKILL_LEDS=y
    # CONFIG_RFKILL_INPUT is not set
    # CONFIG_RFKILL_REGULATOR is not set
    # CONFIG_RFKILL_GPIO is not set
    ...
    # CONFIG_WIFI_CONTROL_FUNC is not set
    ...
    CONFIG_WLAN=y
    # CONFIG_USB_ZD1201 is not set
    # CONFIG_USB_NET_RNDIS_WLAN is not set
    # CONFIG_LIBRA_SDIOIF is not set
    # CONFIG_ATH6K_LEGACY_EXT is not set
    CONFIG_WCNSS_CORE=y
    CONFIG_WCNSS_CORE_PRONTO=y
    CONFIG_WCNSS_MEM_PRE_ALLOC=y
    CONFIG_WCNSS_REGISTER_DUMP_ON_BITE=y
    # CONFIG_ATH_COMMON is not set
    # CONFIG_BCMDHD is not set
    # CONFIG_BRCMFMAC is not set
    # CONFIG_HOSTAP is not set
    # CONFIG_IWM is not set
    # CONFIG_LIBERTAS is not set
    # CONFIG_MWIFIEX is not set
    ...
    #
    # Qualcomm Atheros Prima WLAN module
    #
    CONFIG_PRIMA_WLAN=m
    CONFIG_PRONTO_WLAN=y
    # CONFIG_PRIMA_WLAN_BTAMP is not set
    CONFIG_PRIMA_WLAN_LFR=y
    CONFIG_PRIMA_WLAN_OKC=y
    CONFIG_PRIMA_WLAN_11AC_HIGH_TP=y
    CONFIG_WLAN_FEATURE_11W=y
    CONFIG_QCOM_VOWIFI_11R=y
    CONFIG_CONFIG_ENABLE_LINUX_REG=y

    4) Include Prima WLAN firmware in kernel ZIP file:

    Copy from a CM11-based firmware (I used PAC-Rom). Remember to set permissions as 644.

    /system/etc/firmware/wlan/prima
    Code:
    WCNSS_cfg.dat
    WCNSS_qcom_cfg.ini
    WCNSS_qcom_wlan_nv.bin

    5) Include wlan.ko in kernel ZIP file:

    Actually I include every compiled kernel module, because we are using a different toolchain and they may benefit from it too. Remember that /system/lib/module/wlan.ko is a symlink, but in my test the target got updated accordingly.
    1
    @blueether & @dbolivar :
    our primary concern should be to get custom wlan (prima/pronto) drivers working on custom compiled kernel for stock ROMs.. once we have that there are a LOT of features which we can add!

    so far I havent had much luck but you can find all my tests here

    I'm giving it a try - downloaded the latest sources from CodeAurora and applied to your kernel (adjusting Kconfigs, Makefiles and defconfig). The compilation stops here:

    Code:
    drivers/staging/prima/CORE/HDD/src/wlan_hdd_cfg80211.c: In function ‘wlan_hdd_send_avoid_freq_event’:
    drivers/staging/prima/CORE/HDD/src/wlan_hdd_cfg80211.c:574:18: warning: assignment makes pointer from integer without a cast
    error, forbidden warning: wlan_hdd_cfg80211.c:574
    make[3]: *** [drivers/staging/prima/CORE/HDD/src/wlan_hdd_cfg80211.o] Error 1

    OK, so I edited wlan_hdd_cfg80211.c and changed line 574 to add an explicit cast:

    Code:
    vendor_event = (struct sk_buff *)cfg80211_vendor_event_alloc(pHddCtx->wiphy,

    Then it passes by this point, but stops in following lines with similar errors (not even pasting here). What I noticed from these errors it that CodeAurora's sources seem to be incompatible with Sony's kernel, because for instance, the function cfg80211_vendor_event_alloc is not defined anywhere (ran a grep over all *.c and *.h files in the kernel).

    Comparing with a CM11 kernel, this function is also not defined anywhere, but the prima sources are very different, they don't call it. So I thought: let's use CM11's prima sources.

    Bingo!

    Compiled fine, booted, and with the correspoding firmware in /system/etc/firmware/wlan/prima, WLAN came up normally after boot. :victory:

    Now you mentioned something about CM11's prima sources, from what I understood they are not ideal. Is that true? Because there are CM11-based custom kernels which implement intelliplug (dependent on custom WLAN drivers), for instance.

    Hope it works for you. In this case, I'll put together a more organized how-to of what I did.
    1
    which branch did u test this with?

    also can you please upload the correct firmware (/system/etc/firmware/wlan/prima) which worked for you?

    The branch from your kernel was master_kk-4.4.2. The Prima WLAN sources were, as I mentioned, from SlimRom's kernel, branch kk4.4.

    I'm attaching the firmware to this post.