[LINUX] Notes on how to restore OpenBlocks IoT to factory default

I checked the procedure (** Factory reset **) to restore the BX1 of the OpenBlocks IoT family to the factory default state. Make a note for your work.

Serial connection

Connect the BX1 and the Windows terminal with a USB-UART conversion cable, and log in to the console with terminal software such as TeraTerm that enables serial communication. The baud rate and data bit settings are as shown in the figure below. image.png

Wi-Fi settings

BX1's Wi-Fi includes Client Mode (connects to an existing Wi-Fi network) and AP Mode (BX1 itself becomes an access point). It's the same as a general Wi-Fi router. I want to download the factory firmware, so I connect to the Internet in Client Mode.

Encrypt passphrase with PSK

command


wpa_passphrase [SSID] [Passphrase]

Standard output


network={
    ssid="[SSID]"
    #psk="[Passphrase]"
    psk=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
}

Network settings

Set the above SSID and encryption key.

/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 reboot

ifdown wlan0 && ifup wlan0

Firmware download

Plat'Home's site shows the firmware for the latest kernel of ** Intel Edison **. Since there is image data, download it.

cd /root
wget http://ftp.plathome.co.jp/pub/BX1/wheezy/3.10.17-17/bx1_userland_web1.0.14-1.tgz

Check the output of the Web UI to see which version of BX1 to download.

curl -sL localhost:880 | grep Version

Boot in ramdisk mode

The BX1 has a RAM disk mode that does not use storage and a storage combined mode that uses storage. In the display of the df command, what is mounted on /. Rw is the storage mode if it is / dev / mmcblk0p10, and the RAM disk mode if it is tmpfs.

e2label /dev/mmcblk0p10 ""
reboot

After rebooting, log in as root / root.

Format the partition where the firmware will be placed

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

Development of factory shipping image

It takes about 3 minutes.

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

Start in storage combined mode

e2label /dev/mmcblk0p10 DEBIAN
reboot

If you can't connect to Wi-Fi

If you cannot connect to Wi-Fi from ** Debian GNU / Linux **, connect from ** Yocto Linux **, which is Intel Edison's embedded Linux.

Serially connect to the PC and perform the following operations.

  1. Turn off the power
  2. Hold down the INIT switch and hold down the power switch, and release the power switch when the LED flashes for a moment.
******* 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 ***

Is displayed, press the space key repeatedly, and when the boot prompt appears, enter the following command.

boot > run bootYocto

In the default low power consumption mode, the first character of the serial console may be missed, so the serial communication power is always on.

echo on > /sys/devices/pci0000:00/0000:00:04.3/power/control

Connect to existing Wi-Fi.

wpa_passphrase [SSID] [Passphrase] > /etc/wpa_supplicant/wpa_supplicant.conf
wpa_supplicant -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf &
udhcpc -i wlan0

Recommended Posts

Notes on how to restore OpenBlocks IoT to factory default
Notes on how to use pywinauto
Notes on how to use featuretools
Notes on how to use doctest
Notes on how to write requirements.txt
Autoencoder with Chainer (Notes on how to use + trainer)
How to register on pypi
[Hyperledger Iroha] Notes on how to use the Python SDK
Notes on how to use marshmallow in the schema library
How to install mysql-connector-python on mac
How to use Dataiku on Windows
How to install graph-tool on macOS
How to install VMware-Tools on Linux
How to install pycrypto on Windows
How to deploy django-compressor on Windows
How to install OpenCV on Mac
How to run matplotlib on heroku
How to install PyPy on CentOS
How to use homebrew on Debian
Misunderstanding on how to connect cnn
How to install TensorFlow on CentOS 7
How to install Maven on CentOS
How to install Go on Ubuntu
How to install music 21 on windows
How to install aws-session-manager-plugin on Manajro Linux
How to read pydoc on python interpreter
How to install drobertadams / toggl-cli on Mac
python notes: Modularization: __name__ == How to use'__main__'
[Kivy] How to install Kivy on Windows [Python]
How to use mecab, neologd-ipadic on colab
How to build Hello, World on #Nix
How to update php on Amazon linux 2
How to use Google Assistant on Windows 10
How to erase Python 2.x on Mac.
How to display emoji on Manjaro Linux
Memorandum on how to use gremlin python
How to install packages on Alpine Linux
How to install Anisble on Amazon Linux 2
How to switch mouse operations on CentOS
How to install richzhang / colorization on Windows 10
How to update security on CentOS Linux 8
How to install php7.4 on Linux (Ubuntu)
How to install Eclipse GlassFish 5.1.0 on CentOS 7
How to install Apache (httpd) on CentOS8
How to test on a Django-authenticated page
How to run Cython on OSX Memo
How to find large files on Linux
How to install NumPy on Raspberry Pi
How to install cx_Oracle on macOS Sierra
How to get the key on Amazon S3 with Boto 3, implementation example, notes
How to write urlfetch unittest on GAE / P
[2020 version] How to install Python3 on AWS EC2
How to use Python Kivy ④ ~ Execution on Android ~
Notes on machine learning (updated from time to time)
How to run MeCab on Ubuntu 18.04 LTS Python
How to update security on Ubuntu 19.10 Eoan Ermine
How to install OpenGM on OSX with macports
How to live a decent life on 2017 Windows
How to install Camunda Modeler on Manjaro Linux
[Python] How to install OpenCV on Anaconda [Windows]
How to build Java environment on Ubuntu (Linux)