레이블이 공유기인 게시물을 표시합니다. 모든 게시물 표시
레이블이 공유기인 게시물을 표시합니다. 모든 게시물 표시

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로 대충 못 넘어가나 봅니다. 다시 시리얼 연결부터...

되도록이면 제조사 펌웨어로 돌린 이후에 전환해야 하나 봅니다. 

OpenWrt에서 제조사 펌웨어는 위의 링크의 글을 참고하면 됩니다. 일단은 scp등을 통해서 펌웨어 파일을 공유기에 넣습니다.

ssh로 접속해서
fw_printenv -n boot_part
으로 부트 파티션을 확인합니다. 부팅하지 않은 파티션에 펌웨어를 입력해야 합니다.

2라면
dd if=제조사펌웨어파일 bs=8M count=1 of=kernel.bin
dd if=제조사펌웨어파일 bs=8M skip=1 of=rootfs.bin
mtd -e kernel -n write kernel.bin kernel
mtd -e rootfs -n write rootfs.bin rootfs
fw_setenv boot_part 1
reboot
1이라면
dd if=제조사펌웨어파일 bs=8M count=1 of=kernel.bin
dd if=제조사펌웨어파일 bs=8M skip=1 of=rootfs.bin
mtd -e alt_kernel -n write kernel.bin alt_kernel
mtd -e alt_rootfs -n write rootfs.bin alt_rootfs
fw_setenv boot_part 2
reboot

를 입력하면 됩니다.

ddwrt에서 제조사펌웨어는 https://wiki.dd-wrt.com/wiki/index.php/Linksys_MR7350#Revert_To_Stock_Firmware 이 문서를 참고로 하면 됩니다

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

2022-07-24

링크시스 MR7350

그동안 티피링크 아처 C7에 OpenWrt를 올려서 사용하고 있었습니다. 지난 달부터 와이파이가 자주 꺼집니다. 무선으로 연결된 기기가 많아지면서 가끔 문제가 있긴 했지만 빈도가 점차 잦아졌습니다. 구입한 지 7년이 넘어가고 있으니 이제 바꿀 때가 됐나 봅니다. 곧 WIFI7이 나올 예정이라 지금 공유기를 구입하는 것은 뒷북 구매라고 생각 하지만요.

퀄컴 칩셋이 들어가고 AX를 지원하고 10만원대 이하인 것을 찾아보니 해외 직구를 제외하면 생각보다 몇 개 없습니다. 가격을 10만원 초반대로 올리니 링크시스 MR7350이 보입니다. 아처 C7같이 OpenWrt를 올릴 수 있다면 티피링크의 공유기를 선택했을 듯 합니다. 티피링크나 링크시스의 것 모두 OpenWrt를 올리기가 아직 난감합니다. 그리고 마침 링크시스 공유기를 할인하고 있습니다. 무선 속도는 AC로도 충분하지만 AX지원 제품을 구입하고 싶어서..

구입한 후 살펴보니 안테나는 아쉽게도 분리형이 아닙니다. 버팔로 공유기를 사용할 때 부려트린 경험이 있어서 분리형을 선호합니다. 그리고 공유기 펌웨어의 기능이 심히 단순합니다. OpenWrt를 보다가 링크시스의 펌웨어를 보니 아쉬운 부분이 꽤 있습니다.

설치하면서 가장 삽질한 부분은 아무리 해도 'Linksys 앱 다운로드'만 뜨는 현상 이었습니다. 처음 연결하면 구글과 링크시스 관련 웹사이트만 정상적으로 접속됩니다. 이 문제를 해결한다고 한참을 삽질했습니다.


이런 페이지만 떴습니다. 아래와 같은 방법으로 설정하니 해결됐습니다.

1. 위 이미지의 왼쪽 스마트폰 부분을 클릭하고 공유기 관리자 페이지에 로그인 합니다.
2. 오른쪽 아랫 부분의 'CA'를 클릭합니다.
3. 왼쪽의 'Connectivity'를 클릭한 후 'Internet Settings'를 클릭합니다.
4. 설정이 제대로 잡혀 있는지 확인하고 'Apply'를 클릭합니다.

해결 방법은 http 웹페이지에 접속하면 됩니다. http://192.168.1.1/이나 http://qsz.kr/ 같이요. 처음 접속하면 공유기 설정 웹페이지가 뜹니다. 왼쪽의 스마트폰 이미지를 클릭해서 로그인까지 보면 다른 웹사이트 접속이 가능합니다. 첫 공유기 설정을 쉽게 하도록 만든 듯 합니다. 문제는 어지간한 웹사이트는 HTTPS가 기본이라 오히려 어려움을 겪게 만드네요.

스마트폰 앱을 이용하면 이런 절차 없이 쉽게 설치가 가능합니다.

유선 성능은 OpenWrt에 flow offloading이 도입된 이후에 아처 C7으로도 별 불만이 없었습니다. 신형 제품인데 아처 C7보다 낫겠죠. 무선은 이전보다 속도가 잘 나옵니다. 커버리지가 많이 넓어지는 것을 기대했는데 비슷합니다.

가장 마음에 들지 않았던 점은 OpenWrt를 사용할 수 없다는 점입니다. OpenWrt 포팅 작업을 하고 있는 개발자가 없는 것 같습니다. ath11k 펌웨어의 공개 문제가 있는 듯 했습니다. 설정 페이지의 번역이 아쉬운 부분이 조금 있고 여기에 더해서 용어를 미묘하게 꼬아 놔서 대체 뭔 뜻인지 알아 먹기 힘든 곳이 있습니다. 한글로 된 문서가 얼마 없어서 공유기 설정 페이지의 표시 언어를 영어로 바꾸니 차라리 정보를 찾기 쉬웠습니다.

그밖에 프린터의 내부IP를 설정하고 싶었지만 제가 잘못한 것인지 제대로 IP가 할당되지 않았습니다. 프린터의 LLMNR을 활성화해서 해결했습니다. IP주소 대신 '프린터이름.local'로 접근할 수 있습니다. 삼성TV가 잘 붙지 않을 때가 있는데 공유기가 문제인지 TV가 문제인지 모르겠습니다.

장애 방지 측면의 안정성은 장기간 사용해봐야 확인이 가능할 것 같습니다. 아직까지는 문제가 없었습니다. 전에 사용했던 버팔로 공유기처럼 부하가 심할 때 리부팅이나 기능 장애가 발생하면 사용하기 괴롭습니다.

사용해본 소감을 요약하자면 OpenWrt를 올릴 수 있으면 좋겠습니다....

2019-03-18

OpenWRT에서 Stubby 사용하기

사용하고 있는 공유기의 AS기간이 넘었고 펌웨어 업데이트도 뜸해졌습니다. 얼마 전부터 OpenWRT를 올려서 사용하고 있습니다. 최근 DNS관련해서 말이 좀 있는 것 같습니다. 넷피아의 추억 때문에 통신사의 DNS는 그동안 사용하지 않고 있지만 DoT나 DoH같은 DNS암호화도 필요해 보입니다. DNS 암호화에는 https://dnsprivacy.org/wiki/display/DP/DNS+Privacy+-+The+Solutions 이런 방법이 있다고 합니다. 개별 기기에 적용하는 방법도 있겠지만 편의상 공유기에 적용할 생각입니다.

그동안 "https_dns_proxy"를 올려서 사용하고 있었습니다. DNS over TLS가 좀 더 성능면에서 유리할 수도 있다는 말을 들고 OpenWRT를 새로 올리는 겸 갈아 치웠습니다. 설치 방법은 한참 구글에서 검색하며 삽질했습니다. 검색해보니 https://openwrt.org/docs/guide-user/services/dns/stubby, https://github.com/openwrt/packages/tree/master/net/stubby/files 두 문서에 잘 정리되어 있습니다. 해당 사이트의 문서부터 검색하는 것이 우선인데 너무 구글신을 믿고 있었습니다.

2019. 3. 23 추가
일부 티스토리 블로그 접근이 원활하지 않아서 DNSSEC은 비활성화 했습니다.

2014-05-24

OpenWrt에서 WOL 삽질기

집에서 사용하는 공유기에 OpenWrt를 설치해서 사용하고 있습니다. 안정적이고 속도도 빠른 편이라서 만족하며 사용하고 있습니다. 예전에는 SSH를 통해 접속한 후 여러가지 설정을 변경하는 작업을 했지만, 얼마전부터 WebUI인 LuCI가 제공하면서 접근성이 상당히 개선됐다고 합니다. 실제로 사용하는 동안 SSH를 통한 접근은 몇차례 안해봤습니다. 사실 OpenWrt가 제공하는 확장성을 충분히 누리기 위해서는 SSH접속이 필요하지만 저같은 사람에게는 먼 나라의 이야기입니다.

외부에서 집에 있는 컴퓨터를 켜기 위해서 시작한 일이었고 단순히 포트포워딩으로 끝날 문제로 생각했지만, 아니었습니다. Network-Firewall-Port Forwards에서 해당 항목을 설정해 봤습니다.

사실 감추지 않아도 되는 정보이긴 하지만, 뭔가 있어 보이고 싶어서.........

WOL은 UDP 방식 9번 포트를 사용한다고 합니다. ( http://en.wikipedia.org/wiki/Wake-on-LAN#Magic_packet ) 이후에 컴퓨터를 끄고 안드로이드 앱을 이용해서 시도해보니 잘 켜집니다. 쉽게 성공했다고 즐거워하고 있었습니다.

한참 지나서 컴퓨터를 켜보니 안켜집니다. 뭔가 문제가 있는 것 같습니다. 또다시 인터넷 검색을 시작했습니다. 그리고 이런 글( http://peepleware.com/xe/forumk/faqk/5470 )을 찾을 수 있었습니다. 외부 네트워크를 거치는 경우에 일반적인 공유기에서는 힘들다고 합니다. WAN을 통해서 WOL신호를 대상 컴퓨터에 보내려면 공유기의 지원이 필요하다고 합니다. 아무리 찾아봐도 LuCI에 해당 메뉴는 없고, 이리저리 인터넷 검색을 해보니 대충 3가지 방법이 가능한 것 같습니다.

1. 공유기에 'etherwake'와 'luci-app-wol'를 설치하고, 외부에서 SSH나 LuCI접속이 가능하도록 설정한 후 공유기에 접속해서 신호를 보낸다.
2. 공유기를 VPN서버로 사용한다.
3. 고정 ARP 엔트리를 추가한다.

처음에는 1번 항목을 시도했습니다. 크게 어려운 점은 없었지만 뭔가 불편합니다. 목표는 휴대폰을 통해서 집 밖에서 쉽게 컴퓨터를 켜는 것이었기 때문입니다. 다음으로 2번 항목을 시도해 봤습니다.

http://wiki.openwrt.org/doc/howto/vpn.overview

뭔말이야! 어찌어찌 영어라는 엄청난 장벽을 넘는다고 하더라도 뭔 말인지 모르겠습니다. 설정이라도 간편하게 WebUI를 통해서 가능하면 좋겠는데 SSH를 사용해야 한다고 합니다. 잠깐 삽질하던 도중 세번째 방법을 발견했습니다!

http://mtamsky.blogspot.kr/2011/11/openwrt-and-wake-on-lan-wol-how-to-make.html

그러나 컴퓨터가 꺼지고 잠시 후 시도해보니 안됩니다. 그리고 또 삽질과 인터넷 검색... 그리고 이 문서를 찾았습니다.

http://www.dd-wrt.com/wiki/index.php/WOL

그리고 이부분

Do not change the FF:FF:FF:FF:FF:FF MAC address; this is a special MAC address used when broadcasting.
The 192.168.1.254 IP address should correspond with the IP address you used in the previous step. Again, this IP should be in your LAN's subnet, and you must not assign this IP address to any actual device on your network.

이 중요한 부분이었습니다. 그리고 시도해보니 잘 됩니다. 이것을 시도한다고 한참을 삽질을 계속했습니다. 구구절절 방법을 설명하려고 했지만, 이 문서( https://nowhere.dk/articles/wake-on-wan-using-openwrt-12-09 )가 깔끔하게 정리를 잘 해놨네요.

위 문서에서 주의할 점은

"ip neigh add 192.168.1.254 lladdr ff:ff:ff:ff:ff:ff nud permanent dev br-la" 이 아니라
"ip neigh add 192.168.1.254 lladdr ff:ff:ff:ff:ff:ff nud permanent dev br-lan" 입니다.
(끝 부분의 "n"이 빠졌습니다.)

2013-05-02

공유기(WZR-HP-AG300H)에 OpenWrt를 설치했습니다.

얼마전에 유무선 공유기 하나를 구입했습니다. 아세로스 칩셋에 적당한 가격인 것을 찾아보니 몇개 없었습니다. 곧 AC지원 공유기가 쏟아질 때라서 공유기 구입에 적절한 시점이 아니긴 하지만 어쨌든 이래저래 구입했습니다.

구입하고 제조사에서 제공하는 DD-WRT를 올려 봤습니다. 어머니가 하는 게임이 가끔 끊긴다고 합니다. 제가 하는 와우는 큰 문제가 없긴한데, 인터넷을 검색해보니 스트리밍 관련해서 비슷한 사례가 조금 있는 듯 합니다. ( http://blog.naver.com/PostView.nhn?blogId=sfoods&logNo=171307381&redirect=Dlog&widgetTypeCall=true , http://www.dd-wrt.com/phpBB2/viewtopic.php?t=81537 )

그래서 OpenWrt ( https://openwrt.org/ )를 설치했습니다. 처음 인터넷 검색을 했을 때는 상당히 복잡해 보였는데( https://www.google.com/search?q=openwrt%20%EC%84%A4%EC%B9%98 ) 간단하게 펌웨어를 변경할 수 있는 방법이 있었습니다.( http://wiki.openwrt.org/toh/buffalo/wzr-hp-ag300h )

OpenWrt를 설치하면 일부 아세로스 칩셋을 사용한 공유기에서 채널 선택에 제약이 있는 문제가 있습니다.



혹시 사용 불가능한 채널이 반드시 필요한 경우라면 OpenWrt외에 다른 대안을 선택하거나 http://luci.subsignal.org/~jow/reghack/ 링크한 파일을 적용해야 합니다. (OpenWrt의 공식적인 파일이 아니기 때문에 주의할 필요성이 있습니다.)