以usb轉串列埠為例,通常裝置節點名為ttyusbx(x為0~n),linux核心會根據插入裝置的先後順序進行編號的分配,比如第乙個插入的裝置編號為0,然後依此加1。
如果僅僅以裝置節點ttyusbn
來區別具體是哪個裝置,因為末位的編號是隨時會變的,所以就會造成混亂。無法保證a裝置就是0,b裝置就是1。其實這個問題在ldd3上已經提到過,目前的核心早已經解決類似的問題,將所以有usb裝置都導致到sys檔案系統中,其實每個usb埠都有唯一的埠號,相當於每個門店的門牌號。只要我們依據埠號來進行裝置的區分,那麼問題就迎刃而解了。
比如當前裝置插入兩個usb轉串列埠裝置後,檢視ttyusbn
所在埠的埠號:
root@android:/ $ ls -l /sys/class/tty/
...lrwxrwxrwx root root 2011-01-01
13:40 ttyusb0 -> ../../devices/ff540000.usb/usb3/3-1/3-1.1/3-1.1:1.0/ttyusb0/tty/ttyusb0
lrwxrwxrwx root root 2011-01-01
13:43 ttyusb1 -> ../../devices/ff540000.usb/usb3/3-1/3-1.2/3-1.2:1.0/ttyusb1/tty/ttyusb1
root@android:/ $
其中ttyusb0
所在的埠號為3-1.1
,而ttyusb1
所在的埠號為3-1.2
。
其它型別usb裝置同理,以上思路清理完畢。
在除錯usb audio裝置時,同樣遇到了這個問題。記錄一下檢視usb audio的方式以及如何區分他們:
tony@tony-e431
:~$ cat /proc/asound/cards
0 [pch ]:
hda-intel - hda
intel
pchhda
intel
pch at 0xe4610000 irq 30
1 [device ]:
usb-audio - usb
pnpaudio
device
c-media
electronics
inc. usb
pnpaudio
device at usb-0000:00
:14.0-3, full speed
tony@tony-e431
:~$ ls -l /sys/class/sound/card1/
total 0
drwxr-xr-x 3 root root 0
10月 3111:
53 controlc1
lrwxrwxrwx 1 root root 0
10月 3111:
53 device -> ../../../3-3
:1.0
-rw-r--r-- 1 root root 4096
10月 3111:
53 id
-r--r--r-- 1 root root 4096
10月 3111:
53 number
drwxr-xr-x 3 root root 0
10月 3111:
53 pcmc1d0c
drwxr-xr-x 2 root root 0
10月 3111:
54 power
lrwxrwxrwx 1 root root 0
10月 3111:
53 subsystem -> ../../../../../../../../class/sound
-rw-r--r-- 1 root root 4096
10月 3111:
53 uevent
tony@tony-e431
:~$
在nanopi2上:
root@nanopi2:/ # cat /proc/asound/cards
0 [i2ses8316 ]: i2s-es8316 - i2s-es8316
i2s-es8316
1 [spdiftranscieve]: spdif-transciev - spdif-transciever
spdif-transciever
2 [device ]: usb-audio - usb pnp audio device
c-media electronics inc. usb pnp audio device at usb-nxp-ehci-1.1, full speed
root@nanopi2:/ # ls -l /sys/class/sound/card2/
drwxr-xr-x root root 2017-10-31
03:58 controlc2
lrwxrwxrwx root root 2017-10-31
03:58 device-> ../../../1-1.1:1.0
-rw-r--r-- root root 4096
2017-10-31
03:58 id
-r--r--r-- root root 4096
2017-10-31
03:58 number
drwxr-xr-x root root 2017-10-31
03:58 pcmc2d0c
drwxr-xr-x root root 2017-10-31
03:58 power
lrwxrwxrwx root root 2017-10-31
03:58 subsystem-> ../../../../../../../../../class/sound
-rw-r--r-- root root 4096
2017-10-31
03:58 uevent
root@nanopi2:/ #
linux下如何使用USB儲存裝置
如何在linux環境中使用usb介面的 儲存 裝置?這是各大電腦論壇上出現得比較多的乙個問題,同此可見這也是擺在許多電腦玩家面前的一道難題。本文就為您提供一套完美的解決方案,通過下面的方法,您僅可以在linux環境中方便地使用u盤 usb硬碟盒,而且還能將數位相機作為usb大容量 儲存器。這裡就以r...
Linux下USB裝置檢測
usb裝置檢測也是通過 proc目錄下的usb檔案系統進行的。為了使乙個usb裝置能夠正常工作,必須要現在系統中插入usb橋接器模組。在檢測開始時,一般要先檢測是否存在 proc bus usb目錄,若不存在則嘗試插入usb橋接模組。現在一般的usb橋接器模組有兩種型別,uhci和ohci。在決定插...
Linux下USB裝置檢測
usb裝置檢測也是通過 proc目錄下的usb檔案系統進行的。為了使乙個usb裝置能夠 正常工作,必須要現在系統中插入usb橋接器模組。在檢測開始時,一般要先檢測是否存在 proc bus usb目錄,若不存在則嘗試插入usb橋接模組。現在一般的usb橋接器模組有兩種型別,uhci和ohci。在決定...