2025-10-05

LINKSYS MR7350에 dd-wrt를 올렸습니다.

Linksys MR7350을 사용하고 있는데 갑자기 공유기가 말썽을 일으켜서 이틀동안 새벽내내 삽질했습니다. 리셋해도 별 효과가 없었습니다.

오래된 펌웨어의 버그인가 해서 ( https://support.linksys.com/kb/article/947-en/ ) OpenWrt로 업그레이드를 시도했습니다. 버팔로 공유기( https://www.google.com/search?q=wzr-hp-ag300h )를 사용했던 때 제조사의 펌웨어는 정말 별로였지만 OpenWrt나 dd-wrt를 올려서 잘 사용하기도 했고요. Linksys MR7350의 경우 지금 기준으로 릴리즈 버전은 아직 나오지 않았고 개발 버전은 있었습니다. 

문제는 펌웨어 업데이트 도중에 오류가 발생해서 시행착오가 있었습니다. 찾아보니 일부 제품에 https://github.com/openwrt/openwrt/issues/19260 이런 문제가 있는 듯 했습니다. 저처럼 삽질하다가 시리얼 연결까지 가지 말고 https://github.com/openwrt/openwrt/issues/19261 Shine이라는 사람이 쓴 코멘트를 따라하면 됩니다.

저는 부팅 불가 상태가 되어서 쿠팡에서 USB-TTL 젠더를 주문하는 등 많이 돌아갔습니다.

여담으로 부트로더를 통한 펌웨어 플래시는 간단하게 다음과 같습니다.
  1. 컴퓨터의 IP를 192.168.1.254로 강제로 설정하고, lan1포트를 컴퓨터와 연결합니다.
  2. 펌웨어 파일을 준비합니다. 정펌이거나 factory가 붙은 것을 사용해야 합니다. 
  3. 파일의 이름을 mr7350.img로 바꾸고 tftp 서버를 통해서 접근할 수 있도록 합니다. 저는 tftpd64를 사용했습니다.
  4. 시리얼 연결은 https://openwrt.org/inbox/toh/linksys/mr7350_1.0 이 문서를 참고로 하면 됩니다. 저는 콘솔로 putty를 사용했습니다.
  5. 타이밍에 맞춰서(...) 키보드의 키를 누르면 U-Boot에 진입할 수 있습니다.
  6. U-Boot에서 ?를 타이핑하면 명령어 목록을 볼 수 있습니다. 아마도 "run flashimg"와 "run flashimg2"가 원하는 명령일 듯 합니다.
메모리의 일부에 배드섹터가 있었던 모양입니다. 콘솔 메시지로는 배드섹터를 피해서 저장했다고는 나왔지만 해결이 안 되면 버리려고 했습니다. 다행히 잘 작동합니다.

어렵게 OpenWrt를 올렸지만 처음에는 잘 작동하다가 오류가 발생합니다. 일반적인 웹서핑은 문제가 없는데 큰 파일을 다운로드(대략 30~50GB) 하면 문제가 발생했습니다. 설정 문제인가 해서 이리저리 문제를 찾아봐도 해결되지 않았습니다. 검색해보니 메모리 누수 문제가 있는 듯 합니다.( https://github.com/openwrt/openwrt/issues/19702 ) 오류가 발생했을 때 남아있는 메모리의 양이 매우 적었습니다.

OpenWrt를 포기하고 대안을 찾아보니 dd-wrt가 나왔습니다. 이것도 버팔로 공유기의 정펌의 완성도 때문에 올린 적이 있습니다. 제가 사용했던 버팔로 공유기 기준으로 스루풋이 잘 나오는 OpenWrt를 사용했지만요. 이전에는 OpenWrt에서 바로 바꿀 수 있었던 것 같은데 MR7350에 펌웨어를 밀어 넣다가 다시 먹통이 됐습니다. 이제 OpenWrt에서 dd-wrt로 대충 못 넘어가나 봅니다. 다시 시리얼 연결부터...

이러지러 삽질을 많이 했지만 dd-wrt를 올리는데 성공했습니다.
dd-wrt는 아직까지 사용에 지장을 줄 정도의 큰 문제는 없습니다. 성능도 오히려 낫네요.

댓글 없음: