视壮BBS

   登录   |   注册   |

设置TTYUSB设备节点权限

23

主题

23

帖子

147

积分

注册会员

Rank: 2

积分
147
发表于 2018-7-12 16:47:22     
方法一:
获取root权限
#su
在终端直接输入命令改变权限:
chmod 0777 /dev/ttyUSB0
这种方法只合适短暂性操作,一旦重新拔插设备或重启系统,节点即会恢复到最初的权限,前面的命令就会失效。

方法二:
在Android系统中,ueventd进程可以对“热插拔”设备进行监测,在系统运行中,当有USB设备插入时,ueventd会接收到这一事件,并为插入的设备动态创建设备节点文件。我们可以在文件ueventd.rc中添加:
/dev/ttyUSB0 0777 radio radio
该方法永久设置ttyUSB0操作权限。

方法三:
在kerne/driver/usb/serial/bus.c文件里的usb_device_probe函数中添加如下代码:
    msleep(50);
    do {
        switch(minor) {
            case 0:
                re = sys_chmod("/dev/ttyUSB0", 0666);
                break;
            case 1:
                re = sys_chmod("/dev/ttyUSB1", 0666);
                break;
            case 2:
                re = sys_chmod("/dev/ttyUSB2", 0666);
                break;
            default:
                break;
        }
    }while(re < 0 && ++retry < 5);
    if(re < 0)
        printk("change permission ttyUSB%d faild!\n", minor);
    else
        printk("change permission ttyUSB%d succeed!\n", minor);

为了避免权限设置失败,最好多retry几次。要记得在文件头加入#include <linux/syscalls.h>使包含sys_chmod函数。这一方法也可以使ttyUSB0有永久操作权限。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 易百讯      粤ICP备14022046号-2
快速回复 返回顶部 返回列表