linux 平台应用程序怎么样通过USB控制
(1)用户模式USB
usbfs虚拟文件系统允许从用户空间以原始方式访问USB设备。usbfs通常挂载在/proc/bus/usb/上,usbfs树包含了系统中与每个USB控制器(或总线)对应的目录,每个目录依次包含了与该总线上的USB设备相对应的结点。
为了更好地理解usbfs,我们看一下包含英特尔ICH4南桥芯片组的系统。USB控制器是PC系统中南桥芯片组的1部分。ICH4支持1个USB EHCI(高速USB 2.0)控制器和3个USB UHCI控制器,我们称EHCI控制器为bus1,3个UHCI控制器分别为bus2、bus3和bus4。现在假设系统只有2个物理USB端口,它们与bus3 相应的UHCI控制器连接。
我们将一个全速尼康数码相机和高速希捷USB 2.0硬盘连接到系统上的2个USB。先看一下/proc/bus/usb/devices,找到相关入口:
bash> ls –lR /proc/bus/usb/devices
T: Bus=03 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 5 Spd=12 MxCh= 0
D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=04b0 ProdID=0205 Rev= 1.00
S: Manufacturer=NIKON
S: Product=NIKON DSC E5200
S: SerialNumber=2507597
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr= 2mA
I: If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50
Driver=usb-storage
E: Ad=01(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
T: Bus=01 Lev=01 Prnt=01 Port=02 Cnt=01 Dev#= 12 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=0bc2 ProdID=0501 Rev= 0.01
S: Manufacturer=Seagate
S: Product=USB Mass Storage
S: SerialNumber=000000062459
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr= 0mA
I: If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50
Driver=usb-storage
E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=88(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
(2)libusb。与插入设备相应的usbfs文件包含了相关的USB设备及配置描述符。在前面的例子中,读取/proc/bus/usb/003/003
可获得相机的描述符信息,读取/proc/bus/usb/001/007可获得硬盘描述符信息。但管理usbfs文件并不是那么简单的,因为设备文件名在设备拔出后需要重新使用。解决办法是用libusb库,它封装使用usbfs。使用libusb而不直接操作usbfs,还有一个好处:只要操作
相关文档:
总览
用iptables -ADC 来指定链的规
则
,-A添加 -D删除 -C 修改
iptables - [RI] chain rule num rule-specification[option]
用iptables - RI 通过规则的顺序指定
iptables -D chain rule num[option]
删除指定规则
iptables -[LFZ] [chain][option]
用iptables -LFZ 链名 [选项]
iptables -[NX] chain
用 -NX ......
花了半天配置好了cygwin的界面, 下面做一纪录,以备下次查阅
1. 关于term的问题, 如果嫌安装的term不够pp,可以使用putty,那就需要安装openssh包,以便可以使用putty,
openssh的安装过程参阅http://pigtail.net/LRP/printsrv/cygwin-sshd.html 里面介绍的很详细。下面挑几个关键点记录如下:
(2b) Download ......
原文地址:http://lhsblog01.blog.163.com/blog/static/1020045192010221104237126/
GPIO是与硬件体系密切相关的,linux提供一个模型来让驱动统一处理GPIO,即各个板卡都有实现自己的gpio_chip控制模块:request, free, input,output, get,set,i ......
groups 查看当前登录用户的组内成员
groups gliethttp 查看gliethttp用户所在的组,以及组内成员
whoami 查看当前登录用户名
/etc/group文件包含所有组
/etc/shadow和/etc/passwd系统存在的所有用户名
添加用户abc到root群组:
gpasswd -a abc root ......
Linux终端环境下,利用终端命令序列可以设置字体的颜色,其格式如下:
<ESC>[<C1>;<C2>;<C3>m
其中<ESC>的值为 ......