Dockstar

Wechseln zu: Navigation, Suche

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[Bearbeiten]

20Euro Embedded System mit ARM, 128MB RAM und 256MB Flash

Seagate Dockstar als 300mbit Draft-N Access Point

Hardware[Bearbeiten]

Innenleben[Bearbeiten]

Photos auf yourwarrantyisvoid.com

Aufsteckplatine[Bearbeiten]

Dockstar_Extension_Board

UART/JTAG-Stecker[Bearbeiten]

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[Bearbeiten]

RTC nachrüsten[Bearbeiten]

Eine Real Time Clock nachzurüsten ist lt. Björn ganz einfach :

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[Bearbeiten]

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[Bearbeiten]

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[Bearbeiten]

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[Bearbeiten]

RTC

RTC_XOUT RTC_XIN RTC_AVSS (geht auf die Massefläche) RTC_AVDD (Batterieanschluss für die RTC)

RTC
Hier müssen die beiden Widerstände entfernt werden, da beide Pins mit 0Ω an Masse angeschlossen sind.
Oberseite Pins: 21, 22, 23, 28, 29, 30, 32, 35
Oberseite Pins: 1, 2, 3, 8, 12, 14, 15, 18, 19, 36, 37, 38, 40, 44, 46, 47, 49
Unterseite Pins:
Unterseite Pins: 0, 7, 9, 10, 13, 16, 17, 39, 45, 48

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[Bearbeiten]

via USB[Bearbeiten]

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[Bearbeiten]

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[Bearbeiten]

Zweite RS232[Bearbeiten]

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[Bearbeiten]

dead-dockstar-resurrected-with-jtag

Software[Bearbeiten]

Hinweis zur Installation von neuer Software[Bearbeiten]

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[Bearbeiten]

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[Bearbeiten]

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[Bearbeiten]

  • 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[Bearbeiten]