요즘 오와콘이 갑자기 끌려서잉여력을 불태울 재미있는 무언가가 있나 찾던 중, MT7621 기반 K-홈라우터에 LEDE 포팅을 해 볼까 하는 생각을 하였고, MT7621 + MT7612, MT7602 / MT7603 조합의 홈 라우터를 찾아 포팅을 진행하였습니다.
포팅 대상 모델은, 가격이 싸고 메모리가 256MB 라는 이유만으로, WeVO W2914NS v2 의 256MB RAM 버전인 WeVO 11AC NAS ROUTER 로 정했습니다.
내부 하드웨어 구성을 확인하기 위해 뒷판을 땁니다 (PH1 드라이버 필요)
* 헤더핀은 포팅 작업을 위해 PCB의 빈 패드에 직접 납땜하였습니다.
PCB 를 고정하는 나사 3개를 풀고 기판을 들어냅니다. (PH1 드라이버 필요)
칩들을 확인합니다
- SoC: MT7621AT
- DRAM: Samsung K4B2G1646Q-BCK0 DDR3 SDRAM
- EEPROM: MX25L12835F
- wlan0: MT7612
- wlan1: MT7603
UART 핀 맵을 오실로스코프를 이용, 확인합니다.
- Vcc (3V3)
- Rx
- Tx
- GND
기본 U-boot 의 baud rate 는 57600bps 이나, U-boot 를 직접 컴파일해서 이를 변경할 수 있습니다.
순정 펌웨어의 부트로그를 확인합니다
https://gist.github.com/perillamint/b2c146e4b31cff3139e304c241fa4c0a
(로그인 암호는 SHA-1 암호화되어있습니다. 셸을 원한다면, 로그인 셸은 포기하시고 다른 취약점을 찾아보세요.)
부트로더 셸에 진입한 뒤, 타임아웃 값을 포함한 U-boot 환경변수를 설정합니다
TFTP 환경을 셋업하고 대충 호환될 것 같은 MQmaker Witi 용 LEDE 빌드를 올려봅니다
하지만 순정 부트로더로는 무한 재부팅이 발생합니다. 이를 해결하기 위해 부트로더를 컴파일해, 플래싱합니다.
이후 WiTi 이미지를 다시 올려보면, 부팅에 성공함을 확인할 수 있습니다.
이제 LEDE 포트 설정파일을 제작합니다. 저는 유사한 하드웨어를 가진 WiTi 보드의 설정파일을 기반으로 작업하였습니다.
lspci 와 같은 명령과 procfs의 도움을 받아, 빌드하고 굽고 DTB 수정하고를 반복합니다.
그 결과…
&pcie { status = "okay"; pcie0 { mt76x2e@0,0 { reg = <0x0000 0 0 0 0>; device_type = "pci"; mediatek,mtd-eeprom = <&factory 0x0000>; mediatek,5ghz = <0>; }; }; pcie1 { mt7603e@1,0 { reg = <0x0000 0 0 0 0>; device_type = "pci"; mediatek,mtd-eeprom = <&factory 0x8000>; mediatek,2ghz = <0>; }; }; };
와 같이 PCIe 장치가 연결되어 있는 것을 확인할 수 있었고,
이를 이용, LED와 버튼을 제외하고 동작하는 LEDE 포트에 성공하였습니다.
이 포트를 시험해보고 싶으신 분은 아래의 소스 코드를 컴파일하여 사용하시거나,
LEDE 포트의 소스 코드: https://github.com/perillamint/lede-w2914ns-v2
U-boot 소스 코드: https://github.com/perillamint/u-boot-mips (/uboot/mips/profiles/W2914NSV2 안의 설정 파일 이용)
혹은 이 prebuilt 바이너리 (uboot-w2914nsv2.bin, lede-ramips-mt7621-w2914nsv2-squashfs-sysupgrade.bin)를 사용하시면 됩니다.
https://galadriel.gentoo.moe/W2914NSv2/
** LEDE 플래싱 후 mtd2 파티션(팩토리 캘리브레이션 데이터 파티션)을 백업하는 것을 권장합니다.
** 실 사용시, 성능 하락을 방지하기 위해 MT7621, MT7612, MT7603 위에 히트싱크를 부착하는 것을 권장합니다.
** Bugfix: 2016-11-16 02:00:00 KST: LuCI 펌웨어 업그레이드가 동작하지 않는 문제 수정.
** Update 2016-11-21 KST: 패치가 메인라이닝 되었습니다. LEDE 공식 나이틀리 이미지를 사용하시면 됩니다.
** 사용해야할 U-Boot 파일은 u-boot.zip 파일을 사용하시면 됩니다.
오..witi router 검색하다가 찾아왔는데 저렴하게 가지고 놀수있는 방법이 있군요.
감사합니다.
오오 대단하십니다.
LEDE에 관심이 있는 개발자입니다.^^b
꼭 이와 같은것에 도전해 보고 싶군요^^
가격이 싼 nas 찾다 같은 모델 구매했는데..트랜스 미션이 작동을 안하더군요..설정에 들어가도 토렌트 항목도 없고..업체는 트랜스미션 관련 펌웨어 개발이나 업데이트 능력도 없는것같고..
혹시 이런경우 해결방법이 있을지 궁금해서 문의드려 봅니다..NAS라고 광고하면서 가장 기본기능이 안들어있으니 원….아이피타임 제품을 안산게 너무 후회스럽네요..
나중에 되면 시놀로지 안사신게 후회스러울겁니다
안녕하세요?
검색하다가 이곳을 방문하게 되었습니다.
본문에 걸어두신 u-boot.zip 링크는 사용할 수 없는 것 같아 소스코드 컴파일을 시도했는데 제가 기본지식이 없다보니 계속 실패하네요.
혹시 파일을 다시 올려 주실 수 있으신가요?
날씨가 무척이나 덥네요. 건강조심하세요~*
아마 오늘 저녁 쯤에 링크를 고칠 수 있을 것 같습니다
염치없지만 다시 한 번 부탁드려봅니다.
일단 좋은 자료 감사합니다!
MT7621A 사용하고 OpenWRT가능한 공유기를 찾고있었는데 이게 참 저렴하네요~
여기 블로그 도메인이 바뀌어서 그런거 같네요.
https://blog.quendi.moe/wp-content/uploads/2016/11/w2914nsv2.zip
여기서 다운 가능합니다.
감사합니다 ^^
링크 전체 수정 하였습니다 🙂