OpenBlocks IoT를 공장 출하 시 되돌리는 절차 노트

OpenBlocks IoT 패밀리의 BX1을 공장 출하 시의 상태로 되돌리는 순서(팩토리 리셋이라고 한다)를 조사했으므로, 자신의 작업용으로 메모한다.

직렬 연결



BX1과 Windows 단말을 USB-UART 변환 케이블로 접속해 시리얼 통신을 할 수 있는 TeraTerm 등의 터미널 소프트로 콘솔에 로그인한다. 전송 속도와 데이터 비트 설정은 아래 그림과 같습니다.


Wi-Fi 설정



BX1의 Wi-Fi에는 Client Mode(기존 Wi-Fi 네트워크에 접속)와 AP Mode(BX1 자체가 액세스 포인트가 된다)가 있다. 일반 Wi-Fi 라우터와 같다.
공장 출하시 펌웨어를 다운로드하고 싶기 때문에 Client Mode로 인터넷에 접속한다.

비밀번호를 PSK로 암호화



명령
wpa_passphrase [SSID] [パスフレーズ]

표준 출력
network={
    ssid="[SSID]"
    #psk="[パスフレーズ]"
    psk=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
}

네트워크 설정



상기 SSID 및 암호화 키를 설정한다.

/etc/network/interfaces
auto wlan0
iface wlan0 inet dhcp
    wpa-ssid [SSID]
    wpa-psk XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    wpa-ap-scan 1
    wpa-key_mgmt WPA-PSK
    wpa-proto WPA RSN
    wpa-pairwise CCMP TKIP
    wpa-group CCMP TKIP

NIC 재부팅


ifdown wlan0 && ifup wlan0

펌웨어 다운로드



푸라토 홈사의 사이트 에는 인텔 에디슨의 최신 커널에 해당하는 펌웨어 이미지 데이터가 있으므로 다운로드합니다.
cd /root
wget http://ftp.plathome.co.jp/pub/BX1/wheezy/3.10.17-17/bx1_userland_web1.0.14-1.tgz

또한, 어느 BX1의 버젼을 다운로드하면 좋을지는 Web UI의 출력으로 확인한다.
curl -sL localhost:880 | grep Version

RAM 디스크 모드로 부팅



BX1에는 스토리지를 사용하지 않는 RAM 디스크 모드와 스토리지를 사용하는 스토리지 병용 모드가 있다.df 명령의 표시로, /.rw 에 마운트 되고 있는 것이, /dev/mmcblk0p10 라면 스토리지 모드, tmpfs 라면 RAM 디스크 모드라고 한다.
e2label /dev/mmcblk0p10 ""
reboot

재부팅 후 root/root로 로그인합니다.

펌웨어를 넣는 파티션 포맷


yes | mkfs -t ext4 -L DEBIAN /dev/mmcblk0p10
sync

공장 출하 이미지 배포



3분 정도 걸린다.
mount /dev/mmcblk0p10 /mnt
tar zxf /root/bx1_userland_web1.0.14-1.tgz -C /mnt 2> /dev/null
umount /mnt
rm -f /root/bx1_userland_web1.0.14-1.tgz

스토리지 병용 모드로 부팅


e2label /dev/mmcblk0p10 DEBIAN
reboot

Wi-Fi에 연결할 수 없는 경우



Debian GNU/Linux에서 Wi-Fi에 연결할 수 없는 경우 Intel Edison의 임베디드 Linux인 Yocto Linux에서 연결합니다.

PC와 시리얼 접속해, 다음의 조작을 실시한다.
  • 전원이 꺼진 상태로 한다
  • INIT 스위치를 누른 상태에서 전원 스위치를 길게 누르고 LED가 일시적으로 깜박이면 전원 스위치를 놓습니다.
    ******* PSH loader *******
    PCM page cache size = 192 KB
    Cache Constraint = 0 Pages
    Arming IPC driver ..
    Adding page store pool ..
    PagestoreAddr(IMR Start Address) = 0x04899000
    pageStoreSize(IMR Size)          = 0x00080000
    
    *** Ready to receive application ***
    

    라고 표시되면 스페이스바를 연타하고 boot 프롬프트가 되면 다음 명령을 입력합니다.
    boot > run bootYocto
    

    디폴트의 ​​저소비 전력 모드에서는 시리얼 콘솔의 1문자째를 흘리는 경우가 있기 때문에, 시리얼 통신의 전원을 상시 ON으로 한다.
    echo on > /sys/devices/pci0000:00/0000:00:04.3/power/control
    

    기존 Wi-Fi에 연결합니다.
    wpa_passphrase [SSID] [パスフレーズ] > /etc/wpa_supplicant/wpa_supplicant.conf
    wpa_supplicant -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf &
    udhcpc -i wlan0
    
  • 좋은 웹페이지 즐겨찾기