【发布时间】:2016-10-09 17:07:24
【问题描述】:
我终于能够获得设备路径(“/dev/rdisk1”) - 这里称为 devname - 经过搜索但 POSIX open() 失败并显示 -1。这是权限问题吗?相机已安装,可以通过 /Volumes 正常读取,但我需要通过 /dev 访问才能通过 USB 系绳控制相机。
/* Found PENTAX DIGITAL_CAMERA */
snprintf(pslr.devname, sizeof(pslr.devname), "%s", devpath);
pslr.devname[sizeof(pslr.devname)-1] = '\0';
printf("pslr.devname %s\n", pslr.devname);
pslr.fd = open(pslr.devname, O_RDWR);
if (pslr.fd == -1) {
return NULL;
}
PS:经过下面的讨论,我使用 sudo chmod 命令更改了权限,然后尝试打开,但仍然失败。我一定是错过了一步。
【问题讨论】:
-
/dev/rdisk1似乎不太可能是相机 - 要非常小心!!! -
用
ls检查devname的权限,看看它们是什么。 -
是的,我认为它是相机,因为它在我插入时出现了。
-
权限为:crw-r----- 1 root operator 1, 5 9 Oct 14:14 /dev/rdisk1
-
所以你需要
sudo来打开它进行写入。