들어가며
이제 다음주면 프로젝트가 끝난다. 발표 준비까지도 이제 10일도 채 남지 않은 상황이다. 너무 바빠서 뒤지고싶다.
오늘의 키워드
Ad-Hoc 붙이기. WSL에서 빌드하고 Yocto OS에서 실행 가능함을 확인한 프로그램을 Ubuntu에 포팅하기.
개고생
아주 흥미로운 현상이 있었다.
Ubuntu를 올린 Topst D3-G 보드를 2개를 IPTime a3000mini 무선랜카드를 이용해서 ad-hoc 네트워크를 구성하려고 했다. IP 지정 및 BSSID가 동일한 것도 확인하고 채널과 네트워크명이 동일한 것 까지 확인했는데, ping을 서로 주고받을 수 없는 상태였다. 그런데 이전 1차 프로젝트때 쓰던 라즈베리파이를 켜서 내장 무선랜으로 이 네트워크에 join했을 때, 두 보드가 서로 ping을 주고받고 broadcast 같은 통신까지 수행할 수 있는 것을 확인했다.
ping이 서로 주고 받아지지조차 않을 때 의심가는 녀석들이 여럿 있었다.
- 일단 무선랜카드가 윈도우만 지원하고 리눅스는 공식적으로 지원하는 드라이버가 없었다. 우분투 내장 드라이버로 이 랜카드를 돌리긴 했는데, 혹시 이게 문제였지 않을까 싶어서 서치해봤지만 해당 내장 드라이버를 쓰는게 맞다는 리서치 결과가 나왔다.
- 자꾸 같은 BSSID로 물려둔 네트워크 연결이 끊겼다. 사실 이건 둘이서 같은 네트워크에 접속하라고 일부러 고정된 BSSID를 할당해서 묶어주려고 한거였는데, 좀 지나면 다른 BSSID를 가진 네트워크로 튀어버리는 문제가 종종 있었다. 분명 BSSID는 같은데 서로 ping이 안되고 있었던게, 지금 생각해보면 BSSID는 동일하게 쓰여져있지만 ID만 같고 (직접 지정해줬다보니) 실질적으로는 다른 네트워크에 물려있는 상황이 아니였을까 싶다. 그래서 서로 다른 네트워크라 ping이 도달할 수 없는 상태
- 팀원이 테스트를 해봤을 때 tshark(와이어샤크 CLI) 를 이용해 확인해보면 송신 자체는 분명 나가는데, 다른 쪽에서 수신이 안되는 상황임을 또 확인했다. 확실히 ping도 서로 안되는 상황이라 수신이 안되는게 맞는 상황이였음.
- 그래서 그냥 브로드캐스트, 유니캐스트 등을 이용해서 IP를 직접 지정하고 메시지를 보내거나 Ping을 찍으려 했을 때에도 응답이 없는 문제가 지속되었다.
그래서, 이게 TShark 말대로 외부로 신호가 나가는게 맞긴 한지부터 검증이 필요할 것 같아서 (여기에서 문제가 발생하면 드라이버 문제라서 새로운 랜카드를 구입해야겠다고 생각하고 있었음) 1차 프로젝트때 사용했던 라즈베리파이를 켜서 보드와 UDP 기반의 통신이 가능할 지에 대해서 확인해보고자 했다.
그런데 맙소사!
라즈베리파이가 네트워크에 참여하자마자 지금까지 외면하던 두 보드끼리 통신이 되기 시작했다. 심지어 라즈베리파이를 끄면 다시 서로 ping 조차 주고받을 수 없는 남남 상태에 빠지는 것을 확인했다.
지금 생각해볼 때 원인은
- ipTime A3000 mini 자체가 수동적으로 공유기에 접속하기 위해서 사용하는 장치임. Ad-Hoc 모드에 들어가더라도 주도적으로 비콘을 송출하거나 네트워크를 합치는 역할을 수행하지 않음. 그래서 2개의 무선랜이 Ad-Hoc 모드에 들어가더라도 서로 쭈뼛대면서 네트워크 형성을 못하고 있었음.
- 라즈베리파이는 서버용으로 사용하는 만큼, 무선 네트워크를 구성하는데에 있어서 강력하게 신호를 내보냄. 씹인싸 라즈베리파이가 모이라고 소리치니깐 무선랜이 이 네트워크 신호를 확인하고 같은 네트워크 그룹으로 Join함.
- 지금 서치를 해보면서 튀어나온 키워드 중 하나가 “전력 관리를 위해서 일부러 수신만 수행하려고 한다”는 것. 둘 다 에너지를 아끼려고 그냥 듣기만 하려고 하다보니 서로 네트워크가 형성이 되지 않았던 문제가 있었을지도. 라즈베리파이 쪽으로 개발을 진행할때는 디폴트로 전력 관리를 하지 않도록 설정값을 넣어두긴 했었다.
Ad-Hoc으로 네트워크를 합쳐볼때 혹시 무선랜 모듈이 매우 의심스럽다면 그냥 크고 강력한, 믿음직스러운 모듈 하나를 Join 시켜서 무선랜 자체의 네트워크 구성에는 문제가 없는지 테스트해보자.
'TIL' 카테고리의 다른 글
| [260201] Day 172 - 미루고 미뤘던 TIL과 2차 프로젝트의 진행 중 회고 (0) | 2026.02.02 |
|---|---|
| [251110] Day 91 - 깃똥찬 프로젝트 Day (0) | 2025.11.11 |
| [251102] Day 83 - 시간이 많이 흘렀구려 (0) | 2025.11.02 |
| [251021] Day 71 - 겨울이 온 것 같아요 (0) | 2025.10.22 |
| [251020] Day 70 - 나 어쩌면 열심히 살았나봐 (1) | 2025.10.20 |