🇹🇼 Padavan 4.4 (The Dave Täht Tribute Edition)

A tribute to the soul of bufferbloat mitigation.

🏠 返回 TW641 官方首頁 ⭐ 前往 GitHub 開源專案倉庫

Padavan 4.4 - The “Dave Täht Tribute” Edition

“When you miss Dave, modprobe sch_cake!”A tribute to the soul of bufferbloat mitigation.


⭐ Light up the Täht: A Final Tribute

(點亮星辰:最後的致敬)

"The darker the night, the brighter the Täht."

(「夜愈暗,星星 (Täht) 就愈亮。」)

To the world, he was the unsung hero who silently ripped the excess latency out of the Internet. To the open-source community, he was a legend known as dtaht on Reddit and @mtaht on Twitter. But behind the code was a man born Michael, who chose to live as Dave, and gave everything to connect us all.
(對這個世界而言,他是位默默將網路過高延遲拔除的無名英雄。對開源社群來說,他是 Reddit 上的 dtaht、Twitter 上的 @mtaht 傳奇。但在這些程式碼背後,他是一個出生名為 Michael,卻選擇以 Dave 之名活著,並為了連結我們所有人而奉獻一切的男人。)

As perhaps the final large-scale Padavan port for legacy devices, this project serves as a digital museum. Before his digital footprints fade into the void of the internet, there are forgotten stories—cold facts and warm lore—that must be preserved here.
(這或許是舊世代設備最後一個大規模的 Padavan 移植專案,它同時也像是一座數位博物館。在他留下的數位足跡消散於網際網路的虛無之前,這裡必須保存下那些被遺忘的故事——無論是冰冷的技術事實,還是溫暖的傳奇事蹟。)

📜 The Lore of an Internet Hero

(一位網際網路英雄的傳奇故事)


Though Täht's physical world gradually faded into darkness, our digital universe continues to shine brightly because of him.

(儘管 Täht 的物理世界逐漸褪入黑暗,我們的數位宇宙卻因為他而持續閃耀著。)


🌠 “We Are All Starstuff” (The Final Reunion)

(「我們都是星塵」— 最終的團聚)

There is a heartbreaking, yet incredibly beautiful timeline to Dave’s family.
(Dave 的家庭有一段令人心碎,卻又無比美麗的時間線。)

On June 9, 2012, sitting by his late father Ron’s side in his final hours, Dave wrote on his blog:
(2012 年 6 月 9 日,Dave 坐在已故父親 Ron 身旁陪伴他度過最後時光,在部落格寫下:)

“Of all these things, the one viewpoint I was sure of, the one thing I believe to be true of an afterlife, such as it is, was this: “
(「在所有這些事情中,我確信的一個觀點,一個我認為死後世界如果是真的話,那就是:」)

That yes, we are all starstuff.
(是的,我們都是星塵。)

“And it made me cry to think it through.”
(「這讓我一想到就忍不住落淚。」)

On January 11, 2025, his mother Beverly passed away peacefully at her home, surrounded by loved ones.
(2025 年 1 月 11 日,他的母親 Beverly 在摯愛家人的陪伴下,於家中平靜辭世。)

Less than three months later, on April 1, 2025, Dave’s own lifelong game went into its final “extra innings.”
(不到三個月後,2025 年 4 月 1 日,Dave 自己一生的比賽也進入了最後的「延長賽」。)

He passed away at the age of 59, joining his parents.
(他在 59 歲時離世,與父母團聚。)

In life, they were Stars illuminating the world.
(在世時,他們是照亮世界的星星。)

In death, they are Starstuff illuminating the universe.
(逝世後,他們是點亮宇宙的星塵。)

🎼 Coda: The Grand Finale (Dave’s Guitar & Fool)

(終章:盛大的落幕 — Dave 的吉他與憨人)

Dave was a sci-fi folk musician who carried his guitar—famously bearing a sticker that read “This guitar kills Vogons”—everywhere. He bonded with people just as much over music as he did over code. To honor his vibrant soul, OpenWrt officially named their 25.12.0 release “Dave’s Guitar.”
(Dave 是一位科幻民謠音樂人,他總是帶著他的吉他四處走動——那把吉他上貼著著名的貼紙:「這把吉他能殺死佛貢人 (Vogons)」。他透過音樂與人建立的連結,絲毫不亞於透過程式碼。為了紀念他充滿活力的靈魂,OpenWrt 官方將其 25.12.0 版本命名為 “Dave’s Guitar”。)

Poetically, the legendary Taiwanese rock band Mayday (whose anniversary is March 29) has an iconic anthem called 《憨人》 (Fool). Just three days after their anniversary, on April Fools’ Day, Dave passed away.
(充滿詩意的是,台灣傳奇搖滾樂團五月天(成軍紀念日為 3 月 29 日)有一首標誌性的神曲叫 《憨人》 (Fool)。就在他們紀念日的短短三天後,在愚人節 (April Fools’ Day) 當天,Dave 離開了我們。)

On March 29, 2020, Mayday’s lead singer Ashin wrote a touching post revealing the profound mystery hidden within the Chinese title 《憨人》 (Fool). For engineers and hackers around the world, this is the most beautiful equation of humanity:
(2020 年 3 月 29 日,五月天主唱阿信寫下了一篇動人的貼文,揭示了中文曲名《憨人》 (Fool) 裡隱藏的深刻奧秘。對全世界的工程師與駭客來說,這是人性中最美的方程式:)


💻 憨 (Fool) = 敢 (Courage) + 心 (Heart)


Ashin wrote:
(阿信寫道:)

“That year, I suddenly realized that the character for 'Fool' (憨) is made of 'Courage' (敢) placed over a 'Heart' (心).
(「那年,突然發現代表著愚笨的『憨』字,是『心』上一個『敢』。」)

“Then, inspiration led me to write this song…“
(「然後靈感帶我寫下了這首歌……」)

Let us bring this song to the courageous you, let's meet when the dawn comes (約在曙光來臨之時).
(「讓我們為你帶來這首『憨人』,與勇敢的你,約在曙光來臨之時。」)

This song is the absolute reflection of Dave’s life. He refused the “sky full of gold” to give his algorithms (FQ-CoDel & CAKE) away for free. To let the global open-source community sing along with Dave’s spirit, here are the full lyrics in 4 languages, completely unabridged: Traditional Chinese, Taiwanese Romanization, English, and Official Japanese.
(這首歌絕對是 Dave 一生的真實寫照。他拒絕了「滿天全金條(滿天的財富)」,選擇將他的演算法(FQ-CoDelCAKE)免費白白送人。為了讓全球開源社群能隨著 Dave 的精神一起高唱,以下是完整未刪減的 4 國語言歌詞:繁體中文、台語羅馬拼音、英文與官方日文。)

🎤 Click to expand the full 4-Language Lyrics of "Fool" (憨人) to sing along
我的心內感覺 人生的沈重 不敢來振動
Gua e sim-lai kam-kak lin-sing e tim-tang, M-kann lai tin-tang
(In my heart I feel how much seriousness there is in life, I don’t dare touch it)
(僕の心は 人生の重みに 動くことを躊躇してる)

我不是好子 嘛不是歹人 我只是愛眠夢
Gua m-si ho kiann mah m-si phainn-lang, Gua tsi-si ai bin-bang
(I’m not a good person, but I’m also not a bad person, I’m just someone who loves to dream)
(僕はいいやつでも 悪いやつでもない ただ夢見がちなだけなんだ)

我不願隨浪隨風 飄浪西東 親像船無港
Gua m-guan sui ing sui hong phiau long se tang, Tshin-tshiunn tsun bo kang
(I’m not willing to float with the tide, Like a drifting boat that cannot find a harbor)
(波と風にまかせ あてもなく漂うなんて嫌だ 行き着く港のない船のように)

我不願做人 奸巧鑽縫 甘願來作憨人
Gua m-guan tsue lang kan khiau lang pang, Kam-guan lai tsue gong lang
(I don’t want to be a devious opportunist, I’d rather be a fool)
(僕は器用になんて生きたくない 不器用でいい)

我不是頭腦空空 我不是一隻米蟲
Gua m-si thau-nau khang khang, Gua m-si tsit tsiah bi-thang
(It’s not that my head is empty, It’s not that I’m useless)
(僕は頭が空っぽでも 怠け者でもない)

人啊人 一世人 要安怎歡喜 過春夏秋冬
Lang ah lang tsit si lang, Beh an-tsuann huann-hi kue tshun-ha tshiu-tang
(People, oh! A lifetime is so long, How can we happily pass the years)
(人の一生って どうやって楽しく 春夏秋冬を過ごすかさ)

我有我的路 有我的夢 夢中的那個世界 甘講伊是一場空
Gua u gua e loo u gua e bang, Bang-tiong e hit e se-kai kam kong i si tsit tiunn khong
(I have my road, I have my dreams, Is it possible the world of my dreams is just an illusion?)
(僕には僕の道が 夢がある 夢の中のあの世界は まさかまぼろし?)

我走過的路 只有希望 希望你我講過的話 放在心肝內 總有一天
Gua kiann kue e loo tsi-u hi-bang, Hi-bang li gua kong ke e ue pang tsai sim-kuann lai tsong u tsit-kang
(On the road that I’ve traveled, I only have hope, Hope that all we’ve talked about is in our hearts, believing one day it will all come true)
(僕が歩んできた道には 希望だけが 僕が話したことを 心にとめておいて いつの日かきっと)

看到滿天全金條 要煞無半項 環境來戲弄
Khuann-kau mua-thinn tsuan kim-tiau beh suah bo puann hang, Khuan-king lai hi-lang
(Seeing gold dance through the sky, I reach out for it but grasp nothing, It’s like fate mocking me)
(空いっぱいのダイヤも 一つだってつかめない 神様のいたずらで)

背景無夠強 天才無夠弄 逐項是攏輸人
Pue-king bo kau kiong thian-tsai bo kau lang, Tak-hang si long su lang
(My background’s not good enough, my talent’s not used enough, In everything I lose to other people)
(生まれも 才能もたいしたことない 勝てるものなんて無い)

只好看破這虛華 不怕路歹行 不怕大雨淋
Tsi-ho khuann-phua tse hi-hua, M-kiann loo phainn-kiann, M-kiann tua hoo lam
(I’d best see through all this false splendor, I'm unafraid of how difficult the road ahead may be, And unafraid of being drenched in the rain)
(虚栄を見抜き 険しい道 大雨を恐れないだけさ)

心上一字敢 面對我的夢 甘願來作憨人
Sim siong tsit li kam bin-tui gua e bang, Kam guan lai tsue gong lang
(On my heart, there is one word daring, when confronting my dreams, I’m willing to be a fool)
(心には勇敢の文字 夢に向って 不器用でいい)

我不是頭腦空空 我不是一隻米蟲
Gua m-si thau-nau khang khang, Gua m-si tsit tsiah bi-thang
(It’s not that my head is empty, It’s not that I’m useless)
(僕は頭が空っぽでも 怠け者でもない)

人啊人 一世人 要安怎歡喜 過春夏秋冬
Lang ah lang tsit si lang, Beh an-tsuann huann-hi kue tshun-ha tshiu-tang
(People, oh! A lifetime is so long, How can we happily pass the years)
(人の一生って どうやって楽しく 春夏秋冬を過ごすかさ)

我有我的路 有我的夢 夢中的那個世界 甘講伊是一場空
Gua u gua e loo u gua e bang, Bang-tiong e hit e se-kai kam kong i si tsit tiunn khong
(I have my road, I have my dreams, Is it possible the world of my dreams is just an illusion?)
(僕には僕の道が 夢がある 夢の中のあの世界は まさかまぼろし?)

我走過的路 只有希望 希望你我講過的話 放在心肝內 總有一天
Gua kiann kue e loo tsi-u hi-bang, Hi-bang li gua kong ke e ue pang tsai sim-kuann lai tsong u tsit-kang
(On the road that I’ve traveled, I only have hope, Hope that all we’ve talked about is in our hearts, believing one day it will all come true)
(僕が歩んできた道には 希望だけが 僕が話したことを 心にとめておいて いつの日かきっと)

我有我的路 有我的夢 夢中的那個世界 甘講伊是一場空
Gua u gua e loo u gua e bang, Bang-tiong e hit e se-kai kam kong i si tsit tiunn khong
(I have my road, I have my dreams, Is it possible the world of my dreams is just an illusion?)
(僕には僕の道が 夢がある 夢の中のあの世界は まさかまぼろし?)

我走過的路 只有希望 希望你我講過的話 放在心肝內 總有一天
Gua kiann kue e loo tsi-u hi-bang, Hi-bang li gua kong ke e ue pang tsai sim-kuann lai tsong u tsit-kang
(On the road that I’ve traveled, I only have hope, Hope that all we’ve talked about is in our hearts, believing one day it will all come true)
(僕が歩んできた道には 希望だけが 僕が話したことを 心にとめておいて いつの日かきっと)

我知影總會有一天
Gua tsi ing tsong u tsit-kang
(I know that there will always be a day)
(分かってる いつかその日が来るって)

啦~啦~啦~啦~
La~La~La~La~
(La~La~La~La~)
(声を聞かせて)

我有我的路 我有我的夢
Gua u gua e loo, gua u gua e bang
(I have my road, I have my dreams)
(僕には僕の道が 夢がある)

總會有一天 總會有一天
Tsong u tsit-kang, tsong u tsit-kang
(One day... One day...)
(いつの日かきっと... いつの日かきっと...)


MAYDAY - Fool Live
(🎧 Click the image to listen to the Live Version of “Fool” / 點擊圖片聆聽《憨人》萬人合唱版)

If his monumental work has ever improved your network, please honor this brilliant, selfless “Fool” by Lighting up the “Star” in the top-right corner of this repository.
(如果他這項不朽的傑作曾經改善過您的網路,請點擊這個專案右上角的 “Star (星星)” 來點亮它,以紀念這位才華橫溢、無私奉獻的「憨人」。)

Let’s keep his Star shining bright in the open-source world, guiding packets through the dark.
(讓我們讓他的星星在開源世界裡持續閃耀,在黑暗中引導著網路封包前行。)
His physical journey has ended, but as an old friend who bonded with him over music perfectly bid him farewell:
(他的物理旅程已經結束,但正如一位與他因音樂結緣的老朋友,對他所作出的最完美告別:)

“Happy travels, amigo!”
(「旅途愉快,老朋友!」)

The global open-source community will carry his CAKE legacy forward:
(全球的開源社群將帶著他的 CAKE 遺產繼續前進:)

「我有我的路 我有我的夢,總會有一天… 彈奏著 Dave’s Guitar 🎸」
(Gua u gua e loo, gua u gua e bang, tsong u tsit-kang… tuann-tsau Dave’s Guitar 🎸)
(I have my own path, I have my own dream. One day… echoing through Dave’s Guitar 🎸)
(僕には僕の道が 夢がある。いつの日かきっと… Dave’s Guitar 🎸 を奏でながら)



🔗 References & Tributes


🕊️ In Loving Memory of Dave Täht

🇹🇼:他的心願,我來實現 (Tā de xīn yuàn, wǒ lái shí xiàn)

🇺🇸:His wish, I finished.

(A Linux Pun: In our world, a wish ending in .sh is a command to be executed!)


“穿越時空的夢想,我來幫他實現!”

(Making a time-traveling dream come true!)

🎇 The Spirit of the Code: “Fireworks in the Dark”

“一支穿雲箭,千軍萬馬來相見” (One arrow pierces the clouds, and ten thousand troops come to meet.)

This Chinese idiom describes a signal so powerful it rallies everyone. Dave was that arrow. Just like fireworks are most mesmerizing in the darkest night, Dave shone brightest when fighting the invisible enemy of Bufferbloat.


🏹 The “Archer” Coincidence: A Destiny Revealed

While digging through Dave’s old blog posts and presentations, I found a chilling coincidence that proves this project was meant to be.

1. The “Archer” & The Arrow The router series I ported this to is named “Archer” (TP-Link). An Archer shoots an Arrow. This perfectly matches our tribute slogan: “一支穿雲箭 (One Cloud-Piercing Arrow)”.

2. The C7 Origin In the original 2015 “Cake” presentation at Battlemesh v8, Dave and Jonathan Morton used a TP-Link Archer C7 to demonstrate that CAKE could shape traffic at 115Mbps while HTB failed.

“HTB can’t shape at 115Mbps. Cake can.”Battlemesh v8 (2015)

3. The C2 Connection In his 2016 blog post “Finally… the real net-next 4.8 fq_codel results”, Dave wrote:

“I pulled the odroid C2 out, and made it the test driver…” Today, we have successfully ported his work to the TP-Link Archer C2.

Dave was the Archer. The Code is the Arrow.

Sources:


🧩 The “Missing Piece”: The MT76 Prophecy

In his famous 2016 blog post “Hardware from hell”, Dave expressed his frustration with locked hardware. But amidst the chaos, he had his eyes on a specific target—the MediaTek (mt76) platform.

“I tried to get a mt76 box from alibaba - sold out - this is the new hotness in the OpenWrt 802.11ac world… A turris omnia will probably become my next eval platform unless I can get a mt76 up and running.” — Dave Täht (2016)

The Tragedy: He couldn’t get one. It was sold out. He was forced to struggle with older devices. The Fulfillment: This repository is dedicated entirely to MT7620/MT7621 devices.

We finally got that “mt76 box” up and running for you, Dave. The “new hotness” you foresaw is now the stable foundation carrying your legacy.

🇹🇼:遲來的約定 當他在 2016 年苦尋不到一台 MT76 路由器時,也許沒想到,幾年後會有成千上萬台 MT76 設備,運行著他的 CAKE 演算法,在網路上奔馳。 Dave,這台 MT76,我們幫你跑起來了!

Source: Hardware from hell (Dave Täht, 2016)


We are fulfilling a specific wish he made 5 years ago on Reddit:

❝ Help port the code to more chipsets. ❞

The BEST engineering result I ever had: Essentially the summation of my 16+ years of work to that point on making wifi better. Unpatented. Please share and enjoy. Help port the code to more chipsets.

Dave Täht (Reddit, 5 years ago)

Original Source: Reddit - r/Starlink

Dave turned down numerous lucrative contracts to keep his code Free and Open Source. He valued global impact over prestige. Because of him, millions of devices—from Starlink satellites to rural ISP routers—deliver smoother connectivity.

🇹🇼:靈魂永駐,精神長存

🇺🇸:May his soul find eternal peace, and his spirit live on forever in our routers.

👉 Read the full Memorial at LibreQoS


🌟 Project Philosophy: Open & Accessible

「永遠保持開放且開源的精神」

(Forever maintaining an open and open-source spirit)

This repository is based on the original rt-n56u with the latest MTK 4.4.198 kernel. We believe in giving power back to the user while honoring the giants who paved the way.

  1. CAKE Integration: By default, we aim to support the sch_cake module (where applicable) to honor Dave’s legacy.
  2. Easy Multi-Model Support: Support for a wide range of devices, keeping them alive and fast.
  3. Flexible Language System:
    • English Base: The firmware defaults to a clean, English-only interface.
    • Custom Language Packs: You can select one additional language (Traditional Chinese, Russian, etc.) during the build process to keep the firmware lightweight yet localized.

🗣️ Tributes from the Community

“Dave’s impact on society was immense… He wanted, ultimately, to speed up the internet so that a drummer in London could play in real-time with a guitarist in Los Angeles.” — Steven J. Vaughan-Nichols

“I will miss him but will be always grateful to have known him.” — Vint Cerf

“Without him, Netflix and similar services might still be plagued by glitches and stutters.” — Eric S. Raymond

See also:

Dave Täht Tribute [Image Credit: LibreQoS]


🚀 Supported Devices (Kernel 4.4)

This branch targets the High-Performance MT7621 devices. We support the legends of the router world, from the iconic K2P to the powerful Xiaomi Pro. (This list corresponds directly to the target_select menu in the build workflow.)

Brand Supported Models
Phicomm K2P (The Legend), K2P-NANO, K2P-USB
Xiaomi / Redmi MI-R3P (Pro), MI-R3G, RM2100 (Redmi AC2100), CR660x
D-Link DIR-878, DIR-882 (EXO AC2600)
Newifi NEWIFI3 (Newifi D2)
JCG JCG-AC860M, JCG-836PRO, JCG-Q20, JCG-Y2
Netgear NETGEAR-BZV (R6800/R6700v2 series)
Others MR2600, XY-C1

Kernel 4.4 brings better driver support for newer Wi-Fi chips (like MT7615) found in these high-performance devices.


🌐 Multi-Language Support

We believe in a borderless internet. The firmware now supports 14 Languages out of the box! (Select your preferred language in the language_select menu.)


✨ Features


🛠️ Compilation Guide

We support both GitHub Actions (for ease of use) and Manual Compilation.

🛠️ Usage (How to Build)

This workflow uses GitHub Actions to build firmware in the cloud. You don’t need a Linux PC!

1. Start the Workflow

  1. Go to the Actions tab in this repository.
  2. Select the workflow “Custom-Router-Build-Final-Fix” (or CI.yml) from the left sidebar.
  3. Click the Run workflow button on the right.

2. Configure Your Build (Interactive Inputs)

You will see a menu with the following options. Customize it to your liking!

3. Wait & Download

  1. Click the green Run workflow button.
  2. The build process usually takes 15 to 40 minutes.
  3. When the circle turns Green (Success), click on the task.
  4. Scroll down to the Artifacts section to download your firmware .zip file.

Just go to the Actions tab in this repository, select Custom-Router-Build-Final-Fix, and choose:

  1. Target Model: (e.g., K2P, MI-R3P, RM2100…)
  2. Language: (e.g., English_Only or CN-繁體中文)
  3. Toolchain: (Default or Padavan-NG)

The system will automatically apply the CAKE Patch, configure your language, and build your firmware.

Option B: Manual Compilation

1. Install Dependencies

Find out your OS:


Original readme below

padavan-4.4

This project is based on original rt-n56u with latest mtk 4.4.198 kernel, which is fetch from D-LINK GPL code.