[RK3399] [Android7.1] 驅動設備節點的權限問題

       本節背景:已經編寫好驅動,並生成驅動節點,驅動在啓動時加載,並且通過串口調試,進入dev目錄下,可查看到自己的驅動。

        

        Android的APP,通過so庫調用驅動時,如果不給驅動節點權限,則在打開設備時,會出現打開失敗的情況。

        在串口調試模式下,我們回到根目錄,可以看到ueventd.rc文件,cat一下(cat ueventd.rc)

        

        查看該文件信息,沒有ttysWK2的權限信息。

        若此時,我們調用指令 chmod 777 /dev/ttysWK2,則APP可以調用成功。那麼每次都這麼獲取權限肯定不是長久之計,如何給驅動添加永久權限呢?

 

        我們回到Android的源碼環境中,進入目錄  system/core/rootdir目錄下,打開文件ueventd.rc,在改文件中添加一條指令:

        /dev/ttysWK2                          0666       root                       root

        

        添加完成後,回主文件目錄進行編譯整個工程,具體怎麼編譯我就不再詳細描述了。

        將生成的image鏡像,燒寫到開發版中,啓動完成後,在根目錄cat ueventd.rc,可以看到以下信息:

        

        該Android系統中得設備節點/dev/ttysWK2也有了權限,再次使用APP調用,即可成功調用。

 

        有沒有不編譯源碼,也能永久獲取驅動節點的權限呢,答案是有的,參考一下文章,不過我沒整出來,有需求的可以試試。

        參考鏈接:https://www.cnblogs.com/LoongEmbedded/p/5298388.html

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章