TECH 으로 돌아가기
TECH HACKER NEWS 오늘 7분 읽기 25 READS

Wi-Fi 7 공유기를 320Msps 광대역 SDR 수신기로 바꾸다

Wi-Fi 7 공유기를 320Msps 광대역 SDR 수신기로 바꾸다
SOURCE IMAGE · HACKER NEWS

소프트웨어 정의 라디오(SDR)는 하드웨어 대신 소프트웨어로 신호를 처리하는 수신 기술로, 실무자에게는 RTL-SDR 같은 저가 USB 동글이나 USRP 계열 고가 장비로 익숙하다. 그런데 최근 공개된 w1700k-sdr 프로젝트는 전혀 다른 출발점을 택했다. 시중의 Wi-Fi 7 공유기인 젬텍(Gemtek) W1700K를 개조해, 그 안에 들어 있는 무선 칩을 광대역 IQ 수신기로 재활용하는 것이다. 공유기에 탑재된 미디어텍 MT7996 라디오가 원시 14비트 IQ 샘플을 최대 320Msps(초당 3억 2천만 샘플)로 포착하고, 아이로하 AN7581 SoC가 이를 10GbE로 스트리밍하면, 리눅스 호스트가 브라우저에서 실시간 스펙트럼과 워터폴로 보여 준다.

숫자가 주는 인상이 강렬하다. 320Msps는 2.4GHz 대역 전체를 한 번에 담을 수 있는 폭이다. 프로젝트는 262,144포인트 FFT를 모든 샘플에 적용해 초당 100개의 스펙트럼을 뽑아내며(공개된 녹화는 초당 50프레임으로 재생된다), 데시메이션 과정에서 생기는 롤오프를 스트림 단계에서 보정하는 '플래튼(flatten)' 처리를 거친다. 그 결과 대역 가장자리까지 평탄하게 유지되는 바닥 위에서 Wi-Fi 프레임과 짧은 주파수 호핑 버스트가 또렷하게 드러난다. 5170~5330MHz 구간의 바쁜 80MHz Wi-Fi 채널 두 개를 320MHz 뷰로 한눈에 보거나, 5250MHz 주변 24MHz를 1.22kHz 분해능으로 확대해 채널 경계와 가드 갭을 확인하는 식이다.

벤더 펌웨어를 걷어낸 자체 구현

이 프로젝트가 단순한 레지스터 조작 해킹과 구분되는 지점은 펌웨어다. MT7996은 미디어텍 코드를 전혀 쓰지 않고 프로젝트가 직접 만든 펌웨어만으로 구동된다. ROM 패치와, 저장소에서 빌드한 WM·WA 펌웨어가 전부다. 라디오는 콜드 부팅 상태에서 스스로 올라오는데, 이 초기화와 캘리브레이션 과정은 미디어텍 자체 펌웨어의 동작 트레이스와 대조해 레지스터 단위로 하나씩 해독해 재현했다고 한다. 이후 호스트가 LO(국부 발진 주파수), 샘플레이트, 캡처, 스트리밍, 게인, 필터 같은 명령을 내려 라디오를 제어한다. 벤더 펌웨어를 내려받거나 참조할 필요가 없다는 점은 재현성과 라이선스 측면 모두에서 의미가 크다.

실제로 돌려 보려면

다만 진입 장벽은 결코 낮지 않다. 하드웨어만 해도 W1700K 공유기 본체, 콘솔 헤더에 연결할 3.3V USB 시리얼 어댑터, 설치용으로 lan3 포트에 꽂을 이더넷 케이블, 그리고 IQ 스트림을 받을 호스트 쪽 10GbE NIC이 필요하다. NIC은 공유기의 wan 포트에 10GBASE-T로 연결하며, 구리 SFP+ 모듈을 끼운 인텔 X710 카드가 동작한다고 명시돼 있다. 즉 10기가비트 유선 환경과 시리얼 콘솔 작업이 전제되는 셈이라, USB 동글을 꽂으면 끝나는 기존 SDR과는 체감 난이도가 다르다.

준비가 끝나면 사용 자체는 간결하다. 브라우저에서 http://HOST:8073/ 를 열고 재생 버튼을 누르면 된다. 첫 시작 때 라디오 펌웨어를 로드하고 라디오를 올리는 데 약 2초가 걸린다. 브라우저 없이도 host/bin/w1700k 명령에 load, start, band, tune, gain, filter, stop, status 같은 서브커맨드를 주어 동일한 조작을 할 수 있어, 자동화나 헤드리스 운용에도 맞는다. 스트림 패널에는 링크가 9.75Gbit/s를 나르고 슬라이스의 절반이 채워지며 모든 샘플이 변환되고 있다는 상태가 표시된다.

빌드 요구 사항도 적지 않다. C/C++ 컴파일러, make, git, 파이썬 3.10 이상, 일반적인 Buildroot 사전 요건에 더해 RISC-V 펌웨어 빌드용 clang·ld.lld·llvm-objcopy·llvm-readobj, 펌웨어 컨테이너 암호화용 openssl, 스트림 서비스와 스펙트럼 서버용 libfftw3-dev와 zlib이 필요하다. 라이선스는 기본적으로 MIT이되, 리눅스 드라이버와 커널 패치는 GPL-2.0-only, U-Boot 패치는 GPL-2.0+, 드라이버의 사용자 공간 헤더는 GPL-2.0 WITH Linux-syscall-note, 미디어텍 mt76 드라이버에서 파생된 파일은 BSD-3-Clause-Clear로 나뉜다.

실무적으로 어떻게 볼까

현실적으로 이 프로젝트가 상용 SDR 장비를 대체한다고 보기는 어렵다. 10GbE 인프라와 하드웨어 개조가 필요하고, 수신 전용인 데다 지원 대역도 공유기 라디오가 다루는 2.4·5GHz Wi-Fi 대역에 묶여 있다. 그러나 수백 메가샘플급 광대역 캡처를 범용 소비자 하드웨어로 끌어낼 수 있다는 사실 자체가 흥미롭다. 무선 보안 연구자나 RF 엔지니어에게는 저렴하게 구할 수 있는 Wi-Fi 칩셋의 물리 계층을 밑바닥부터 들여다보는 통로가 되고, 펌웨어를 벤더 바이너리 없이 재현했다는 점은 칩 초기화 과정을 학습하려는 이들에게 참고 가치가 크다. 요약하자면 당장의 생산 도구라기보다, 상용 무선 칩의 내부를 열어 보는 실험적 레퍼런스에 가깝다.

SOURCE · HACKER NEWS
원문 전체 보기 → https://github.com/h0m3us3r/w1700k-sdr
SHARE
NEXT · CHOOSE

변화를 읽었다면,
내가 만들 수익 구조를 고릅니다.

정보를 더 모으는 데서 멈추지 않고, 광고·외주·판매·중개·구독 중 내 상황에 맞는 출발점을 정해보세요.

21가지 수익 구조 살펴보기 →
처리 중...