linux mdev實現裝置符重對映/裝置符手動新增
背景:
在用usb轉串列埠時有時重新插拔外設裝置符會變,然而我們希望他不變,接下來我們就用mdev這個工具來實現,該方法已經過本人在嵌入式平臺NT98323上驗證。(其實只要是插拔裝置在sys/block或者sys/class內有增加或者減少就可以使用這個方法)
1.執行readlink /sys/class/tty/ttyUSB0結果如下,這一步可以知道裝置符對應的匯流排編號。
/sys/devices/platform/f9200000.u2host/usb2/2-1/2-1.1/2-1.1:1.0/ttyUSB0/tty/ttyUSB0
2.編寫的指令碼mine_usb.sh放在/etc下,指令碼內容如下。
#/sys/devices/platform/f9200000.u2host/usb2/2-1/2-1.1/2-1.1:1.0/ttyUSB0/tty/ttyUSB0
#/sys/devices/platform/f9200000.u2host/usb2/2-1/2-1.1/2-1.1:1.1/ttyUSB1/tty/ttyUSB1
#/sys/devices/platform/f9200000.u2host/usb2/2-1/2-1.1/2-1.1:1.2/ttyUSB2/tty/ttyUSB2
#/sys/devices/platform/f9200000.u2host/usb2/2-1/2-1.1/2-1.1:1.3/ttyUSB3/tty/ttyUSB3
#!/bin/sh
MY_USB0_BUS='2-1/2-1.1/2-1.1:1.0'
MY_USB1_BUS='2-1/2-1.1/2-1.1:1.1'
MY_USB2_BUS='2-1/2-1.1/2-1.1:1.2'
MY_USB3_BUS='2-1/2-1.1/2-1.1:1.3'
if [ $2 = "add" ]; then
tty_usbx=`readlink /sys/class/tty/$1 | busybox grep ttyUSB| sed 's/^.*f9200000.u2host\/usb2\///g' | sed 's/\/ttyUSB.*$//g'`
else
exit 0
fi
if [ $tty_usbx = $MY_USB0_BUS ]; then
ln -sf /dev/$1 /dev/MY_USB0
echo "$1 > MY_USB0"
elif [ $tty_usbx = $MY_USB1_BUS ]; then
ln -sf /dev/$1 /dev/MY_USB1
echo "$1 > MY_USB1"
elif [ $tty_usbx = $MY_USB2_BUS ]; then
ln -sf /dev/$1 /dev/MY_USB2
echo "$1 > MY_USB2"
elif [ $tty_usbx = $MY_USB3_BUS ]; then
ln -sf /dev/$1 /dev/MY_USB3
echo "$1 > MY_USB3"
fi
3.修改/etc/mdev.conf增加如下程式碼。
ttyUSB[0-5] 0:5 777 * /usr/bin/mine_usbx.sh $MDEV $ACTION
※當有外設插入時系統會執行mdev.conf並執行mine_usb.sh,最終實現,裝置符重對映。
相關文章
- linux裸裝置三種對映方式Linux
- Linux配置和管理裝置對映多路徑multipathLinux
- Linux裝置驅動之字元裝置驅動Linux字元
- linux下新增裸裝置Linux
- platform_driver驅動及裝置驅動匹配識別符號Platform符號
- Android O 中對裝置識別符號所做的變更Android符號
- 裸裝置表空間對映檔案
- iOS裝置識別符號及許可權合集iOS符號
- 深入淺出:Linux裝置驅動之字元裝置驅動Linux字元
- 乾坤合一:Linux裝置驅動之塊裝置驅動Linux
- platform裝置新增流程Platform
- 【VMware】虛擬機器中對映USB裝置虛擬機
- 【Raw Device】OEL4.8裸裝置對映方法dev
- Linux新增裸裝置空間(Redhat)LinuxRedhat
- 字元裝置、塊裝置、裸裝置、RAW裝置 .字元
- iOS怎樣獲取裝置唯一識別符號iOS符號
- 蛻變成蝶:Linux裝置驅動之字元裝置驅動Linux字元
- 蛻變成蝶~Linux裝置驅動之字元裝置驅動Linux字元
- Linux塊裝置驅動Linux
- 字元裝置驅動 —— 字元裝置驅動框架字元框架
- 字元裝置、塊裝置與裸裝置字元
- Linux裝置樹的傳遞及Kernel中對裝置樹的分析Linux
- platform 裝置驅動實驗Platform
- Linux裝置驅動程式學習----1.裝置驅動程式簡介Linux
- 乾坤合一:Linux裝置驅動之USB主機和裝置驅動Linux
- Linux裝置驅動程式 (轉)Linux
- 利用solaris的mknod變更format(陣列裝置識別符號)ORM陣列符號
- Golang 控制 iOS 裝置實現自動化操作GolangiOS
- 在Linux中,什麼是裝置驅動程式?如何安裝和解除安裝裝置驅動程式?Linux
- linux 裝置驅動基本概念Linux
- linux下移動裝置的掛載Linux
- IOT裝置SmartConfig實現
- 裸裝置、字元裝置、塊裝置不全面比較字元
- Linux驅動開發筆記(四):裝置驅動介紹、熟悉雜項裝置驅動和ubuntu開發雜項裝置DemoLinux筆記Ubuntu
- 框架-SPI四種模式+通用裝置驅動實現框架模式
- Linux裝置節點Linux
- Linux裝置模型(3)Linux模型
- linux裸裝置操作Linux