====== OOWOW User Manual ======
Short introduction: [[getting-started]]
===== Main Features =====
* Install / reinstall OS
* Download online OS images
* Backup and restore system
* Display full device information
* Configure device
* Device hardware testing
* Online script collection
* Rescue shell
* Developer and advanced features
===== Hardware =====
Supported devices: [[.devices:start]]
==== Hardware Buttons ====
{{:products:sbc:vim4:hardware:vim4-buttons.webp?400|}}
You can use the three [[/products/sbc/vim4/hardware/interfaces#hardware-buttons]] on your device to interact directly with the [[oowow:]] system, we will describe them in more detail within the next section.
* **RESET** - reset device
* **FUNCTION** - multi functions
* **POWER** - multi functions
==== Common Button Shortcuts ====
* Boot OOWOW - hold **FUNCTION** and short press **RESET** then release **FUNCTION**
* Toggle [[#easy-wi-fi|Easy Wi-Fi]] - short press **POWER** button
* Toggle [[#hotspot|Hotspot]] - short press **FUNCTION** button
* Accept Hotspot client - short press **POWER** button
* Power off - Long press the **POWER** button until device shuts down
* Enter multifunction mode - press and hold **FUNCTION** button (loop cycle: [[#hotspot|Hotspot]] -> [[#firewall|Firewall Allow]] -> [[#firewall|Firewall Block]] -> Cancel, each mode wait 2 sec ), release to activate selected function
All shortcut events will be displayed on OOWOW status bar and indicated by LEDs.
==== Tips to Boot OOWOW ====
* Eject your micro SD-card before booting OOWOW (micro SD-card has highest priority)
* Boot OOWOW from sleep: hold **FUNCTION** button + short press **RESET** button + release **FUNCTION** button
* Boot OOWOW with power cable: hold **FUNCTION** button + plug power cable
==== LED Indication Table ====
Most system events have corresponding LED indications:
^ Events ^ Indications |
| Device starts or reboots | White solid |
| Device power off | Red solid |
| System start in default mode | White heartbeat|
| Network connected | White solid|
| HotSpot mode activated | White fast blinking|
| HotSpot mode ready | White solid|
| HotSpot client pending | White and red blinking|
| HotSpot client accepted | White slow blinking|
| HotSpot mode deactivated | White heartbeat|
| Easy Wi-Fi activated | White blinking|
| Easy Wi-Fi awaits connection | White slow blinking|
| Easy Wi-Fi deactivated | White heartbeat|
| Firewall block incoming | Red breathing|
| Firewall allow incoming | White solid, red off |
| Firewall disabled | Red blinking |
| Image installation progress | Red & white blinking |
| Image installation done | White solid, red off |
Multifunctional modes:
^ Events ^ Indications ^
|Hotspot | White off |
|Firewall block incoming | White solid, red off |
|Firewall allow incoming | White & red solid |
|Cancel | White blinking |
===== Interfaces =====
==== Main Menu ====
OOWOW provides a universal user interface (terminal mode menu + top status line) for HDMI, WEB, SSH, Serial-UART, etc (all interfaces work simultaneously)
=== Navigation ===
* Keys: ''0-9 A-Z ⇦ ⇨ ⇧ ⇩ Space Enter Esc Tab''
* Mouse (for Web Interface only): select menu items and press buttons
=== HDMI + Keyboard ===
A HDMI screen and keyboard is the primary interface modality.
=== Web Access ===
Examples:
* http://DEVICE_IP or http://DEVICE_HOST_NAME - device page
* http://vim4-xxxxx.local/x/ - welcome page
* http://vim4-xxxxx.local/x/control - main menu
Access can be restricted by the [[#firewall]]
=== Mobile Navigation ===
* Keys: 0-9 A-Z Space Enter
* Touchscreen: select menu items and press buttons
* Some virtual keyboard have additional keys: ⇦ ⇨ ⇧ ⇩ Esc Tab
=== SSH Access ===
* root access works by default without password
* ''ssh root@vim4-xxxxx.local'' - plain shell
* ''ssh root@vim4-xxxxx.local system'' - main menu
Access can be restricted by the Firewall.
=== Serial UART Access ===
For developers and advanced users.
* Check how-to [[products:sbc:common:development:setup-serial-tool]]
* Root access works by default without password
* Type ''system'' to enter to main menu, or use other shell commands
==== WEB API ====
For developers and advanced users WIP:
Access can be restricted by the [[#firewall]]
==== Dump eMMC by usb network ====
```
curl -L 172.22.1.1/api/disk/rdz/mmc.zst -OJ
```
==== Dump eMMC by LAN network ====
```
curl -L OOWOW_HOST_NAME_OR_IP/api/disk/rdz/mmc.zst -OJ
```
==== Write Image to eMMC by LAN network ====
```sh Write to eMMC
curl OOWOW_HOST_NAME_OR_IP/shell/write | sh -s - IMAGE
```
==== Write Image to SD by LAN network ====
```sh Write to SD
curl OOWOW_HOST_NAME_OR_IP/shell/write | sh -s - IMAGE -sd
```
==== Write SPI oowow image by LAN network ====
```sh Write or update SPI-flash firmware by LAN
curl OOWOW_HOST_NAME_OR_IP/shell/write | sh -s - XXX-oowow-latest-spi.img.gz -spi
```
==== Write SPI oowow image by USB-otg network ====
```sh Write or update SPI-flash firmware by USB-otg network
curl 172.22.1.1/shell/write | sh -s - XXX-oowow-latest-spi.img.gz -spi
```
===== Backup =====
==== Store backup ====
- Navigate to the backup menu: **OOWOW main menu** => **Dump image from eMMC**
- Select the backup location:
* on OOWOW disk itself: ''location'' > ''../'' > ''dumps'' > ''okay''
* on USB disk: ''location'' > ''../'' > ''USB-sdXX....'' > ''okay''
* if OOWOW was booted from special oowow disk backup location will selected automaticly
- Start backup: **Start**, and wait for few minutes to finish the backup and exit.
==== Restore backup ====
- Navigate to the restore menu: **OOWOW main menu** => **Write image to eMMC**
- Select the backup image location:
* on OOWOW disk itself: ''vimx-xxxxxx.xxxxxx-.....img.zst'' > ''okay''
* on USB disk: ''../'' > ''USB-sdb1....'' > ''vimx-xxxxxx.xxxxxx-.....img.zst'' > ''okay''
* if OOWOW was booted from special oowow disk backup location will selected automaticly
- Restore the image: **Write**, and wait for few minutes to write the image and exit.
===== Networks =====
Network connection is required for:
* OS downloading and installation
* OOWOW system updates
* Dynamic syncing of online scripts
* Remote control over LAN and WLAN
==== Device Network Name ====
Every OOWOW device can be accessed remotely via its unique LAN name.
device-xxxxx:
* device: lowercase device name, e.g. VIM4 -> vim4
* xxxxx: last 5 digits of the device serial number
Network name examples:
* vim4-00010
* vim4-00012
* vim3-12333
==== Network Name Resolution ====
Depends on your LAN configuration, for example:
* vim4-00010 - dns resolver
* vim4-00010.local - umdns resolving - canonical variant for OOWOW
* …
* Use device ip address if name resolution doesn't work.
* OOWOW uses the DHCP hostname.
* OOWOW uses the MDNS hostname announcement.
==== Network Name Usage Examples ====
```shell
~$ ping vim4-05690
PING vim4-05690 (192.168.30.203) 56(84) bytes of data.
64 bytes from 192.168.30.203 (192.168.30.203): icmp_seq=1 ttl=64 time=37.3 ms
~$ ping -c1 vim4-05690.local
PING vim4-05690.local (192.168.30.203) 56(84) bytes of data.
64 bytes from 192.168.30.203 (192.168.30.203): icmp_seq=1 ttl=64 time=37.3 ms
~$ curl http://vim4-05690.local
~$ curl http://192.168.30.203
~$ curl 192.168.30.203
~$ ssh root@vim4-05690
~$ ssh root@vim4-05690.local
```
==== Ethernet LAN ====
Ethernet works automatically; just plug in an ethernet cable from your router.
==== Wireless LAN ====
User can setup and configure a WLAN connection
**Network -> Wi-Fi -> Wi-Fi Select Connection.**
* Wi-Fi configurations are automatically saved and will persist after rebooting.
* All system configurations will be saved only after a planned shutdown. Check [[dl>.temp/oowow/screencast/howto-save-setting/-gallery?play=auto&delay=2|animation]].
==== Easy Wi-Fi ====
In cases wherein you are unable to configure a WLAN or LAN connection locally on your device, you can share your internet connection from a mobile device (e.g. smartphone) to your single board computer using the Easy Wi-Fi mode.
You can enable the Easy Wi-Fi mode on your device in two ways:
* Toggle Easy Wi-Fi - short press **POWER** button
* **Network => Wi-Fi => Easy Wi-Fi oowow => Enable / Disable**
Setup a new hotspot from your mobile device with the following configuration:
* SSID: **oowow**
* Password: **12345678**
Once OOWOW is in the Easy Wi-Fi mode, it will automatically scan and connect to your Wi-Fi hotspot generated by your mobile device.
==== Hotspot ====
You can enable the OOWOW hot-spot feature in two ways:
* Toggle hotspot - short press **FUNCTION** button
* **Network => Hotspot => Hotspot Enable / Disable**
The OOWOW hot-spot will have the following configuration:
* SSID: **vim4-xxxxx** ( xxxxx - last 5 digits from device serial number )
* Password: **12345678**
These host names can be used for device access via the hotspot:
* http://172.23.0.1
* http://oowow or http://oowow.local - works only for hotspot network
* http://vim4-xxxxx or http://vim4-xxxxx.local
Tip: For security reasons, you need to manually accept incoming hotspot connections by short pressing the POWER button once.
==== Hotspot QR code ====
Network -> Hotspot -> Hotspot QR code.
### Web access QR code
* Network => Hotspot => Device Web Access QR code
* Network => Wi-Fi => Device Web Access QR code
==== USB-OTG Network ====
Connect your device directly to your computer using a USB cable. This feature will interest developers or advanced users; there is only a peer-to-peer network connection, no internet packets will be forwarded to your device.
==== Firewall ====
**Network -> Firewall Mode:**
* block - Block all incoming connections **SECURE**
* allow - Allow incoming connections from local networks **RECOMMENDED**
* disabled - Allow all connections, firewall disabled **DANGER**
* By default, remote access is blocked by the firewall
* Easily configure the firewall with the hardware button shortcuts
* ICMP pings are always allowed, irrespective of firewall mode
* Hotspot mode allows incoming connections only after pressing the POWER button (device access: 172.23.0.1 or http://172.23.0.1)
* USB-OTG connection is always allowed
==== Usage Examples ====
=== Configure Wi-Fi with Wizard ===
Check [[dl>.temp/oowow/screencast/wizard-wifi-usage/-gallery?play=loop|here]].
=== Wi-Fi Connection ===
Check [[dl>.temp/oowow/screencast/network-wifi-setup/-gallery?play=loop|here]].
=== Easy Wi-Fi Connection ===
Check [[dl>.temp/oowow/screencast/easy-wifi-mode/-gallery|here]].
=== Hotspot Mode ===
Check [[dl>.temp/oowow/screencast/hotspot-mode/-gallery|here]].
=== Hotspot Mode + Ethernet LAN ===
Internet access provided by LAN ethernet cable, user device access provided by WLAN hotspot.
=== Hotspot Mode + Wi-Fi WLAN Connection ===
Internet access provided by WLAN wifi-connection and user device access provided by WLAN hotspot same time.
=== Ethernet ===
WIP:
===== Device configure KBI =====
// Main menu => Device configure KBI //
KBI is an abbreviation for Khadas Bootloader Instructions, which is
developed to fulfill the following purposes:
* Manage the programmable MCU
* Carry out low level hardware management
* Let developers utilize all the features of SBC device
==== Reset MCU to factory mode ====
Reset MCU/KBI configuration to default values
This procedure totally safe, and never change eMMC storage content or any other parts.
==== Boot-mode ====
Setup device boot-mode values:
* ''emmc'' - boot up device from ''eMMC'' **default**
* ''spi'' - boot up device from ''SPI-flash''
For use Android need setup boot-mode to ''emmc''
WIP:
===== Security and Privacy =====
* OOWOW works only by user demand, and never works in the background
* OOWOW never sends any private data from your device to the internet
* By default, remote access to your device is blocked by the [[#firewall]]
===== Limitations =====
* Unicode international symbols don’t display properly for HDMI (Wi-Fi network names)
* IPV6 disabled at this time
===== Updates =====
* Automatically looks for updates when internet is connected, user will be notified if new updates need to be applied
* System updates must be manually approved by the user
* Don't turn off computer - during update
===== Download OOWOW =====
* [[dl>products/oowow/| OOWOW main download page ]]
* [[dl>products/oowow/system/| Latest OOWOW system/firmware images]]
* [[dl>products/oowow/system/versions/| Full OOWOW versions images]]
==== Image Types ====
* BOARD-oowow-latest-sd.img.gz - latest oowow image for SD-card or USB-thumb drive
* BOARD-oowow-latest-spi.img.gz - latest oowow image for SPI-flash
* BOARD-oowow-latest-spi-upgrade-sd.img.gz - upgrade oowow SPI-flash firmware from SD-card
==== Filename for Latest OOWOW Version ====
* BOARD-oowow-latest-sd.img.gz -> versions/BOARD/BOARD-oowow-VERSION-sd.img.gz
Download the latest OOWOW SD images:
* https://dl.khadas.com/products/oowow/system/vim4-oowow-latest-sd.img.gz
* https://dl.khadas.com/products/oowow/system/vim3-oowow-latest-sd.img.gz
* https://dl.khadas.com/products/oowow/system/vim3l-oowow-latest-sd.img.gz
* https://dl.khadas.com/products/oowow/system/vim2-oowow-latest-sd.img.gz
* https://dl.khadas.com/products/oowow/system/vim1-oowow-latest-sd.img.gz
* https://dl.khadas.com/products/oowow/system/vim1s-oowow-latest-sd.img.gz
* https://dl.khadas.com/products/oowow/system/edge2-oowow-latest-sd.img.gz
* https://dl.khadas.com/products/oowow/system/edge-oowow-latest-sd.img.gz
Download images command line examples:
* ''curl -JOL https://dl.khadas.com/products/oowow/system/vim4-oowow-latest-sd.img.gz''
* ''wget --content-disposition https://dl.khadas.com/products/oowow/system/vim4-oowow-latest-sd.img.gz''
===== More information =====
* [[.devices:start]]
* [[why-oowow]]
* [[about-oowow-name]]