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###】

【相关资源来自网络】

时间: 2024-10-23 19:56:54

OpenWrt 添加usb驱动及相关脚本的相关文章

[驱动]内核添加USB转串口驱动支持

转自:http://blog.csdn.net/gatieme/article/details/49491325 目录 1. 问题 2. 驱动源码 3. 内核配置 4. 编译内核和模块驱动 5. 加载驱动 问题 这两天为了做gps和arm的通讯,不得不捣鼓这个东东.开发板是创维特jx2410,usb转串口线的芯片是pl2303.还好是这个芯片,让我没费多少力气,就达成了目的.因为linux对它已经支持了,我们只要编译.加载它的驱动就ok了. 驱动源码 一般来说USB转串口的驱动已经集成在内核中,

LoadRunner12的安装,如何添加jar包编写java脚本及相关配置信息

一.LR12的下载与安装 LR12下载地址:http://pan.baidu.com/s/1nvo0yqH 安装步骤: 1.运行下载好的HP_LoadRunner_12.02_Community_Edition_T7177-15058.exe 进入安装准备阶段 2.安装好提示的必备程序之后才能安装HP LoadRunner(lR的安装需要其他环境的支撑) 3.按照安装向导继续安装,注:强烈建议安装在默认路径下,可避免某些使用异常 4.取消HP身份验证设置,取消默认勾选的"指定LoadRunner

Android KitKat 4.4平台开发-添加USB ADB和MTP功能支持

ADB和MTP是Android基于USB实现的两个重要功能,极大地方便了用户在PC与Android设备之间的互操作,比如传输文件.安装应用.开发调试应用. 本文讲述如何在特定软硬件平台下支持Android ADB和MTP功能. Android版本: KitKat 4.4.2 Linux内核版本: 3.10 (Vendor Kernel) 硬件平台: Atmel SAMA5D3 SoC 针对Linux内核的更改 Merge Android Linux内核USB Gadget驱动到处理器厂商Linu

Linux USB 驱动开发(三)—— 编写USB 驱动程序

前面学习了USB驱动的一些基础概念与重要的数据结构,那么究竟如何编写一个USB 驱动程序呢?编写与一个USB设备驱动程序的方法和其他总线驱动方式类似,驱动程序把驱动程序对象注册到USB子系统中,稍后再使用制造商和设备标识来判断是否安装了硬件.当然,这些制造商和设备标识需要我们编写进USB 驱动程序中. USB 驱动程序依然遵循设备模型 -- 总线.设备.驱动.和I2C 总线设备驱动编写一样,所有的USB驱动程序都必须创建的主要结构体是 struct usb_driver,它们向USB 核心代码描

USB驱动分析

INIT函数: 这是内核模块的初始化函数,其所作的工作只有注册定义好的USB驱动结构体. USB驱动结构体如下: Usb_driver中的probe函数是驱动和设备匹配成功后调用. Usb_driver中的disconnect函数是驱动和设备断开连接后后调用. Id_table中是驱动能够支持的设备列表,usb_device_id中记载的就是支持的设备.其中USB_interface_info是用来定义一类USB鼠标设备. MODULE_DEVICE_TABLE定义如下: MODULE_DEVI

【驱动】USB驱动&#183;入门【转】

转自:http://www.cnblogs.com/lcw/p/3159371.html Preface USB是目前最流行的系统总线之一.随着计算机周围硬件的不断扩展,各种设备使用不同的总线接口,导致计算机外部总线种类繁多,管理困难.USB总线正是因此而诞生的. USB总线提供了所有外部设备的统一连接方式,并且支持热插拔,方便了厂商开发设备和用户使用设备. USB遵循原则 USB的设计目标是对现有的PC机体系进行扩充,但是目前不仅是PC机,许多的嵌入式系统都开始支持USB总线和接口标准.USB

Linux USB 驱动开发(五)—— USB驱动程序开发过程简单总结

设备驱动程序是操作系统内核和机器硬件之间的接口,由一组函数和一些私有数据组成,是应用程序和硬件设备之间的桥梁.在应用程序看来,硬件设备只是一个设备文件,应用程序可以像操作普通文件一样对硬件设备进行操作. 设备驱动程序是内核的一部分,主要完成以下功能:对设备的初始化和释放:把数据从内核传送到硬件设备和从硬件设备读取数据:读取应用程序数据传送给设备文件和回送应用程序请求的数据:检测和处理硬件设备出现的错误. 一. Linux USB子系统分析 在Linux系统中,USB主机驱动程序由3部分组成:US

AM335x(TQ335x)学习笔记——USB驱动移植

对于AM335x来讲,TI维护的USB驱动已经非常完善了,本文称之为移植,实际上仅仅是配置内核选项使能USB HOST/OTG功能.废话少说,直接动手开启AM335x的USB驱动配置项. Step1. 配置内核支持USB 默认的配置项没有配置USB相关的选项,但是DTS已经配置好了,我们不需要对DTS作任何修改,详细的内核配置项如下: Device Drivers ---> [*] USB support ---> [*] OTG support <*> EHCI HCD (USB

大话USB驱动之USB键盘

转载请注明出处:http://blog.csdn.net/ruoyunliufeng/article/details/25040049 一.总体框图 二.驱动代码 /*************************************************************** *版权所有 (C)2014, *文件名称:linux键盘驱动 *内容摘要:用另一种方式改写linux键盘驱动 *其它说明: *当前版本:V1.2 *作 者: 若云流风 *完成日期:2014.5.6 *修改记