我在一家公司工作,该公司生产包含硬件加密引擎的SD存储卡。我们通过写入/读取一个特殊文件来与加密模块交互。
从KitKat开始,外部SD卡似乎不支持O_DIRECT标志。如果没有O_DIRECT or O_SYNC支持,当我们从SD卡读取加密引擎的响应(通过我们的特殊文件)时,操作系统将返回缓存数据。
是否有一个程序来打开永久SD卡上的文件,读/写,使用O_DIRECT or O_SYNC
如何确定系统连接了哪种类型的介质?
我有Ubuntu,当我插入SD卡时,它注意到它实际上是SD卡。U盘也是如此。
但是,当插入一个新设备时,我如何在低级别上确定它是哪种类型?
在这方面似乎根本找不到任何信息。
编辑:为了更完整:我说它是一个Linux环境,但实际上它是一个嵌入式环境中的Android。我将其标记为Linux,因为我确实在尝试从命令行进行检查。
udevadm命令不可用,lsusb -vv显示:
Bus 001 Device 001: ID 1d6b:0002
Bus 001 Device 002: ID 0424:2640
Bus 001 Device 003: ID 0424
当插入SD卡时,我会收到一条消息:“未授权执行操作。”我可以使用sudo挂载它,但是我不能在它上创建文件,除非我将它作为root运行。sudo chown -R user:user sdcard给了我:我试着重新安装政策工具包的chown: changing ownership of 'sdcard': Operation not permitted,但是没有什么改变。
编辑:我重新安装了ubuntu18.04的sd卡工作了一段时间,然后我尝试插入我刚刚购买的USB3.0 jumpdrive,并且收到了软件更新的通知,所以我更新了,现在我又回到了同样的情况.我的贴切组织:
St
我运行的是Ubuntu 64位版本11.04,带有Eclipse Linux 64位版本。Android SDK管理器无法创建任何大小的SD卡。常见的问题是ia32-libs丢失了,安装它们是一个快速修复。然而,事实并非如此:
thomas@thomas-ubuntu:~/Documents/android-sdk-linux_x86/tools$ sudo apt-get install ia32-libs
[sudo] password for thomas:
Reading package lists... Done
Building dependency tree
Re
我试图打开我的SD记忆卡,但它没有显示时,插入。虽然当我看USB设备时,它被检测到了。
lsusb
然后我得到:
Bus 001 Device 002: ID 0ac8:c33e Z-Star Microelectronics Corp.
Bus 002 Device 010: ID 058f:6335 Alcor Micro Corp. SD/MMC Card Reader
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundat