0
0
mirror of https://github.com/Doodle3D/doodle3d-firmware.git synced 2024-09-16 16:50:07 +02:00

First attempt at resturcturing wiki.

Wouter R 2013-06-26 00:43:42 +02:00
parent f8723d3358
commit 64b49bc4b4
15 changed files with 103 additions and 12 deletions

@ -0,0 +1 @@
(functionality breakdown / milestones)

@ -0,0 +1 @@
(repo, wiki, general resources like openwrt website etc.)

@ -1,5 +1,7 @@
# Outline of the WifiBox project
*TO ADD*: (openwrt-based, components:luacgi(+uci)+www-iface+init.d)
Consider this a sketch, including some ideas which might never end up in the final application.
* Printer driver interface

@ -0,0 +1,58 @@
Set up OpenWRT on OSX
---------------------
Building was relatively easy in my case (Snow Leopard), but this might differ depending on OS/versions/etc. The guide I followed (roughly) is <http://thismachinechills.blogspot.nl/2013/02/installing-macports-with-openwrt.html>. I got along fine with only following these steps+notes:
- Install required macports dependencies...for me, Xcode's gcc worked just fine...so maybe that step can be left out.
- However, the longer list of ports just below must be installed or you will get missing dependencies during 'make prereq'.
- Create a case-sensitive HFS+ sparse image (10GB will do nicely).
- Fetch openwrt through svn and update feeds (aka packages).
- If you'd like all packages available for building in 'make menuconfig', run: 'scripts/feeds install -a'.
- build! (e2fsprogs worked fine for me but I'm not using Lion so...?)
Further notes:
- deselect everything but SquashFS under 'Target images' (e.g. jffs2 is not needed)
- under 'Target profile', for the TP-Link box, only select your specific model (scroll way down)
- I think luci must be enabled in menuconfig (under 'Luci'->Collections...)
- when flashing a new image, the sysupgrade one will do fine except the very first time (according to openwrt docs)
- enabling some drivers can only be done by modifying the kernel? (make kernelconfig)
- keep track of packages and features (de)selected in menuconfig (or modify by hand...)
- prefix path with macports path: 'export PATH=/opt/local/bin:$PATH'
- If the make system keeps complaining about outdated svn repo/executable versions, this seems not to be a problem
- wr703n reverse engineered <http://dangerousprototypes.com/2012/10/10/reverse-engineering-layout-of-tp-link-tl-wr703n-802-11n-router/>
- To get the new image on a device, follow this guide <http://wiki.openwrt.org/doc/howto/generic.sysupgrade> after getting the image on the device (copy it to /tmp). A warning 'Error fixing up TRX header' seems quite harmless.
- In case you end up with a broken ssh session, don't forget you can quit ssh by typing '~.' (on an empty line so hit enter before to be sure).
Various guides / links
======================
- WR703N openWRT setup: <http://wiki.xinchejian.com/wiki/Install_OpenWRT_on_TPlink_WR703N>
- WR703N wlan config: <http://companje.nl/doku.php?id=/openwrt>
- (osx cross-compile) <http://www.hsmm-mesh.org/hsmm-mesh-forums/view-postlist/forum-1-general/topic-12-building-openwrt-on-os-x.html>
- (osx cross-compile) <https://forum.openwrt.org/viewtopic.php?id=34676>
- (cross compile eigen code) <http://wiki.openwrt.org/doc/devel/crosscompile>
- (cross compile eigen code) <http://hype-free.blogspot.nl/2009/04/compiling-software-for-openwrt-and.html>
- (eclipse setup) <http://downloads.openwrt.org/docs/eclipse.pdf>
- Hardware extension (2 more USB ports) <http://www.kean.com.au/oshw/WR703N/>
- Mouse support (not a solution to the USB1 issue) <http://santiago-saldana.blogspot.nl/2010/01/mouse-working-in-openwrt.html>
- (GENERAL) run make using CPU idle time only, found here: http://wiki.openwrt.org/doc/howto/build
$ ionice -c 3 nice -n19 make -j 2
Build environment
=================
A script (possibly buggy) to set appropiate variables for cross-compiling openwrt code for the tp-link wr703n router. It assumes your image is called 'openWRT-build-fs-10GB'.
Source the script to modify current shell environment (using regular execution runs it in a temporary subshell).
cat<<EOF>set-openwrt-build-env
#!/bin/sh
export PATH=/opt/local/bin:$PATH:/Volumes/openWRT-build-fs-10GB/trunk/staging_dir/toolchain- mips_r2_gcc-4.6-linaro_uClibc-0.9.33.2/bin
export STAGING_DIR=/Volumes/openWRT-build-fs-10GB/trunk/staging_dir
export CC=mips-openwrt-linux-uclibc-gcc
export LD=mips-openwrt-linux-uclibc-ld
#this is used to pass to configure --target
export TGT_MIPS=mips-openwrt-linux-uclibc
EOF

13
Home.md

@ -10,15 +10,4 @@ A number of milestones have been created in the issue tracker. Bitbucket sorts t
- (0_IP_2) Second development milestone, same as 0_IP_1 but in a larger scope.
- (0_IP_n) Nth development milestone, at some point one has to be defined at which all core functionality is present and working reasonably well.
- (1.0) First release version.
- (Later) Indeterminate, but nonetheless wirthwhile implementing at some point.
## Pages on this wiki
[Building OpenWrt](wiki/BuildOpenwrt)
[Analyzing uhttpd crashes](wiki/UhttpdCrash)
[Outline for self-update functionality](wiki/SelfUpdater)
[Miscellaneous notes](wiki/MiscNotes)
[An outline of the project structure](wiki/ProjectOutline)
[Webinterfaces for sending/viewing gcode](wiki/GcodeSenders)
[Various firmware implementations](wiki/Firmwares)
[Notes on packaging the code](wiki/Packaging)
- (Later) Indeterminate, but nonetheless worthwhile implementing at some point.

40
_Sidebar.md Normal file

@ -0,0 +1,40 @@
## Table of contents
1. The Doodle3D Wifibox
1.1 Introduction
1.2 Planning overview
1.3 Resources
2. Firmware
[2.1 Overview](2.-Firmware/2.1-Overview.md)
2.2 RESTful API
3. Research
3.1 Outline for self-update functionality
3.2 Notes on packaging the code
3.3 3D printing related
3.3.1 Webinterfaces for sending/viewing gcode
3.3.2 Various firmware implementations
4. Everything else
4.1 Miscellaneous notes
4.2 Analyzing uhttpd crashes
A1 Building OpenWrt
A2 Preparing OpenWrt for Wifibox
## ---old---
[Building OpenWrt](wiki/BuildOpenwrt)
[Analyzing uhttpd crashes](wiki/UhttpdCrash)
[Outline for self-update functionality](wiki/SelfUpdater)
[Miscellaneous notes](wiki/MiscNotes)
[An outline of the project structure](wiki/ProjectOutline)
[Webinterfaces for sending/viewing gcode](wiki/GcodeSenders)
[Various firmware implementations](wiki/Firmwares)
[Notes on packaging the code](wiki/Packaging)
## ---aanpassen---