W1700K SDR เปลี่ยนเราเตอร์ Wi-Fi 7 ให้เป็นเครื่องรับสัญญาณ SDR ความเร็ว 320 MSps

เมื่อไม่กี่วันก่อน เราได้เขียนบทความเกี่ยวกับโปรเจกต์ ESP-SDR ที่เปลี่ยน ESP32 ให้กลายเป็นเครื่องรับสัญญาณ SDR(Software-Defined Radio) และปัจจุบันยังสามารถ ส่งสัญญาณ SDR ได้ด้วย แต่การส่งข้อมูลผ่าน UART มีข้อจำกัดด้านความเร็ว ทำให้ไม่สามารถรองรับอัตราการสุ่มตัวอย่างได้ทัน ล่าสุดนักพัฒนา h0m3us3r ได้ได้เผยแพร่โปรเจกต์โอเพนซอร์ส w1700k-sdr ซึ่งเปลี่ยนเราเตอร์ Wi-Fi 7 รุ่น Gemtek W1700K ให้กลายเป็นเครื่องรับสัญญาณวิทยุแบบ SDR ที่มีแบนด์วิดท์กว้าง

โปรเจกต์นี้ใช้ชิปวิทยุ MediaTek MT7996 ที่ติดตั้งมาในเราเตอร์ เพื่อรับข้อมูลตัวอย่างสัญญาณ I/Q ดิบ ความละเอียด 14 บิต ที่อัตราสูงสุด 320 MSps ครอบคลุมย่านความถี่ 2.4 GHz, 5 GHz และ 6 GHz ข้อมูลที่รับได้จะถูกส่งผ่านการเชื่อมต่อ Ethernet ความเร็ว 10 GbE โดยใช้ชิป SoC Airoha AN7581 ของเราเตอร์ ไปยังคอมพิวเตอร์ Linux จากนั้นผู้ใช้สามารถดูสเปกตรัมสัญญาณและแผนภาพ Waterfall แบบเรียลไทม์ผ่านเว็บเบราว์เซอร์ได้ การทำงานนี้จำเป็นต้องเปลี่ยนเฟิร์มแวร์เดิมของเราเตอร์เป็นระบบ Linux และเฟิร์มแวร์วิทยุที่พัฒนาขึ้นเป็นพิเศษ เพื่อให้สามารถดึงข้อมูล I/Q ดิบออกมาได้ แทนที่จะประมวลผลข้อมูลตามรูปแบบการรับส่งข้อมูล Wi-Fi ทั่วไป

W1700K-SDR Full-2.4-GHz-spectrum-view
ภาพสเปกตรัมเต็มย่านความถี่ 2.4 GHz หลังใช้การปรับแก้การตอบสนองของ Passband ให้เรียบขึ้น

คุณสมบัติและสเปกของ W1700K SDR มีดังนี้

  • ฮาร์ดแวร์ที่รองรับ – เราเตอร์ Wi-Fi 7 รุ่น Gemtek W1700K (HW 1.x) และ W1700K2 (HW 2.1)
    • SoC – Airoha AN7581 พร้อมโปรเซสเซอร์ Arm Cortex-A53 แบบ quad-core
    • วิทยุ – ชิปเซ็ต MediaTek MT7996 Wi-Fi 7 เชื่อมต่อผ่าน PCIe
      • MT7976 เป็นวงจร RF Front-end สำหรับย่าน 2.4 GHz
      • MT7977 จำนวน 2 ตัว สำหรับย่าน 5 GHz และ 6 GHz
    • หน่วยความจำ – DRAM ขนาด 2 GB โดยจัดสรรพื้นที่ 1 GiB เป็นบัฟเฟอร์ DMA Ring สำหรับเก็บข้อมูลตัวอย่างสัญญาณ
  • การรับสัญญาณ SDR
    • ย่านความถี่ – 2.4 GHz, 5 GHz และ 6 GHz
    • ความละเอียดข้อมูล – ตัวอย่าง I/Q ขนาด 14 บิต
    • อัตราการสุ่มตัวอย่าง – 40, 80, 160 และ 320 MSps ในทั้งสามย่านความถี่
    • รองรับโหมดการสุ่มตัวอย่าง 640/2 เพิ่มเติมใน Band 2 โดยมีข้อจำกัดด้าน Aliasing
    • สามารถปรับความถี่ LO ได้อย่างต่อเนื่องภายในช่วงที่วงจร Synthesizer รองรับ รวมถึงเปลี่ยนความถี่ระหว่างการสตรีมข้อมูล
    • ควบคุม RF ได้ทั้งแบบ AGC (Automatic Gain Control) และปรับ LNA/Baseband Gain ด้วยตนเอง และรองรับการกรองสัญญาณแอนะล็อกในช่วง 20–320 MHz
  • การสตรีม – สตรีม UDP แบบ zero-copy ผ่าน 10GbE พร้อมการแพ็กตัวอย่างแบบไม่สูญเสียข้อมูลที่อัตราสูงสุด

บอร์ด PCB ของเราเตอร์ Gemtek W1700K Wi-Fi 7 แสดงชิปเซ็ตวิทยุ MediaTek Wi-Fi 7, SoC Airoha และชิ้นส่วนต่าง ๆ บนบอร์ด
เราเตอร์ Gemtek W1700K Wi-Fi 7 พร้อมชิปเซ็ตวิทยุ MediaTek Wi-Fi 7 และ SoC Airoha

โปรเจกต์นี้ใช้เทคนิคการบรรจุข้อมูลและบัฟเฟอร์เพื่อให้สามารถส่งข้อมูล I/Q อย่างต่อเนื่องด้วยความเร็วสูงได้ ที่อัตราการสุ่มตัวอย่าง 320 MSps วิทยุจะสร้างข้อมูลประมาณ 1.28 GB/s หากจัดเก็บตัวอย่างเชิงซ้อนแต่ละตัวอย่างด้วยข้อมูลขนาด 32 บิต ซึ่งมีปริมาณมากกว่าแบนด์วิดท์ใช้งานจริงของการเชื่อมต่อ 10 GbE เพียงเส้นเดียว

เพื่อแก้ปัญหานี้ เฟิร์มแวร์จึงใช้เทคนิคบีบอัดรูปแบบการจัดเก็บข้อมูลโดยไม่สูญเสียข้อมูล โดยข้อมูลตัวอย่างครึ่งหนึ่งจะถูกจัดเก็บในรูปแบบที่ใช้เพียง 28 บิตต่อตัวอย่างเชิงซ้อน ทำให้ลดปริมาณข้อมูลที่ต้องส่งผ่านเครือข่ายได้ โดยยังคงรักษาข้อมูลเดิมไว้อย่างครบถ้วน จากนั้นข้อมูลจะถูกส่งไปเก็บใน Ring Buffer ขนาด 1 GiB ภายในหน่วยความจำของเราเตอร์ ก่อนส่งต่อไปยังคอมพิวเตอร์ปลายทางผ่าน UDP นักพัฒนาระบุว่าวิธีนี้ทำให้สามารถใช้แบนด์วิดท์เครือข่ายได้สูงถึงประมาณ 9.75 Gbit/s เมื่อเปรียบเทียบกับ ESP-WebSDR ซึ่งรับข้อมูล I/Q เป็นช่วงสั้น ๆ และอาจพลาดสัญญาณที่เกิดขึ้นระหว่างช่วงการจับสัญญาณ W1700K-SDR สามารถสตรีมข้อมูล I/Q ได้อย่างต่อเนื่อง จึงไม่มีช่องว่างดังกล่าว

W1700K-SDR Real-time-5-GHz-waterfall
Waterfall ของย่าน 5 GHz แบบเรียลไทม์ โดยประมวลผล FFT ขนาด 262k จุดภายในเว็บเบราว์เซอร์โดยตรง

W1700K-SDR 50-MHz-the-two-channels-edges
ภาพขยายแบนด์วิดท์ 24 MHz รอบความถี่ 5,250 MHz แสดงขอบของช่องสัญญาณสองช่องและช่วง Guard Gap ระหว่างช่อง โดยมีความละเอียด 1.22 kHz ต่อ Bin

โปรเจกต์นี้ใช้เฟิร์มแวร์ที่พัฒนาขึ้นเองสำหรับ MT7996 รวมถึงROM Patch และเฟิร์มแวร์แยกสำหรับส่วน WM และ WA นักพัฒนาได้ทำวิศวกรรมย้อนกลับ (Reverse Engineering) ขั้นตอนการเริ่มต้นทำงานและการปรับเทียบวงจรวิทยุของ MediaTek ด้วยการติดตามการทำงานของรีจิสเตอร์ จากนั้นจึงพัฒนาฟังก์ชันที่จำเป็นขึ้นมาใหม่ โดยไม่ต้องโหลดเฟิร์มแวร์กรรมสิทธิ์ของ MediaTek
ตัวรับสัญญาณรองรับการปรับค่าต่าง ๆ ระหว่างการสตรีม ได้แก่ เปลี่ยนความถี่รับสัญญาณ, ปรับ Gain, ปรับค่าฟิลเตอร์ และ สลับย่านความถี่ แต่การเปลี่ยนอัตราการสุ่มตัวอย่างยังจำเป็นต้องหยุดสตรีมข้อมูลก่อน แล้วจึงเริ่มสตรีมใหม่

ซอฟต์แวร์ฝั่งคอมพิวเตอร์ยังมีตัวเลือก Flatten เพื่อแก้ไขการลดทอนการตอบสนองตามความถี่ (Frequency Response Roll-off) ที่เกิดจากฟิลเตอร์ Decimation ของวงจรวิทยุ ช่วยให้การแสดงสเปกตรัมมีระดับสม่ำเสมอมากขึ้น โดยเฉพาะบริเวณใกล้ขอบแบนด์วิดท์ที่กำลังรับอยู่ ผู้ใช้สามารถควบคุมตัวรับสัญญาณผ่านเว็บเบราว์เซอร์ หรือใช้เครื่องมือบรรทัดคำสั่ง (Command Line) เพื่อเปลี่ยนการตั้งค่าและบันทึกข้อมูล I/Q สำหรับนำไปประมวลผลต่อด้วยซอฟต์แวร์อื่นได้

ในการเริ่มต้นใช้งานต้องมีเราเตอร์ W1700K หรือ W1700K2 รุ่นที่รองรับ, อะแดปเตอร์ USB-to-Serial ขนาด 3.3V, สาย Ethernet สำหรับเชื่อมต่อกับพอร์ต LAN3 ของเราเตอร์ระหว่างติดตั้ง และคอมพิวเตอร์ Linux ที่มีการ์ดเครือข่าย 10GbE เชื่อมต่อกับพอร์ต WAN ของเราเตอร์ เราเตอร์ Gemtek W1700K ยังเป็นที่รู้จักในชื่อ Quantum Fiber W1700K Wi-Fi 7 router หากไม่แน่ใจว่าเครื่องที่มีอยู่เป็นเวอร์ชันที่ถูกต้องหรือไม่ hungvu.tech มีบทความ teardown พร้อมภาพบอร์ดให้ดู

ใน Repository มีสคริปต์สำหรับ build เครื่องมือติดตั้ง และคำแนะนำสำหรับสำรองข้อมูล NAND Flash ของเราเตอร์ก่อนเปลี่ยนเฟิร์มแวร์ หลังติดตั้งเสร็จ สามารถเข้าถึงได้ผ่านเว็บเบราว์เซอร์ที่พอร์ต 8073 โค้ดส่วนใหญ่เผยแพร่ภายใต้สัญญาอนุญาต MIT ขณะที่ส่วนประกอบบางส่วน เช่น Kernel, Bootloader และไดรเวอร์ ใช้สัญญาอนุญาต GPL และ BSD

แปลจากบทความ : W1700K SDR turns a Wi-Fi 7 router into a 320 MSps software-defined radio receiver

Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
โฆษณา