探索linux系统下的myu驱动使用方法 (myu(linux))

探索Linux系统下的MyUSB驱动使用方法

Linux系统作为一个开放源代码的操作系统,已经成为了众多科研、服务器等领域的首选操作系统。在Linux系统中,驱动程序是非常重要的一环,而MyUSB驱动作为一款集成了USB控制、数据传输等多个功能的驱动程序,无疑成为了Linux系统中非常重要的一款驱动程序。本文将探索Linux系统下的MyUSB驱动使用方法。

一、MyUSB驱动简介

MyUSB驱动是一款在Linux系统中常见的板级支持库驱动程序,它非常适合在linux平台下使用。MyUSB驱动提供了多种功能,包括USB控制、数据传输、系统资源管理等。其主要功能如下:

1. 支持USB设备和主机收发数据

2. USB控制命令和状态操作

3. USB系统资源的管理

4. 支持USB HUB设备。

二、MyUSB驱动的安装

MyUSB驱动是一个针对Linux内核的驱动程序,在安装之前需要先确保内核版本的兼容性。MyUSB驱动支持的Linux内核版本如下:

Linux 2.4: MyUSB驱动的2.4.x版本适用于Linux的2.4.x版本内核。

Linux 2.6: MyUSB驱动的2.6.x版本适用于Linux的2.6.x版本内核。

MyUSB驱动的安装比较简单,只需要将编译好的驱动通过inod命令加载到内核即可。在安装之前,需要确保系统上已经安装了GNU C Compiler工具。

MyUSB驱动的安装步骤如下:

1. 下载MyUSB驱动程序

MyUSB驱动可以从官方网站上下载,也可以从github等代码托管平台上获取。下载时需要选择对应的内核版本的MyUSB驱动。

2. 安装工具链

MyUSB驱动需要使用GNU C Compiler工具链进行编译,因此需要先安装该工具链。

apt-get install build-essential

3. 解压驱动源代码

将下载的MyUSB驱动源代码解压到任意目录即可,命令如下:

tar -zxvf myu-x.x.tar.gz

4. 编译驱动程序

进入MyUSB驱动的源代码目录中,使用make命令编译MyUSB驱动程序。编译完成后会生成.ko文件。

make

5. 加载驱动程序

使用inod命令将编译好的MyUSB驱动程序加载到内核中。

inod myu.ko

至此,MyUSB驱动就已经成功安装到了Linux系统中。

三、MyUSB测试程序的使用

为了验证MyUSB驱动在Linux系统中的正常使用,我们可以使用附带的测试程序进行测试。MyUSB测试程序是一个控制台程序,可以在控制台中进行USB设备的连接、数据发送等操作。

1. 下载MyUSB测试程序源代码

同样是从MyUSB官方网站下载到源代码,解压后即可使用。

2. 编译MyUSB测试程序

进入MyUSB测试程序的源代码目录中,使用make命令编译MyUSB测试程序。

make

3. 运行MyUSB测试程序

使用./myu_test命令运行MyUSB测试程序,程序会连接到USB设备并进行数据读写等操作。程序操作比较简单,如果程序能够正常连接到设备并进行数据传输,则表明MyUSB驱动已经成功安装并可用。

四、

MyUSB驱动是一款非常实用的板级支持库驱动程序,在Linux系统中得到了广泛的应用。MyUSB驱动提供了USB控制、数据传输、系统资源管理等多种功能,可用于连接USB设备、存储数据等多种场景。在使用MyUSB驱动前,需要先安装对应的内核版本,并使用编译工具编译MyUSB驱动,最后使用测试程序进行测试。通过本文的介绍,相信读者已经对MyUSB驱动的使用有了一定了解。

相关问题拓展阅读:

Linux下如何自己手动使用命令挂载/卸载USB设备

Linux系统下通常都会自动挂载USB设备,如果没有自动挂载的话就需要自己手动挂载USB设备了,那么Linux下要如何挂载USB设备呢?不需要的时候又要如何卸载呢?一起来了解下吧。

在挂载之前需要确定下列三种信息

1、要挂载对象的文件系统类型

2、要挂载对象的设备名称

3、确定挂载点

挂载时使用mount命令:

格式:mount [-参数] [设备名称] [挂载点]

我们常见搜键的USB设备格式是:FAT32格式、NFTS格式等。

ext2 linux目前常用的文件系统

msdos MS-DOS的fat,就是fat16

vfat windows98常用的fat32

nfs 网络文件系统

iso9660 CD-ROM光盘标准文件系统

ntfs windows NT 2023的文件系统

hpfs OS/2文件系统

挂u盘之前,运行命令cat /proc/partitions,看看现在系统中有哪些分区。

插上u盘以后,再次运行上述命令,看看多出来什么分区。

1) 插入U盘

2) 输入 fdisk -l /dev/sda 查看输出结果,比如我的是这样的:

代码如下:

# fdisk -l /dev/sda《/p》 Disk /dev/sda: 131 MB,世哗巧bytes

3 heads, 32 sectors/track, 2667 cylinders

Units = cylinders of 96 * 512 =bytes

Device Boot Start End Blocks Id System

/dev/sdb1 * 6 FAT16

3) 看了上面的输出就知道U盘所在的设备了,比如我的就是/dev/sdb1,接着便是挂载了

假设我将U盘挂载到/mnt/u目录(没有的话,新建)中,就是mount -t msdos /dev/sdb1 /mnt/u

如果是fat32

代码如下:

mount -t vfat /dev/sdb1 /mnt/u

如果是ext2格式,就用命令:

代码如下:芦迟

mount -t ext2 /dev/sda1 /mnt/u

4) 打开/mnt/u 就可以看到你的U盘里的东西了!

代码如下:

cd /mnt/u

5) 卸载命令则为:

代码如下:

umount /mnt/u。

上面就是Linux下挂载及卸载USB设备的方法介绍了,挂载USB接口设备后就能够查看移动盘的内容了,而不需要使用的时候也可将其卸载,你学会了吗?

linux系统中没有USB驱动怎么办?

要启用 Linux USB 支持,首先进入”USB support”节并启用”Support for USB”选项(对应模块为ucore.o)。尽管这个步骤相当直观明了,但接下来的 Linux USB 设置步骤则会让人感到糊涂。特别地,现在需要选择用于系统的正确 USB 主控制器驱动程序。选项是”EHCI” (对应模块为ehci-hcd.o)、”UHCI” (对应模块为u-uhci.o)、”UHCI (alternate driver)”和”OHCI” (对应模块为u-ohci.o)。举磨这是许多人对 Linux 的 USB 开始感到困惑的地方。

要理解”EHCI”及其同类是什么,首先要知道每块支持插入 USB 设备的主板或 PCI 卡都需要有 USB 主控制器芯片组。这个特别的芯片组与插入系统的 USB 设备进行相互操作,并负责处理允许 USB 设备与系统其它部分通信所必需的所有低层次细节。

Linux USB 驱动程序有三种不同的 USB 主控制器选项是因为在主板和 PCI 卡上有三种不同类型的 USB 芯片。”EHCI”驱动程序设计成为实现新的高速 USB 2.0 协议的芯片提供支持。”OHCI”驱动程序用来为非 PC 系统上的(以及带有 SiS 和 ALi 芯片组的 PC 主板上的)USB 芯片提供支持。”UHCI”驱动程序用来为大多数其它 PC 主板(包括 Intel 和 Via)上的 USB 实现提供支持。只需选择与希望启用的 USB 支持的类型对应的”?HCI”驱动程序即可。如有疑惑,为保险起见,可以启用”EHCI”、”UHCI” (两者中任选一种,它们之间没有明显的区别)和”OHCI”。( 赵明注:根据文档,EHCI已经包含了UHCI和OHCI,但目前就我个人的测试,单独加EHCI是不行的,通常我的做法是根据主板类型加载UHCI或OHCI后,再加载EHCI这样才可以支持USB2.0设备)。

启用了”USB support”和适当的”?HCI”USB 主控蠢答宽制器驱动程序后,使 USB 启动并运行只需再进行几个步骤。应该启用”Preliminary USB device filesystem”,然后确保启用所有特定于将与 Linux 一起使用的实际 USB 外围设备的驱动程序。例如,为了启用对 USB 游戏控制器的支持,我启用了”USB Human Interface Device (full HID) support”。我还启用了主”Input core support” 节下的”Input core support”和”Joystick support”。

一旦用新的已启用 USB 的内核重新引导后,若/proc/bus/u下没有相应USB设备信息,应输入以下命令将 USB 设备文件系统手动挂装到 /proc/bus/u:

# mount -t udevfs none /proc/bus/u

为了在系统引导时自动挂装 USB 设备文件系统,请将下面一行添加到 /etc/fstab 中的 /proc 挂装行之后:

none /proc/bus/u udevfs defaults 0 0

模块的配置方法.

在很多时候,我们的USB设备驱动并不包含在内核中。其实我们只要根据它所需要使用的模块,逐一加载。就可以使它启作用。

首先要确保在内核编译时以模块方式选择了相应支持。这样我们就应该可以在/lib/modules/2.4.XX目录看到相应.o文件。在加载模块时,我们只需要运行modprobe .o就可以了(modprobe主要加载系统已经通过depmod登记过的模块,inod一般是针对具体.o文件进行加载)

对应USB设备下面一些模块是关键的。

ucore.o要支持u所需要的最基础模块u-uhci.o(已经提过)u-ohci.o(已经提过)uhci.o另一个uhci驱动程序,我也不知道有什么用,一般不要加载,会死机的ehci-hcd.o(已经提过 u2.0)hid.oUSB人机界面设备,像鼠标呀、键盘呀都需要u-storage.oUSB存储设备,U盘带亮等用到

相关模块

ide-disk.oIDE硬盘ide-scsi.o把IDE设备模拟SCSI接口scsi_mod.oSCSI支持

注意kernel config其中一项:

Probe all LUNs on each SCSI device

更好选上,要不某些同时支持多个口的读卡器只能显示一个。若模块方式就要带参数安装或提前在/etc/modules.conf中加入以下项,来支持多个LUN。

add options scsi_mod max_scsi_luns=9

sd_mod.oSCSI硬盘sr_mod.oSCSI光盘sg.oSCSI通用支持(在某些探测U盘、SCSI探测中会用到)

常见USB设备及其配置

在Linux 2.4的内核中已经支持不下20种设备。它支持几乎所有的通用设备如键盘、鼠标、modem、打印机等,并不断地添加厂商新的设备象数码相机、MP3、网卡等。下面就是几个最常见设备的介绍和使用方法:

USB鼠标:

键盘和鼠标属于低速的输入设备,对于已经为用户认可的PS/2接口,USB键盘和USB鼠标似乎并没有太多更优越的地方。现在的大部分鼠标采用了PS/2接口,不过USB接口的鼠标也越来越多,两者相比,各有优势:一般来说,USB的鼠标接口的带宽大于PS/2鼠标,也就是说在同样的时间内,USB鼠标扫描次数就要多于PS/2鼠标,这样在定位上USB鼠标就更为精确;同时USB接口鼠标的默认采样率也比较高,达到125HZ,而PS/2接口的鼠标仅有40HZ(Windows 9x/Me)或是60HZ(Windows NT/2023)。

对于USB设备你当然必须先插入相应的USB控制器模块:u-uhci.o或u-ohci.o

modprobe u-uhci

USB鼠标为了使其正常工作,您必须先插入模块umouse.o和mousedev.o

modprobe umouse

modprobe mousedev

若你把HID input layer支持和input core 支持也作为模块方式安装,那么启动hid模块和input模块也是必要的。

modprobe hid

modprobe input

USB键盘:

一般的,我们现在使用的键盘大多是PS/2的,USB键盘还比较少见,但是下来的发展,键盘将向USB接口靠拢。使用USB键盘基本上没有太多的要求,只需在主板的BIOS设定对USB键盘的支持,就可以在各系统中完全无障碍的使用,而且更可以真正做到在即插即用和热插拔使用,并能提供两个USB连接埠:让您可以轻易地直接将具有USB接头的装置接在您的键盘上,而非计算机的后面。

同样你当然必须先插入相应的USB控制器模块:u-uhci.o或u-ohci.o

modprobe u-uhci

然后您还必须插入键盘模块ukbd.o,以及keybdev.o,这样u键盘才能够正常工作。此时,运行的系统命令:

modprobe ukbd

modprobe keybdev

同样若你把HID input layer支持和input core 支持也作为模块方式安装,那么启动hid模块和input模块也是必要的。

U盘和USB读卡器:

数码存储设备现在对我们来说已经是相当普遍的了。CF卡、SD卡、Memory Stick等存储卡已经遍及我们的身边,通常,他们的读卡器都是USB接口的。另外,很多MP3、数码相机也都是USB接口和计算机进行数据传递。更我们的U盘、USB硬盘,作为移动存储设备,已经成为我们的必须装备。

在Linux下这些设备通常都是以一种叫做u-storage的方式进行驱动。要使用他们必须加载此模块

modprobe u-storage

当然,ucore.o 和u-uhci.o或u-ohci也肯定是不可缺少的。另外,若你系统中SCSI支持也是模块方式,那么下面的模块也要加载

modprobe scsi_mod

modprobe sd_mod

在加载完这些模块后,我们插入U盘或存储卡,就会发现系统中多了一个SCSI硬盘,通过正确地mount它,就可以使用了(SCSI硬盘一般为/dev/sd?,可参照文章后面的常见问题解答)。

mount /dev/sda1 /mnt

Linux支持的其他USB设备。

MODEM–(比较常见) 网络设备 摄像头–(比较常见)例如ov511.o 联机线–可以让你的两台电脑用USB线实现网络功能。unet.o 显示器–(我没见过) 游戏杆 电视盒–(比较常见) 手写板–(比较常见) 扫描仪–(比较常见) 刻录机–(比较常见) 打印机–(比较常见)

注意:

上面所说的每个驱动模块,并不是都要手动加载,有很多系统会在启动或你的应用需要时自动加载的,写明这些模块,是便于你在不能够使用USB设备时,可以自行检查。只要用lod确保以上模块已经被系统加载,你的设备就应该可以正常工作了。当然注意有些模块已经以内核方式在kernel启动时存在了(这些模块文件在/lib/modules/2.4.XX中是找不到的)。

输入相关命令

系统中没有USB驱动,只能自己安装了。

安装具体如下:

事先需要插入一张系统光盘(因为所有的系统光盘中都集成了大部分的各种各样的驱动)到光驱。

再把USB移动硬件插入USB接口,也就是先把USB插入电脑上。

之后右下角会提示新硬件被发现,但些此时没有驱动肯定是用不起的。

在弹出的对话框中选择更新驱动的路径,这个路径当然就是刚才放入光驱中的光盘了。

此时电脑会自动搜索光盘中符合USB硬件的驱动。

如氏弯果没有自动弹出更新驱动对话框:

右击“我的电脑”-属性-硬件-设备管理器。

刚插入的新硬件因为没有驱动芦宽所以在此对话框中就会显示一个黄色的问号。

再在黄色问号的上边右击-选择更新驱动此时电脑就会自动侦测电脑中符合USB的驱动(当然这个自陪核亮动就是电脑自动到插入光盘中去搜索)。

需要重新编译内核

关于myu(linux)的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » 探索linux系统下的myu驱动使用方法 (myu(linux))