在NVIDIA Jetson TX2上安裝CH341和CP210x驅動

1 前言

NVIDIA Jetson TX2的Ubuntu 16.04系統上沒有安裝CH341和CP210x驅動,開始我並沒有意識到這個問題。

明明用lsusb識別到了設備,爲什麼沒有ttyUSB*?爲什麼在x86的PC上就有?後來才發現原來沒有驅動!

經驗就是不斷踩坑積累的,都得經歷這些,才能成長。

雖然NVIDIA Jetson TX2對開發者已經很友好了,但還是希望將來系統能夠預裝CH341和CP210x驅動,節省大家的時間。

2 安裝CH341和CP210x驅動

2.1 方法1

注意:這個方法會消耗很多硬盤存儲空間,建議在操作前保留一定的存儲空間。

1.從Github下載文件

$ git clone https://github.com/jetsonhacks/buildJetsonTX2Kernel.git
$ cd buildJetsonTX2Kernel
# 如果你使用的`Tegra`版本是 `L4T 28.1`,那麼需要切換分支:
$ git checkout vL4T28.1

如何區分自己的版本是L4T 27.1,還是L4T 28.1

  • 使用命令uname -r提示的消息是4.4.15-tegra,則說明版本是L4T 27.1
  • 使用命令uname -r提示的消息是4.4.38ingl-tegra,則說明版本是L4T 28.1

2.獲取內核源碼

./getKernelSources.sh

源碼下載完畢後,腳本會打開一個配置界面。

(1)選擇Genral Setup->Local version-append to kernel release ,雙擊Local version - append to kernel release,在窗口底部的文本框內輸入-jetsonbot-v0.1,然後安回車鍵確認,如圖所示:

在這裏插入圖片描述
(2)按Ctrl+F,彈出一個搜索框,輸入你想要添加的設備驅動,比如這裏添加CH341和cp210x串口驅動 ,如圖所示:

在這裏插入圖片描述
在這裏插入圖片描述
(3)點擊File->Save保存設置。

3.編譯內核

./makeKernel.sh

腳本文件makeKernel.sh會給一部分Makefile文件更新補丁以滿足NVIDIA Jetson TX2平臺的編譯條件,之後就開始內核編譯。

腳本中的make modules install命令會將模塊安裝到/lib/modules/目錄中。

4.將之前的啓動鏡像更新爲新的鏡像

./copyImage.sh

腳本文件copyImage.sh會將新的編譯鏡像ImagezImage文件拷貝到/boot目錄。

5.重新啓動系統

reboot

6.刪除步驟2下載的源文件

源文件的下載目錄爲/usr/src

sudo rm -rf kernel sources r27.1.0_sources.tbz2 kernel_src.tbz2

2.2 方法2

聲明:這個方法我沒有測試,是後來看到的,但是感覺會比方法1簡單,所以也記錄在這裏,後面有機會再測試。

1.從Github下載文件

git clone https://github.com/jetsonhacks/instalACMMoudle.git

2.查看是否有CH341和CP210x驅動

lsusb
lsmod

lsusb一般都會識別到設備,但並不代表有設備驅動,需要使用lsmod確認。

3.安裝CH341和CP210x驅動

cd installACMMoudle/
./installCH341.sh
./installCP210x.sh

4.確認CH341和CP210x驅動是否安裝成功

lsmod

3 參考

https://blog.csdn.net/pressuress/article/details/79253483

https://www.jetsonhacks.com/2017/03/25/build-kernel-and-modules-nvidia-jetson-tx2/

https://www.youtube.com/watch?v=tDZF7ntLbxc

https://blog.csdn.net/just_sort/article/details/81292263

https://github.com/jetsonhacks/installACMModule

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