Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision Next revisionBoth sides next revision | ||
| toh:vocore:vocore [2014/06/10 21:45] – maz | toh:vocore:vocore [2022/06/11 21:12] – [Installation] Note for OpenWRT 21.02.3 kyklas | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== VoCore: A coin-sized Linux computer with wifi ====== | ||
| + | {{section> | ||
| + | |||
| + | {{: | ||
| + | |||
| + | VoCore is an open hardware device which runs OpenWrt by design. It includes WiFi, USB, UART (serial), SPI, and more than 20 General Purpose IOs (GPIO) in a small, one inch package. | ||
| + | It can be used for automation projects and is an excellent tool for learning about and implementing embedded systems. | ||
| + | |||
| + | * [[https:// | ||
| + | * [[http:// | ||
| + | * [[http:// | ||
| + | |||
| + | ---- datatable ---- | ||
| + | cols : Brand, Model, Versions, Supported Current Rel, OEM device homepage URL_url, Forum Topic URL_url, Device Techdata_pageid | ||
| + | headers : Brand, Model, Version, Current Release, OEM Info, Forum Topic, Technical Data | ||
| + | align : c, | ||
| + | filter | ||
| + | ---- | ||
| + | |||
| + | ===== Hardware Highlights ===== | ||
| + | The VoCore comes as a fully functional, populated card. | ||
| + | ---- datatable ---- | ||
| + | cols : Model, Versions, CPU, CPU MHz, Flash MB_mbflashs, | ||
| + | header | ||
| + | align : c, | ||
| + | filter | ||
| + | ---- | ||
| + | |||
| + | VoCore is designed to mate with a dock which adds 1 USB and 1 network port. The dock is available where the VoCore is sold.\\ | ||
| + | Since the dock design is free, there may be other docks available from different suppliers. | ||
| + | |||
| + | ^ CPU ^ Ram ^ Flash ^ Network | ||
| + | | Ralink RT5350 @ 360MHz | ||
| + | |||
| + | ===== Installation ===== | ||
| + | Installation is made easy because VoCore was designed to use OpenWrt.\\ | ||
| + | The device is shipped, pre-installed with a working OpenWrt image.\\ | ||
| + | An official OpenWrt image can be downloaded from | ||
| + | |||
| + | ---- datatable ---- | ||
| + | cols : Model, Versions, Supported Current Rel, Firmware OpenWrt Install URL_url, Firmware OpenWrt Upgrade URL_url, Firmware OEM Stock URL_url | ||
| + | headers : Model, Version, Current Release, Firmware OpenWrt Install, Firmware OpenWrt Upgrade, Firmware OEM Stock | ||
| + | align : l,c,c | ||
| + | filter | ||
| + | ---- | ||
| + | I bricked my vocore1 +Doc( version 2 ) when I tried to Install the official Openwrt image listed here via luci. I did not try to do an upgrade. It booted properly the first time but after doing a uci commit from the commmand line it would not boot . It gave a out of memory kernel panic. | ||
| + | |||
| + | - open 192.168.61.1 from browser | ||
| + | - login: root/vocore | ||
| + | - go to update page | ||
| + | - upload image | ||
| + | |||
| + | |||
| + | ==== Installation Note - 2022-06-11 ==== | ||
| + | Installing 21.02.3 lead to | ||
| + | <webcode name=" | ||
| + | | ||
| + | </ | ||
| + | |||
| + | Recovery to 19.07.9 was done with TFTP in u-boot with initramfs image [[https:// | ||
| + | |||
| + | <webcode name=" | ||
| + | VoCore> setenv ipaddr 192.168.1.10; | ||
| + | [..] | ||
| + | ETH_STATE_ACTIVE!! | ||
| + | Using Eth0 (10/100-M) device | ||
| + | TFTP from server 192.168.1.221; | ||
| + | Filename ' | ||
| + | TIMEOUT_COUNT=10, | ||
| + | Loading: Got ARP REPLY, set server/gtwy eth addr (98: | ||
| + | Got it | ||
| + | ################################################################# | ||
| + | ########################################## | ||
| + | done | ||
| + | Bytes transferred = 3540587 (36066b hex) | ||
| + | NetBootFileXferSize= 0036066b | ||
| + | VoCore> bootm 0x81000000 | ||
| + | Booting image at 81000000 | ||
| + | Image Name: MIPS OpenWrt Linux-4.14.267 | ||
| + | | ||
| + | Image Type: MIPS Linux Kernel Image (lzma compressed) | ||
| + | Data Size: 3540523 Bytes = 3.4 MB | ||
| + | Load Address: 80000000 | ||
| + | Entry Point: | ||
| + | Load Kernel: | ||
| + | | ||
| + | | ||
| + | [ 0.000000] Linux version 4.14.267 | ||
| + | </ | ||
| + | |||
| + | The update firmware using [[https:// | ||
| + | |||
| + | Booting the OpenWRT 21.02.3 Initramfs crashed due to out of memory. | ||
| + | |||
| + | |||
| + | ==== OEM installation using the TFTP method ==== | ||
| + | -> | ||
| + | |||
| + | FIXME | ||
| + | |||
| + | ===== Basic configuration ===== | ||
| + | The board comes preflashed and ready to run.\\ | ||
| + | It is accessible over open wifi (SSID Vocore) or the ethernet port. | ||
| + | * The IP address for the alpha and beta releases is **192.168.1.1** | ||
| + | * The IP address for release version 1 is **192.168.61.1** | ||
| + | * The default address from images downloaded from OpenWrt is **192.168.1.1** | ||
| + | |||
| + | For security reasons wifi access should be changed to limit/ | ||
| + | |||
| + | |||
| + | ===== Specific Configuration ===== | ||
| + | ==== Interfaces ==== | ||
| + | The default network configuration is: | ||
| + | ^ Interface Name ^ Description | ||
| + | | br-lan | ||
| + | | vlan1 (eth0.1) | ||
| + | | radio0 | ||
| + | |||
| + | ==== Switch Ports (for VLANs) ==== | ||
| + | Only 2 of the 5 ethernet ports have been exported: 0 and 4 (1, 2 and 3 are not exported).\\ | ||
| + | For using port 0 a separate dock is needed (like VoDock).\\ | ||
| + | However, port 4 is not avaiable on VoDock and needs a custom dock. | ||
| + | |||
| + | ^ Port ^ Switch port ^ | ||
| + | | LAN 1 | 0 | | ||
| + | | LAN 2 | 4 | | ||
| + | |||
| + | ==== Failsafe mode ==== | ||
| + | -> [[docs: | ||
| + | |||
| + | To enter Failsafe mode you need to manually pause OpenWrt booting, since this board doesn' | ||
| + | |||
| + | ==== Buttons ==== | ||
| + | -> [[docs: | ||
| + | |||
| + | This board doesn' | ||
| + | |||
| + | |||
| + | ===== Hardware ===== | ||
| + | ==== Info ==== | ||
| + | ^ [[wp> | ||
| + | ^ Vendor | ||
| + | ^ [[docs: | ||
| + | ^ [[docs: | ||
| + | ^ [[docs: | ||
| + | ^ Flash-Chip | ||
| + | ^ Flash size | 8192 KiB, 16384KiB | ||
| + | ^ RAM-Chip | ||
| + | ^ RAM | 32 MiB | | ||
| + | ^ Wireless | ||
| + | ^ Ethernet | ||
| + | ^ USB | 1 (on PCB) / 1 (in use with VoDock) | | ||
| + | ^ [[docs: | ||
| + | ^ [[docs: | ||
| + | |||
| + | |||
| + | ==== Flash Size ==== | ||
| + | Originally VoCore should have been shipped with 8MiB flash, which the alpha boards (v1.0a) did. On the production run though there where no 8MiB chips available and therefore (not only buyers of the 16MiB version but) everyone got 16MiB flash. So if the VoCore is labeled as v1.0 it probably got 16MiB flash, but better make sure by looking at the flash-chip (8 pin Winbond chip): | ||
| + | |||
| + | ^ Flash chip ^ Flash size ^ | ||
| + | | 25Q64 | 8MiB | | ||
| + | | 25Q128 | ||
| + | |||
| + | The default configuration for OpenWrt is 8MiB flash (which can also be used on the 16MiB version, with less available space of course). To create a 16MiB image compiling yourself is necessary. In **target/ | ||
| + | (tested for 14.07, [[http:// | ||
| + | |||
| + | ==== Photos ==== | ||
| + | === PCB === | ||
| + | ^ Top ^ Bottom | ||
| + | | {{: | ||
| + | |||
| + | === Layout === | ||
| + | ^ Alpha ^ Beta ^ | ||
| + | | {{: | ||
| + | |||
| + | ==== Serial ==== | ||
| + | To connect to Serial port on this specific device check pins (TXD2, RXD2, GND) on [[toh: | ||
| + | |||
| + | ==== JTAG ==== | ||
| + | -> [[docs: | ||
| + | |||
| + | To connect to JTAG port on this specific device check pins on [[toh: | ||
| + | |||
| + | ===== Debricking ===== | ||
| + | -> [[docs: | ||
| + | |||
| + | There are three options: | ||
| + | * JTAG method -> see jtag | ||
| + | * serial method -> see serial | ||
| + | * TFTP method -> see tftp | ||
| + | |||
| + | JTAG always works, but needs a JTAG adapter.\\ | ||
| + | For serial and TFTP method, bootloader must be availaible. | ||
| + | |||
| + | ===== Notes ===== | ||
| + | |||
| + | |||
| + | ==== Power usage ==== | ||
| + | ^ Config | ||
| + | | Wifi Enabled | ||
| + | | Wifi Disabled | ||
| + | |||
| + | ==== EAGLE library ==== | ||
| + | Alpha v1.0 EAGLE 6 by omerk [[https:// | ||
| + | |||
| + | ==== DTS Buttons ==== | ||
| + | In order to automatically export GPIO buttons you can modify the DTS file adding the gpio-keys section.\\ | ||
| + | However, don't forget to remove the GPIOs you want to use as buttons from the LEDs/GPIOs sections, since a specific GPIO can only be used for one purpose at a time. | ||
| + | |||
| + | < | ||
| + | compatible = " | ||
| + | # | ||
| + | # | ||
| + | poll-interval = <20>; | ||
| + | reset { | ||
| + | label = " | ||
| + | gpios = <& | ||
| + | linux, | ||
| + | }; | ||
| + | }; | ||
| + | </ | ||
| + | |||
| + | ===== Bootlogs ===== | ||
| + | ==== OpenWrt Bootlog ==== | ||
| + | <WRAP bootlog> | ||
| + | < | ||
| + | [ 0.000000] SoC Type: Ralink RT5350 id:1 rev:3 | ||
| + | [ 0.000000] bootconsole [early0] enabled | ||
| + | [ 0.000000] CPU revision is: 0001964c (MIPS 24KEc) | ||
| + | [ 0.000000] MIPS: machine is VoCore v0.3 | ||
| + | [ 0.000000] Determined physical RAM map: | ||
| + | [ 0.000000] memory: 02000000 @ 00000000 (usable) | ||
| + | [ 0.000000] Initrd not found or empty - disabling initrd | ||
| + | [ 0.000000] Zone ranges: | ||
| + | [ 0.000000] Normal [mem 0x00000000-0x01ffffff] | ||
| + | [ 0.000000] Movable zone start for each node | ||
| + | [ 0.000000] Early memory node ranges | ||
| + | [ 0.000000] node 0: [mem 0x00000000-0x01ffffff] | ||
| + | [ 0.000000] Primary instruction cache 32kB, VIPT, 4-way, linesize 32 bytes. | ||
| + | [ 0.000000] Primary data cache 16kB, 4-way, VIPT, no aliases, linesize 32 bytes | ||
| + | [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 8128 | ||
| + | [ 0.000000] Kernel command line: console=ttyS0, | ||
| + | [ 0.000000] PID hash table entries: 128 (order: -3, 512 bytes) | ||
| + | [ 0.000000] Dentry cache hash table entries: 4096 (order: 2, 16384 bytes) | ||
| + | [ 0.000000] Inode-cache hash table entries: 2048 (order: 1, 8192 bytes) | ||
| + | [ 0.000000] Writing ErrCtl register=0007a400 | ||
| + | [ 0.000000] Readback ErrCtl register=0007a400 | ||
| + | [ 0.000000] Memory: 29356k/ | ||
| + | [ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, | ||
| + | [ 0.000000] NR_IRQS:256 | ||
| + | [ 0.000000] CPU Clock: 360MHz | ||
| + | [ 0.000000] Calibrating delay loop... 239.61 BogoMIPS (lpj=1198080) | ||
| + | [ 0.070000] pid_max: default: 32768 minimum: 301 | ||
| + | [ 0.070000] Mount-cache hash table entries: 512 | ||
| + | [ 0.080000] pinctrl core: initialized pinctrl subsystem | ||
| + | [ 0.090000] NET: Registered protocol family 16 | ||
| + | [ 0.130000] bio: create slab < | ||
| + | [ 0.140000] rt2880_gpio 10000600.gpio: | ||
| + | [ 0.150000] rt2880_gpio 10000600.gpio: | ||
| + | [ 0.160000] Switching to clocksource MIPS | ||
| + | [ 0.170000] NET: Registered protocol family 2 | ||
| + | [ 0.180000] TCP established hash table entries: 512 (order: 0, 4096 bytes) | ||
| + | [ 0.200000] TCP bind hash table entries: 512 (order: -1, 2048 bytes) | ||
| + | [ 0.210000] TCP: Hash tables configured (established 512 bind 512) | ||
| + | [ 0.220000] TCP: reno registered | ||
| + | [ 0.230000] UDP hash table entries: 256 (order: 0, 4096 bytes) | ||
| + | [ 0.240000] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) | ||
| + | [ 0.250000] NET: Registered protocol family 1 | ||
| + | [ 0.260000] rt-timer 10000100.timer: | ||
| + | [ 0.310000] squashfs: version 4.0 (2009/ | ||
| + | [ 0.330000] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc. | ||
| + | [ 0.350000] msgmni has been set to 57 | ||
| + | [ 0.360000] io scheduler noop registered | ||
| + | [ 0.360000] io scheduler deadline registered (default) | ||
| + | [ 0.380000] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled | ||
| + | [ 0.390000] 10000c00.uartlite: | ||
| + | [ 0.410000] console [ttyS0] enabled, bootconsole disabled | ||
| + | [ 0.410000] console [ttyS0] enabled, bootconsole disabled | ||
| + | [ 0.440000] m25p80 spi32766.0: found s25fl064k, expected gd25q64 | ||
| + | [ 0.450000] m25p80 spi32766.0: s25fl064k (8192 Kbytes) | ||
| + | [ 0.460000] 4 ofpart partitions found on MTD device spi32766.0 | ||
| + | [ 0.470000] Creating 4 MTD partitions on " | ||
| + | [ 0.480000] 0x000000000000-0x000000030000 : " | ||
| + | [ 0.500000] 0x000000030000-0x000000040000 : " | ||
| + | [ 0.510000] 0x000000040000-0x000000050000 : " | ||
| + | [ 0.530000] 0x000000050000-0x000000800000 : " | ||
| + | [ 0.540000] 0x00000013fb81-0x000000800000 : " | ||
| + | [ 0.550000] mtd: partition " | ||
| + | [ 0.580000] mtd: device 4 (rootfs) set to be root filesystem | ||
| + | [ 0.590000] mtd: partition " | ||
| + | [ 0.610000] 0x000000360000-0x000000800000 : " | ||
| + | [ 0.630000] eth0: done loading | ||
| + | [ 0.640000] rt3xxx-usbphy ubsphy.3: loaded | ||
| + | [ 0.650000] rt2880_wdt 10000120.watchdog: | ||
| + | [ 0.660000] TCP: cubic registered | ||
| + | [ 0.670000] NET: Registered protocol family 17 | ||
| + | [ 0.680000] 8021q: 802.1Q VLAN Support v1.8 | ||
| + | [ 0.710000] VFS: Mounted root (squashfs filesystem) readonly on device 31:4. | ||
| + | [ 0.720000] Freeing unused kernel memory: 200K (8029e000 - 802d0000) | ||
| + | procd: Console is alive | ||
| + | procd: - watchdog - | ||
| + | procd: - preinit - | ||
| + | [ 7.100000] rt305x-esw 10110000.esw: | ||
| + | Press the [f] key and hit [enter] to enter failsafe mode | ||
| + | Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level | ||
| + | [ 8.220000] usbcore: registered new interface driver usbfs | ||
| + | [ 8.230000] usbcore: registered new interface driver hub | ||
| + | [ 8.240000] usbcore: registered new device driver usb | ||
| + | [ 8.260000] dwc_otg: version 2.72a 24-JUN-2008 | ||
| + | jffs2 is ready | ||
| + | [ 10.910000] jffs2: notice: (260) jffs2_build_xattr_subsystem: | ||
| + | switching to jffs2 | ||
| + | procd: - early - | ||
| + | procd: - watchdog - | ||
| + | procd: - ubus - | ||
| + | procd: - init - | ||
| + | Please press Enter to activate this console. | ||
| + | [ 14.730000] NET: Registered protocol family 10 | ||
| + | [ 14.750000] l2tp_core: L2TP core driver, V2.0 | ||
| + | [ 14.760000] l2tp_netlink: | ||
| + | [ 14.780000] nf_conntrack version 0.5.0 (461 buckets, 1844 max) | ||
| + | [ 14.810000] ip6_tables: (C) 2000-2006 Netfilter Core Team | ||
| + | [ 14.850000] Loading modules backported from Linux version master-2014-01-23-0-g62c147d | ||
| + | [ 14.860000] Backport generated by backports.git backports-20140124-0-g1256d3e | ||
| + | [ 14.890000] ip_tables: (C) 2000-2006 Netfilter Core Team | ||
| + | [ 14.960000] xt_time: kernel timezone is -0000 | ||
| + | [ 15.020000] cfg80211: Calling CRDA to update world regulatory domain | ||
| + | [ 15.040000] cfg80211: World regulatory domain updated: | ||
| + | [ 15.050000] cfg80211: DFS Master region: unset | ||
| + | [ 15.050000] cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, | ||
| + | [ 15.070000] cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) | ||
| + | [ 15.090000] cfg80211: (2457000 KHz - 2482000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) | ||
| + | [ 15.100000] cfg80211: (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm) | ||
| + | [ 15.120000] cfg80211: (5170000 KHz - 5250000 KHz @ 80000 KHz), (300 mBi, 2000 mBm) | ||
| + | [ 15.130000] cfg80211: (5735000 KHz - 5835000 KHz @ 80000 KHz), (300 mBi, 2000 mBm) | ||
| + | [ 15.150000] cfg80211: (57240000 KHz - 63720000 KHz @ 2160000 KHz), (N/A, 0 mBm) | ||
| + | [ 15.260000] PPP generic driver version 2.4.2 | ||
| + | [ 15.280000] NET: Registered protocol family 24 | ||
| + | [ 15.330000] ieee80211 phy0: rt2x00_set_rt: | ||
| + | [ 15.350000] ieee80211 phy0: rt2x00_set_rf: | ||
| + | procd: - init complete - | ||
| + | [ 29.350000] device eth0.1 entered promiscuous mode | ||
| + | [ 29.360000] device eth0 entered promiscuous mode | ||
| + | [ 29.380000] br-lan: port 1(eth0.1) entered forwarding state | ||
| + | [ 29.390000] br-lan: port 1(eth0.1) entered forwarding state | ||
| + | [ 30.470000] IPv6: ADDRCONF(NETDEV_CHANGE): | ||
| + | [ 31.390000] br-lan: port 1(eth0.1) entered forwarding state | ||
| + | [ 32.790000] IPv6: ADDRCONF(NETDEV_UP): | ||
| + | [ 32.800000] device wlan0 entered promiscuous mode | ||
| + | [ 32.840000] br-lan: port 2(wlan0) entered forwarding state | ||
| + | [ 32.850000] br-lan: port 2(wlan0) entered forwarding state | ||
| + | [ 32.860000] IPv6: ADDRCONF(NETDEV_CHANGE): | ||
| + | [ 34.850000] br-lan: port 2(wlan0) entered forwarding state</ | ||
| + | </ | ||
| + | |||
| + | ===== Tags ===== | ||
| + | [[meta: | ||
| + | {{tag> | ||