ubuntu配置USB权限

usbcan设备在ubutu下使用,每次必须动用root权限才能使用,比较繁琐。参考如下文章进行配置:

https://blog.csdn.net/bigdog_1027/article/details/79009603

第一种方法:$ sudo chmod 777 /dev/bus/usb/001/005

是可以,但重启后需要重新配置。

第二种方法:没有成功

第三种方法:

通过lsusb获得设备名,然后用udevadm查看

sudo udevadm info --attribute-walk --name=/dev/bus/usb/001/005

looking at device '/devices/pci0000:00/0000:00:14.0/usb1/1-3':
    KERNEL=="1-3"
    SUBSYSTEM=="usb"
    DRIVER=="usb"

    ATTR{authorized}=="1"
    ATTR{avoid_reset_quirk}=="0"
    ATTR{bConfigurationValue}=="1"
    ATTR{bDeviceClass}=="00"
    ATTR{bDeviceProtocol}=="00"
    ATTR{bDeviceSubClass}=="00"
    ATTR{bMaxPacketSize0}=="8"
    ATTR{bMaxPower}=="500mA"
    ATTR{bNumConfigurations}=="1"
    ATTR{bNumInterfaces}==" 1"
    ATTR{bcdDevice}=="0330"
    ATTR{bmAttributes}=="c0"
    ATTR{busnum}=="1"
    ATTR{configuration}==""
    ATTR{devnum}=="4"
    ATTR{devpath}=="3"
    ATTR{idProduct}=="0053"
    ATTR{idVendor}=="04d8"

    ATTR{ltm_capable}=="no"
    ATTR{manufacturer}=="Microchip Technology Inc."
    ATTR{maxchild}=="0"
    ATTR{product}=="Chuangxin Tech USBCAN/CANalyst-II"
    ATTR{quirks}=="0x0"
    ATTR{removable}=="unknown"
    ATTR{speed}=="12"
    ATTR{urbnum}=="13"
    ATTR{version}==" 2.00"

因此我的usbcan.rules文件包含如下内容:

KERNELS=="1-3",SUBSYSTEMS=="usb", ATTRS{idVendor}=="04d8", ATTRS{idProduct}=="0053", MODE:="0777", SYMLINK+="usbcan"

运行:

sudo service udev reload

sudo service udev restart

ls -l /dev/usbcan

得到结果如下:

lrwxrwxrwx 1 root root 15 5月  17 13:06 /dev/usbcan -> bus/usb/001/005

重新测试,不需要提升超级权限设备也可以打开了。重启后测试也OK。

 

 

 

<think>好的,我现在需要帮助用户解决在Ubuntu虚拟机中配置USB网卡的问题。首先,我应该回顾用户提供的引用内容,看看有没有相关的步骤或常见问题解答。用户提到了引用[3]、[4]、[5],这些可能包含有用的信息。 引用[3]提到用户在尝试直连USB网卡到虚拟机时遇到了驱动问题,许多商用无线网卡不支持Ubuntu驱动。这提示我需要首先检查USB网卡的兼容性。我应该建议用户确认网卡型号是否支持Ubuntu,或者是否需要手动安装驱动。 引用[4]是关于VMware如何连接USB网卡的教程,可能包含步骤将USB设备连接到虚拟机。这里可能需要指导用户在VMware设置中添加USB控制器,并在虚拟机运行时连接设备。需要区分USB 2.0和3.0的设置,确保虚拟机可以识别设备。 引用[5]提到在Linux虚拟机中连接USB网络设备时无法检测到网卡,涉及故障排除步骤,比如检查USB设备识别、驱动安装和网络配置。这可能包括使用lsusb命令查看设备是否被识别,安装必要的驱动,以及配置网络接口。 现在,我需要将这些信息整合成一个清晰的步骤指南。首先,确保USB控制器已启用,然后连接USB网卡到虚拟机,接着在Ubuntu中检查设备是否被识别,安装驱动(如果需要),最后配置网络设置。同时,需要注意驱动兼容性问题,如引用[3]中提到的,建议用户选择兼容的网卡型号。 可能还需要提醒用户关于虚拟机软件的不同设置,比如VirtualBox和VMware的步骤差异,以及如何处理权限问题,例如USB设备访问权限可能需要用户组调整。此外,如果遇到无法识别的情况,建议检查dmesg日志或使用usb-devices命令获取详细信息。 最后,根据用户的问题,生成相关的问题,比如性能分析、优化方法或应用场景,但根据引用内容,可能更适合生成关于驱动安装、网络配置或故障排除的问题。</think>### 如何在Ubuntu虚拟机中配置USB网卡? #### 一、前期准备 1. **确认USB网卡兼容性** - 选择支持Linux内核驱动的USB网卡型号(如RTL8153、AX88179芯片),避免使用依赖专属驱动的商用产品[^3]。 - 查询官网或社区确认驱动支持情况。 2. **虚拟机USB控制器设置** - **VMware**:虚拟机设置 → 添加USB控制器(根据网卡类型选择USB 2.0/3.0)[^4]。 - **VirtualBox**:设置 → USB设备 → 启用扩展包支持并添加筛选器。 --- #### 二、连接USB网卡到虚拟机 1. **物理连接** 将USB网卡插入主机,启动Ubuntu虚拟机。 2. **虚拟机捕获设备** - VMware:菜单栏 → 虚拟机 → 可移动设备 → 选择网卡并连接[^4]。 - VirtualBox:右下角USB图标 → 勾选对应设备。 3. **验证设备识别** 在Ubuntu终端执行: ```bash lsusb # 检查是否列出网卡设备(如ID 0bda:8153) dmesg | grep usb # 查看内核识别日志 ``` --- #### 三、驱动安装与网络配置 1. **自动驱动加载** 多数主流芯片(如Realtek)驱动已集成在Linux内核,连接后自动加载。可通过以下命令查看驱动状态: ```bash lsmod | grep r8152 # 示例:RTL8153驱动模块 ``` 2. **手动安装驱动(若需)** - 访问芯片厂商官网下载Linux驱动(如AX88179驱动包)。 - 解压后编译安装: ```bash make sudo make install sudo modprobe ax88179_178a ``` 3. **配置网络接口** - 查看网卡接口名称: ```bash ip link show # 通常命名为enx<MAC地址>或eth1 ``` - 编辑网络配置文件(以Netplan为例): ```yaml # /etc/netplan/01-netcfg.yaml network: version: 2 renderer: networkd ethernets: enx001122334455: dhcp4: yes ``` - 应用配置: ```bash sudo netplan apply ``` --- #### 四、故障排除 1. **设备未识别** - 检查虚拟机USB筛选器是否冲突。 - 重启udev服务:`sudo service udev restart`。 2. **无网络连接** - 确认IP分配:`ip addr show dev <接口名>`。 - 测试路由:`ping 8.8.8.8`。 3. **权限问题** 将用户加入`vboxusers`或`libvirt`组: ```bash sudo usermod -aG vboxusers $USER ``` ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值