通過配置 linux 內核驅動,在文件系統移植 ppp 撥號工具移植 EC20 到 Qt 系統和最小 linux 系統,移植中需要的軟件包和文檔在網盤資料“iTOP4418 開發板資料匯總(不含光盤內容)\09_iTOP-4418 開發板最小 linux_Qt_Ubuntu 擴展文檔\23_章節_移植 EC20”下載。 EC20 模塊封裝成標準的 PCIe 接口,和開發板主要通過 usb 通訊。此次提供的文件有 pppd 源碼、編譯好的 chat 和 pppd 工具、wcdma,wcdma_back,wcdma-chatconnect、wcdma-chat-disconnect 以及要在文檔最后使用的 pppd_conf.sh 腳本,如下圖 所示 ![]() 在進行編譯之前要先修改編譯器為 arm-2009q3 編譯器,如何設置編譯器參見手冊 5.2.2“交叉編譯工具的安裝”。另外為了避免使用環境變量設置編譯器而可能出現的問題,文檔中大部分編譯是使用編譯器的絕對路徑,用戶也應先找到自己編譯器的絕對路徑待用。下圖是本次編譯使用的編譯器以及編譯器壓縮包。 ![]() 由上圖可知該編譯器的絕對路徑為“/usr/local/arm/arm-2009q3/bin/ arm-nonelinux-gnueabi-gcc”。 63.1 驅動支持 首先需要對 Linux 內核驅動做一定的修改,使操作系統能夠支持 EC20,首先增加 VID 和 PID,即 usb的廠商 ID 和設備 ID。在內核源碼中的 kernel /drivers/usb/serial/option.c 文件里添加如下兩項內容 #define EC20_VID 0x1E0E #define EC20_PID 0x9001 如下圖 ![]() 然后搜索 option_ids,在 option_ids 列表中增加以下內容。 { USB_DEVICE(EC20_VID, EC20_PID) }, 如下圖 ![]() 回到 kernel 目錄,配置 make menuconfig 以下兩項。 ![]() 以及在 Device Drivers > Network device support 的<*> PPP***全部選中 ![]() 然后編譯內核,并燒寫到開發板。 63.2 編譯 ppp 撥號工具 將提供的源碼解壓到 Ubuntu,進入解壓的文件夾,如下圖所示。 ![]() 使用“./configure”命令配置源碼,如下圖所示。 ![]() 使用命令“make CC=/ usr/local/arm/arm-2009q3/bin/ arm-none-linux-gnueabigcc”編譯源碼,注意這里使用編譯器的絕對路徑。 ![]() 編譯到此完成,可以看到在 pppd 文件夾生成了 pppd 工具,在 chat 文件夾生成了 chat 工具,如下圖所示。 ![]() 63.3 拷貝工具 將上面步驟中生成的 pppd 和 chat 工具下載到開發板/usr/sbin/目錄下。將壓縮包提供的腳本 wcdma, wcdma-chat-connect,wcdma-chat-disconnect 拷貝到開發板的/etc/ppp/peers/目錄下。 63.4 測試 首先將天線安裝到開發板上,如下圖所示。 ![]() 插入手機卡后重啟開發板,并將腳本 pppd_conf.sh 拷貝到開發板,然后使用用命令“./pppd_conf.sh &”運行腳本,運行結果如下圖所示。 ![]() 使用命令“ping -c 4 www.baidu.com &”測試,可以看到連網成功(由于 4G 連接需要搜索信號,所以在信號較差的區域需等待一段時間,才能上網) ![]() 移植到此完成。 ![]() |