|Version/Model||S/N||Launch Date||OpenWrt Version Supported||Model Specific Notes|
|Marvell Kirkwood@1200MHz||128 MiB||256 or 512 MiB||1 gigE||4x 2.0||Yes||Yes|
- Prebuilt 12.09-beta *IT-IS-BETA* Images are available here:http://downloads.openwrt.org/attitude_adjustment/12.09-beta/kirkwood/generic/.
either by generating it yourself or searching. [note: include how to do this and where it can be found already precompiled]
Note that using this guide will replace the original firmware found on the Dockstar. If you ever plan to restore the original firmware please take a backup. One OpenWrt install procedure will place a 2nd stage bootloader. The original U-Boot in mtd0 will be retained and will chainload the 2nd one. The Ethernet address of your device is set by the original U-Boot. The 2nd stage bootloader shows a bogus ethaddr. OpenWrt will use a different flash layout than the original one.
→flash.layout for explanations!
|OpenWrt FlashLayout 1|
|OpenWrt FlashLayout 2|
Here we describe howto install OpenWrt on the Dockstar with the help of a serial connection to access the console.
You'll also need a tftpserver on your host computer. Make sure that the following files from the bin/kirkwood folder are accessible through the tftpserver.
The Dockstar expects the tftp server to have the IP address 169.254.254.254. You can modify this using setenv or blparam, just set 'serverip' to your tftp server IP address.
As mentioned above, you can install the 2-stage bootloader or the single stage one. The process is pretty much the same; the only thing that changes are the locations (addresses) in the Dockstar NVRAM; we will point out when we are dealing with the single or the 2-stage booloader.
|These instructions use 0x40000 as the length of bootloader. The current u-boot image is 0x594c8 bytes long, so the instructions seem be out of date.|
|Even with corrected size, the 12.02beta2 bootloader does not work as a second stage loader and bricks as a first stage loader.|
Connect your Dockstar and reset the device
Now execute the following commands to retrieve and install the bootloader:
mw 0x800000 0xffff 0x40000 tftpboot 0x800000 openwrt-kirkwood-dockstar-u-boot.bin nand erase 0x100000 0x80000 nand write.e 0x800000 0x100000 0x40000 setenv bootcmd nand read.e 0x800000 0x100000 0x40000\; go 0x800000 saveenv
mw 0x800000 0xffff 0x40000 tftpboot 0x800000 openwrt-kirkwood-dockstar-u-boot.bin nand erase 0x000000 0x80000 nand write.e 0x800000 0x000000 0x40000 setenv bootcmd nand read.e 0x2000000 0x100000 0x400000\; go 0x2000000 saveenv
Where: * nand erase X Y means "Erase from Y (in Hex) MiB starting from X location (also in hex) * nand write.e X Y Z means "Go to the RAM location X (in hex) and grab the first Z MiB of data and then put it in Y NVRAM location."
If everything succeeded without errors the bootloader was installed successfully and you can now continue to install the kernel and rootfs. Enter 'boot' in your Dockstar u-boot command prompt. This will load and execute the second stage bootloader. Press enter to get a command prompt at the bootloader.
To install the kernel and rootfs enter the following commands into the command prompt of the 2-stage bootloader.
# Install kernel
mw 0x6400000 0xffff 0x300000 tftpboot 0x6400000 openwrt-kirkwood-uImage nand erase 0x200000 0x300000 nand write.e 0x6400000 0x200000 0x300000
mw 0x6400000 0xffff 0x300000 tftpboot 0x6400000 openwrt-kirkwood-uImage nand erase 0x100000 0x400000 nand write.e 0x6400000 0x100000 0x400000
# Install rootfs. Location is the same for both single and 2-stage bootloaders.
mw 0x6400000 0xffff 0x200000 tftpboot 0x6400000 openwrt-kirkwood-Dockstar-jffs2-128k.img nand erase 0x500000 0xfb00000 nand write.e 0x6400000 0x500000 0x200000
Note here: 0x200000 is the size of your rootfs in hex. 0x200000 means 2MiB. If you have selected many packages to be integrate into rootfs, it may be bigger than 2MiB. E.g. if your rootfs image has ~4.5MiB you have to replace 0x200000 with 0x500000 in the code example above.
Note: 2-stage bootloader tftpboot command asks the tftp server to use a 4168 block size but seems unable to handle fragmentation properly. This would lead to being unable to install kernel and rootfs. Most legacy tftp servers would never honor the 4168 block size request and use default 512 blocksize and no problem arise, but tftpd-hpa would, so beware! In this latter case simply set –blocksize 512 in /etc/defaults/tftpd-hpa.
OpenWrt should now be successfully installed on you Dockstar.
To continue enter 'boot' in the 2-stage bootloader prompt or reset the device. Your Dockstar should now boot Openwrt.
Then copy images to the device:
# Combined 2-stage bootloader and kernel image
(dd if=bin/kirkwood/openwrt-kirkwood-dockstar-u-boot.bin conv=sync bs=1M; dd if=bin/kirkwood/openwrt-kirkwood-uImage bs=2048 conv=sync) > openwrt-kirkwood-dockstar-uboot-uImage.bin scp openwrt-kirkwood-dockstar-uboot-uImage.bin firstname.lastname@example.org:/tmp
# Rootfs image
scp bin/kirkwood/openwrt-kirkwood-Dockstar-jffs2-128k.img email@example.com:/tmp
wget http://dockstar.googlecode.com/files/blparam scp blparam firstname.lastname@example.org:/tmp
Return to your ssh session on the Dockstar. The first set commands modifies the stock bootloader to load our second stage bootloader. This is done by using blparam to modify the 'bootcmd'.
cd /tmp chmod +x blparam ./blparam "bootcmd=nand read.e 0x800000 0x100000 0x80000; go 0x800000"
Now it's time to flash the OpenWrt images. Note that the last two commands will erase and overwrite the running system. It is a bit risky. But since the file system is read-only and `nandwrite` is in the fs-cache it should work.
flash_eraseall /dev/mtd1 nandwrite /dev/mtd1 openwrt-kirkwood-dockstar-uboot-uImage.bin flash_eraseall /dev/mtd2 nandwrite /dev/mtd2 openwrt-kirkwood-Dockstar-jffs2-128k.img
Press the reset button or power cycle your Dockstar. Your Dockstar should now boot into OpenWrt. If it does not something went wrong and you'll need to gain serial access to recover it.
To reflash from an existing openwrt-installation read the following. You need the package mtd-utils installed.
# Erase kernel partition and write new kernel image
flash_eraseall /dev/mtd2 nandwrite -p /dev/mtd2 /tmp/openwrt-kirkwood-uImage
# Erase rootfs partition and write new rootfs image
flash_eraseall /dev/mtd3 nandwrite -p /dev/mtd3 /tmp/openwrt-kirkwood-Dockstar-jffs2-128k.img
Now reboot your router
echo b > /proc/sysrq-trigger
Your Dockstar should now boot into OpenWrt. If anything went wrong and you'll need to gain serial access to recover it.
It is also possible to use the SquashFS image (ro filesystem). OpenWRT will create a jffs2 overlay on the mtd partition named rootfs_data. Eventually, you have to configure the 2nd stage bootloader to try SquashFS as rootfstype and rename the mtdpart 4 from "data" to "rootfs_data".
Since this part is identical for all devices, see Basic configuration.
To connect stuff to the USB port, please see Connect stuff to the USB port.
The default network configuration is:
|Interface Name||Description||Default configuration|
The DockStar cannot be put into failsafe mode by pressing the button.
It can however be put in failsafe mode using serial console and pressing 'f' and <enter> when prompted during boot-up
The DockStar's only button is not configurable and inevitably performs a hard reset when pressed.
The mv_cesa driver allows you to utilize the Cryptographic Engines and Security Accelerator (CESA) which can be found on the Marvell Orion and Kirkwood SoCs. Currently the driver supports AES in ECB and CBC mode without DMA. This can be used for example to accelerate I/O on a dm-crypted harddrive.
You need the kmod-crypto-mv-cesa package installed and mv_cesa loaded. If you see a message like:
mv_cesa: Unknown symbol crypto_aes_expand_key (err 0)Make sure to have the aes-module installed, too (Kernel modules→Crypto). 'ps' should list a [mv_crypto]-kernelthread.
The dm-crypted harddrive could be made like this:
cryptsetup luksFormat --cipher aes --hash sha1 --verify-passphrase /dev/sda1
Now when you read or write to the disk, 'top' should show the [mv_crypto]-kernelthread.
For some numbers see http://smorgasbord.gavagai.nl/2010/02/sheevaplug-hardware-crypto/. It states that you’ll get about 19 MB/s writing to an encrypted USB HDD.
 TDMA support for mv_cesa is tracked in this ticket
|Architecture: armv5te (big endian, runs also with little endian)|
|System-On-Chip: Marvell MV88F6281 A0 (DDR2) with ARM926EJ-S CPU (Marvell Feroceon)|
|CPU Speed: 1200 Mhz|
|Flash-Chip: Manufacturer ID: 0x2c, Chip ID: 0xda (Micron NAND 256MiB 3,3V 8-bit)|
|Flash size: 256 MiB (PartNo 100576825C, 100576827B) or 512 MiB (PartNo 100576825B)|
|RAM: 128 MiB / 1x Nanya NT5TU64M16DG-AC|
|Ethernet: 1x GigE port / Marvell "Alaska" 88E1116R|
|USB: 3x USB 2.0 ports, 1x mini USB 2.0 port for harddisk|
There are no screws - the bottom cover is held by eight plastic snap on clips, two on each side. To open the case, place 2 thin screwdrivers or expired credit cards at either side of a front corner of the Dockstar into the join between the top cover and the base and gently pry it open.
The upper case part is connected with a five pin cable to the PCB, carefully unplug it to remove the casing. The serial pins are accessible without unplugging the top usb connector.
A 2x5 pin pad (J1) is located left of the LED at the front side of the PCB. The row the three pins ([RX] [TX] [GD]) you are interested on are close to edge of the board. To the right of pin 1 (the one above [GD]) is a small white arrow pointing to it.
Serial port settings are 115200@8n1. The signal level is 3.3V (TTL). PC standard hardware uses 12V. So make sure to have a signal level converter in between (e.g. a CA-42 Cable with 3,3V signal level). Here is another example of how to obtain a serial connection on the Dockstar: here. Connect to the Dockstar from your linux workstation using "screen":
user@host ~ $ screen /dev/ttyUSB0 115200
Alternatively you can use PuTTY on Windows.
Connect device to Ethernet port. To prevent automatic updates by cloud engines (which may disable ssh access), use a separate switch or disconnect your router from the internet. If the ssh access was disabled by the automatic cloud engine update service, you need to login there and re-activate ssh.
Find IP address, BE and EF are the last two bytes of the MAC of your device (printed on the bottom of the Dockstar)
root@host ~ # ifconfig eth0 169.254.1.0 root@host ~ # nmap -e eth0 -sP $(printf "169.254.%d.%d" 0xbe 0xef)
Connect to IP address via ssh (root / stxadmin) to see if it works.
If you want to restore the original firmware at a later point use this guide to make a backup. You need to login to the original firmware via ssh first. Another method beside using "dd" is nanddump. To be on the safe side, you should take a 2nd backup with the nanddump method. Assuming you have a USB Stick or other USB drive mapped via sda - you can try this:
cd /tmp mkdir backup mount /dev/sda1 /tmp/backup wget http://plugapps.com/os/pogoplug/uboot/nanddump chmod +x nanddump ./nanddump -nf backup/mtd0 /dev/mtd0 ./nanddump -nf backup/mtd1 /dev/mtd1 ./nanddump -nf backup/mtd2 /dev/mtd2 umount /dev/sda1
The first page of this thread documents the pin-out for attaching a SD Card reader to the Dockstar. Also, there's information about the I2C interface.
The Dockstar has no built-in RTC clock, but it can be added back.
According to this page (German), the Dockstar has jumpers to set the multipliers for the CPU, RAM and AHB, and there are three selectable CPU speed: 1.0 GHz, 1.2 GHz and 1.5 GHz. To switch from 1.2 to 1.5 GHz, three surface-mounted resistors have to be resoldered. Please note that according to the author of the page, the Dockstar is not 100% reliable at full speed, and may require further modifications to achieve stability. Underclocking to 1.0 Ghz is also possible, but the decrease in power consumption is likely not worth the hassle
toh/seagate/dockstar.txt · Last modified: 2013/05/02 12:19 by strby