嵌入式系统老化测试USB功能

 1、使用手动插入usb,检测是否能检测到usb内容的方法;

这个方法就是需要人为操作,比较笨;

2、使用脚本读写完成

        一般模式下,插入优盘后会增加一个分区,如下:

root@forlinx:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root       6.0G  3.8G  2.2G  64% /
devtmpfs        825M     0  825M   0% /dev
tmpfs           955M     0  955M   0% /dev/shm
tmpfs           955M  892K  954M   1% /run
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           955M     0  955M   0% /sys/fs/cgroup
/dev/mmcblk1p2  197M  152M   46M  77% /boot
tmpfs           191M     0  191M   0% /run/user/0
/dev/sda1        15G  3.2M   15G   1% /run/media/sda1

可以看到最后一个就是我们优盘的分区,可以通过写入文件的方式完成,脚本如下:

root@forlinx:~# cat testusb.sh 
#bin/bash

rm *.log -f
echo -e "\033[?25h"

usbdrive=`df -h | grep "/run/media/" | awk '{print $6}'`
usbdrive=$usbdrive"/testusb.log"
while true 
do
	echo "**********************************************************"
	echo "test" > $usbdrive 
	[ $? -eq 0 ] && echo "`date +%T` test usb successful" || echo "`date +%T` test usb failure"
	sleep 1s
	rm $usbdrive
	
	sleep 30s
done

执行这个脚本

root@forlinx:~# ./testusb.sh 

**********************************************************
02:26:40 test usb successful
**********************************************************
02:27:11 test usb successful

我们可以看到,每隔30s会写入一次数据,然后判断结果,这样就可以实现自动检测实验了

3、使用lsusb命令

root@forlinx:~# lsusb
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 05e3:0723 Genesys Logic, Inc. GL827L SD/MMC/MS Flash Card Reader
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

我们可以看到,第4行是我们的u盘,共计4行,我们可以通过判断行数来计算结果

root@forlinx:~# cat testusb1.sh 
#!/bin/bash

while true
do
	usbresult=`lsusb | wc -l`
     	[ $usbresult -eq 5 ] && echo "`date +%T` USB success " || echo "`date +%T` USB failure"
	sleep 10s
done


执行脚本

root@forlinx:~# ./testusb1.sh 
02:30:02 USB success 
02:30:13 USB success 
02:30:23 USB success 

4、判断关键字,

同上使用lsusb命令可以看到我们u盘的关键字

root@forlinx:~# lsusb
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 05e3:0723 Genesys Logic, Inc. GL827L SD/MMC/MS Flash Card Reader
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

我们可以看到关键字我们可以选用 “SD/MMC/MS Flash Card” ,
脚本如下:

root@forlinx:~# cat testusb2.sh 
#!/bin/bash

while true
do
	usbresult=`lsusb | grep "SD/MMC/MS Flash Card" | wc -l`
	[ $usbresult -eq 1 ] && echo "`date +%T` USB success " || echo "`date +%T` USB failure"
	sleep 5s
done

执行脚本

root@forlinx:~# ./testusb2.sh 
02:34:47 USB success 
02:34:52 USB success 

好了,就到这里吧。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

six2me

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值