ro.boot.wificountrycode was set in two places: androidboot.wificountrycode=US on the kernel cmdline (mkimg.sh extlinux heredoc) and ro.boot.wificountrycode=00 in vendor.prop. Because ro.* properties are set-once and init processes the cmdline first, the cmdline always won and the vendor.prop value silently lost (init logs 'Read-only property was already set' every boot). Worse, the vendor.prop value was 00 (world regulatory domain), a landmine that would activate if the cmdline param were ever dropped. Remove the cmdline param and set vendor.prop to US so the country code lives in exactly one place, delivered via vendor.img instead of a hand-maintained boot heredoc. Note this only feeds the Android framework (WifiCountryCode); the kernel side additionally needs regulatory.db to actually apply it (fixed separately by embedding it via CONFIG_EXTRA_FIRMWARE in the kernel).
108 lines
3.2 KiB
Text
108 lines
3.2 KiB
Text
# Audio
|
|
persist.vendor.audio.device=jack
|
|
persist.vendor.audio.hdmi.device=vc4hdmi0
|
|
#persist.vendor.audio.pcm.card.auto=true
|
|
persist.audio.pcm.card=2
|
|
persist.vendor.audio.pcm.device=0
|
|
ro.config.media_vol_default=20
|
|
ro.config.media_vol_steps=25
|
|
ro.hardware.audio.primary=opi
|
|
|
|
# Desktop mode
|
|
#persist.wm.debug.desktop_experience_devopts=1
|
|
#persist.wm.debug.desktop_mode_enforce_device_restrictions=false
|
|
#persist.wm.debug.force_desktop_first_on_default_display_for_testing=true
|
|
|
|
# Bluetooth
|
|
bluetooth.device.class_of_device?=90,2,12
|
|
bluetooth.device.default_name=Orange Pi 5 Ultra
|
|
bluetooth.profile.a2dp.sink.enabled?=true
|
|
bluetooth.profile.a2dp.source.enabled?=true
|
|
bluetooth.profile.asha.central.enabled?=true
|
|
bluetooth.profile.avrcp.controller.enabled?=true
|
|
bluetooth.profile.avrcp.target.enabled?=true
|
|
bluetooth.profile.bap.broadcast.assist.enabled?=true
|
|
bluetooth.profile.bap.unicast.client.enabled?=true
|
|
bluetooth.profile.bas.client.enabled?=true
|
|
bluetooth.profile.ccp.server.enabled?=true
|
|
bluetooth.profile.csip.set_coordinator.enabled?=true
|
|
bluetooth.profile.gatt.enabled?=true
|
|
bluetooth.profile.hap.client.enabled?=true
|
|
bluetooth.profile.hfp.ag.enabled?=true
|
|
bluetooth.profile.hid.device.enabled?=true
|
|
bluetooth.profile.hid.host.enabled?=true
|
|
bluetooth.profile.map.server.enabled?=true
|
|
bluetooth.profile.mcp.server.enabled?=true
|
|
bluetooth.profile.opp.enabled?=true
|
|
bluetooth.profile.pan.nap.enabled?=true
|
|
bluetooth.profile.pan.panu.enabled?=true
|
|
bluetooth.profile.pbap.server.enabled?=true
|
|
bluetooth.profile.sap.server.enabled?=true
|
|
bluetooth.profile.vcp.controller.enabled?=true
|
|
persist.bluetooth.a2dp_aac.vbr_supported=true
|
|
|
|
# Camera
|
|
ro.hardware.camera=libcamera
|
|
|
|
# CEC
|
|
#persist.vendor.hdmi.cec_device=cec0
|
|
#ro.hdmi.cec_device_types=playback_device
|
|
#ro.hdmi.device_type=4
|
|
|
|
# Chipset
|
|
ro.soc.manufacturer=Rockchip
|
|
ro.soc.model=RK3588s
|
|
|
|
|
|
# FFmpeg
|
|
persist.vendor.ffmpeg_codec2.rank.audio=16
|
|
persist.vendor.ffmpeg_codec2.rank.video=256
|
|
persist.vendor.ffmpeg_codec2.v4l2.h265=true
|
|
|
|
# Graphics
|
|
|
|
#ro.vulkan.abi=arm64-v8a
|
|
#ro.vulkan.version=1.2.0
|
|
vendor.hwc.drm.ctm=DRM_OR_IGNORE
|
|
#vendor.hwc.drm.disable_hdr=1
|
|
#vendor.hwc.drm.force_mode=1920x1080
|
|
|
|
# Lockscreen
|
|
ro.lockscreen.disable.default=true
|
|
|
|
# Media
|
|
debug.stagefright.c2inputsurface=-1
|
|
media.c2.hal.selection=aidl
|
|
|
|
# MGLRU
|
|
persist.device_config.mglru_native.lru_gen_config=core
|
|
|
|
# Virtualization
|
|
ro.boot.hypervisor.vm.supported=1
|
|
|
|
# Wifi
|
|
# Single source of truth for the regulatory country code. Init exports this to
|
|
# the framework's WifiCountryCode; ro.boot.* is set-once, so this must NOT also
|
|
# appear as androidboot.wificountrycode on the kernel cmdline (mkimg.sh).
|
|
ro.boot.wificountrycode=US
|
|
wifi.interface=wlan0
|
|
|
|
# Window extensions
|
|
persist.settings.large_screen_opt.enabled=true
|
|
|
|
#minigbm
|
|
vendor.minigbm.debug=logbos
|
|
|
|
# Graphics driver selection: ANGLE (GLES) over SwiftShader (Vulkan ICD).
|
|
# libEGL_mesa is not built by stock AOSP mesa3d, so ro.hardware.egl=mesa
|
|
# left SurfaceFlinger with no GL implementation and crash-looped it.
|
|
ro.hardware.egl=angle
|
|
ro.hardware.vulkan=pastel
|
|
ro.opengles.version=196608
|
|
|
|
# Bring-up debugging: persist full logcat to /data/misc/logd so failed boots
|
|
# can be analyzed offline from the SD card. Remove once the port is stable.
|
|
persist.logd.logpersistd=logcatd
|
|
persist.logd.logpersistd.enable=true
|
|
|
|
|