MT7628 7688 SDK編譯中的坑以及增加wifi驅動
最開始,第一步我們先拿最純淨的MediaTek_ApSoC_SDK_4300_20140916.tar開刀,不增加無線驅動。
1、按照sdk裡的知道文件來說,先編譯安裝幾個工具包的,編譯mksquash_lzma-3.2的時候出現瞭如下問題:
- /home/test/RT288x_SDK/toolchain/mksquash_lzma-3.2/lzma443/C/7zip/Compress/LZMA_C/libunlzma.a(uncomp.o):在函式‘sqlzma_un’中:
- uncomp.c:(.text+0x67):對‘inflateReset’未定義的引用
- uncomp.c:(.text+0xa7):對‘inflate’未定義的引用
- uncomp.c:(.text+0x1b2):對‘zError’未定義的引用
- /home/test/RT288x_SDK/toolchain/mksquash_lzma-3.2/lzma443/C/7zip/Compress/LZMA_C/libunlzma.a(uncomp.o):在函式‘sqlzma_init’中:
- uncomp.c:(.text+0x3f0):對‘inflateInit_’未定義的引用
- collect2: 錯誤: ld 返回 1
- make[1]: *** [unsquashfs] 錯誤 1
首先,需要確保安裝了zlib庫。zlib1g,zlib1g-dbg,zlib1g-dev
其次,開啟安裝目錄下的squashfs3.2-r2/squashfs-tools,找到Makefile檔案,找到
- LDLIBS += -lz -L${LzmaAlone} -L${LzmaC}
- LDLIBS += -L${LzmaAlone} -L${LzmaC}
然後在找到包含LDLIBS的兩行,後邊添上 -lz 即可
- mksquashfs: LDLIBS += -lpthread -lunlzma_r -llzma_r -lstdc++ -lz
- unsquashfs: LDLIBS += -lunlzma -lz
./configure
make
make install
編譯成功!2、在編譯 squashfs4.2時候編譯出現以下錯誤:
gzip_wrapper.c:23:18: fatal error: zlib.h: No such file or directory compilation terminated.
make: *** [gzip_wrapper.o] Error 1
出現此錯誤需要安裝一個軟體:
sudo apt-get install zlib1g-dev
如果編譯仍然出現
fatal error: lzma.h: No such file or directory錯誤,
需要安裝一下“:
liblzma-dev
可以從 sudo apt-cache search "liblzma"
找到軟體包後
sudo apt-get install liblzma-dev
安裝完成後就可以編譯通過
3、此時可以順利編譯通過SDK了,可以生成二進位制image,下載到7628板子後,發現、竟然發現lzma他大爺校驗的錯誤?有木有?什麼意思嘛!!!
"lzma error 1 -must reset board to recover"
後來用度娘一搜,manfeel大神碰到過這個問題,問題源自於lzma版本錯誤,再次感謝manfeel!
進入source/vendors/Ralink/MT7628,檢視Makefile
發現這個該死的Makefile呼叫的居然是系統預設的lzma檔案,Ubuntu12.04的lzma版本是:
xz (XZ Utils) 5.1.0alpha liblzma 5.1.0alpha
果斷修改,將4.32.7版本的lzma拷貝到source目錄,修改Makefile如下:
#manfeel, do NOT use the system default lzma(5.1.0alpha), just use the 4.32.7image: mkimage$(CROSS_COMPILE)objcopy -O binary -R .note -R .comment -S $(ROOTDIR)/$(LINUXDIR)/vmlinux $(KERNELZ)cd $(IMAGEDIR) ; rm -f $(KERNELZ).*; ../$(COMP) -v -9 -f -S .$(COMP) $(KERNELZ)讀者需自行蒐羅 lzma-4.32.7.tar並編譯,得到的lzma可執行檔案放在上邊的source目錄即可。
[email protected]:~/RT288x_SDK/source$ ls
autoconf.h config.in lib linux-2.6.36MT.x lzma romfs uClibc-0.9.33.2
config History linux-2.4.x linux-2.6.36.x Makefile tools user
config.arch images linux-2.6.21.x linux-3.10.14.x PatchList uClibc++ vendors
[email protected]:~/RT288x_SDK/source$ ./lzma --version
LZMA command line tool 4.32.7
LZMA SDK 4.32
[email protected]:~/RT288x_SDK/source$
到這之後,可算能跑了4、接下來,將無線驅動MT7688_LinuxAP_V4.0.1.0-Alpha_DPA_20140811.tar解壓,會解壓處mt_wifi和mt_wifi_ap兩個資料夾,將這兩個資料夾拷貝到RT288x_SDK/source/linux-2.6.36.x/drivers/net/wireless$下。接下來,我犯了一個巨大的錯誤,我錯誤的認為將wireless下的Kconfig改一下,也就是在該檔案中增加source “mt_wifi_ap/Kconfig”就可以了,接著就這麼做下去,發現一下問題:a.MT_TX_COUNTER錯誤後來想了半天,原始碼是不會有錯的,而且環境也配置的差不多了,應該也沒錯。後來又是一頓搜,發現source頂層目錄有一個ralink目錄,心想“該目錄會不會有詐?一般很少有人將程式碼放到核心原始碼的頂層,這麼做很不科學的”。
開啟這個目錄下的Kconfig,發現已經有了如下幾行,只不過註釋掉了。
原來貓膩就在這,他source的是embedded下的Kconfig,而該Kconfig裡又引入了mt_wifi_ap/Kconfig。
將最後那句source註釋掉。至此,Kconfig修改完畢,接下來配置核心。頂層source目錄make menuconfig,勾選Default all settings,Customize kernel Setting。最後yes,會自動進入Linux Kernel Configuration。
Ralink Module->WiFi Driver Support:
進入Option下,去掉WAPI支援(如果有WAPI會編譯錯誤,先去掉再說):
好了,一路推出儲存,再make dep,make
最後編譯出個mango_uImage,燒入板子即可啟動。
最後,會搜到一個MT7628_AP的無線,可以連上把玩一番。
編譯過後,其實只是一個開始,以後還要移植到openwrt上,繼續加油吧。
相關推薦
MT7628 7688 SDK編譯中的坑以及增加wifi驅動
最開始,第一步我們先拿最純淨的MediaTek_ApSoC_SDK_4300_20140916.tar開刀,不增加無線驅動。 1、按照sdk裡的知道文件來說,先編譯安裝幾個工具包的,編譯mksquash_lzma-3.2的時候出現瞭如下問題: /home/test/RT
DirectShow SDK編譯中易出現的問題
由於需要進行視訊採集,昨天開始搜尋資料,發現現在流行的是DirectShow來進行開發,昨天下載安裝了個DirectX 9.0 SDK,於是痛苦的配置旅程開始了。現在我們來重溫一下這個痛苦的歷程吧。先介紹下我的配置吧: Microsoft DirectX 9.0 SDK
Filezilla配置FTP中的坑以及出坑辦法
我們 ont www. 老板 open 靠譜 不出 鏈接 network 做本科生助教,老板讓配置一個FTP傳資料交作業,找了一臺Windows服務器搗鼓,開始按網上教程自己配置特別麻煩,何西西說用Filezilla比較方便,就去Filezilla官網下載了Filezill
總結部署fabirc以及除錯go sdk 遇到的坑
最近在聯調fabirc網路遇到了很多坑,主要是對fabric不夠熟悉,所以解決問題的時候即使看到了錯誤資訊,也不能很快的確定具體是那裡出現了問題,而且問題確實谷歌不到,所以簡單記錄一下。 坑1: CA Certificate is not valid, (SN: 23
(MySql的亂碼解決)關於相同sql指令在eclipse中查詢不到結果,在mysql中卻能查詢到結果,以及增加資料時列表顯示“?”解決方案
在最初使用jdbc連線資料庫時,大家一定經常遇到一下兩個問題: 1、相同sql指令在eclipse中查詢不到結果,在mysql中卻能查詢到正確結果。 2、在增加列表資料時,雖然能夠增加成功,但增加的資料中文全部變成了“?” 下面將為大家解決這兩個問題。 這兩個問題其實都是編碼不同導致
小專案踩坑以及專案過程中的注意點(第一篇)
批量整合後臺頁面 1、修改批量檔案的字尾名,下面將字尾.html改為.php 方法:開啟命令提示符,切換到我們要操作的目錄,用ren *.html *.php 就可以將.html文件改成.php文件 2、sublime中ctrl+shift+F可以對文件中的內
關於相同sql指令在eclipse中查詢不到結果,在mysql中卻能查詢到結果,以及增加資料時列表顯示“?”解決方案
在最初使用jdbc連線資料庫時,大家一定經常遇到一下兩個問題: 1、相同sql指令在eclipse中查詢不到結果,在mysql中卻能查詢到正確結果。 2、在增加列表資料時,雖然能夠增加成功,但增加的資料中文全部變成了“?” 下面將為大家解決這兩個問題。 這兩個問題其實
微博分享sdk4.0 中遇到的坑以及解決辦法彙總
最近剛轉正,公司真的很忙,上一個月加班成常態,關鍵還是12點以後,打破我工作以來加班最晚記錄:凌晨2點。當然越忙對於我們來說也是有益處的,可以多學到很多東西。 公司專案用的微博的sdk 還是挺老的,大家都知道,早版本的微博sdk 存在一個問題就是使用了隱式的i
NavigationView中,動態增加item以及menu
大家好。雖然叫大家,但是一般我的部落格只有我自己會看,只是為了怕自己忘了。但如果能幫到大家也算是不錯的了。 如果要動態新增menu中的item,直接在onCreateOptionsMenu方法中新增item即可: @Override public boolean onCre
mac環境下編譯Opencv4.0 以及在Processing中使用opencv4.0舉例
一、環境 Mac OS Sierra 10.12.6 Processing 3.4 https://processing.org/download/ Opencv 4.0.0 https://opencv.org/releases.html
Android打arr包並在專案中引用以及遇到的坑
最近專案總想要實現人臉識別功能,之前第三方公司提供了技術支援,但是隻是給了Eclipase原始碼,而現在大多是Android開發的IDE都是AndroidStudio,所以開始打算把原始碼部分功能打成jar包到專案中使用,由於jar包不能把資原始檔打進去,所以只能通過反射的
Nodejs 回撥函式中的坑以及中介軟體的用法
在用Nodejs + express 開發後臺的過程中,最令人頭疼的就是到處存在的回撥函數了。不管是http請求,還是資料庫請求,都是強制回撥的。這是由js本身的特性導致的。 所謂回撥,就是指假設A將任務分配給B去執行。之後A就可以把這個任務放在一邊,去執行其
工作中經常遇到的坑以及解決的辦法(一),歡迎光臨!
相信大家在敲程式碼的過程中,會遇到無數的坑,不要悲傷,不要氣餒。俗話說,坑就是經驗。嗯,沒錯,俗話是我說的。閒言少敘,本文為長篇小說,致我們程式碼中的坑,以及一些常用的小方法,會逐步寫下,歡迎您的到來
hlsl shader編譯中遇到的一個坑
最近在修改我們引擎中shader編譯相關的邏輯的時候遇到了一個坑。寫這個引擎的前輩為了讓vertex shader和fragmentshader名稱相同的暫存器常量對於的暫存器索引也是一樣的。在編寫shader程式碼的時候手動指定了每個常量的暫存器索引並人工
Swift專案引入百度地圖SDK過程中踩過的坑
專案中原本使用了高德地圖,最近為了做一個小探索需求需要引入查詢附近人的雷達功能,高德沒有而百度有,遂打算引入百度地圖看看效果。n年前在OC中引入百度地圖過程中遇到過的問題也就是Key不匹配時顯示不出地圖之類的問題。這次在Swift上遇到的比較麻煩,網上沒有找到合
CCS編譯中常常遇到的問題以及解決辦法
1、warning: creating .stack section with default size of 400 (hex) words. 這是因為沒有在Project---Build Option---Linker中-stack沒有設定值。 2、warnin
編譯glibc(gcc)以及過程中遇到的一些錯誤
一定要按照configure ——> make ——> make install三步驟。 1、下載glibc,解壓 原文中的glibc-ports是用來支援arm架構晶片的包,可以將包內檔案移動到glibc-2.15/ports內編譯安裝,這裡不
tensorflow 中遇到的一些坑以及程式中的error
1 tensorboard 無法顯示的問題 events.xxx檔案字尾名是亂碼 原因是主機計算機名為中文,所以出現亂碼。右擊我的電腦 - 屬性 更改為英文名稱即可 2 Couldn’t open CUDA library cupti64_90.dll
聊聊Grpc使用中的坑以及怎麼填
總所周知,隨著雲技術的發展,和業務的複雜度的上升,越來越多的系統開始拆分成獨立的子模組微服務。模組之間免不了相互通訊。但是隨著業務量的增多,傳輸量也隨之增大,偶發性timeout,無響應, 傳輸量過大等問題。 這時候就要對服務進行配置需要進行調優。可以從運維層面,或者程式碼層面,本文主要介紹從程式碼層面 Gr
https://github.com/MediaTek-Labs/linkit-smart-7688-feed編譯失敗
lin tar.bz2 tar gdb prepare com gin err evel 2017-06-26 16:08:49 (8.82 KB/s) - Read error at byte 10119560/24112160 (Connection timed out