-
HOST에서 Network Statck을 이용하여 ESP32의 Wi-Fi Module을 제어하기 위한 ESP32 Wi-Fi Adapter Driver 개발.
-
ESP32 어댑터 드라이버 소스코드 주소 : https://github.com/smtobs/esp32_adapter.git
-
ESP32 모듈 소스코드 주소 : https://github.com/smtobs/esp32_module.git
- H/W : 라즈베리파이4, esp32 devkit v1
- OS : Raspberry Pi OS, Kernel 5.10.103
- Program Language : C
- Tools : WireShark, VScode, MobaXterm
- 유저 영역과 Wi-Fi 드라이버가 통신을 하기 위하여 cfg80211 등록
- iw dev scan 기능을 수행 하기 위하여 Wi-Fi의 관리 프레임을 생성 및 파싱 (probe request 생성, probe response 파싱)
- ping 명령어의 ICMP Request와 Reply 패킷을 송 수신하기 위하여 네트워크 디바이스 등록을 통하여 네트워크 인터페이스 생성
- 네트워크 디바이스에게 전달 된 패킷의 이더넷 헤더를 분해하여 Wi-Fi 데이터 프레임을 생성 후 SPI 인터페이스로 송신
- SPI 인터페이스로 수신 된 Wi-Fi 데이터 패킷을 이더넷 프레임으로 변경 후 네트워크 디바이스에게 전달
- 사용자 영역에서 Wi-Fi Driver를 제어를 위한 vendor commands를 적용하여 커스텀 명령어 적용. (Wi-Fi 연결을 해제 하기 위한 deauthentication 프레임 생성)
- Wi-Fi 프레임을 처리하기 위한 ESP32 모듈 Firmware 개발
- 802.11 Wireless Networks: The Definitive Guide (The Definitive Guide) [저자 : Gast, Matthew]