OpenWrt 添加usb驱动及相关脚本

第一步,添加内核相关支持

编译openwrt支持USB自动mount功能

make menuconfig
1). 添加USB相关支持
Kernel modules —> USB Support —> <*> kmod-usb-core.  
Kernel modules —> USB Support —> <*> kmod-usb-ohci.  
Kernel modules —> USB Support —> <*> kmod-usb-uhci.  
Kernel modules —> USB Support —> <*> kmod-usb-storage.
Kernel modules —> USB Support —> <*> kmod-usb-storage-extras.
Kernel modules —> USB Support —> <*> kmod-usb2.  

2). 添加SCSI支持
Kernel modules —> Block Devices —> <*>kmod-scsi-core 

3). 添加USB挂载
Base system —> <*>block-mount

4). 添加自动挂载工具
Utilities —> Filesystem —> <*> badblocks

5). 添加文件系统支持
Kernel modules —> Filesystems —> <*> kmod-fs-ext4 
Kernel modules —> Filesystems —> <*> kmod-fs-vfat
Kernel modules —> Filesystems —> <*> kmod-fs-ntfs 


6). 添加UTF8编码,CP437编码,ISO8859-1编码
Kernel modules —> Native Language Support —> <*> kmod-nls-cp437
Kernel modules —> Native Language Support —> <*> kmod-nls-iso8859-1
Kernel modules —> Native Language Support —> <*> kmod-nls-utf8

Utilities  ---> disc ---> <*> fdisk.................................... manipulate disk partition table

Utilities  ---> <*> usbutils................................... USB devices listing utilities

第二步,开机自动挂载

df一下应该就可以看到挂载的USB硬盘了

下面写一个启动脚本,让路由器在启动时自动挂载USB硬盘。

vim /etc/init.d/usbdisk

写入脚本:

#!/bin/sh /etc/rc.common 
START=99 
STOP=10 
start() { 
mount -t ext3 -o noatime /dev/scsi/host0/bus0/target0/lun0/part1 /mnt 
} 
stop() 
{ 
sync 
umount /dev/scsi/host0/bus0/target0/lun0/part1 
}
restart() 
{ 
stop
start 
}

加入可执行权限

chmod 755 /etc/init.d/usbdisk

加入到启动目录

ln -s /etc/init.d/usbdisk /etc/rc.d/S99usbdisk

第三步,热插拔支持


自动挂载脚本,在/etc/hotplug.d/block/创建一个30-usbmount的文件,
#!/bin/sh
  case "$ACTION" in 
        add)
                for i in $(ls /dev/ | grep 'sd[a-z][1-9]')
                   do
                       mkdir -p /mnt/$i
                       mount  -o iocharset=utf8,rw /dev/$i /mnt/$i
                        if [ "$?" -ne 0 ];then
                            mount -o rw /dev/$i /mnt/$i
                        fi
                  done 
             ;;
      remove) 
                    MOUNT=`mount | grep -o '/mnt/sd[a-z][1-9]'`
 
                    for i in $MOUNT
 
                    do
                      umount $i
                   done 
             ;;
  esac


【http://wenku.baidu.com/link?url=UIUZFGuZ0iNXmjh6N3EWodiR_Ybbw7q_MFxBnwbDusg12eWkVcEFEAiRwg9jRSmPyO_mPKfA7XijVDgjpAeNHfoyIiR7z8Gdmev8yWuVHxG###】

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在OpenWrt添加识别USB驱动,可以按照以下步骤进行操作: 1. 确认OpenWrt系统中已经安装了USB驱动,可以通过以下命令进行检查: ``` opkg list-installed | grep kmod-usb ``` 如果没有安装,可以使用以下命令进行安装: ``` opkg update opkg install kmod-usb-core kmod-usb2 kmod-usb3 ``` 2. 连接USB设备到OpenWrt系统,使用以下命令检查USB设备是否已经被识别: ``` dmesg | grep usb ``` 如果USB设备已经被识别,可以看到类似如下的输出: ``` [ 424.702000] usb 1-1: new high-speed USB device number 2 using ehci-platform [ 424.942000] usb-storage 1-1:1.0: USB Mass Storage device detected [ 424.948000] scsi host2: usb-storage 1-1:1.0 [ 425.954000] scsi 2:0:0:0: Direct-Access XXXXXXXX XXXXXXXX PQ: 0 ANSI: 0 CCS [ 425.962000] sd 2:0:0:0: [sda] 30253056 512-byte logical blocks: (15.5 GB/14.4 GiB) [ 425.970000] sd 2:0:0:0: [sda] Write Protect is off [ 425.974000] sd 2:0:0:0: [sda] Mode Sense: 03 00 00 00 [ 425.974000] sd 2:0:0:0: [sda] No Caching mode page found [ 425.979000] sd 2:0:0:0: [sda] Assuming drive cache: write through [ 425.986000] sd 2:0:0:0: [sda] No Caching mode page found [ 425.990000] sd 2:0:0:0: [sda] Assuming drive cache: write through [ 426.056000] sda: sda1 [ 426.062000] sd 2:0:0:0: [sda] No Caching mode page found [ 426.067000] sd 2:0:0:0: [sda] Assuming drive cache: write through [ 426.071000] sd 2:0:0:0: [sda] Attached SCSI removable disk ``` 3. 如果USB设备没有被识别,可以通过以下命令查看系统日志来查找问题: ``` logread | grep usb ``` 根据日志信息,可以尝试安装对应的USB驱动或者调整系统配置来解决问题。 注意:添加USB驱动需要对系统有一定的了解和操作技能,如果不熟悉系统操作,建议寻求专业人士帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值