- 博客(66)
- 资源 (2)
- 收藏
- 关注
原创 如何使用tinyalas接口从usb录音的同时从扬声器播放
3、 以上步骤确认完后,就可以修改tinyhostless.c程序,tinyhostless的本质就是边pcm_read(),边pcm_write();但原本tinyhostless只支持对同一声卡进行操作,所有需要修改其代码,改成录音和播放可支持不同声卡,如果是模拟声卡,有回环测试,可以实现边录边播放,但涉及USB声卡时,就没有现场的类似功能,有时候客户因为硬件特殊性,会有从USB录音的同时从扬声器播放出来的需求,本文简要描述如何使用tinyalsa接口实现该需求;
2023-12-06 15:48:28 416
原创 【Android audio】How to enable noise suppression on audio playback path
adb rootadb reboot。
2023-12-04 16:18:32 399
原创 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
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人