导航:首页 > 编程系统 > xhcihandofflinux

xhcihandofflinux

发布时间:2023-09-16 05:06:51

linux USB主机控制器驱动的整体结构

USB主机控制器有这些规格:OHCI (Open Host Controller Interface)、UHCI (Universal HostController Interface)、EHCI (Enhanced Host Controller Interface)和xHCI (eXtensible Host ControllerInterface)。OHCI驱动程序用来为非PC系统上以及带有SiS和ALi芯片组的PC主板上的USB芯片提供支持。UHCI驱动程序多用来为大多数其他PC主板(包括Intel和Via)上的USB芯片提供支持。EHCI由USB2.0规范所提出,它兼容于OHCI和UHCI。由于UHCI的硬件线路比OHCI简单,所以成本较低,但需要较复杂的驱动程序,CPU负荷稍重。xHCI,即可扩展的主机控制器接口是Intel公司开发的一个USB主机控制器接口,它目前主要是面向USB 3.0的,同时它也支持USB 2.0及以下的设备。
1.主机控制器驱动
在Linux内核中,用usb hed结构体描述USB主机控制器驱动,它包含USB主机控制器的“家务”信息、硬件资源、状态描述和用于操作主机控制器的hc_driver。
2.EHCI主机控制器驱动
EHCI HCD驱动属于HCD驱动的实例,它定义了一个ehci_hed结构体,通常作为代码清单16.6定义的usb_hed结构体的私有数据(hed_priv),这个结构体的定义位于rivers/usb/host/ehci.h中。

② linux针对usb3.0的驱动程序是什么

Linux * USB 3.0 xHCI 驱动程序可从开放源代码社区获取。查看驱动是否生内效:
lsusb -t
查看驱动是否集成到内核中:
grep -i xhci /boot/config-$(uname -r)
如果返回容y则是集成到内核中,返回m则是编译为模块。

③ linux系统怎么查看电脑硬件信息

用过Linux系统的人都知道这么一个情况,那就是Linux大部分操作是通过命令实现的,并不像Windows那么直观。linux查看硬件信息也是需要通过命令查询才可以看得到硬件的信息,那linux系统如何查看硬件信息呢?下面是我为大家介绍linux系统查看硬件信息的方法,欢迎大家阅读。

linux系统查看硬件信息的方法

1、CPU

lscpu命令,查看的是cpu的统计信息。

blue@blue-pc:~$ lscpu

Architecture: i686 #cpu架构

CPU op-mode(s): 32-bit, 64-bit

Byte Order: Little Endian #小尾序

CPU(s): 4 #总共有4核

On-line CPU(s) list: 0-3

Thread(s) per core: 1 #每个cpu核,只能支持一个线程,即不支持超线程

Core(s) per socket: 4 #每个cpu,有4个核

Socket(s): 1 #总共有1一个cpu

Vendor ID: GenuineIntel #cpu产商 intel

CPU family: 6

Model: 42

Stepping: 7

CPU MHz: 1600.000

BogoMIPS: 5986.12

Virtualization: VT-x #支持cpu虚拟化技术

L1d cache: 32K

L1i cache: 32K

L2 cache: 256K

L3 cache: 6144K

查看/proc/cpuinfo,可以知道每个cpu信息,如每个CPU的型号,主频等。

#cat /proc/cpuinfo

processor : 0

vendor_id : GenuineIntel

cpu family : 6

model : 42

model name : Intel(R) Core(TM) i5-2320 CPU @ 3.00GHz

。。。。。

上面输出的是第一个cpu部分信息,还有3个cpu信息省略了。

2、内存

概要查看内存情况

free -m

total used free shared buffers cached

Mem: 3926 3651 274 0 12 404

-/+ buffers/cache: 3235 691

Swap: 9536 31 9505

这里的单位是MB,总共的内存是3926MB。

查看内存详细使用

# cat /proc/meminfo

MemTotal: 4020868 kB

MemFree: 230884 kB

Buffers: 7600 kB

Cached: 454772 kB

SwapCached: 836 kB

。。。。。

查看内存硬件信息

dmidecode -t memory

# dmidecode 2.11

SMBIOS 2.7 present.

Handle 0x0008, DMI type 16, 23 bytes

Physical Memory Array

Location: System Board Or Motherboard

。。。。

Maximum Capacity: 32 GB

。。。。

Handle 0x000A, DMI type 17, 34 bytes

。。。。

Memory Device

Array Handle: 0x0008

Error Information Handle: Not Provided

Total Width: 64 bits

Data Width: 64 bits

Size: 4096 MB

。。。。。

我的主板有4个槽位,只用了一个槽位,上面插了一条4096MB的内存。

3、磁盘

查看硬盘和分区分布

# lsblk

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT

sda 8:0 0 465.8G 0 disk

├—sda1 8:1 0 1G 0 part /boot

├—sda2 8:2 0 9.3G 0 part [SWAP]

├—sda3 8:3 0 74.5G 0 part /

├—sda4 8:4 0 1K 0 part

├—sda5 8:5 0 111.8G 0 part /home

└—sda6 8:6 0 269.2G 0 part

显示很直观

如果要看硬盘和分区的详细信息

# fdisk -l

Disk /dev/sda: 500.1 GB, 500107862016 bytes

255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 4096 bytes

I/O size (minimum/optimal): 4096 bytes / 4096 bytes

Disk identifier: 0x00023728

Device Boot Start End Blocks Id System

/dev/sda1 * 2048 2148351 1073152 83 Linux

/dev/sda2 2148352 21680127 9765888 82 Linux swap / Solaris

/dev/sda3 21680128 177930239 78125056 83 Linux

/dev/sda4 177932286 976771071 399419393 5 Extended/dev/sda5 177932288 412305407 117186560 83 Linux

/dev/sda6 412307456 976771071 282231808 83 Linux

4、网卡

查看网卡硬件信息

# lspci | grep -i ‘eth’

02:00.0 Ethernet controller: Realtek Semiconctor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06)

查看系统的所有网络接口

# ifconfig -a

eth0 Link encap:以太网 硬件地址 b8:97:5a:17:b3:8f

。。。。。

lo Link encap:本地环回

。。。。。

或者是

ip link show

1: lo: 《LOOPBACK》 mtu 16436 qdisc noqueue state DOWN

link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

2: eth0: 《BROADCAST,MULTICAST,UP,LOWER_UP》 mtu 1500 qdisc pfifo_fast state UP qlen 1000

link/ether b8:97:5a:17:b3:8f brd ff:ff:ff:ff:ff:ff

如果要查看某个网络接口的详细信息,例如eth0的详细参数和指标

# ethtool eth0

Settings for eth0:

Supported ports: [ TP MII ]

Supported link modes: 10baseT/Half 10baseT/Full

100baseT/Half 100baseT/Full

1000baseT/Half 1000baseT/Full #支持千兆半双工,全双工模式

Supported pause frame use: No

Supports auto-negotiation: Yes #支持自适应模式,一般都支持

Advertised link modes: 10baseT/Half 10baseT/Full

100baseT/Half 100baseT/Full

1000baseT/Half 1000baseT/Full

Advertised pause frame use: Symmetric Receive-only

Advertised auto-negotiation: Yes #默认使用自适应模式

Link partner advertised link modes: 10baseT/Half 10baseT/Full

100baseT/Half 100baseT/Full

。。。。。

Speed: 100Mb/s #现在网卡的速度是100Mb,网卡使用自适应模式,所以推测路由是100Mb,导致网卡从支 持千兆,变成要支持百兆

Duplex: Full #全双工

。。。。。

Link detected: yes #表示有网线连接,和路由是通的

5、其他

查看pci信息,即主板所有硬件槽信息。

lspci

00:00.0 Host bridge: Intel Corporation 2nd Generation Core Processor Family DRAM Controller (rev 09) #主板芯片

00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09) #显卡

00:14.0 USB controller: Intel Corporation Panther Point USB xHCI Host Controller (rev 04) #usb控制器

00:16.0 Communication controller: Intel Corporation Panther Point MEI Controller #1 (rev 04)

00:1a.0 USB controller: Intel Corporation Panther Point USB Enhanced Host Controller #2 (rev 04)

00:1b.0 Audio device: Intel Corporation Panther Point High Definition Audio Controller (rev 04) #声卡

00:1c.0 PCI bridge: Intel Corporation Panther Point PCI Express Root Port 1 (rev c4) #pci 插槽

00:1c.2 PCI bridge: Intel Corporation Panther Point PCI Express Root Port 3 (rev c4)

00:1c.3 PCI bridge: Intel Corporation Panther Point PCI Express Root Port 4 (rev c4)

00:1d.0 USB controller: Intel Corporation Panther Point USB Enhanced Host Controller #1 (rev 04)

00:1f.0 ISA bridge: Intel Corporation Panther Point LPC Controller (rev 04)

00:1f.2 IDE interface: Intel Corporation Panther Point 4 port SATA Controller [IDE mode] (rev 04) #硬盘接口

00:1f.3 SMBus: Intel Corporation Panther Point SMBus Controller (rev 04)

00:1f.5 IDE interface: Intel Corporation Panther Point 2 port SATA Controller [IDE mode] (rev 04) #硬盘接口

02:00.0 Ethernet controller: Realtek Semiconctor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06) #网卡

03:00.0 PCI bridge: Integrated Technology Express, Inc. Device 8893 (rev 41)

如果要更详细的信息:lspci -v 或者 lspci -vv

如果要看设备树:lscpi -t

查看bios信息

# dmidecode -t bios

。。。。。。

BIOS Information

Vendor: American Megatrends Inc.

Version: 4.6.5

Release Date: 04/25/2012

。。。。。。。

BIOS Revision: 4.6

。。。。。。

dmidecode以一种可读的方式mp出机器的DMI(Desktop Management Interface)信息。这些信息包括了硬件以及BIOS,既可以得到当前的配置,也可以得到系统支持的最大配置,比如说支持的最大内存数等。

如果要查看所有有用信息

dmidecode -q

以上是linux查看硬件信息的所有命令,可以查看CPU、硬盘、网卡、磁盘等硬件的信息。

④ 如何编译linux源代码

首先uname -r看一下你当前的linux内核版本

1、linux的源码是在/usr/src这个目录下,此目录有你电脑上各个版本的linux内核源代码,用uname -r命令可以查看你当前使用的是哪套内核,你把你下载的内核源码也保存到这个目录之下。
2、配置内核 make menuconfig,根据你的需要来进行选择,设置完保存之后会在当前目录下生成.config配置文件,以后的编译会根据这个来有选择的编译。
3、编译,依次执行make、make bzImage、make moles、make moles
4、安装,make install
5、.创建系统启动映像,到 /boot 目录下,执行 mkinitramfs -o initrd.img-2.6.36 2.6.36
6、修改启动项,因为你在启动的时候会出现多个内核供你选择,此事要选择你刚编译的那个版本,如果你的电脑没有等待时间,就会进入默认的,默认的那个取决于 /boot/grub/grub.cfg 文件的设置,找到if [ "${linux_gfx_mode}" != "text" ]这行,他的第一个就是你默认启动的那个内核,如果你刚编译的内核是在下面,就把代表这个内核的几行代码移到第一位如:
menuentry 'Ubuntu, with Linux 3.2.0-35-generic' --class ubuntu --class gnu-linux --class gnu --class os {

recordfail
gfxmode $linux_gfx_mode
insmod gzio
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set=root 9961c170-2566-41ac-8155-18f231c1bea5
linux/boot/vmlinuz-3.2.0-35-generic root=UUID=9961c170-2566-41ac-8155-18f231c1bea5 ro quiet splash $vt_handoff
initrd/boot/initrd.img-3.2.0-35-generic
}
当然你也可以修改 set default="0"来决定用哪个,看看你的内核在第几位,default就填几,不过我用过这种方法,貌似不好用。

重启过后你编译的内核源码就成功地运行了,如果出现问题,比如鼠标不能用,usb不识别等问题就好好查查你的make menuconfig这一步,改好后就万事ok了。

最后再用uname -r看看你的linux内核版本。是不是你刚下的那个呢!有没有成就感?

阅读全文

与xhcihandofflinux相关的资料

热点内容
猥琐猫表情教程 浏览:599
android音频文件格式 浏览:458
漫画脸app哪里可以下载 浏览:959
购买欢乐升级欢乐豆 浏览:282
学习智能机器人用什么编程最好 浏览:655
苹果手机如何管控app 浏览:633
mn文件夹 浏览:590
安卓平板通用刷机包下载 浏览:751
安卓获取内部存储路径 浏览:880
写代码两台显示器 浏览:327
unitypackage压缩文件 浏览:493
奕心安卓 浏览:563
使用土地的有关证明文件包含哪些 浏览:493
数据标注哪里可以接 浏览:482
在家自学编程下什么学 浏览:705
最近很火的app软件是什么软件 浏览:862
ai文字工具 浏览:157
兰博玩游戏路径怎么选择正确文件 浏览:972
淘宝直通车恢复老版本 浏览:510
播放草莓的图片我都文件 浏览:55

友情链接