Kankun wifi plug 활용을 위한 설정

kk-sp3

공장초기화

전원을 넣고 20초 정도를 기다린 후 전면부 구석에 있는 스위치를 5초 이상 누른 후 손을 떼면 청색 LED가 켜진 상태로 있다가 공장초기화 후 재부팅 된다.

adhoc 모드로 기기에 연결

OK_SP3라는 SSID에 pc를 연결하면 된다.

ssh 접속

192.168.10.253로 ssh 접속(id: root, pw:p9z34c)하면 된다. 만약 이전에 다른 스위치로 이미 접속한 적이 있다면 host identification이 바뀌었다며 접속이 되지 않을 것이다. 이런 경우는 ~/.ssh/known_hosts를 지우면 된다. 윈도우의 경우라면 흠. 잘 모르겠다.

펌웨어 버전

cat /etc/online.txt하면 VerInfo SW_VER3.4 HW_VER1.2 (null) (null) (null) (null)같이 출력된다. 펌웨어는 3.4(현재 3.5까지 나와있으나 구글커뮤니티를 보면 무슨 문제가 있는지 3.3으로 다운그레이드를 하는 듯 하다.)이고 하드웨어는 1.2이다. 별 다른 업그레이드 필요를 느끼지 못해서 그냥 넘어가지만 추후를 대비해서 펌웨어 업그레이드 방법을 남겨둔다.

# /tmp가 가장 여유용량이 많다.
cd /tmp
# https는 안됨
wget 펌웨어_다운로드_url(https는 안됨); 
sysupgrade -c 펌웨어파일명; 

password 변경

보안을 위해 passwd 실행 후 원하는 암호로 변경한다.

네트워크 설정

WIFI 설정

사용중인 무선랜에 접속하도록 SSID와 암호 등을 설정해준다. Wifi country code를 참조해서 Wifi country code를 골라서 설정해주면 좋다.

vi /etc/config/wireless

config wifi-device radio0
  option type mac80211
  option channel 11
  option hwmode 11ng
  option path 'platform/ar933x_wmac'
  option htmode HT20
    list ht_capab SHORT-GI-20
    list ht_capab SHORT-GI-40
    list ht_capab RX-STBC1
    list ht_capab DSSS_CCK-40
# REMOVE THIS LINE TO ENABLE WIFI:
  option disabled 0
  option country 'NZ'

config wifi-iface
  option device radio0
  option network wwan
  option mode sta
  option ssid 'YourWIFISSID'
  option key 'PasswordToYourWIFISSID'
  option encryption psk
네트워크 설정

무선랜 설정에서 지정한 wwan에 대한 항목을 추가해준다. 일단 DHCP로 IP를 받아오게 한 후, 인터넷 라우터에서 고정할당을 해주고, static으로 변경하여 고정된 ip를 사용하게 할 예정이다.

vi /etc/config/network

config interface 'loopback'
  option ifname 'lo'
  option proto 'static'
  option ipaddr '127.0.0.1'
  option netmask '255.0.0.0'

config globals 'globals'
  option ula_prefix 'fdab:ee91:1053::/48'

config interface 'lan'
  option ifname 'eth0'
  option type 'bridge'
  option proto 'static'
  option ipaddr '192.168.10.253'
  option netmask '255.255.255.0'
  option ip6assign '60'

config interface 'wwan'
  option proto 'dhcp'

변경을 마치고 reboot 명령어로 리부팅한 후 라우터로 가서 새로 등록된 DHCP 기기를 확인 후 IP고정할당을 해주면 된다.

NTP 설정과 시작시 Power on

여기를 참조해서 /etc/config/system파일과 /etc/TZ을 다음과 같이 수정 후 ntp 클라이언트를 실행(/etc/init.d/sysntpd enable; /etc/init.d/sysntpd start)해서 장치의 시간이 정확히 업데이트되고 부팅 직후 Relay를 on으로 만들 수 있었다.

vi /etc/config/system

config system
  option hostname 'MySwitch2'
  option zonename 'Pacific/Auckland'
  option timezone 'NZST-12NZDT,M9.5.0,M4.1.0/3'
  option conloglevel '8'
  option cronloglevel '8'

config timeserver 'ntp'
  list server '0.openwrt.pool.ntp.org'
  list server '1.openwrt.pool.ntp.org'
  list server '2.openwrt.pool.ntp.org'
  list server '3.openwrt.pool.ntp.org'
  option enable_server '0'

config restorefactory
  option button 'reset'
  option action 'pressed'
  option timeout '2'

config led
  option name 'flashing'
  option sysfs 'tp-link:blue:config'
  option trigger 'none'
  option default '1'

config led
  option name 'Relay'
  option sysfs 'tp-link:blue:relay'
  option trigger 'none'
  option default '1'

이후 /etc/init.d/sysntpd enable; /etc/init.d/sysntpd start해서 데몬을 재실행해주면 된다.

HTTP 서버

놀랍게도 이 작은 녀석이 http 서버 역할도 한다. 부팅 후 기본적으로 서버가 동작하는 데 document root는 /www이다. 보안상 디렉토리 구조를 보여주지 않는 것이 좋기도 하고, 추후 /www에 설정 파일을 생성할 예정이므로 index.html을 생성해 두기로 한다.

vi /www/index.html

My Switch Control

pc에서 웹브라우저를 열고 장치의 ip로 접근해보면 생성한 index.html이 열리는 걸 볼 수 있다.

opkg 설치 및 패키지 목록 업데이트

opkg는 ipkg의 fork 프로젝트인데 embedded linux용 패키지 관리자다. 추후 curl 설치를 위해 설치가 필요한데, 장치에서 바로 다운로드 후 설치하면 된다.

cd /root 
wget https://madforfamily.com/wp-content/uploads/2016/05/opkg-rc3.tar.gz 
tar xz -C / -f /root/opkg-rc3.tar.gz 
# 시간이 좀 걸린다.
opkg update
# 공간 절약을 위해 설치파일 삭제
rm opkg-rc3.tar.gz
Update

HTTPS 적용으로 인해 위의 wget이용한 다운로드가 불가능하다(설치된 wget는 https 지원안함). 따라서 해당 파일을 로컬 pc에 다운로드 후 scp 등을 통해 장치로 copy해넣어야 한다.