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配置和管理裝置對映多路徑multipathLinux
- platform_driver驅動及裝置驅動匹配識別符號Platform符號
- Linux裝置樹的傳遞及Kernel中對裝置樹的分析Linux
- IOT裝置SmartConfig實現
- Linux裝置驅動程式學習----1.裝置驅動程式簡介Linux
- 字元裝置驅動 —— 字元裝置驅動框架字元框架
- linux 裝置驅動基本概念Linux
- 在Linux中,什麼是裝置驅動程式?如何安裝和解除安裝裝置驅動程式?Linux
- Linux裝置節點Linux
- Linux裝置模型(3)Linux模型
- platform 裝置驅動實驗Platform
- Golang 控制 iOS 裝置實現自動化操作GolangiOS
- linux裝置驅動編寫入門Linux
- Linux驅動開發筆記(四):裝置驅動介紹、熟悉雜項裝置驅動和ubuntu開發雜項裝置DemoLinux筆記Ubuntu
- reactnative獲取裝置真實ip地址和ip對映的地理位置React
- linux檢視裝置命令Linux
- Linux裸裝置總結Linux
- Linux磁碟裝置基礎Linux
- Linux中的主次裝置Linux
- 【linux】驅動-7-平臺裝置驅動Linux
- 模擬手機裝置:使用 Playwright 實現移動端自動化測試
- 框架-SPI四種模式+通用裝置驅動實現框架模式
- Linux裝置掛載和解除安裝Linux
- 【Linux SPI】RFID RC522 裝置驅動Linux
- 【linux】驅動-9-裝置樹外掛Linux
- 實用的 IEC61850 裝置裝置模擬器
- 定位器裝置繫結新增手機號欄位
- Linux驅動實踐:如何編寫【 GPIO 】裝置的驅動程式?Linux
- Linux單裝置多路USB串列埠的實現方法介紹Linux串列埠
- Linux 高可用仲裁裝置配置Linux
- linux udev裸裝置繫結Linuxdev
- Linux裝置模型(一) 概覽Linux模型
- 【linux】驅動-6-匯流排-裝置-驅動Linux
- Ios+appium自動化多裝置執行實現iOSAPP
- 帶你用 Python 實現自動化群控裝置Python
- LED字元裝置驅動字元
- 嵌入式Linux中platform平臺裝置模型的框架(實現LED驅動)LinuxPlatform模型框架
- linux核心原始碼閱讀-塊裝置驅動Linux原始碼