Page 1 of 1

【Tuyaos SDK】sd卡录像问题

Posted: 2025年 Sep 28日 20:03
by hellokernel

问题描述:

在sd卡格式化成功后,触发报警录像,报了“base_path[/mnt/sdcard/DCIM/CHAN0] un writeable” 这个错,无法写卡录像;

“---------record state” 这种打印是tuya_ipc_ss_get_status()的返回值,tuya_ipc_ss_get_status的返回值后面一直是E_STORAGE_UNWRITEABLE 且没有恢复。

谢谢各位。


Re: 【Tuyaos SDK】sd卡录像问题

Posted: 2025年 Oct 9日 10:24
by Passat

开发者文档中有相关章节。

SDK 需要使用开发者实现的接口 SD_STATUS_E tuya_ipc_sd_get_status(VOID) 来获取卡的状态。

SDK 内部会调用 tuya_ipc_sd_get_status,在返回 SD_STATUS_NORMAL 后,存储目录初始化才能完成。

卡状态获取 tuya_ipc_sd_get_status 由开发者实现,SDK 在卡正常后,才能进行存储功能。

  1. https://developer.tuya.com/cn/docs/iot- ... 1%E7%90%86

  2. https://developer.tuya.com/cn/docs/iot- ... 5%EF%BC%9F


Re: 【Tuyaos SDK】sd卡录像问题

Posted: 2025年 Oct 9日 11:26
by hellokernel

但是后面一直没有恢复呢,就是说,在卡的状态正常后,tuya_ipc_ss_get_status的返回值还是E_STORAGE_UNWRITEABLE

//卡状态 上报normal
[20250928_19:51:56][09-28 19:51:55 ty E][fc14][ty_sdk_sd_card.c:242] ----tuya_ipc_sd_get_status:1
[20250928_19:51:56]write_mode set 1 -> 1

//tuya_ipc_ss_get_status的返回值还是E_STORAGE_UNWRITEABLE
[20250928_19:51:56]2025/09/28 19:51:57.035 !WARN [doorbell_record_proxy_task][0817]---------record state:5

谢谢各位。


Re: 【Tuyaos SDK】sd卡录像问题

Posted: 2025年 Oct 11日 10:20
by Passat

tuya_ipc_sd_get_status 由开发者实现,返回值要与实际情况保持一致。 如有问题需要自行解决。


Re: 【Tuyaos SDK】sd卡录像问题

Posted: 2025年 Oct 11日 11:11
by hellokernel

/**

  • @brief get current stream storage status
    *
  • @param VOID
    *
  • @return STORAGE_STATUS_E
    */
    STORAGE_STATUS_E tuya_ipc_ss_get_status(VOID);

这个函数是tuya sdk 里面实现的吧。

谢谢各位。


Re: 【Tuyaos SDK】sd卡录像问题

Posted: 2025年 Oct 11日 11:15
by hellokernel
hellokernel 2025年 Oct 9日 11:26

但是后面一直没有恢复呢,就是说,在卡的状态正常后,tuya_ipc_ss_get_status的返回值还是E_STORAGE_UNWRITEABLE

//卡状态 上报normal
[20250928_19:51:56][09-28 19:51:55 ty E][fc14][ty_sdk_sd_card.c:242] ----tuya_ipc_sd_get_status:1
[20250928_19:51:56]write_mode set 1 -> 1

//tuya_ipc_ss_get_status的返回值还是E_STORAGE_UNWRITEABLE
[20250928_19:51:56]2025/09/28 19:51:57.035 !WARN [doorbell_record_proxy_task][0817]---------record state:5

谢谢各位。

这里说的是 tuya_ipc_ss_get_status的返回值还是E_STORAGE_UNWRITEABLE,不是tuya_ipc_sd_get_status,tuya_ipc_sd_get_status这个接口是我们自己实现的;现在的问题是 卡已经上报了normal,但是tuya_ipc_ss_get_status的返回值还是E_STORAGE_UNWRITEABLE;

谢谢各位。


Re: 【Tuyaos SDK】sd卡录像问题

Posted: 2025年 Oct 11日 14:08
by Passat

Code: Select all

base_path[/mnt/sdcard/DCIM/CHAN0] un writeable

如果卡状态正常,内部创建文件夹是不会报错的, 如果出现此打印,只能说明卡还未正常。
卡状态正常,模式为事件录像时,使用 tuya_ipc_ss_start_event 才能正确录像


Re: 【Tuyaos SDK】sd卡录像问题

Posted: 2025年 Oct 13日 10:48
by hellokernel

卡的状态有恢复正常的。

问题是,如果一直非常频繁的触发录像,在这个过程中,如果卡的状态发生了变化,如从异常变为正常,在变为正常前触发了录像,此时会报E_STORAGE_UNWRITEABLE以及不能录像,但是在卡的状态变为正常后,还是会继续报E_STORAGE_UNWRITEABLE以及不能录像

谢谢各位。


Re: 【Tuyaos SDK】sd卡录像问题

Posted: 2025年 Oct 15日 14:31
by Passat
  1. 如你所述 “在卡转为正常后” 出现 E_STORAGE_UNWRITEABLE,可能原因有
    ① 在事件录像模式下,触发开始写录像,之后卡异常,SDK自动停止录像,如果卡再次正常后,则需要外部再次调用 tuya_ipc_ss_start_event 后才会继续录像,否则不会自动开启新录像且状态不会变更;
    ②由你实现的 tuya_ipc_sd_get_status 并不能真实表示卡状态,虽然返回正常,但实际卡仍有问题,导致再次调用start后内部写录像失败,会出现状态 UNWRITEABLE
    但日志中未出现再次调用 tuya_ipc_ss_start_event 的记录;

  2. 如果为持续录像模式,卡状态正常后,会自动尝试开启录像,写入状态也会自动变更;

  3. SDK 通过 tuya_ipc_sd_get_status 和 tuya_ipc_sd_get_mode_config 获取卡状态和录像模式后,会自动根据状态和模式开启或者关闭写录像