自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(66)
  • 资源 (2)
  • 收藏
  • 关注

原创 【Android audio Native】Android AudioPolicyService Sequence

2023-12-06 16:04:09 393

原创 如何使用tinyalas接口从usb录音的同时从扬声器播放

3、 以上步骤确认完后,就可以修改tinyhostless.c程序,tinyhostless的本质就是边pcm_read(),边pcm_write();但原本tinyhostless只支持对同一声卡进行操作,所有需要修改其代码,改成录音和播放可支持不同声卡,如果是模拟声卡,有回环测试,可以实现边录边播放,但涉及USB声卡时,就没有现场的类似功能,有时候客户因为硬件特殊性,会有从USB录音的同时从扬声器播放出来的需求,本文简要描述如何使用tinyalsa接口实现该需求;

2023-12-06 15:48:28 416

原创 【Android audio】 Tinyalsa and tinyplay sequence

详细代码分析:

2023-12-04 16:55:15 478

原创 【Android audio】TinyAlsa and audio path register sequence

2023-12-04 16:53:15 338

原创 【Android audio】TinyAlsa and dapm register sequence

2023-12-04 16:45:19 365

原创 【Android Audio】TinyAlsa snd char dev register sequence

2023-12-04 16:35:58 322

原创 【Android audio】How to enable noise suppression on audio playback path

adb rootadb reboot。

2023-12-04 16:18:32 399

原创 【Android Audio】Playback over MI2s sequence

2023-12-04 14:47:35 366

原创 【Android Audio】查看BE、FE、ACDB ID方法

【代码】Android查看BE、FE、ACDB ID方法。

2023-12-04 14:42:58 452

原创 How to add MI2S hostless stream for loopback test

— a/asoc/msm-pcm-routing-v2.c+++ b/asoc/msm-pcm-routing-v2.c@@ -14084,6 +14084,10 @@ static const struct snd_kcontrol_new primary_mi2s_rx_poMSM_BACKEND_DAI_PRI_MI2S_RX,MSM_BACKEND_DAI_SEC_AUXPCM_TX, 1, 0, msm_routing_get_port_mixer,msm_routing_put_por

2023-12-04 14:00:03 911

原创 Qualcomm-音频通路

在/kernel/sound/soc/msm/目录下,高通代码主要用来针对某一平台做初始化。{TO_NAME_INDEX(SND_DEVICE_IN_SECONDARY_MIC)}, //这个应该是对应给上层的选项(我还不是很确定。首先在./hardware/qcom/audio/hal/msm8916/platfrom.h中添加对应的枚举值(这个枚举是匿名的)[SND_DEVICE_IN_SECONDARY_MIC] = 4, //高通acdb的数组,这个数字应该对应了在qact中的设备号。

2023-04-08 14:22:33 231

原创 Qualcomm audio Framework传参数到Hal层

APK设置参数给HAL,让HAL根据需要选择对应的Mic。不需要添加新usecase。

2023-04-08 14:03:05 190

原创 修改qcom LDO为常供电的方法

RPM.BF.1.10/rpm_proc/core/pmic/pm/config//pm_config_target.c{0, 66, 0, PM_ACCESS_ALLOWED, PM_NONE, PM_NPA_VREG_MODE_LPM, PM_NPA_BYPASS_DISALLOWED, PM_DROOP_DETECT_DIS, 2400, 3600, 0, PM_SETTLING_ERR_EN, PM_SETTLING_EN, 0}, // LDO21 LDO510_MVP

2021-10-13 22:08:49 729 8

原创 Linux文件 I/O 介绍

1. Linux系统调用Linux 系统调用(system call)是指操作系统提供给用户程序的一组“特殊接口”,用户程序可以通过这组“特殊”接口来获得操作系统提供的特殊服务。为了更好的保护内核空间,将程序的运行空间分为内核空间和用户空间,他们运行在不同的级别上,在逻辑上是相互隔离的。在 Linux 中,用户程序不能直接访问内核提供的服务,必须通过系统调用来使用内核提供的服务。Linux 中的用户编程接口(API)遵循了 UNIX 中最流行的应用编程界面标准—— POSIX。这些系统调用编程接口主要

2021-04-09 22:40:07 119

原创 Linux fd泄漏

fd的分配不可能是无限的,毕竟数组不可能无限大。如果程序没有写好,不停的open,总有一次会open失败的。open失败会返回-1,同时errno被设置为24,具体含义在errno-base.h里:是EMFILE,表示too many open files。检测泄漏有些代码会将open失败返回值打印出来,比如CursorWindow fd leak(从APLog_xxx/main_log可以看到):E CursorWindow: Could not create CursorWindow fro

2021-04-09 22:35:57 300

原创 Linux文件描述符

在linux OS里,所有都可以抽象成文件,比如普通的文件、目录、块设备、字符设备、socket、管道等等。文件描述符(File descriptor)是linux里的一个概念,是文件的抽象化概念,详情请看:wiki链接当通过一些系统调用(如open/socket等),会返回一个fd(其实就是数字)给你,然后根据这个fd对对应的文件进行操作,比如读、写。分配fd有些系统调用会分配fd给你用,比如open/socket等,而fd是数字,那么这个数字是怎么计算出来的?其实内核为每个进程维护了一个数

2021-04-09 22:30:30 101

原创 qvrd_service_exit

dmesg:[ 52.499795] init: starting service 'qvrd'...[ 52.535116] init: Created socket '/dev/socket/qvrservice', mode 666, user 1000, group 1000[ 52.537296] init: Created socket '/dev/socket/qvrservice_camera', mode 666, user 1000, group 1000[ 52

2021-04-08 22:32:16 398

原创 Linux fb_notify

kernel4.9内核之前, API: fb_register_client() kernel4.9内核之后, API: msm_drm_register_client () - ret = fb_register_client(&ts_data->fb_notif);+ ret = msm_drm_register_client(&ts_data->fb_notif); -#if 0 //defined(CONFIG_FB)- if (

2021-04-08 22:30:27 595

原创 SDM845 GPS无法定位

/vendor/qcom/opensource/location/loc_api/loc_api_v02/LocApiV02.cppif (location_report_ptr->expandedGnssSvUsedList_valid){gnssSvUsedList_len = location_report_ptr->expandedGnssSvUsedList_len;@@ -2835,8 +2834,9 @@ void LocApiV02 :: reportPosition (

2021-04-08 22:29:13 146

原创 qualcomm smb1355充电器

软件会根据I2C地址来决定使用SMB1355_0还是SMB1355_1 15 smb1355_0: qcom,smb1355@8 { 16 compatible = "qcom,i2c-pmic"; 17 reg = <0x8>; 18 #address-cells = <1>; 19 #size-cells = <0>; 20 interrupt-parent = <&spmi_bus>; 21.

2021-04-08 22:27:51 896

原创 qcom bt firmware

adb root adb remount adb shell mount –o rw,remount vendor/bt_firmware adb push crbtfw21.tlv vendor/bt_firmware/image adb push crnv21.bin vendor/bt_firmware/image adb reboot

2021-04-08 22:26:33 305

原创 软件限制USB速率

We can configure the DWC3 core to modify maximum speed by the command dynamically./* super-speed */echo super > /sys/devices/platform/soc/a600000.ssusb/speed/* high-speed */echo high > /sys/devices/platform/soc/a600000.ssusb/speed/* full-speed *

2021-04-08 22:25:37 295

原创 Camera固定帧率

vi hardware/qcom/camera/QCamera2/HAL/QCamera2HWICallbacks.cpp +2155adb shell setprop persist.debug.sf.showfps 1adb logcat | grep Frames(min_fps)qiancheng@BU5-SERVER04:~/2.1_msm8939_q39_s201/hardware/qcom/camera$ git diff .diff --git a/QCamera2/HAL/QC

2021-04-07 19:05:39 373 1

原创 android默认暗码

*#06# -查看IMEI *#*#8351#*#* -语音拨号启用日志 *#*#4636#*#* -此代码可用于获得关于电话和电池有趣的信息。它显示按照屏幕上的4个菜单: * 手机信息 * 电池信息 * 电池统计信息 * 使用情况统计 *#*#7780#*#* - 此代码重置以下设置为出厂: *#*#34971539#*#* - 这段代码是用来获取有关手机摄像头的信息。它显示下列四个参数: * 相机图像中更新固件(不要尝试此选项) * 更新相机固件到SD卡

2021-04-06 08:53:19 488

原创 android7.1编译出现-xmx问题

出现这个错误是由于电脑内存不足,在命令行分别执行以下三条语句,然后继续编译export JACK_SERVER_VM_ARGUMENTS="-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx4g"./prebuilts/sdk/tools/jack-admin kill-server ./prebuilts/sdk/tools/jack-admin start-server...

2021-04-06 08:49:19 207

原创 android文件管理器不显示u盘内容

From source codes,Vold sets the device as adoptable or not based on the flag(encryptable/forceencrypt) as shownbelow.231 if (fs_mgr_is_encryptable(&fstab->recs[i])) {232 flags |= android::vold::Disk::Flags::kAdoptable;233 has_adoptable = true;

2021-04-05 09:55:22 3394 4

原创 android performance debug

1 检查kernel中的deconfig将deconfig中以上这些文件去掉,这些主要用于debug和log,对系统性能有一定的影响。CONFIG_PREEMPT_COUNT=yCONFIG_PREEMPT_TRACER=yCONFIG_SCHED_DEBUG=yCONFIG_DEBUG_KMEMLEAK=yCONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE=400CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=yCONFIG_DEBUG_SPINL

2021-04-05 09:47:20 154

原创 高通AP侧添加AT指令

1 Modem侧添加自定义的cmdAP侧新增AT命令以新增命令“AT+RESTOREALL”为例. 这个主要用于在工厂生产的时候,通过diag口输入AT指令,用于恢复出厂设置使用的1. 在Modem侧添加自定义的AT Command的注册。在*modem_proc/datamodem/interface/atcop/src/dsatclient_ex.c下的LOCAL byteallowed_list[][MAX_CMD_SIZE]数组中添加定义:diff --git a/MPSS.AT.3.

2021-03-31 21:29:07 1135

原创 lib_diag.so无法找到的问题

H33:/ # sh /etc/enable_wcn36xx.sh CANNOT LINK EXECUTABLE "ptt_socket_app": library "libdiag.so" not foundptt_uid:, ptt_uid_len:0not find ptt_socket_app uidinsmod /vendor/lib/modules/pronto_wlan.ko con_mode=

2021-03-31 21:26:09 365

原创 radio_link_fail

UE is facing RLF because NW is not sending RLC ACK for packets being transmitted on rb_cfg_idx 34 which is an SRB. This testing was done on the Live NW or on the Test Setup? If tested on the Test Setup please check if Setup is configured correctly and t

2021-03-31 21:23:53 136

原创 SDM芯片如何带GPS,但是禁用网络(相当于wifi only)

第一种方案客户需要在SDM450芯片版本上实现WIFI ONLY,即插入SIM卡后无法识别卡,并且也不可以搜网动作.但是最关键是需要GPS功能 NV70210将 UIM[0].DISABLE UIM置TRUE ===如果单改这一个NV,会导致系统crash. 必须结合HOTSWAP置FALSE. 将 UIM[0].ENABLE_UIM_HOTSWAP 置FALSE. NV70210将 UIM[1].DISABLE UIM置TRUE ===如果单

2021-03-31 21:21:33 342

原创 cmw500 cdma_gate_power异常

CDMA门限值的问题,修改的内容如下: 在该文件下modem_proc/rftech_cdma/common/rf/inc/rf_cdma_constants.h /*! PA txagc additional offset to handle extra rffe writes in customer PAsRF_CDMA_PA_TXAGC_ADDTL_OFFSET is in us */#define RF_CDMA_PA_TXAGC_ADDTL_OFFSET 0 ==> -3

2021-03-31 21:18:44 169

原创 qcom modem add qmi cmd

CP侧的修改:MPSS.TA.3.0/modem_proc/mmcp/mmode/qmi/src/qmi_voice_cm_if.cMPSS.TA.3.0/modem_proc/qmimsgs/voice/api/voice_service_v02.hMPSS.TA.3.0/modem_proc/qmimsgs/voice/src/voice_service_v02.cstatic const uint8_t voice_get_config_req_msg_data_v02[] = {

2021-03-31 21:16:33 284

原创 qmitestPro软件的使用

qmitestPro软件的使用比如获取小区的位置信息等等,2 QMI指令的学习1 获取信号的强度:QMI_NAS_GET_SIGNAL_STRENGTH Request - QMI_NAS_GET_SIGNAL_STRENGTH_REQ具体对应qmiTestPro软件的指令为: nas_get_signal_strength_req_msg nas_get_signal_strength_resp_msg2 获取移动联通小区信息:QMI_NAS_GET_CELL_LOCATIO

2021-03-30 22:12:28 1125

原创 温度过高,Modem会触发migiation导致掉话

qcom thermal-engine- adb shell stop thermal-engine- adb shell start thermal-engine- adb shell thermal-engine -o // confirm [Modem_xxx_mitigaiton] rules disabled before test.[MODEM_PA_MITIGATION]#algo_type monitorsampling 10000sensor case_thermthre

2021-03-30 22:08:52 357

原创 生成mbn以及ap测编译mbn

以Commercial-CMCC-CS-DS.mbn为例修改EFS配置。1,下载正确的modem_proc文件夹。2,进入目录modem_proc\mcfg\mcfg_gen\generic\CMCC\3, 打开MCFG_SW_Items_List_Macro.xlsm。安全提示的时候请选择启用宏。4,勾选期望生成的mbn。5,刚才选中的为Commercial-CMCC-CS-DS,所以sheet”Commercial-CMCC-CS-DS”即为具体配置内容。6,修改EFS值:例如我们把T3

2021-03-30 22:00:19 953

原创 单独编译mbn

1 Windows\modem_proc\mcfg\build CU build_mcfgs.exe --build_id=FAAAANUZ --force-regenerate --force-rebuild --source-dir=generic/China/CU --configs=mcfg_sw:Commercial-CSFB-DSDS --xml CT build_mcfgs.exe --build_id=FAAAANUZ --force-regenerat

2021-03-30 21:57:07 330

原创 使能modem重启

adb shell setprop service.adb.root 1adb shell setenforce 0首先需要确定子系统是modemadb shell cat /sys/bus/msm_subsys/devices/subsys1/namecat后面的结果是modem,就执行下面的操作,如果不是,请依次执行以下是否modemadb shell cat /sys/bus/msm_subsys/devices/subsys0/nameadb shell cat /sys/

2021-03-30 21:55:19 728

原创 SKY77645 导致的Rach failure问题

SKY77645 导致的Rach failure问题,会出现概率性无信号的现象check B167 / B061 / B062 log packet for the RACH report and attempt09:30:38.938 [0xB061] LTE MAC Rach TriggerVersion = 1Version 1 { Number of SubPackets = 2 SubPackets Structure[0] { SubPacket ID = 3

2021-03-30 09:05:57 456

原创 modem TA跟AT平台的变化

TA平台使用NV1878来选择RF Card,而AT平台重新换了一个NV28967rf_nv.c中, /*!Read rf card config NV*/ rfc_uncompress_size = RFC_NV_RF_CARD_CONFIG_SIZE_MAX; /* Allocate worst-case memory size for rf card config NV data decompression. */ rfc_nv_item_data_ptr = (uin

2021-03-30 09:03:52 152

usb-windows7-patch.7z

安装微软的几个patch

2021-03-27

qmi_wwan_ok.tar.gz

QMI WWAN + Quectel 拨号程序

2021-03-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除