Close

setting up the vocore source code and changes etc.

A project log for LayerOne 2015 Badge

This years LayerOne conference badge.

charliexcharliex 04/13/2015 at 20:091 Comment

This would be the goto page for the setup of the badge (hopefully)

clone out of git

refer to this for complete instructions http://wiki.openwrt.org/doc/howto/buildroot.exigence on setting up openwrt. on ubuntu 14.10 i needed gawk as well

sudo apt-get update 
sudo apt-get install git-core build-essential libssl-dev ncurses-dev unzip subversion mercurial

ubuntu 14.x, the feed update will potentially warn you about a missing gnu awk

sudo apt-get install gawk
git clone git://git.openwrt.org/openwrt
Cloning into 'openwrt'...

now head into the openwrt folder and setup the default config.

menuconfig setup

if you don't want luci, skip the luci parts. if luci fails, check for the awk version.

cd openwrt
./scripts/feeds update -a
./scripts/feeds install luci
./scripts/feeds install -a -p luci
make defconfig 
make prereq 
make menuconfig


i'm using things like fuse, usb support and luci, haven't really fleshed this out yet.

(Target System: Ralink RT288x/RT3xxx, Subtarget: RT3x5x/RT5350, Target Profile: VoCore)
kernel/usb support/kmod-usb-storage *
kernel/usb support/kmod-usb-storage-extras M
(fuse isn't needed, its for me)
block devices kmod-scsi-core *
filesystems kmod-fs-ext4 *
filesystems kmod-fuse M
input modules kmod-hid *
usb-support kmod-usb-hid *
libraries/filesystem/libext2fs *
libraries/filesystem/libfuse M
luci/collections/luci(new) *
luci/modules/luci-mod-admin-full *
utlities/filesystem/e2fsprogs M
utilities/disk/fdisk M (optional can opkg'd)

Read some of the things below about configuring the root fs, and wifi setup etc before building

building it, or make world

make -j 9

-j N number of threads (approx number of cores, adjust for machine)

V=s verbose, for debugging make, if it errors out. usually a dirclean and rebuild fixes build errors ( after the first successful one)

now wait a really long time, go read http://www.hackaday.com for a bit or something...

If the build finishes the firmware will be in the bin/ramips folder the openwrt-ramips-rt305x-vocore-squashfs-sysupgrade.bin file

for me on a virgin ubuntu install it failed on the first make, and when i re-ran it with V=s to see why, it compiled ok...

writing firmware

mtp -r write
openwrt-ramips-rt305x-vocore-squashfs-sysupgrade.bin
firmware

alternative way, which has been working for me for a few months and doesn't reset anything to stock except the password.

scp binary to ram/tmpfs cannot be flash!, sometimes the wifi drops before it is able to flush the stdout, so doesn't always show the end, should be less than 60 seconds. I use winscp with sftp mode on windows.

sysupgrade -v /tmp/openwrt-ramips-rt305x-vocore-squashfs-sysupgrade.bin
Saving config files...
etc/config/dhcp
etc/config/dropbear
etc/config/firewall
etc/config/luci
etc/config/network
etc/config/openvpn
etc/config/system
etc/config/ucitrack
etc/config/uhttpd
etc/config/wireless
etc/dropbear/dropbear_dss_host_key
etc/dropbear/dropbear_rsa_host_key
etc/group
etc/hosts
etc/inittab
etc/passwd
etc/profile
etc/rc.local
etc/shadow
etc/shells
etc/sysctl.conf
killall: watchdog: no process killed
Sending TERM to remaining processes ... ubusd askfirst logd netifd odhcpd ntpd dnsmasq
Sending KILL to remaining processes ... askfirst
Switching to ramdisk...
Performing system upgrade...
Unlocking firmware ...
Writing from  to firmware ...
Appending jffs2 data from /tmp/sysupgrade.tgz to firmware...
Writing from  to firmware ...
Upgrade completed
Rebooting system...


I've seen it not print out the last two lines, still seemed to work ok, the kernel just isn't flushing the print buffer.

first time password

change first password with telnet http://wiki.openwrt.org/doc/howto/firstlogin

usb setup http://wiki.openwrt.org/doc/howto/usb.storage


turn off firewall , security conference , remember?

(ssh to vocore)

/etc/init.d/firewall stop

opkg update

new config for opkg if using a version before april 2015

src/gz base http://downloads.openwrt.org/snapshots/trunk/ramips/generic/packages/base
src/gz luci http://downloads.openwrt.org/snapshots/trunk/ramips/generic/packages/luci
src/gz management http://downloads.openwrt.org/snapshots/trunk/ramips/generic/packages/management
src/gz packages http://downloads.openwrt.org/snapshots/trunk/ramips/generic/packages/packages
src/gz routing http://downloads.openwrt.org/snapshots/trunk/ramips/generic/packages/routing
dest root /
dest ram /tmp
lists_dir ext /var/opkg-lists
option overlay_root /overlay

https://downloads.openwrt.org/snapshots/trunk/ramips//packages/packages/

Examples

opkg install fdisk
opkg install nmap (uses lipcap/libstdcpp )
opkg install wavemon kismet-clientNote: will switch WLAN to promiscuous and kick you off if in client mode
opkg install kismet-server

format usb/sd

mkfs.ext3 /dev/sd?

add dns in client mode

add nameserver 8.8.8.8 to resolve.conf

move root to a USB stick

install usb, don't mount, find if /sda etc

mkfs.ext4 dev/sda1
mount /dev/sda1 /mnt
mkdir /tmp/cproot
mount --bind / /tmp/cproot
tar -C /tmp/cproot -cvf - . | tar -C /mnt -xvf -
sync ; umount /mnt
umount /tmp/cproot

now edit /etc/config/fstab

config mount
option target /
option device /dev/sda1
option fstype ext4
option options rw,sync
option enabled 1
option enabled_fsck 0

now reboot and check

df -h
Filesystem Size Used Available Use% Mounted on
rootfs 3.6G 21.4M 3.4G 1% /
/dev/root 3.0M 3.0M 0 100% /rom
tmpfs 14.3M 64.0K 14.3M 0% /tmp
/dev/sda1 3.6G 21.4M 3.4G 1% /
tmpfs 512.0K 0 512.0K 0% /dev

wlan

to use both wlan and eth0 interfaces separately, split the bridge in luci and create a new interface using vlan eth0.1

edit to enable wifi by default

package/kernel/mac80211/files/lib/wifi/mac80211.sh

and comment out

option disabled 1

to

#option disabled 1

same place to change SSID from OpenWrt to VoCore etc as well, though note via sysupgrade it remembers the old settings, so the ones compiled into the firmware only get updated on a full reset.

add packages to base build

./scripts/feed install zsh
(example) zsh from packages website doesn't work, has to be built

add luci

./scripts/feeds update packages luci
./scripts/feeds install -a -p luci

notes

currently trying to add this to it, though i haven't done much

https://github.com/notro/fbtft/wiki/fbtft_device

Discussions

Mathew Kayalackakom wrote 01/22/2017 at 19:07 point

Hello, I am a newbie - have a question on vovore wifi - how low can you set txpower for wifi.

Thanks in advance

Sporan

  Are you sure? yes | no