Nó làm được gì, cụ thể
Bạn có một con router Gemtek W1700K. Trong đó có radio MediaTek MT7996, SoC Airoha AN7581. Bình thường nó phát Wi-Fi 7. Repo này thay firmware của MT7996 bằng firmware tự viết (ROM patch, WM và WA build từ chính repo, không có code MediaTek), rồi lấy mẫu IQ 14-bit thô ở tốc độ lên tới 320 Msps, đẩy qua cổng 10 GbE vào một máy Linux, và hiện lên trình duyệt dưới dạng phổ và waterfall chạy realtime.
Nghe thì giống SDR thông thường, nhưng con số mới là chỗ đáng nói. Toàn bộ băng 2.4 GHz ở 320 Msps, mỗi mẫu đều được FFT 262.144 điểm, 100 phổ mỗi giây. Trong khi đó LO không bị khoá theo channel: nó tune tới bất kỳ Hz nào mà synthesizer của băng đó lock được (unit A: 2.081 tới 2.748 GHz, 4.647 tới 7.509 GHz, 4.707 tới 7.576 GHz), trên lưới bước 2.98 Hz ở 2.4 GHz hoặc 11.9 tới 14.3 Hz ở băng cao hơn. Đổi tần số giữa lúc đang stream mất khoảng 1 ms.
Ba băng: 2.4 GHz dùng MT7976, 5 GHz và 6 GHz dùng hai con MT7977. Chuyển băng chỉ là một lệnh ghi register trong stream đang chạy. Sample rate chọn 40, 80, 160 hoặc 320 Msps độc lập với LO và filter. Băng 2 còn có chế độ 640/2 (lấy cách mẫu của 640 Msps, phẳng tới ±155 MHz nhưng tín hiệu cách 160 tới 320 MHz sẽ fold vào).
Phần transport cũng không tầm thường: radio DMA vào một ring 1 GiB trong DRAM của SoC, kernel gửi từng slice 8 KiB thành một UDP datagram zero-copy qua cổng 10 GbE. Ở 320 Msps, một nửa số slice được pack xuống 28 bit cho mỗi cặp mẫu ngay trên core của radio để vừa link (lossless, tự động). Screenshot trong README ghi link chạy 9.75 Gbit/s.
Vì sao 820 sao trong hai ngày
Repo tạo ngày 2026-10-11, cập nhật 2026-10-13, đã 820 sao. Với một dự án C thuần, không topic, không license rõ ràng, mô tả gốc trống trơn, con số đó đến từ nội dung chứ không từ marketing: firmware viết lại từ đầu cho một con chip thương mại, decode register-by-register dựa trên trace của firmware gốc, mang radio lên từ trạng thái nguội tự động, không cần firmware vendor nào để tải về.
Nhu cầu thì có thật. Dân SDR quen với USRP, HackRF, RTL-SDR, hoặc mấy board AD936x giá vài nghìn đô. Một con router Wi-Fi 7 mua ngoài thị trường có sẵn radio băng rộng 320 MHz và SoC đủ khoẻ để đẩy 10 GbE thì rẻ hơn nhiều. Vấn đề là chưa ai mở được đường lấy mẫu thô ra khỏi nó. Đây là lần đầu có người làm được, và làm tới mức có web UI, có recorder, có cả script cài từ stock firmware.
Cài và chạy thử
Yêu cầu phần cứng: một W1700K (HW 1.x) hoặc W1700K2 (HW 2.1), USB serial 3.3V cắm vào console header, cáp Ethernet vào cổng lan3 để cài, và card 10 GbE trên host nối vào cổng wan (10GBASE-T, X710 với module SFP+ copper là được). Cả hai revision chạy cùng image.
Một cảnh báo từ README: phần lớn máy dùng NAND W25N04KV, một số W1700K2 dùng W25N04LV (ID ef 8b 23). Loại sau được hỗ trợ nhưng chưa từng chạy trên máy thật, nên init/install sẽ dừng lại cho tới khi bạn truyền --i-dont-care-about-nand-corruption, và xin bạn dump raw (init/rawdump) gửi maintainer.
make # everything, from public sources (~10 min plus downloads)
make check # the test suite
sudo init/host/link up IFACE # 192.168.1.10/24 on the NIC cabled to lan3
sudo init/host/tftp-forward enable IFACE
init/install # back up the NAND, install, save the radio calibration
sudo init/host/link up IFACE10G 10.77.0.10/24 9216 # the 10 GbE stream link
host/stream/build/w1700k-stream & # the stream, for every consumer on this host
host/spectrum/build/w1700k-spectrum --controller "host/bin/w1700k serve" --listen 0.0.0.0:8073
Mở http://HOST:8073/, bấm ▶. Lần đầu mất khoảng 2 giây để load firmware và bring radio lên. Không thích browser thì dùng CLI: host/bin/w1700k load|start|band|tune|gain|filter|stop|status. Build cần compiler C/C++, make, git, Python 3.10+, đồ nghề Buildroot, clang, ld.lld, llvm-objcopy, llvm-readobj (cho firmware RISC-V), openssl, libfftw3-dev và zlib.
Ai nên dùng, dùng để làm gì
Rõ nhất là dân nghiên cứu PHY và RF: cần nhìn toàn băng 2.4 GHz hoặc hai channel 80 MHz cạnh nhau trong một view 320 MHz phẳng, zoom xuống 24 MHz quanh 5250 MHz với bin 1.22 kHz. Mấy việc này trước đây phải có thiết bị lab.
Nhóm thứ hai là người làm firmware, driver, hoặc reverse engineering: include/hw/ có tham chiếu register của MT7996, A-die và AN7581 dưới dạng header C. docs/architecture.md và docs/roadmap.md mô tả cách firmware hoạt động. Đây là tài liệu hiếm cho chip MediaTek.
Nhóm thứ ba là người muốn một receiver băng rộng giá router. sdr-recv ghi lại stream, w1700k-stream chia sẻ IQ qua shared memory dạng complex int16 có đánh dấu gap cho mọi consumer trên host, kèm tuỳ chọn “flatten” sửa roll-off của decimation ngay trên mẫu. Nghĩa là bạn có thể viết thêm consumer riêng mà không phải đụng tới phần radio.
Không nên dùng nếu bạn cần phát. Firmware này receive-only: không chạy calibration transmit nào của MediaTek và giữ đường transmit của MAC tắt. README nói thẳng, và cũng nhắc đừng cắm antenna port thẳng vào thiết bị đo nhạy mà không có attenuator.
Ưu điểm và những chỗ phải cân nhắc
Điểm mạnh: mở được thứ chưa ai mở, làm sạch sẽ từ boot (U-Boot riêng, Linux 6.18 với patch board, root BusyBox read-only), có đường cài, cập nhật, recovery và quay về stock trong init/. Toàn bộ build từ nguồn công khai, không tải firmware vendor. ROM patch không ghi eFuse, khác firmware MediaTek từ 2025 vốn program một bit eFuse vĩnh viễn ngay lần chạy đầu.
Chỗ phải cân nhắc thì cũng nhiều. License “không rõ”, mà đây là dự án đụng tới firmware và register của chip thương mại, nên đừng đem đi dùng thương mại mà chưa hỏi tác giả. Repo mới hai ngày tuổi, 820 sao, chưa có cộng đồng kiểm chứng lâu dài. Có phần cứng chưa từng được test trên máy thật (W25N04LV). Phải có USB serial, phải tháo máy, phải có card 10 GbE trên host, không phải kiểu cắm vào là chạy. Tài liệu có docs/architecture.md và roadmap, nhưng README bị cắt ở phần “Read before use” nên đọc bản đầy đủ trên GitHub trước khi làm gì với phần cứng của bạn.
So với HackRF hay RTL-SDR thì đây không cùng phân khúc: hai con kia rẻ, cắm USB là xong, nhưng băng thông vài chục MHz. W1700K SDR cho 320 Msps trên băng 2.4 GHz, đổi lại là một quy trình cài đặt có rủi ro brick máy. Với USRP thì so về giá, nhưng tôi chưa thấy ai benchmark trực tiếp hai bên nên không dám nói con nào hơn ở đâu.
Kết luận
820 sao sau hai ngày, 320 Msps, 100 phổ mỗi giây, 9.75 Gbit/s qua một cổng 10 GbE trên con router mua ngoài chợ. Nếu bạn có sẵn một W1700K và không ngại tháo máy, đây là thứ đáng thử trong một buổi chiều. Nếu chỉ tò mò, đọc firmware/ và include/hw/ cũng đủ đáng thời gian. Repo ở đây: h0m3us3r/w1700k-sdr.
