當前位置:首頁 » 操作系統 » usb的linux驅動

usb的linux驅動

發布時間: 2022-11-01 07:51:57

linux 安裝usb無線網卡驅動怎麼安裝

linux 安裝usb無線網卡驅動的具體步驟如下:
1、將USB無線網卡插入電腦,雙擊打開「計算機」,雙擊光碟機;
2、雙擊之後彈出一個頁面,選擇「安裝驅動程序」,選擇購買型號網卡的驅動,先選定,再點安裝;
3、在無線上網卡官網下載相對應型號無線網卡進行安裝驅動,下載完成後進行解壓
4、打開解壓出來的文件找到「Setup.exe」,雙擊完成安裝後,重啟電腦即可完成。
5、溫馨提醒:USB無線網卡要連接到筆記本或者台式機上 ;安裝驅動完成後建議重啟一下電腦。

② linux下usb驅動,求教,該怎麼處理

系統中沒有USB驅動,只能自己安裝了。安裝具體如下:事先需要插入一張系統光碟(因為所有的系統光碟中都集成了大部分的各種各樣的驅動)到光碟機。再把USB移動硬體插入USB介面,也就是先把USB插入電腦上。之後右下角會提示新硬體被發現,但些此時沒有驅動肯定是用不起的。在彈出的對話框中選擇更新驅動的路徑,這個路徑當然就是剛才放入光碟機中的光碟了。此時電腦會自動搜索光碟中符合USB硬體的驅動。如果沒有自動彈出更新驅動對話框:右擊「我的電腦」-屬性-硬體-設備管理器。剛插入的新硬體因為沒有驅動所以在此對話框中就會顯示一個黃色的問號。再在黃色問號的上邊右擊-選擇更新驅動此時電腦就會自動偵測電腦中符合USB的驅動(當然這個自動就是電腦自動到插入光碟中去搜索)。

③ 怎樣寫linux下的USB設備驅動程序

USB驅動程序基礎
在動手寫USB驅動程序這前,讓我們先看看寫的USB驅動程序在內核中的結構,如下圖:



USB通信最基本的形式是通過端點(USB端點分中斷、批量、等時、控制四種,每種用途不同),USB端點只能往一個方向傳送數據,從主機到設備或者從設備到主機,端點可以看作是單向的管道(pipe)。所以我們可以這樣認為:設備通常具有一個或者更多的配置,配置經常具有一個或者更多的介面,介面通常具有一個或者更多的設置,介面沒有或具有一個以上的端點。驅動程序把驅動程序對象注冊到USB子系統中,稍後再使用製造商和設備標識來判斷是否已經安裝了硬體。USB核心使用一個列表(是一個包含製造商ID和設備號ID的一個結構體)來判斷對於一個設備該使用哪一個驅動程序,熱插撥腳本使用它來確定當一個特定的設備插入到系統時該自動裝載哪一個驅動程序。
上面我們簡要說明了驅動程序的基本理論,在寫一個設備驅動程序之前,我們還要了解以下兩個概念:模塊和設備文件。
模塊:是在內核空間運行的程序,實際上是一種目標對象文件,沒有鏈接,不能獨立運行,但是可以裝載到系統中作為內核的一部分運行,從而可以動態擴充內核的功能。模塊最主要的用處就是用來實現設備驅動程序。Linux下對於一個硬體的驅動,可以有兩種方式:直接載入到內核代碼中,啟動內核時就會驅動此硬體設備。另一種就是以模塊方式,編譯生成一個.ko文件(在2.4以下內核中是用.o作模塊文件,我們以2.6的內核為准,以下同)。當應用程序需要時再載入到內核空間運行。所以我們所說的一個硬體的驅動程序,通常指的就是一個驅動模塊。
設備文件:對於一個設備,它可以在/dev下面存在一個對應的邏輯設備節點,這個節點以文件的形式存在,但它不是普通意義上的文件,它是設備文件,更確切的說,它是設備節點。這個節點是通過mknod命令建立的,其中指定了主設備號和次設備號。主設備號表明了某一類設備,一般對應著確定的驅動程序;次設備號一般是區分不同屬性,例如不同的使用方法,不同的位置,不同的操作。這個設備號是從/proc/devices文件中獲得的,所以一般是先有驅動程序在內核中,才有設備節點在目錄中。這個設備號(特指主設備號)的主要作用,就是聲明設備所使用的驅動程序。驅動程序和設備號是一一對應的,當你打開一個設備文件時,操作系統就已經知道這個設備所對應的驅動程序。對於一個硬體,Linux是這樣來進行驅動的:首先,我們必須提供一個.ko的驅動模塊文件。我們要使用這個驅動程序,首先要載入它,我們可以用insmod
xxx.ko,這樣驅動就會根據自己的類型(字元設備類型或塊設備類型,例如滑鼠就是字元設備而硬碟就是塊設備)向系統注冊,注冊成功系統會反饋一個主設備號,這個主設備號就是系統對它的唯一標識。驅動就是根據此主設備號來創建一個一般放置在/dev目錄下的設備文件。在我們要訪問此硬體時,就可以對設備文件通過open、read、write、close等命令進行。而驅動就會接收到相應的read、write操作而根據自己的模塊中的相應函數進行操作了。

USB驅動程序實踐
了解了上述理論後,我們就可以動手寫驅動程序,如果你基本功好,而且寫過linux下的硬體驅動,USB的硬體驅動和pci_driver很類似,那麼寫USB的驅動就比較簡單了,如果你只是大體了解了linux的硬體驅動,那也不要緊,因為在linux的內核源碼中有一個框架程序可以拿來借用一下,這個框架程序在/usr/src/~(你的內核版本,以下同)/drivers/usb下,文件名為usb-skeleton.c。寫一個USB的驅動程序最基本的要做四件事:驅動程序要支持的設備、注冊USB驅動程序、探測和斷開、提交和控制urb(USB請求塊)(當然也可以不用urb來傳輸數據,下文我們會說到)。
驅動程序支持的設備:有一個結構體struct
usb_device_id,這個結構體提供了一列不同類型的該驅動程序支持的USB設備,對於一個只控制一個特定的USB設備的驅動程序來說,struct
usb_device_id表被定義為:
/* 驅動程序支持的設備列表 */
static struct usb_device_id
skel_table [] = {
{ USB_DEVICE(USB_SKEL_VENDOR_ID, USB_SKEL_PRODUCT_ID)
},
{ } /* 終止入口 */
};
MODULE_DEVICE_TABLE (usb,
skel_table);
對於PC驅動程序,MODULE_DEVICE_TABLE是必需的,而且usb必需為該宏的第一個值,而USB_SKEL_VENDOR_ID和USB_SKEL_PRODUCT_ID就是這個特殊設備的製造商和產品的ID了,我們在程序中把定義的值改為我們這款USB的,如:
/*
定義製造商和產品的ID號 */
#define USB_SKEL_VENDOR_ID 0x1234
#define
USB_SKEL_PRODUCT_ID
0x2345
這兩個值可以通過命令lsusb,當然你得先把USB設備先插到主機上了。或者查看廠商的USB設備的手冊也能得到,在我機器上運行lsusb是這樣的結果:
Bus
004 Device 001: ID 0000:0000
Bus 003 Device 002: ID 1234:2345 Abc Corp.

Bus 002 Device 001: ID 0000:0000
Bus 001 Device 001: ID
0000:0000
得到這兩個值後把它定義到程序里就可以了。
注冊USB驅動程序:所有的USB驅動程序都必須創建的結構體是struct
usb_driver。這個結構體必須由USB驅動程序來填寫,包括許多回調函數和變數,它們向USB核心代碼描述USB驅動程序。創建一個有效的struct
usb_driver結構體,只須要初始化五個欄位就可以了,在框架程序中是這樣的:
static struct usb_driver skel_driver
= {
.owner = THIS_MODULE,
.name = "skeleton",

.probe = skel_probe,
.disconnect = skel_disconnect,

.id_table = skel_table,
};

④ linux系統下安裝usb網卡驅動圖文

  1. 確認usb-wifi設備型號 , 根據確認結果選擇驅動信息。

  2. 安裝驅動 mt7601u , 如果已經自帶跳過此步驟

  3. 配置驅動啟動後自動載入。

  4. 重啟驗證是否成功的自動載入驅動模塊。

  5. 確認usb-wifi設備型號 , 根據確認結果選擇驅動信息。


## 初始USB接入時載入顯示

lsusb| grep Ralink

Bus 001 Device 003: ID 148f:2878 Ralink Technology, Corp.

## lsusb執行後顯示信息中有 usb-wifi設備時繼續執行如下命令,進行模式切換(對於存在多模式設備可以正確顯示出wifi設備的真實型號)

usb_modeswitch -KW -v 148f -p 2878

## 模式切換後載入顯示

lsusb| grep Ralink

Bus 001 Device 003: ID 148f:7601 Ralink Technology, Corp.


可以看到型號為 7601 ,據此我們選擇 mt7601u 驅動進行『安裝。


安裝驅動 mt7601u , 如果已經自帶跳過此步驟

方法1:有可能系統內核已經集成好了你需要的驅動模塊,只需要手工載入以下驗證是否有效,如果無效再選擇方法2.

方法2:github 搜索型號的驅動源碼,手動編譯安裝 。


安裝完畢後,需要配置下 wlan0 的配置信息, 創建一個ifcfg-wlan0文件(如果使用的是 NetworkManager 服務可能不需要配置就可以使用了)


$ cat /etc/sysconfig/network/ifcfg-wlan0

BOOTPROTO='dhcp'

BROADCAST=''

DHCLIENT_SET_DEFAULT_ROUTE='yes'

ETHTOOL_OPTIONS=''

IPADDR=''

MTU=''

NAME=''

NETMASK=''

NETWORK=''

REMOTE_IPADDR=''

STARTMODE='auto'

WIRELESS_AP=''

WIRELESS_AP_SCANMODE='1'

WIRELESS_AUTH_MODE='psk'

WIRELESS_BITRATE='auto'

WIRELESS_CA_CERT=''

WIRELESS_CHANNEL=''

WIRELESS_CLIENT_CERT=''

WIRELESS_CLIENT_KEY=''

WIRELESS_CLIENT_KEY_PASSWORD=''

WIRELESS_DEFAULT_KEY='0'

WIRELESS_EAP_AUTH=''

WIRELESS_EAP_MODE=''

WIRELESS_ESSID='CPE_05010'

WIRELESS_FREQUENCY=''

WIRELESS_KEY=''

WIRELESS_KEY_0=''

WIRELESS_KEY_1=''

WIRELESS_KEY_2=''

WIRELESS_KEY_3=''

WIRELESS_KEY_LENGTH='128'

WIRELESS_MODE='Managed'

WIRELESS_NICK=''

WIRELESS_NWID=''

WIRELESS_PEAP_VERSION=''

WIRELESS_POWER='no'

WIRELESS_WPA_ANONID=''

WIRELESS_WPA_IDENTITY=''

WIRELESS_WPA_PASSWORD=''

WIRELESS_WPA_PSK='Abcd1234'

配置驅動啟動後自動載入。

具體配置方法可以參考 man moles-load.d 信息可以詳細理解。


創建一個 mt7601u.conf 文件, 內容如下


# echo "mt7601u" > /etc/moles-load.d/mt7601u.conf

# cat /etc/moles-load.d/mt7601u.conf

mt7601u

重啟驗證是否成功的自動載入驅動模塊。

⑤ 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 usb設備驅動

下面的信息都是在VMware中運行Ubuntu12-04系統上執行的。同樣該命令也支持在嵌入式系統中進行USB調試。
一、cat設備節點獲取信息
在一些嵌入式開發中需要調試USB功能,經常會cat /sys 下的相關設備節點來查看某些信息,比如說我們可以看到 /sys/bus/usb/devices 目錄有多個子目錄。進入到某個子目錄可以看到usb設備更加詳細的信息(可以理解為設備描述符)。
1、usb設備在匯流排上的信息
// usb設備在匯流排上的信息
root@ubuntu:/sys/kernel/debug# cd /sys/bus/usb/devices
root@ubuntu:/sys/bus/usb/devices# ll
total 0
drwxr-xr-x 2 root root 0 Nov 26 21:21 ./
drwxr-xr-x 4 root root 0 Nov 26 21:21 ../
lrwxrwxrwx 1 root root 0 Nov 26 21:21 1-0:1.0 -> ../../../devices/pci0000:00/0000:00:11.0/0000:02:03.0/usb1/1-0:1.0/
lrwxrwxrwx 1 root root 0 Dec 15 23:10 1-1 -> ../../../devices/pci0000:00/0000:00:11.0/0000:02:03.0/usb1/1-1/
lrwxrwxrwx 1 root root 0 Dec 15 23:18 1-1:1.0 -> ../../../devices/pci0000:00/0000:00:11.0/0000:02:03.0/usb1/1-1/1-1:1.0/
lrwxrwxrwx 1 root root 0 Nov 26 21:21 2-0:1.0 -> ../../../devices/pci0000:00/0000:00:11.0/0000:02:00.0/usb2/2-0:1.0/
lrwxrwxrwx 1 root root 0 Nov 26 21:21 2-1 -> ../../../devices/pci0000:00/0000:00:11.0/0000:02:00.0/usb2/2-1/
lrwxrwxrwx 1 root root 0 Nov 26 21:21 2-1:1.0 -> ../../../devices/pci0000:00/0000:00:11.0/0000:02:00.0/usb2/2-1/2-1:1.0/
lrwxrwxrwx 1 root root 0 Nov 26 21:21 2-2 -> ../../../devices/pci0000:00/0000:00:11.0/0000:02:00.0/usb2/2-2/
lrwxrwxrwx 1 root root 0 Nov 26 21:21 2-2:1.0 -> ../../../devices/pci0000:00/0000:00:11.0/0000:02:00.0/usb2/2-2/2-2:1.0/
lrwxrwxrwx 1 root root 0 Nov 26 21:21 usb1 -> ../../../devices/pci0000:00/0000:00:11.0/0000:02:03.0/usb1/
lrwxrwxrwx 1 root root 0 Nov 26 21:21 usb2 -> ../../../devices/pci0000:00/0000:00:11.0/0000:02:00.0/usb2/
其中 usbx/第x個匯流排,x-y:a.b/的目錄格式,x表示匯流排號,y表示埠,a表示配置,b表示介面。
具體解釋可以參照如下:
The names that begin with "usb" refer to USB controllers. More accurately, they refer to the "root hub" associated with each controller. The number is the USB bus number. In the example there is only one controller, so its bus is number 1. Hence the name "usb1".
"1-0:1.0" is a special case. It refers to the root hub's interface. This acts just like the interface in an actual hub an almost every respect; see below.
All the other entries refer to genuine USB devices and their interfaces. The devices are named by a scheme like this:
bus-port.port.port ...
In other words, the name starts with the bus number followed by a '-'. Then comes the sequence of port numbers for each of the intermediate hubs along the path to the device.
For example, "1-1" is a device plugged into bus 1, port 1. It happens to be a hub, and "1-1.3" is the device plugged into port 3 of that hub. That device is another hub, and "1-1.3.1" is the device plugged into its port 1.
The interfaces are indicated by suffixes having this form:
:config.interface
That is, a ':' followed by the configuration number followed by '.' followed by the interface number. In the above example, each of the devices is using configuration 1 and this configuration has only a single interface, number 0. So the interfaces show up as;
1-1:1.0 1-1.3:1.0 1-1.3.1:1.0
A hub will never have more than a single interface; that's part of the USB spec. But other devices can and do have multiple interfaces (and sometimes multiple configurations). Each interface gets its own entry in sysfs and can have its own driver.
2、特定設備的詳細信息
進入到某個目錄中去,可以看到該設備的詳細信息,可用cat命令獲取信息。
// usb設備的詳細信息
root@ubuntu:/sys/bus/usb/devices/usb1# ll
total 0
drwxr-xr-x 6 root root 0 Nov 26 21:21 ./
drwxr-xr-x 4 root root 0 Nov 26 21:21 ../
drwxr-xr-x 10 root root 0 Nov 26 21:21 1-0:1.0/
drwxr-xr-x 5 root root 0 Dec 15 23:10 1-1/
-rw-r--r-- 1 root root 4096 Dec 15 23:40 authorized
-rw-r--r-- 1 root root 4096 Dec 15 23:40 authorized_default
-rw-r--r-- 1 root root 4096 Dec 15 23:40 avoid_reset_quirk
-r--r--r-- 1 root root 4096 Nov 26 21:21 bcdDevice
-rw-r--r-- 1 root root 4096 Nov 26 21:21 bConfigurationValue
-r--r--r-- 1 root root 4096 Nov 26 21:21 bDeviceClass
-r--r--r-- 1 root root 4096 Nov 26 21:21 bDeviceProtocol
-r--r--r-- 1 root root 4096 Nov 26 21:21 bDeviceSubClass
-r--r--r-- 1 root root 4096 Dec 15 23:40 bmAttributes
-r--r--r-- 1 root root 4096 Dec 15 23:40 bMaxPacketSize0
-r--r--r-- 1 root root 4096 Dec 15 23:40 bMaxPower
-r--r--r-- 1 root root 4096 Dec 15 23:40 bNumConfigurations
-r--r--r-- 1 root root 4096 Dec 15 23:40 bNumInterfaces
-r--r--r-- 1 root root 4096 Nov 26 21:21 busnum
-r--r--r-- 1 root root 4096 Dec 15 23:40 configuration
-r--r--r-- 1 root root 65553 Nov 26 21:21 descriptors
-r--r--r-- 1 root root 4096 Dec 15 23:40 dev
-r--r--r-- 1 root root 4096 Nov 26 21:21 devnum
-r--r--r-- 1 root root 4096 Dec 15 23:40 devpath
lrwxrwxrwx 1 root root 0 Nov 27 20:06 driver -> ../../../../../bus/usb/drivers/usb/
drwxr-xr-x 3 root root 0 Dec 15 23:40 ep_00/
-r--r--r-- 1 root root 4096 Nov 26 21:21 idProct
-r--r--r-- 1 root root 4096 Nov 26 21:21 idVendor
-r--r--r-- 1 root root 4096 Dec 15 23:40 ltm_capable
-r--r--r-- 1 root root 4096 Nov 26 21:21 manufacturer
-r--r--r-- 1 root root 4096 Dec 15 23:40 maxchild
drwxr-xr-x 2 root root 0 Nov 26 21:21 power/
-r--r--r-- 1 root root 4096 Nov 26 21:21 proct
-r--r--r-- 1 root root 4096 Dec 15 23:40 quirks
-r--r--r-- 1 root root 4096 Nov 26 21:21 removable
--w------- 1 root root 4096 Dec 15 23:40 remove
-r--r--r-- 1 root root 4096 Nov 26 21:21 serial
-r--r--r-- 1 root root 4096 Nov 26 21:21 speed
lrwxrwxrwx 1 root root 0 Nov 26 21:21 subsystem -> ../../../../../bus/usb/
-rw-r--r-- 1 root root 4096 Nov 26 21:21 uevent
-r--r--r-- 1 root root 4096 Dec 15 23:40 urbnum
-r--r--r-- 1 root root 4096 Dec 15 23:40 version
二、使用debugfs
1、掛載 debugfs 到 /sys/kernel/debug 路徑下
root@ubuntu:mount -t debugfs none /sys/kernel/debug
2、執行上述步驟之後,在 /sys/kernel/debug 就會生成如下的文件
root@ubuntu:/sys/bus/usb/devices# cd /sys/kernel/debug/
root@ubuntu:/sys/kernel/debug# ll
total 0
drwx------ 22 root root 0 Nov 26 21:21 ./
drwxr-xr-x 7 root root 0 Nov 26 21:21 ../
drwxr-xr-x 2 root root 0 Nov 26 21:21 acpi/
drwxr-xr-x 32 root root 0 Dec 4 16:30 bdi/
drwxr-xr-x 2 root root 0 Nov 26 21:21 bluetooth/
drwxr-xr-x 2 root root 0 Nov 26 21:21 cleancache/
drwxr-xr-x 2 root root 0 Nov 26 21:21 dma_buf/
drwxr-xr-x 4 root root 0 Nov 26 21:21 dri/
drwxr-xr-x 2 root root 0 Nov 26 21:21 dynamic_debug/
drwxr-xr-x 2 root root 0 Nov 26 21:21 extfrag/
drwxr-xr-x 2 root root 0 Nov 26 21:21 frontswap/
-r--r--r-- 1 root root 0 Nov 26 21:21 gpio
drwxr-xr-x 3 root root 0 Nov 26 21:21 hid/
drwxr-xr-x 2 root root 0 Nov 26 21:21 kprobes/
drwxr-xr-x 3 root root 0 Nov 26 21:21 kvm-guest/
drwxr-xr-x 2 root root 0 Nov 26 21:21 mce/
drwxr-xr-x 2 root root 0 Nov 26 21:21 pinctrl/
-r--r--r-- 1 root root 0 Nov 26 21:21 pwm
drwxr-xr-x 2 root root 0 Nov 26 21:21 regmap/
drwxr-xr-x 3 root root 0 Nov 26 21:21 regulator/
-rw-r--r-- 1 root root 0 Nov 26 21:21 sched_features
-r--r--r-- 1 root root 0 Nov 26 21:21 sleep_time
-r--r--r-- 1 root root 0 Nov 26 21:21 suspend_stats
drwxr-xr-x 7 root root 0 Nov 26 21:21 tracing/
drwxr-xr-x 3 root root 0 Nov 26 21:21 usb/
drwxr-xr-x 2 root root 0 Nov 26 21:21 virtio-ports/
-r--r--r-- 1 root root 0 Nov 26 21:21 vmmemctl
-r--r--r-- 1 root root 0 Nov 26 21:21 wakeup_sources
drwxr-xr-x 2 root root 0 Nov 26 21:21 x86/
3、cat 設備節點
執行下述命令之後會以特定格式列印目前USB匯流排上所有USB設備的信息如下:
root@ubuntu:/sys/kernel/debug# cat usb/devices
T: Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2
B: Alloc= 17/900 us ( 2%), #Int= 1, #Iso= 0
D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=1d6b ProdID=0001 Rev= 3.13
S: Manufacturer=Linux 3.13.0-32-generic uhci_hcd
S: Proct=UHCI Host Controller
S: SerialNumber=0000:02:00.0
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 2 Ivl=255ms
T: Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=12 MxCh= 0
D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=0e0f ProdID=0003 Rev= 1.03
S: Manufacturer=VMware
S: Proct=VMware Virtual USB Mouse
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr= 0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=02 Driver=usbhid
E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=1ms
T: Bus=02 Lev=01 Prnt=01 Port=01 Cnt=02 Dev#= 3 Spd=12 MxCh= 7
D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=0e0f ProdID=0002 Rev= 1.00
S: Proct=VMware Virtual USB Hub
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 1 Ivl=255ms
T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 6
B: Alloc= 0/800 us ( 0%), #Int= 1, #Iso= 0
D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=1d6b ProdID=0002 Rev= 3.13
S: Manufacturer=Linux 3.13.0-32-generic ehci_hcd
S: Proct=EHCI Host Controller
S: SerialNumber=0000:02:03.0
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 4 Ivl=256ms
T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 7 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=ff(vend.) Sub=ff Prot=ff MxPS=64 #Cfgs= 1
P: Vendor=0bda ProdID=0129 Rev=39.60
S: Manufacturer=Generic
S: Proct=USB2.0-CRW
S: SerialNumber=20100201396000000
C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=500mA
I:* If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=06 Prot=50 Driver=rts5139
E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=83(I) Atr=03(Int.) MxPS= 3 Ivl=64ms
至於信息的詳細解析可以參照 Linux源代碼中 Documentation/usb/proc_usb_info.txt 文件。現摘錄其中對該格式的詳細解釋:

| | |__Proct ID code
| |__Vendor ID code
|__Device info tag #2

String descriptor info:
S: Manufacturer=ssss
| |__Manufacturer of this device as read from the device.
| For USB host controller drivers (virtual root hubs) this may
| be omitted, or (for newer drivers) will identify the kernel
| version and the driver which provi

⑦ linux主機側與設備側USB驅動

USB採用樹形拓撲結構,主機側和設備側的USB控制器分別稱為主機控制器((Host Controller)和USB設備控制器(UDC),每條匯流排上只有一個主機控制器,負責協調主機和設備間的通信,而設備不能主動向主機發送任何消息。

在Linux系統中,USB驅動可以從兩個角度去觀察,一個角度是主機側,一個角度是設備側。從上圖主機側去看,在Linux驅動中,處於USB驅動最底層的是USB主機控制器硬體,在其上運行的是USB主機控制器驅動,在主機控制器上的為USB核心層,再上層為USB設備驅動層(插入主機上的U盤、滑鼠、USB轉串口等設備驅動)。因此,在主機側的層次結構中,要實現的USB驅動包括兩類:USB主機控制器驅動和USB設備驅動,前者控制插入其中的USB設備,後者控制USB設備如何與主機通信。Linux內核中的USB核心負責USB驅動管理和協議處理的主要工作。主機控制器驅動和設備驅動之間的USB核心非常重要,其功能包括:通過定義一些數據結構、宏和功能函數,向上為設備驅動提供編程介面,向下為USB主機控制器驅動提供編程介面;維護整個系統的USB設備信息;完成設備熱插拔控制、匯流排數據傳輸控制等。

⑧ usb無線 linux 驅動怎麼安裝

第一部分 准備工作

1.如果Linux系統還沒有安裝開發環境(gcc,g++)的話則需要將電腦搬到一個可以通過有線網上網的地方。
2.到http://sourceforge.net/projects/ndiswrapper/下載最新版本的ndiswrapper包,可以下載到U盤里,我下的是ndiswrapper-1.59.tar.gz 。
3.准備好Windows版本的網卡驅動程序。一般在購買USB無線網卡的時候商家都會把這些驅動放到附帶的光碟里,驅動程序的後綴名是.inf,也可以把它們拷貝到U盤里。

第二部分 安裝

1.如果沒有安裝gcc、g++開發環境的需要先安裝開發環境。查看是否安裝了開發環境的指令是gcc --version,如果出現的是gcc的版本信息的話則說明已經安裝了開發環境,可以跳過此步驟。
(a)通過有線網接入網路
(b)用快捷鍵Ctrl+Alt+F2切換到另一個任務窗口用root賬戶和密碼登錄,root賬戶的用戶名是root,密碼是自己設置的
(c)用yum groupinstall "Development Tools"指令安裝開發環境
(d)安裝完成之後可以用gcc --version看一下是否安裝正確

2.快捷鍵Ctrl+Alt+F1可以切換回桌面,在系統->管理->添加/刪除軟體處可以搜索kernel並安裝或更新,視情況看是不是更新。

以下的指令都必須是以root賬戶的身份運行,因為桌面下不可以用root賬戶登錄,所以快捷鍵Ctrl+Alt+F2切換後用root登錄到命令行。
3.解壓:tar -zxvf ndiswrapper-1.59.tar.gz

4.進入ndiswrapper-1.59:cd ndiswrapper-1.59

5.編譯:make //我出現了$path$/proc.c:64: error: redefinition of 'PDE_DATA'的錯誤信息,將proc.c文件里的PDE_DATA改名為PDE_DATA1之後不再報錯

6.安裝:make install //如果不採取默認的安裝路徑,則可以用.configure --prefix="/etc/local"來指定安裝目錄。 //此目錄是自建。

7.查看安裝後的版本ndiswrapper -v //我這里成功安裝,顯示的信息里有version: 1.59

8.進入Windows版本的驅動所在目錄:cd $path$/drivers

9.安裝無線網卡驅動:ndiswrapper -i netathuwx.inf //我是安裝的Windows XP 64bit的驅動成功的,不行的話可以多試幾個,可以試試Win7的和Vista的。不同網卡的驅動的文件名不一樣。

10.查看驅動是否安裝:ndiswrapper -l//我的有一條信息是「netathuwx : driver installed」,說明成功安裝。雖然還有幾條信息是「netathur : invalid driver!」等等,但是它們不影響使用。

11.寫入配置文件,依次運行下面三條指令:
ndiswrapper -m
ndiswrapper -ma
ndiswrapper -mi

12.啟動後模塊自動載入:modprobe ndiswrapper

熱點內容
python實用代碼 發布:2025-05-13 22:19:41 瀏覽:842
dede資料庫的配置文件 發布:2025-05-13 22:19:08 瀏覽:966
給字元加密 發布:2025-05-13 22:12:32 瀏覽:972
資料庫系統實現答案 發布:2025-05-13 22:11:57 瀏覽:140
哪個軟體可以共存安卓 發布:2025-05-13 22:10:15 瀏覽:552
上傳宦妃天下野泉肉肉 發布:2025-05-13 22:10:10 瀏覽:408
洗眼睛解壓 發布:2025-05-13 21:58:28 瀏覽:272
c存儲指針 發布:2025-05-13 21:49:04 瀏覽:921
結繩編程軟體 發布:2025-05-13 21:49:03 瀏覽:850
解壓體育館 發布:2025-05-13 21:27:48 瀏覽:263