linux如何删除某个程序的pid,linux – 黑名单/删除特定VID / PID的驱动程序

这里我有2个usbserial硬件模块,并且规定一次只能使用一个.

1. 0403:6014

2. 0403:6001

我还想确保设备可以通过R / W访问“plugdev”组

对于设备0403:6014,我不想使用内置的usbserial(ftdi_sio)驱动程序.我想使用FTD2XXX库访问此设备.

对于设备0403:6001,我想使用inbulit usbserial(ftdi_sio)驱动程序.我试图找到一种共同的方法来实现这一目标.

到目前为止我试过的路线.由于,0403:6001设备使用内置的linux驱动程序,我试图在加载时删除/ blacklist(0403:6014)驱动程序

>试用1

ACTION ==“add”,SUBSYSTEMS ==“usb”,KERNEL ==“ttyUSB *”,ATTRS {idVendor} ==“0403”,ATTRS {idProduct} ==“6014”,

RUN =“/usr/local/bin / rmmod.sh 4”,GROUP =“plugdev”

这将删除加载的FTDI驱动程序,但不会将设备组从ROOT更改为PLUGDEV

因此,解决该问题又增加了一条规则行

>试用2

SUBSYSTEM ==“usb”,ENV {DEVTYPE} ==“usb_device”,MODE =“0664”,ATTRS {idVendor} ==“0403”,ATTRS {idProduct} ==“6014”,GROUP =“plugdev”

ACTION ==“add”,SUBSYSTEMS ==“usb”,KERNEL ==“ttyUSB *”,ATTRS {idVendor} ==“0403”,ATTRS {idProduct} ==“6014”,RUN =“/usr/local/bin / rmmod.sh 4“

此试用版将我的设备GROUP设置为“plugdev”,但这不会删除内核usbserial模块.

>试用3

SUBSYSTEM ==“usb”,ENV {DEVTYPE} ==“usb_device”,MODE =“0664”,ATTRS {idVendor} ==“0403”,ATTRS {idProduct} ==“6014”,GROUP =“plugdev”

将ftdi_sio添加到/etc/modprobe.d/blacklist.conf,但是这个将我的0403:6001完全列入黑名单.

这种方法适用于0403:6014,但这完全贬低了我的0403:6001设备

请求一些指导来解决此问题

解决方法:

我遇到了几乎相同的问题,并完成了源自sourcejedi的脚本.我没有必要传递设备路径,因为udev已经通过环境提供了相当多的信息(如果你想知道你的脚本收到了什么,请使用export> / tmp / vars).特别是,我使用$DEVNAME,它是/ dev下的设备名称(例如ttyUSB0).

/etc/udev/rules.d/ftdi.rules

ACTION=="add", SUBSYSTEMS=="usb", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6014", KERNEL=="ttyUSB*" RUN+="/etc/udev/scripts/unbind_ftdi.sh"

/etc/udev/scripts/unbind_ftdi.sh

#!/bin/sh

# traverse sysfs to find the USB ID

# of the USB device which is parent/ancestor of ttyUSB*

# something like "1-1.6:1.0"

TTYDEV=$(basename $DEVNAME)

BOUND_DEVICES=/sys/bus/usb/drivers/ftdi_sio/*/

for DEVICE in ${BOUND_DEVICES}; do

if [ -e $DEVICE/$TTYDEV ]; then

USBID=$(basename $DEVICE)

break

fi

done

echo "$USBID" > /sys/bus/usb/drivers/ftdi_sio/unbind

标签:drivers,linux,debian,usb,devices

来源: https://codeday.me/bug/20190816/1671908.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值