User Tools

Site Tools


init

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
init [2011/12/26 16:09]
dag
init [2013/07/31 21:28]
sec Change according to Sven Neuhaus
Line 1: Line 1:
-====== **This page is contains the current release of our 28C3 firmware. Feel free to try it and give us feedback if you discover bugs in the firmware or these instructions** ======+====== ** This page contains the current release of our r0ket firmware ​release. Feel free to try it and give us feedback if you discover bugs in the firmware or these instructions ** ======
  
  
  
-====== How flash your roket? ====== +====== How to flash your r0ket? ====== 
-<note tip>​Flashing your r0ket ensures you will get the full functionality ​on the 28C3. It is highly recommended you flash your old r0ket before attending the congress.</​note>​ + 
-<note tip>We will bring a device to the 28C3 that will do the steps below for you. If you can, please try to flash it your self. This helps to reduce the waiting time on congress :)</​note>​+<note tip>​Flashing your r0ket ensures you will get the full functionality. It is highly recommended you flash your old r0ket before attending the congress.</​note>​
  
 This procedure also brings your r0ket back into shape in case you "​bricked"​ it or experience other strange software glitches including a damaged file system for l0dables. This procedure also brings your r0ket back into shape in case you "​bricked"​ it or experience other strange software glitches including a damaged file system for l0dables.
Line 14: Line 14:
 | 3 | Improved r_player l0dable | | 3 | Improved r_player l0dable |
 | 4 | Improved fahrplan, mesh, fonts | | 4 | Improved fahrplan, mesh, fonts |
 +| 5 | Fixed mesh |
 +| 6 | Actually pushed the mesh changes, improved game l0dable |
 +| 15 | numerous small bugfixes |
  
 +===== Linux =====
  
- +  ​- Download the firmware pack here: {{:​r0ket-firmware-r15.tar.gz}}
- +
-===== Linux ===== +
-  ​- Download the firmware pack here: {{:​r0ket-firmware-28c3-r4.tar.gz}}+
   - Unpack the archive with your favourite tool.    - Unpack the archive with your favourite tool. 
   - Turn r0ket off (switch position up).   - Turn r0ket off (switch position up).
Line 29: Line 30:
   - The r0ket will pose as a thumb drive. Check that you have a new volume with a '​firmware.bin'​ file on it. Mount the r0ket if you don't get a new volume.   - The r0ket will pose as a thumb drive. Check that you have a new volume with a '​firmware.bin'​ file on it. Mount the r0ket if you don't get a new volume.
   - As a normal user run the following command in a command window:   - As a normal user run the following command in a command window:
-    - cd r0ket-firmware-28c3-r4 && ./​flash-r0ket+    - cd r0ket-firmware-28c3-r6 && ./​flash-r0ket
   - The script should tell you, that everything went fine.   - The script should tell you, that everything went fine.
   - Turn r0ket off.   - Turn r0ket off.
Line 57: Line 58:
 ===== Windows ===== ===== Windows =====
  
-  - Download the firmware here: {{:​r0ket-firmware-28c3-r4.zip}}+  - Download the firmware here: {{:​r0ket-firmware-r15.zip}}
   - Turn r0ket off (switch position up)   - Turn r0ket off (switch position up)
   - Plug micro-USB cable into r0ket and Computer   - Plug micro-USB cable into r0ket and Computer
Line 80: Line 81:
  
 ===== Mac ===== ===== Mac =====
-(preview) 
  
-  - Download the firmware pack here: {{:​r0ket-firmware-28c3-r4.tar.gz}} +  - Download the firmware pack here: {{:​r0ket-firmware-r15.tar.gz}} 
-  - Unpack the archive with your favourite tool.  +  - Download ​and compile keys.c from https://​github.com/r0ket/r0ket.git (r0ket/tools/crypto/generate-keys.c) and put in in the same directory as the script 
-  - Turn r0ket off (switch position up). +  - Write the following script to fileExtract ​the firmwareExecute ​the script with the directory containing ​the new firmware as parameterThe script ​will guide you through the process
-  - Plug micro-USB cable into r0ket and Computer. +  - Example 
-  - Hold joystick to the left. +    - <​code> ​./​flashscript ​r0ket-firmware-r15 </​code>​ 
-  - Turn r0ket on (switch position down). +FlashScript UNSAFE (user errors might cause loss of data and corruption)
-  - Release joystick. +
-  - Wait about 30 seconds. +
-  - The r0ket will pose as a thumb driveCheck that you have a new volume with a '​firmware.bin'​ file on it. Mount the r0ket if you don't get a new volume. +
-  - As a normal user run the following command in a command window: +
-    - <​code>​cd <​directory where you extracted the zip to></code> +
-    - <​code>​cp firmware.bin $(diskutil info $(system_profiler SPUSBDataType | grep -A10 "NXP LPC13XX IFLASH"​ | grep "BSD Name" | awk -F:  '​{print $2}') | grep "Mount Point" | sed 's/[ ]*.*[ ][ ]//​g'​)</​code>​ +
-  ​Turn r0ket off+
-  - Hold joystick down towards ​the battery connector. +
-  - Turn r0ket on. +
-  - As above look for new volume on your systemMount the r0ket if you don't get one. +
-  - <note important>​If you already completed ​the steps below before, please jump to [[init#​updating|Updating ​the dataflash]]</​note>​  +
-  - Make a copy of the following files to your computer: R0KET.CFG, NICK.CFG, L0NICK.CFG, FONT.CFG, pubx.key, puby.key and priv.key +
-    - Don't worry if some of these files are missing. Your r0ket will still work+
-  - Now unmount the r0ket. In a terminal run the following commands: +
-    - <​code>​myroket=$(system_profiler SPUSBDataType | grep -A10 "r0ket" | grep "BSD Name" | awk -F: '​{print $2}'​)</​code>​ +
-    ​<​code>​sudo umount $myroket</​code>​ +
-    - <​code>​sudo dd if=dataflash.img ​of=$myroket</​code>​ +
-      - make absolutely sure that you enter the correct device in the line above, or you can damage your computer. +
-      - Example: <​code>​sudo dd if=dataflash.img of=/​dev/​sdb</​code>​ +
-    - <​code>​sync</​code>​ +
-      - This command may take a minute or two. +
-  - Turn off r0ket and back on, while pressing the joystick towards the battery connector. +
-  - Copy the files from step 16 back to the r0ket.+
  
- 
-FlashScript UNSAFE (user errors might cause loss of data and corruption) 
 <​code>​ <​code>​
 #!/bin/bash #!/bin/bash
Line 138: Line 113:
  
 function flashFirmware { function flashFirmware {
- cp -v "​$FIRMWAREBIN" ​"​$(diskutil info $(system_profiler SPUSBDataType | grep -A10 "NXP LPC13XX IFLASH"​ | grep "BSD Name" | awk -F:  '​{print $2}') | grep "Mount Point" | sed 's/[ ]*.*[ ][ ]//​g'​)/"​ + myMount="​$(diskutil info $(system_profiler SPUSBDataType | grep -A15 "NXP LPC13XX IFLASH"​ | grep "BSD Name" | awk -F:  '​{print $2}') | grep "Mount Point" | sed 's/[ ]*.*[ ][ ]//​g'​)/​
- sleep ​5+ if [ -z "​$myMount"​ ] || [ ! -d "​$myMount"​ ]; then 
 +                DIE "Could not flash firmware. Could not find mountpoint $myMount"​ 
 +        fi 
 + cp -v "​$FIRMWAREBIN"​ "​$myMount
 + sleep ​2
  sync  sync
  sleep 2  sleep 2
- myroket="/​dev/​$(system_profiler SPUSBDataType | grep -A10 "NXP LPC13XX IFLASH"​ | grep "BSD Name" | awk -F: '​{print $2}' | sed 's/ //'​)"​+ myroket="/​dev/​$(system_profiler SPUSBDataType | grep -A15 "NXP LPC13XX IFLASH"​ | grep "BSD Name" | awk -F: '​{print $2}' | sed 's/ //'​)"​
  PRINT Unmounting the rocket $myroket. Please enter your password:  PRINT Unmounting the rocket $myroket. Please enter your password:
  sudo umount "​$myroket"​  sudo umount "​$myroket"​
Line 151: Line 130:
  
 function flashDataflash { function flashDataflash {
- cd "​$(diskutil info $(system_profiler SPUSBDataType | grep -A10 "​r0ket"​ | grep 'BSD Name' | awk -F:  '​{print $2}' | sed 's/ //' ) | grep "Mount Point" | sed 's/[ ]*.*[ ][ ]//​g'​)"​+ myMount="​$(diskutil info $(system_profiler SPUSBDataType | grep -A10 "​r0ket"​ | grep 'BSD Name' | awk -F:  '​{print $2}' | sed 's/ //' ) | grep "Mount Point" | sed 's/[ ]*.*[ ][ ]//g')
 + if [ -z "​$myMount"​ ] || [ ! -d "​$myMount"​ ]; then 
 + DIE "Could not flash dataflash. Could not find mount $myMount"​ 
 + fi 
 + cd "​$myMount"
  pwd  pwd
  cp -v R0KET.CFG NICK.CFG L0NICK.CFG FONT.CFG pubx.key puby.key priv.key $myTmpdir/​backup/​  cp -v R0KET.CFG NICK.CFG L0NICK.CFG FONT.CFG pubx.key puby.key priv.key $myTmpdir/​backup/​
  cd $myTmpdir  cd $myTmpdir
  sleep 5  sleep 5
- PRINT "​Please unmount the roket in the finder. Press the eject button on the newly mounted device. Then press return"​ + #PRINT "​Please unmount the roket in the finder. Press the eject button on the newly mounted device. Then press return"​ 
- read+ #read
  myroket="/​dev/​$(system_profiler SPUSBDataType | grep -A10 "​r0ket"​ | grep "BSD Name" | awk -F: '​{print $2}' | sed 's/ //'​)"​  myroket="/​dev/​$(system_profiler SPUSBDataType | grep -A10 "​r0ket"​ | grep "BSD Name" | awk -F: '​{print $2}' | sed 's/ //'​)"​
  PRINT Unmounting the rocket $myroket. Please enter your password:  PRINT Unmounting the rocket $myroket. Please enter your password:
Line 169: Line 152:
  sudo mount -t msdos $myroket $myTmpdir/​mountpoint  sudo mount -t msdos $myroket $myTmpdir/​mountpoint
  cd $myTmpdir/​backup  cd $myTmpdir/​backup
- cp *  $myTmpdir/​mountpoint/​+ cp -v *  $myTmpdir/​mountpoint/​ 
 + ls pubx.key puby.key priv.key || ( echo "​Generating new keys" && cd .. && ./​generate-keys && cp -v files/* $myTmpdir/​mountpoint/​ ) 
 + cd /tmp
  PRINT Unmounting the rocket $myroket. Please enter your password:  PRINT Unmounting the rocket $myroket. Please enter your password:
  sudo umount $myroket  sudo umount $myroket
Line 176: Line 161:
  
 function cleanUp { function cleanUp {
- rm -rf $myTmpdir+ sudo rm -rf /tmp/r0ket/
 } }
  
Line 183: Line 168:
  mkdir -p $myTmpdir/​backup  mkdir -p $myTmpdir/​backup
  mkdir -p $myTmpdir/​mountpoint  mkdir -p $myTmpdir/​mountpoint
 + mkdir -p $myTmpdir/​files
  
 } }
Line 198: Line 184:
  DIE expected the path to the directory with the new firmware as parameter  DIE expected the path to the directory with the new firmware as parameter
  fi  fi
- PRINT "​Please turn off your r0ket and connect your r0ket to a USB port. Then press return." + PRINT "​Please turn off your r0ket and connect your r0ket to a USB port."
- read+
  PRINT "​Please press the r0ket joystick to the LEFT and turn the rocket on. Then press return"​  PRINT "​Please press the r0ket joystick to the LEFT and turn the rocket on. Then press return"​
  read  read
Line 206: Line 191:
  #PRINT "​Please unmount the roket in the finder. Press the eject button on the newly mounted device. Then press return"​  #PRINT "​Please unmount the roket in the finder. Press the eject button on the newly mounted device. Then press return"​
  #read  #read
- PRINT "​Please turn off your r0ket. Then press return." + PRINT "​Please turn off your r0ket."​
- read+
  PRINT "​Please press the r0ket joystick DOWNWARDS and turn the rocket on. Then press return"​  PRINT "​Please press the r0ket joystick DOWNWARDS and turn the rocket on. Then press return"​
  read  read
  flashDataflash  flashDataflash
   
 + cleanUp
   
  
Line 217: Line 202:
  
 main $@ main $@
- 
 </​code>​ </​code>​
  
-We don't have instructions for Mac yet, so for now we recommend another option: Installing Ubuntu Linux in a VirtualBox:+===== Updating =====
  
- * [[http://​www.tuaw.com/​2009/​09/​07/​how-to-set-up-ubuntu-linux-on-a-mac-its-easy-and-free/​|Article:​ How to set up Ubuntu Linux on a Mac -- it's easy and free]] 
- 
-===== Updating ===== 
 If completed the steps above once, you can update your dataflash by copying the files from the '​files'​ directory in the archive to the mounted dataflash of your r0ket. Do not forget to properly '​eject'​ or '​unmount'​ the device or you might loose data! If completed the steps above once, you can update your dataflash by copying the files from the '​files'​ directory in the archive to the mounted dataflash of your r0ket. Do not forget to properly '​eject'​ or '​unmount'​ the device or you might loose data!
  
init.txt · Last modified: 2013/07/31 21:28 by sec