본문으로 건너뛰기
  1. Memo/

ESP32-S3용 리눅스에서 Wi-Fi 연결하기(DHCP 없이)

·
ESP32 Linux 네트워크
작성자
hw5e
page.hw5e.cc

ESP32-S3에서 리눅스를 구동할 때 와이파이 연결하는 방법인데 내가 리눅스에서 네트워크 관련 도구들을 잘 몰라서 방법에 일관성이 없거나 이거보다 더 좋은 방법이 있을 수가 있음. 굳이 ESP32가 아니더라도 Buildroot에 공통적으로 적용할 수 있을 것이다.

ESP32에다가 리눅스를 설치하는게 뭔지 궁금하다면 https://gojimmypi.github.io/ESP32-S3-Linux/
http://wiki.osll.ru/doku.php/etc:users:jcmvbkbc:linux-xtensa:esp32s3 그런데 글쓰는 시점에서 두번째 사이트 접속이 안된다!

네트워크 장치 이름 확인

iw dev

뭐 대충 espsta0이라고 나올 것이다.

ip link set espsta0 up

와이파이 스캔

iw espsta0 scan

와이파이를 찾을수 있는지 확인한다.

그런데 wpa_passphrase로 설정파일을 만들어야 하는데 그게 없어서 다른 컴퓨터에서 만들어줘야 한다. 아무튼 SSID가 hnw이고 비밀번호가 12345678이라고 치면

wpa_passphrase hnw 12345678

이런 출력이 나온다.

network={
	ssid="hnw"
	#psk="12345678"
	psk=2c6a23e0b6e2ea776704c36988b6b2a1cca55a8f46ab6f40515100403e03df5a
}

적당한 방법으로 저 내용을 복사해서 적당한 방법으로 텍스트 파일을 만들자. 나는 그냥 vi를 사용했다. 그런데 /etc 디렉토리를 제외하면 읽기 전용이라 /etc에 파일을 넣었다.

vi /etc/wconf

여기에 있는 vi는 ESC키로 입력 모드를 나가는게 안되는거 같아서 Ctrl+[로 나가야 했다.

생성된 설정 파일로 연결을 시도한다.

wpa_supplicant -B -i espsta0 -c /etc/wconf 

다시 iw dev해서 ssid에 와이파이 이름이 나오면 연결이 된 것이다.

DHCP를 쓸 수 있는지 모르겠어서 IP를 수동으로 할당해야 한다.

ifconfig espsta0 IP주소 netmask 서브넷 마스크

서브넷 마스크는 보통 255.255.255.0이긴 할거고 ip주소는 사용할 수 있는 범위 내에서 할당되지 않은 값을 넣으면 된다. 잘 모르겠다면 스마트폰의 설정을 뒤지다 보면 후술할 게이트웨이정보를 포함한 내용을 볼 수 있을 것이다.

게이트웨이는 보통 192.168.0.1 아니면 192.168.50.1일 것인데 서브넷 마스크가 255.255.255.0이라면 게이트웨이의 IP주소에서 첫 세자리는 똑같고 끝자리만 2~254 까지의 범위의 IP가 사용가능한 IP라는 의미이다.(게이트웨이가 192.168.0.1이라면 192.168.0.2부터 192.168.0.254까지)

게이트웨이 추가

route add default gw 게이트웨이의IP

route 명령어로 게이트웨이가 제대로 추가되었는지 확인한다.

route

ping로 인터넷 접속이 되는지 확인한다. DNS는 게이트웨이 추가할 때 자동으로 되는 것으로 추정.

ping google.com

참고한 글 https://hiseon.me/linux/command/linux-wifi-command-line/

Reply by Email