Dockstar
Das Dockstar ist ein kostengünstiges ARM System mit 128 Mbyte RAM und 256 Mbyte Flash (NAND) Speicher 8 cm mal 8 cm Größe und nur etwa 5 W Leistung. Es läßt sich auf einfache Weise vielfältig zweckentfremden...
Beitrag im Forum
20Euro Embedded System mit ARM, 128MB RAM und 256MB Flash
Seagate Dockstar als 300mbit Draft-N Access Point
Hardware
Innenleben
Photos auf yourwarrantyisvoid.com
Aufsteckplatine
UART/JTAG-Stecker
Auf der Platine befindet sich eine 10-polige Stiftleiste im 2mm Rastermass (J1)
Die Pinbelegung.
Allerdings bin ich mir bei den Resets nicht sicher. In der Info die ich habe gibt es CPU-Reset und SRST - aber das sollte ja selbe sein. Evtl. kann hier nochmal wer nachhelfen ...
Pin1 >> 3.3V | GND JTAG RESET ? SRST ? | UART TxD JTAG TDI | UART RxD JTAG TMS CPU | JTAG NRST ? TRST ? SRST? JTAG CLK | JTAG TDO
Mit der Original-Software arbeitet die UART mit 115200 8n1.
siehe auch: http://www.yourwarrantyisvoid.com/2010/09/08/dead-dockstar-resurrected-with-jtag/
Am einfachsten man beschafft sich ein sog. "PL-2303 USB-to-Serial Port Adapter", z.B. ein Handy-Kabel, mehr dazu: UART auf USB
Informationen zum JTAG-Protokoll hier: JTAG
Front LED ansprechen
- Howto: Build a new Debian kernel with LED support: http://forum.doozan.com/read.php?2,524
- Mit ein paar Ergänzungen: http://www.rudiswiki.de/wiki/DockStarDebian
- Hier auch nach etwas dazu: http://www.dermute.de/155-led-steuerung-der-dockstar
- Oder hier noch etwas (Netzwerkkarten-LED): http://www.plugapps.com/index.php5?title=DockStar_LED
RTC nachrüsten
- RTC Pins mit Bild : http://www.mikrocontroller.net/topic/187115#1850516
Eine Real Time Clock nachzurüsten ist lt. Björn ganz einfach :
- http://www.mikrocontroller.net/topic/187115#1871956
- http://www.mikrocontroller.net/topic/187115#1872036
- http://www.mikrocontroller.net/topic/187115#1872044
- http://www.mikrocontroller.net/topic/187115#1872071
- http://www.mikrocontroller.net/topic/187115#1872076
- http://www.mikrocontroller.net/topic/187115#1872093
- http://www.mikrocontroller.net/topic/187115#1872099
- http://www.mikrocontroller.net/topic/187115#1872118 (abschliessende Lösung erklärt)
- http://www.mikrocontroller.net/topic/187115#1872118 (Bild)
- http://www.mikrocontroller.net/topic/187115#1872210 (Alles nochmal zum mitmeisseln)
Qintessenz: Einfach eine 3V-Zelle als Spannungsversorgung dranlöten widerspricht der Marvell-Referenz, die nur von 1,5V-1,8V Spannungsversorgung spricht. Ein Goldcap-Kondensator mit einer Diode von der 1,8V Spannungsversorgung an RTC_VCC funktionieren.
Zusammenfassung: http://gsg-elektronik.de/?id=92
Man braucht übrigens einen üblichen Uhrenquarz mit 32,768 kHz. Die Kondensatoren müssen zwischen die Pads und Masse, der Quarz aber direkt an die Pads.
Übertakten
Das Dockstar kann recht einfach übertaktet werden, da alle zu verändernden Signale auf Lötjumper geführt sind. Eine genau Anleitung habe ich hier verfasst: http://gsg-elektronik.de/index.php?id=96
UART-Platine zum Einbau
Thomas B. (messier) hat eine Platine entworfen, die die onboard befindliche serielle Schnittstelle mittels USB-Seriell-Umsetzer (FT232RL) als mini USB-Port nach außen führt. Schaltplan und Layout sind im Artikel http://www.mikrocontroller.net/topic/187115#1859291 verlinkt. Weiter unten im Thread gibt es noch ein Layout, daher hier die Links zu den aktuellsten Dateien: Schaltplan und Layout.
Bilder der Platine gibt es in den Artikeln hier: hier (unbestückt) und hier (fertig).
Plugon-Board mit Audio, RS232 und SD-Kartenslot
Micha hat ein Plugon-Board mit Audio-Chip (Cirrus C42L51), RS232 (FT232R) und SD-Kartenslot entworfen. Der Schaltplan findet sich hier und das Layout hier.
PIN-Forschung
RTC
RTC_XOUT RTC_XIN RTC_AVSS (geht auf die Massefläche) RTC_AVDD (Batterieanschluss für die RTC)
Hier müssen die beiden Widerstände entfernt werden, da beide Pins mit 0Ω an Masse angeschlossen sind.
Zweite Ethernet Schnittstelle:
- 32 = TX1_CLKOUT
- 33 = TX1_CTRL
- 20 = TXD1[0]
- 21 = TXD1[1]
- 22 = TXD1[2]
- 23 = TXD1[3]
- 30 = RX1_CTRL
- 31 = RX1_CLK
- 24 = RXD1[0]
- 25 = RXD1[1]
- 26 = RXD1[2]
- 27 = RXD1[3]
I2S Schnittstelle:
- 39 = I2SLRCLK
- 40 = I2SDO
- 41 = I2SLRCLK
- 42 = I2SMCLK
- 43 = AU_I2SDI
- 44 = AU_I2SEXTCLK
SPDIF Schnittstelle:
- 36 = SPDIFI
- 37 = SPDIFO
- 38 = SPDIFCLK
I2C Schnittstelle:
- 8 = TW_SDA
- 9 = TW_SCK
SDHC Karte:
- 12 = SD_CLK
- 13 = SD_CMD
- 14 = SD_D0
- 15 = SD_D1 / Alternativ UA1_TXD (UART1)
- 16 = SD_D2 / Alternativ UA1_RXD (UART1)
- 17 = SD_D3
SPI Schnittstelle:
- 0 = SPI_CS#
- 1 = SPI_MOSI
- 2 = SPI_SCK
- 3 = SPI_MISO
IOs:
- 18 = NF_IO0
- 19 = NF_IO1
I2C
via USB
http://bralug.de/wiki/BLIT2008-Board_mit_i2c-tiny-usb-Firmware
Die auf dieser Seite beschrieben Hardware und Vorgehensweise funktioniert problemlos auch am Dockstar mit Debian Squeeze, da die notwendigen Kernelmodule und Tools vorhanden sind. Achtung: lm-sensors sollte man allerdings nicht unbedingt ausprobieren, da man damit das Dockstar zum Absturz bringt bzw. auch z.B. der entsprechende Treiber für den LM75 in der vorliegenden Version nicht vorhanden ist.
Onboard I2C
Compiler Optionen
make menuconfig
Device Drivers --->
<*> I2C support --->
[*] Enable compatibility bits for old user-space
<*> I2C device interface
[*] Autoselect pertinent helper modules
I2C Hardware Bus support --->
<*> GPIO-based bitbanging I2C
<*> Marvell mv64xxx I2C Controller
z.B. als Modul den LM75
<M> Hardware Monitoring support --->
<M> National Semiconductor LM75 and compatibles
Source Anpassungen
linux/arch/arm/mach-kirkwood/sheevaplug-setup.c
static unsigned int sheevaplug_mpp_config[] __initdata = {
+ MPP8_TW_SDA,
+ MPP9_TW_SCK,
// nur bis 2.6.35 danach nicht mehr vorhanden -> stattdessen: MPP8_TW0_SDA, MPP9_TW0_SCK, siehe linux/arch/arm/mach-kirkwood/mpp.h
static void __init sheevaplug_init(void)
{
:
:
+ kirkwood_i2c_init();
}
Je nach Kernelkonfiguration muss nicht sheevaplug-setup.c sondern dockstar-setup.c angepasst werden.
Ein Patch für den 3.2-er Kernel zeigt beispielhaft die Anpassung des Board-Codes für die Verwendung des Luftdrucksensors BMP085 mit dem entsprechenden Linux-Treiber und der I2C-Schnittstelle des Dockstar: https://bitbucket.org/bwalle/ptxdist-vetero/raw/9be1496934da/patches/linux-3.2/dockstar-i2c.diff.
Hardware
Die Lötpunkte für MPP8(SDA) und MPP9(SCK) herausführen.
An J1 können 3,3V an Pin1 und GND an Pin2 abgegriffen werden.
Boot Log Einträge
i2c-core: driver [dummy] registered
i2c /dev entries driver
i2c-core: driver [dev_driver] registered
i2c i2c-0: adapter [mv64xxx_i2c adapter] registered
i2c-dev: adapter [mv64xxx_i2c adapter] registered as minor 0
i2c-core: driver [lm75] registered
i2C Test
sensors-detect darf nur für I2C ausgeführt werden, alles andere mit NO beantworten, sonst hängt sich die DockStar auf!
sensors-detect
We can start with probing for (PCI) I2C or SMBus adapters.
Do you want to probe now? (YES/no):
Probing for PCI bus adapters...
Sorry, no supported PCI bus adapters found.
Next adapter: mv64xxx_i2c adapter (i2c-0)
Do you want to scan it? (YES/no/selectively):
Client found at address 0x49
Handled by driver `lm75' (already loaded), chip type `lm75'
Driver `lm75' (should be inserted):
Detects correctly:
* Bus `mv64xxx_i2c adapter'
Busdriver `UNKNOWN', I2C address 0x49
Chip `lm75' (confidence: 6)
# sensors
lm75-i2c-0-49
Adapter: mv64xxx_i2c adapter
temp1: +35.0 C (high = +80.0 C, hyst = +75.0 C)
--Nevtag 17:47, 14. Okt. 2010 (UTC)
RS232
Zweite RS232
Source Anpassungen
linux/arch/arm/mach-kirkwood/sheevaplug-setup.c
static unsigned int sheevaplug_mpp_config[] __initdata = {
+ MPP15_UART1_TXD, /* Uart 1 */
+ MPP16_UART1_RXD,
// nur bis 2.6.35 danach nicht mehr vorhanden
static void __init sheevaplug_init(void)
{
:
:
+ kirkwood_uart1_init();
}
Hardware
Die Lötpunkte für MPP15(TXD) und MPP16(RXD) herausführen.
JTAG
dead-dockstar-resurrected-with-jtag
Software
Hinweis zur Installation von neuer Software
Wenn man ein eigenes System installieren möchte, dann sollte man die Dockstar nicht an das Internet anschliessen, da sonst ssh deaktiviert wird. Hat man es doch getan, dann kann man die Installation über die Serielle Schnittstelle vornehmen.
neue Betriebssyteme
alternativer installer inclusive flasher http://github.com/gorgone/Gorgone-Dockstar-Installer inclusive gepatchtem kernel und build environment
ArchLinuxARM kann man auch recht einfach installieren, siehe: http://archlinuxarm.org/platforms/armv5/seagate-dockstar
Kernel kompilieren
Fertiger und öfters aktualisierter stable Kernel (3.0.x) für das Dockstar
Fertiger Kernel für das Dockstar
Beschreibung von Alexander Holler mit Patches, ...
Fertiges 2.6.35.7 Kernel package für das Dockstar incl led +i2c(Beitrag "new kernel package ready to use")
Fertiger 2.6.35.5 Kernel für das Dockstar (mehr Module für DVB & WLAN - depmod nach dem reboot aufrufen!)
Howto: Build a new Debian kernel with LED support
Es gibt ausserdem von Marvell ältere Kernel mit Unterstützung für die Hardware-Crypto-Engine. Gemessen wurden dabei 15MB/sec. Details folgen... (derzeit bootet dieser kernel nur auf dem original uboot per netz und ohne initrd, also muss noch ein neuer uboot her)
Ideen
- SPDIF Ausgang
- SPI
- I2C
- Mehr Ram/Flash --> Mehr Flash scheinbar nicht möglich, evtl. maximal 512MiB
- Anhängen eines kleinen µC an I2C oder die zweite serielle Schnittstelle für mehr Ein-/Ausgänge, andere Bussysteme uvm.
Siehe auch
- GoFlex Home Wiki Seite
- GoFlex Net Wiki Seite