全世界僅有的唯一最高LINUX版本的白菜路由,支持NAND記


在上上篇 真千兆路由的極限之OPENWRT MAKE, 某品牌白菜價QCA9558/QCA9880/QCA8337N純種組合OS搭建時記 里,有沒有還記否之模式退一步,海闊天空

 

回到了遠古時代的ar71xx,有了一次完整功能的白菜路由OS搭建,不經意在續集show一下內涵,就此打住,從那天起,主板和電源分居兩地,過着悠然自得的積灰生活

然后前天吧,峰回路轉,又夢到了仙人,仙人一閃而過,什么都沒有表示,就醒了,看了看時間,天還沒有亮,起床一股歐氣襲來,哇好歐,不經意就喃喃起來,有氣相持,想起這塊寫博文的白菜路由,精神抖擻,躺下,一夜無夢,大白天,打開visual studio 2019, 我看着一堆H文,心里難免有些失落,因為對着屏幕發呆,顯然不是特長,於是乎,擺弄起了電源,插入,拔出,插入,拔出, 不知道多少回合后,小H太太熟悉的界面又出現在瀏覽器中,有些失落,為什么小Han太太有這么強的恆心作了這么多版本的引導,而自己卻只能在linux 4.14下面無趣的編譯出一個過時的白菜OS?

不,不能落人之后!歐氣在積聚,一點點感到卡槽要滿了,於是,一個idea誕生了,讓ath79回到ar71xx的模型,憤然刪去幾個patch后,duang,duang,duang, ar934x_nfc竟然成功probe了,這...不敢相信,syslog就是這樣顯示的,然后一堆irq錯誤,確認driver和linux 4.19的完美兼容后(一堆dma好擔心啊),我恢復了幾個patch, 手動調用了ath79_cpu_irq_init和ath79_misc_irq_init,發現一開始就報錯了,此時此刻,感悟到了這樣一個膚淺的真理:兩種irq模型正在激烈的沖突,一種是舊體制下代表code first的irq函數式聲明,一種是新體制下代表dt first的irqchip的全局式樹形屬性,這是第一次不看書沒有教材得到的真理,遙想起WPF也有類同的表現

既然二者只能選其一,呼呼兩股慪氣,又恢復到了原來的樣子,然后只有兩條路徑清晰的展現在眼前,一條是可以借鑒的捷徑(Read can take up to 30us, erase up to 2ms and program up to 350us according to general OneNAND specs),另一條是理清ar71xx和ath79分別對irq的初始序列和占用情況,穿插需要的irq=29, 這便成了一個項目經典的選型判斷題,答案不言而喻,於是有了下圖:

 

對比上次貼的好像多了幾百k, 原因是這次格式化后vol好像多了兩個logical eraseblock,至此全世界僅有的功能健全的運行在linux4.19 ath79下的白菜路由已經實現了nand driver的migration,不妨去OpenWrt Forum 看看有沒有人達成?已知的路由包括但不限:Meraki Z1, Meraki MR18, Rambutan...

 

再一次回顧一下白菜的規格 QCA9558 + QCA9880 + QCA8337N 256M ram, 16+128M flash, 不要999, 不要99, 我可以認真地挑戰全世界最便宜的路由,不服來戰?最后還是由衷地感謝小Han太太,沒有H的辛勤付出,不可能寫出這樣的博文,再次感謝 (✿◠‿◠)

我好了,你呢?

 

OVER. 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM