linux 安装usb转串口驱动 USB的VID和PID号USB,区别在哪? |
您所在的位置:网站首页 › 安装usb串口驱动的方法有哪些 › linux 安装usb转串口驱动 USB的VID和PID号USB,区别在哪? |
1.USB的VID和PID号 USB(UniversalSerialBUS,通用串行总线)合同规定redflag linux,所有的USB设备都有VID(VendorID,供应商辨识码)和PID(ProductID,产品辨识码)。VID由供应商向USB-IF(ImplementersForum,应用者峰会)申请。每位供应商的VID是惟一的,PID由供应商自行决定。主机通过VID和PID来辨识不同设备,按照它们(以及设备的版本号),可以给设备加载或安装相应的驱动程序。VID和PID的宽度都是两个字节的。 了解到VID和PID在一般情况下有两种储存方法,第一种是主控生产商的VID和PID,储存在主控的bootcode中;第二种是设备生产商的VID和PID,该VID和PID储存在主控外部的非易失性储存设备中(EEPROM或Flash)的设备固件中。当USB设备联接主机时,假若固件中有设备生产商的VID和PID,会将该VID和PID报告给主机,而忽视主控生产商的VID和PID。所以理论上一个USB储存设备的VID应当是设备生产商的VID,而不是主控生产商的VID,这两个VID应当是不同的(主控生产商自己生产的设备除外)。 因为VID和PID重复并不会对产品的使用带来严重影响,好多USB设备生产商(山寨厂居多)为了便捷,并不会向USB执行峰会申请自己的VID,而是仍然沿袭主控生产商的VID或随意向产品写入VID和PID;同时,正规厂家只须要申请VID,PID由厂家自行确定,所以存在相同机型的产品,可能采用了不同的主控(商业须要,很正常),而她们的PID是一样的。基于上述缘由,通过VID和PID就不能确切辨识USB设备的主控机型,提醒你们在使用USB设备的过程中须要注意这个问题。 2.usb转并口驱动加载命令sudo/sbin/modprobeftdi_sio2.1.modprobe命令2.1.1.linux中的modules模块 参考:【Linux】Linux基础知识(Linux模块)。 2.1.2.modprobe命令含意2.2.ftdi_sio模块 │ Symbol: USB_SERIAL_FTDI_SIO [=n] │ │ Type : tristate │ │ Prompt: USB FTDI Single Port Serial Driver │ │ Defined at drivers/usb/serial/Kconfig:153 │ │ Depends on: USB_SUPPORT [=y] && USB_SERIAL [=y] │ │ Location: │ │ -> Device Drivers │ │ -> USB support (USB_SUPPORT [=y]) │ │ -> USB Serial Converter support (USB_SERIAL [=y]) 2.3.命令总结2.3.1.命令含意 按照前面的解释,sudo/sbin/modprobeftdi_sio命令就是加载ftdi_sio这个USB转并口驱动模块到内核中linux通配符,这样就能使用RS232的USB转并口设备。 2.3.2.加载驱动模块同时挂载usb转并口设备 参考:Ubuntu下BeagleBone的USB并口驱动安装(转) sudo modprobe ftdi_sio vendor=0x0403 product=0xa6d0 输入lsmod查看,可以检测设备有没有挂载上。 ACTION=="add", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_interface", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="a6d0", DRIVER=="", RUN+="/sbin/modprobe -b ftdi_sio" ACTION=="add", SUBSYSTEM=="drivers", ENV{DEVPATH}=="/bus/usb-serial/drivers/ftdi_sio", ATTR{new_id}="0403 a6d0" ACTION=="add", KERNEL=="ttyUSB*", ATTRS{interface}=="BeagleBone", ATTRS{bInterfaceNumber}=="00", SYMLINK+="beaglebone-jtag" ACTION=="add", KERNEL=="ttyUSB*", ATTRS{interface}=="BeagleBone", ATTRS{bInterfaceNumber}=="01", SYMLINK+="beaglebone-serial" 在ubuntu下进行联接linux 安装usb转串口驱动,正常情况下会形成/dev/ttyUSB0和ttyUSB1两个设备。 注意:在/etc/udev/rules.d/目录中创建或编辑.rules文件后,勿必使用以下命令重新加载.rules文件: sudo udevadm control --reload 2.4.xsens的MTI-680难以辨识并口问题解决 输入的两句命令如下: sudo /sbin/modprobe ftdi_sio echo 2639 0301 | sudo tee /sys/bus/usb-serial/drivers/ftdi_sio/new_id 现今对命令进行剖析: 第一句命令很简单linux 安装usb转串口驱动,就是加载ftdi_sio模块,即ftdi公司的usb转并口驱动模块 第二句命令是和usb挂载相关的,就是申明要挂载的usb设备VID=0x2639,PID=0x0301。这样插入usb的时侯才会辨识这个设备。 注意: 解决Linux下USB设备节点ttyUSB名不固定的问题,生成固定USB转并口设备节点 Linux下/dev和/sys/class的区别 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |