使用過busybox的mdev來動態掛載和卸載U盤的都知道。當咱們想讓mdev動態識別U盤,咱們只須要在mdev.conf中指定下面這麼一行
例如:
sdb 0:0 660 /usr/scripts/hotplug_usb.sh
其中 /usr/scripts/hotplug_usb.sh腳本只須要經過$MDEV環境變量和獲取設備名稱來掛載就行了。ide
但是!
當咱們想識別不一樣的USB設備,而且分別要作不一樣的處理。例如不一樣產商的LTE模塊,他們的AT調試串口是不同的,咱們應用運行前就想知道模塊的型號,以便不須要再作任何串口掃描檢測的工做。想用mdev識別到LTE模塊是哪一個產商的。
這個時候,咱們就須要獲取到LTE模塊的產商ID和產品ID,以此區分不一樣模塊。調試
那要怎麼作呢?
busybox在1.20版本後就支持mdev處理指定環境變量的設備,USB有一些獨有的環境變量,如PRODUCT,這是內核裏面指定的,下次寫篇文章補充,如今咱們能夠這麼寫
$PRODUCT=. 0:0 660 /usr/scripts/hotplug_usb.sh
意思是匹配有PRODUCT環境變量的設備,其實就是USB設備,不一樣的USB產商的這個ID是惟一的。
/usr/scripts/hotplug_usb.sh中在獲取PRODUCT的值,例如,EC25模塊的PRODUCT值爲2c7c/125/318。
這樣就能作到對USB設備的區別處理了code