Posted: Sat Nov 14, 2009 10:12 Post subject: Gateworks Avila GW2348-4 mit Star-OS auf DD-WRT umflashen
Hallo,
ich versuch gerade eines meiner vielen Gateworks Avila Boards mit 8MB Flash und 64MB RAM von Star-OS auf DD-WRT umzuflashen.
Ich möchte DD-WRT mal auf einem oder zwei Boards ausprobieren und wenns mir gefällt wechsle ich bei allen von Star-OS zu DD-WRT.
Leider ist da aktuell kein RedBoot drauf sondern ein Valemount Networks BIOS.
Gibts vielleicht trotzdem eine Möglichkeit das ganze ohne JTAG zu machen? Hab keinen JTAG Aadapter da und auch noch keine praktische Erfahrung mit JTAG.
Ich würd mich über eine kurze Info freuen welche Möglichkeiten ich habe und gegebenenfalls wo ich (falls unvermeidlich) schnell einen brauchbaren JTAG Adapter für diese Aufgabe herbekommen.
also in deinem fall muss erst der original gateworks redboot drauf. das geht per jtag. bzw vlt per cli im staros. aba das hab ich noch nie probiert. _________________ Forum Guidelines...How to get help
&
Forum Rules
&
RTFM/STFW
&
Throw some buzzwords into the WIKI search
_________________
I'm NOT rude, just offer pure facts!
_________________
Atheros (TP-Link & Clones, etc ) debrick service in EU
_________________
Guide on HowTo be Safe, Secure and Protect Your Online Anonymity!
Hab mit einem älteren Notebook und dem Kommando "tjtag -probeonly" getestet. giveio.sys Treiber wurde installiert und aktiviert und die Parameter der LPT-Schnittstelle hab ich kontrolliert.
Leider ohne Reaktion vom Board.
Ich werd nochmal mit einem normalen PC und auch mit einer PCI LPT-Karte probieren. Angeblich haben viele Notebooks und Onboard LPT-Schnittstellen zu niedrige Spannungspegel. Alternativ könnt ich mir die Pegel natürlich auch am Oszilloskop anschauen.
Ich bin mir nicht sicher ob ich die "RST" Leitung des JTAG-Anschlusses auch brauche.
Nadem ich "RST" (Pin 3) über einen 100Ohm Widerstand mit "VCC" (Pin 1) verbunden habe, hat das Board angefangen auf "tjtag3 -probeonly" zu reagieren.
Habs aber leider nicht geschafft etwas damit auszulesen. Habs mit "tjtag3" und backup:cfe, backup:nvram, backup:custom, ... versucht.
Die Dateien mit den ausgelesenen Flashbereichen waren immer mit der gleichen Zeichenkette gefüllt.
Mit Hilfe von "urjtag 0.10" konnte ich jedoch den Flashspeicher meines GW2348-4 Boards auslesen. Hab mal probeweise den Speicherbereich vom Bootloader ausgelesen.
Für alle interessierten hier die Vorgehensweise:
1. "urjtag 0.10" unter Linux downloaden, kompilieren, installieren.
2. In der Konsole: sudo urjtag
3. In urjtag: "cable DLC5 parallel 0x378" (immer ohne Anführungszeichen" eintippen und Enter.
4. In urjtag: "detect" und Enter. CPU wird erkannt.
5. In urjtag: "detectflash 0" und Enter. Flashspeicher wird erkannt.
6. In urjtag: "endian big" und Enter. Von Little Endian auf Big Endian wechseln.
7. In urjtag: "readmem 0x50000000 0x00040000 Bootloader" und Enter.
8. In dem Verzeichnis aus welchem "sudo urjtag" aufgerufen wurde, wird automatisch die Datei "Bootloader" erstellt.
9. Wenn man die Datei mit einem Hexeditor (z.B. GHex) anschaut, findet man zum Beispiel die Zeichenkette "Valemount Networks ROM BIOS". Also wurde schonmal was sinnvolles ausgelesen.
Achtung:
Die Startadresse (0x50000000) und Größe (0x00040000) des auszulesenden Speicherbereichs habe ich mir von einer Seite über den "WGR826V" von Netgear abgeschaut. Ich gehe davon aus, dass diese nicht so einfach auf ein anderes Board (z.B. GW2348-4) übertragbar sind. Für einen ersten Test wars aber hilfreich.
Ich übernehm natürlich keine Garantie für obige Anleitung, also bitte mit Vorsicht an die Sache herangehen!
Ist alles schon relativ lange her. Ich versuch mich mal zu erinnern:
- Ich hab mir ein brauchbares USB-JTAG-Interface von Olimex gekauft.
- Ich hab mir eine funktionierende OpenOCD-Konfiguration für Olimex+Gateworks zusammengestöpselt.
- Ich hab von Valemount das originale Redboot Image angefordert weil ich ja eine etwas sonderbare Board-Version (8MB Flash, 64MB RAM) habe.
- Ich hab von Valemount-Bootloader auf Redboot umgeflasht.
- Danach hab ich über Redboot die Firmware streng nach Anleitung eingespielt.
- Letztendlich hat der Bootloader jedesmal gemeckert und ich konnte das Bootscript nur manuell ausführen.
Ich werd das Board gleich nochmal anschließen um zu berichten welche Fehlermeldung beim Booten kommt.
Würd mich freuen wenn ich das Problem beheben könnte. Dann kann ich endlich für alle Boards DD-WRT kaufen.
1. Gateworks Redboot-Image v2.04 geflasht.
2. Per TFTP DD-WRT eingespielt ("fis init -f", "load ...", "fis create linux")
3. Mit "fconfig -i" die Redboot-Konfiguration inkl. Boot-Script erstellt.
4. Ein Reboot bringt folgende Ausgabe:
Code:
+No devices on IDE controller 0
Trying NPE-B...success. Using NPE-B with PHY 0.
Ethernet eth0: MAC address 00:d0:12:02:22:04
IP: 192.168.3.2/255.255.255.0, Gateway: 0.0.0.0
Default server: 192.168.3.1
Check-Sum Failed, Reconfigure eeprom!
Each Option Time's Out in 5 seconds.
On Timeout, the default will be written to eeprom.
The default is the previous value in eeprom.
Press Enter to accept Default Value.
RedBoot(tm) bootstrap and debug environment [ROM]
Gateworks certified release, version 2.04 - built 09:21:53, Mar 4 2008
Platform: Gateworks Avila GW23XX (IXP42X 533MHz) BE
Model Number: <Not a string: 0xB678>
Manufacture Date: ff-ff-ffff
Copyright (C) 2000, 2001, 2002, 2003, 2004, 2007 Gateworks Corporation
RAM: 0x00000000-0x02000000, [0x00029f80-0x01fc1000] available
FLASH: 0x50000000 - 0x50800000, 64 blocks of 0x00020000 bytes each.
== Executing boot script in 5.000 seconds - enter ^C to abort
RedBoot>
"fconfig -l" sagt:
Code:
RedBoot> fconfig -l
Run script at boot: true
Boot script:
.. fis load linux
.. exec
Boot script timeout (100ms resolution): 50
Use BOOTP for network configuration: false
Gateway IP address: 0.0.0.0
Local IP address: 192.168.3.2
Local IP address mask: 255.255.255.0
Default server IP address: 192.168.3.1
Console baud rate: 115200
GDB connection port: 9000
Force console for special debug messages: false
Network debug at boot time: false
Default network device: npe_eth0
RedBoot>
Beim manuellen Booten von DD-WRT kommt folgende Ausgabe:
Code:
RedBoot> fis load linux
RedBoot> exec
EEPROM Checksum Invalid, Loading Default Value's
Linux Exec Address: 0x01000000
Using base address 0x00800000 and length 0x00707000
DD-WRT LZMA Loader v1.0
Arch ID is 526
Uncompressing Linux
uncompressed Size 3279604
..................................................................................................................
done, booting the kernel.
[ 0.000000] Linux version 2.6.24.111 (root@dd-wrt) (gcc version 4.3.2 (GCC) ) #3021 Sat Oct 10 01:56:26 CEST 209
[ 0.000000] CPU: XScale-IXP42x Family [690541c1] revision 1 (ARMv5TE), cr=000039ff
[ 0.000000] Machine: Gateworks Avila Network Platform
[ 0.000000] Memory policy: ECC disabled, Data cache writeback
[ 0.000000] CPU0: D VIVT write-back cache
[ 0.000000] CPU0: I cache: 32768 bytes, associativity 32, 32 byte lines, 32 sets
[ 0.000000] CPU0: D cache: 32768 bytes, associativity 32, 32 byte lines, 32 sets
[ 0.000000] Built 1 zonelists in Zone order. Total pages: 8128
[ 0.000000] Kernel command line: console=ttyS0,115200 panic=10 root=/dev/mtdblock2 rootfstype=squashfs,jffs2 nod
[ 0.000000] PID hash table entries: 128 (order: 7, 512 bytes)
[ 0.000000] Console: colour dummy device 80x30
[ 0.000000] Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
[ 0.000000] Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.000000] Memory: 32MB = 32MB total
[ 0.000000] Memory: 28948KB available (2984K code, 406K data, 100K init)
[ 0.250000] Mount-cache hash table entries: 512
[ 0.250000] CPU: Testing write buffer coherency: ok
[ 0.250000] NET: Registered protocol family 16
[ 0.250000] IXP4xx: Using 16MiB expansion bus window size
[ 0.250000] Gateworks Model �����������������E� detected!
[ 0.260000] PCI: IXP4xx is host
[ 0.260000] PCI: IXP4xx Using direct access for memory space
[ 0.260000] PCI: bus0: Fast back to back transfers enabled
[ 0.270000] SCSI subsystem initialized
[ 0.300000] NET: Registered protocol family 2
[ 0.310000] Time: OSTS clocksource has been installed.
[ 0.390000] IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.390000] TCP established hash table entries: 1024 (order: 1, 8192 bytes)
[ 0.390000] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.390000] TCP: Hash tables configured (established 1024 bind 1024)
[ 0.390000] TCP reno registered
[ 0.420000] devfs: 2004-01-31 Richard Gooch (rgooch@atnf.csiro.au)
[ 0.420000] devfs: boot_options: 0x1
[ 0.420000] squashfs: version 3.0 (2006/03/15) Phillip Lougher
[ 0.420000] io scheduler noop registered
[ 0.420000] io scheduler deadline registered (default)
[ 0.840000] ixp425_gpio: IXP425 GPIO driver loaded
[ 0.840000] Serial: 8250/16550 driver $Revision: 1.90 $ 10 ports, IRQ sharing disabled
[ 0.850000] serial8250.0: ttyS0 at MMIO 0xc8000000 (irq = 15) is a XScale
[ 0.850000] console [ttyS0] enabled
[ 0.860000] serial8250.0: ttyS1 at MMIO 0xc8001000 (irq = 13) is a XScale
[ 0.870000] loop: module loaded
[ 0.880000] nbd: registered device at major 43
[ 0.890000] PPP generic driver version 2.4.2
[ 0.900000] PPP Deflate Compression module registered
[ 0.900000] PPP BSD Compression module registered
[ 0.910000] MPPE/MPPC encryption/compression module registered
[ 0.910000] NET: Registered protocol family 24
[ 0.920000] tun: Universal TUN/TAP device driver, 1.6
[ 0.920000] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
[ 0.930000] Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
[ 0.930000] ide: Assuming 50MHz system bus speed for PIO modes; override with idebus=xx
[ 0.940000] try to reserve 0x50000000 with size of 0x01000000
[ 0.950000] IXP4XX-Flash.0: Found 1 x16 devices at 0x0 in 16-bit bank
[ 0.960000] Intel/Sharp Extended Query Table at 0x0031
[ 0.960000] Using buffer write method
[ 0.970000] cfi_cmdset_0001: Erase suspend on write enabled
[ 0.970000] scanning for root partition
<0>[0x001A0000][0x00000000]
[ 1.000000] found squashfs/jffs2 at 1A0000
[ 1.000000] scan redboot from c37e0000
[ 1.000000] found RedBoot partition at [0x50000000]
[ 1.010000] found RedBoot config partition at [0x507FF000]
[ 1.010000] found config partition at [0x507E0000]
[ 1.020000] found linux partition at [0x50080000]
[ 1.020000] Creating 9 MTD partitions on "IXP4XX-Flash.0":
[ 1.030000] 0x00000000-0x00080000 : "RedBoot"
[ 1.040000] 0x00080000-0x007a0000 : "linux"
[ 1.040000] 0x001a0000-0x007a0000 : "rootfs"
[ 1.040000] 0x007a0000-0x00800000 : "ddwrt"
[ 1.050000] 0x007a0000-0x007c0000 : "mampf"
[ 1.050000] 0x007c0000-0x007e0000 : "nvram"
[ 1.060000] 0x007e0000-0x00800000 : "FIS directory"
[ 1.070000] 0x007ff000-0x0081f000 : "RedBoot config"
[ 1.070000] mtd: partition "RedBoot config" extends beyond the end of device "IXP4XX-Flash.0" -- size truncated0
[ 1.080000] mtd: partition "RedBoot config" doesn't start on an erase block boundary -- force read-only
[ 1.090000] 0x00000000-0x00800000 : "fullflash"
[ 1.100000] i2c /dev entries driver
[ 1.110000] Mirror/redirect action on
[ 1.120000] u32 classifier
[ 1.120000] Actions configured
[ 1.120000] Netfilter messages via NETLINK v0.30.
[ 1.130000] nf_conntrack version 0.5.0 (1024 buckets, 4096 max)
[ 1.130000] ctnetlink v0.93: registering with nfnetlink.
[ 1.140000] ip_tables: (C) 2000-2006 Netfilter Core Team
[ 1.140000] IPP2P v0.8.2 loading
[ 1.150000] ipt_random match loaded
[ 1.150000] ClusterIP Version 0.8 loaded successfully
[ 1.160000] TCP bic registered
[ 1.160000] TCP cubic registered
[ 1.160000] TCP westwood registered
[ 1.170000] TCP highspeed registered
[ 1.170000] TCP hybla registered
[ 1.170000] TCP htcp registered
[ 1.180000] TCP vegas registered
[ 1.180000] TCP scalable registered
[ 1.180000] NET: Registered protocol family 1
[ 1.190000] NET: Registered protocol family 17
[ 1.190000] Welcome to PF_RING 3.2.1
[ 1.190000] (C) 2004-06 L.Deri <deri@ntop.org>
[ 1.200000] NET: Registered protocol family 27
[ 1.200000] PF_RING: bucket length 128 bytes
[ 1.210000] PF_RING: ring slots 4096
[ 1.210000] PF_RING: sample rate 1 [1=no sampling]
[ 1.220000] PF_RING: capture TX No [RX only]
[ 1.220000] PF_RING: transparent mode Yes
[ 1.230000] PF_RING initialized correctly.
[ 1.230000] PF_RING: registered /proc/net/pf_ring/
[ 1.240000] 802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com>
[ 1.240000] All bugs added by David S. Miller <davem@redhat.com>
[ 1.250000] XScale DSP coprocessor detected.
[ 1.280000] drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
[ 1.290000] VFS: Mounted root (squashfs filesystem) readonly.
[ 1.310000] Mounted devfs on /dev
[ 1.310000] Freeing init memory: 100K
starting Architecture code for gateworx
mount devices
create folders
set console loglevel
try modules for ethernet adapters
load HAL Driver
load ATH Driver
load IXP helper
load IXP Core Driver
load IXP Ethernet Driver
initialize Ethernet
Load OCF Drivers
Load Sensor Driver
Read MAC Addresses from EEPROM
phy id 13:7A11
Detect additional Device capabilities
Load Hardware Watchdog
blink led
Enable Watchdog
hwclock: can't open '/dev/misc/rtc': No such file or directory
tar: invalid gzip magic
phy id 13:7A11
phy id 13:7A11
phy id 13:7A11
phy id 13:7A11
phy id 13:7A11
phy id 13:7A11
killall: ead: no process killed
sh: ead: not found
killall: roaming_daemon: no process killed
ifconfig: ioctl 0x8913 failed: No such device
rmmod: bonding: No such file or directory
cp: cannot stat '/tmp/mycron.d/*': No such file or directory
cp: cannot stat '/jffs/mycron.d/*': No such file or directory
cp: cannot stat '/mmc/mycron.d/*': No such file or directory
rmmod: n_hdlc: No such file or directory
ifconfig: ioctl 0x8913 failed: No such device
SIOCGIFFLAGS: No such device
No such device
rmmod: nf_nat_pptp: No such file or directory
SIOCGIFFLAGS: No such device
rmmod: nf_conntrack_pptp: No such file or directory
rmmod: nf_nat_proto_gre: No such file or directory
rmmod: nf_conntrack_proto_gre: No such file or directory
SIOCGIFFLAGS: No such device
SIOCGIFFLAGS: No such device
SIOCGIFFLAGS: No such device
SIOCGIFFLAGS: No such device
phy id 13:7A11
phy id 13:7A11
connect: Network is unreachable
connect: Network is unreachable
connect: Network is unreachable
gethostbyname: Network is unreachable
rmmod: ipt_webstr: No such file or directory
rmmod: ipt_layer7: No such file or directory
rmmod: ipt_ipp2p: No such file or directory
rmmod: ebt_dnat: No such file or directory
rmmod: ebt_snat: No such file or directory
rmmod: ebt_mark_m: No such file or directory
rmmod: ebt_mark: No such file or directory
rmmod: ebtable_filter: No such file or directory
rmmod: ebtable_nat: No such file or directory
rmmod: ebtables: No such file or directory
rmmod: imq: No such file or directory
SIOCGIFFLAGS: No such device
SIOCGIFFLAGS: No such device
SIOCGIFFLAGS: No such device
SIOCGIFFLAGS: No such device
SIOCGIFFLAGS: No such device
SIOCGIFFLAGS: No such device
rmmod: ipt_webstr: No such file or directory
rmmod: ipt_layer7: No such file or directory
rmmod: ipt_ipp2p: No such file or directory
rmmod: ebt_dnat: No such file or directory
rmmod: ebt_snat: No such file or directory
rmmod: ebt_mark_m: No such file or directory
rmmod: ebt_mark: No such file or directory
rmmod: ebtable_filter: No such file or directory
rmmod: ebtable_nat: No such file or directory
rmmod: ebtables: No such file or directory
rmmod: imq: No such file or directory
SIOCGIFFLAGS: No such device
SIOCGIFFLAGS: No such device
SIOCGIFFLAGS: No such device
SIOCGIFFLAGS: No such device
SIOCGIFFLAGS: No such device
SIOCGIFFLAGS: No such device
rmmod: ipt_webstr: No such file or directory
rmmod: ipt_layer7: No such file or directory
rmmod: ipt_ipp2p: No such file or directory
rmmod: ebt_dnat: No such file or directory
rmmod: ebt_snat: No such file or directory
rmmod: ebt_mark_m: No such file or directory
rmmod: ebt_mark: No such file or directory
rmmod: ebtable_filter: No such file or directory
rmmod: ebtable_nat: No such file or directory
rmmod: ebtables: No such file or directory
rmmod: imq: No such file or directory
connect: Network is unreachable
connect: Network is unreachable
connect: Network is unreachable
gethostbyname: Network is unreachable
Vielleicht habe ich einfach nur eine falsche Redboot-Version. Immerhin sagt er beim Booten dass nur 32MB RAM verfügbar sind. Sollten aber 64MB sein. Ich kann mich aber erinnern gelesen zu haben dass dieses Redboot-Image für alle RAM-Größen passend sein soll.
Code:
RAM: 0x00000000-0x02000000, [0x00029f80-0x01fc1000] available
Dieses Image sollte für verschiedenen RAM-Größen geeignet sein.
Ich bekomme beim Booten noch folgende Meldungen. Vielleicht kann mir jemand sagen ob die harmlos bzw. normal sind:
Code:
rmmod: nf_nat_pptp: No such file or directory
SIOCGIFFLAGS: No such device
rmmod: nf_conntrack_pptp: No such file or directory
rmmod: nf_nat_proto_gre: No such file or directory
rmmod: nf_conntrack_proto_gre: No such file or directory
SIOCGIFFLAGS: No such device
SIOCGIFFLAGS: No such device
SIOCGIFFLAGS: No such device
SIOCGIFFLAGS: No such device
connect: Network is unreachable
connect: Network is unreachable
connect: Network is unreachable
gethostbyname: Network is unreachable
rmmod: ipt_webstr: No such file or directory
rmmod: ipt_layer7: No such file or directory
rmmod: ipt_ipp2p: No such file or directory
rmmod: ebt_dnat: No such file or directory
rmmod: ebt_snat: No such file or directory
rmmod: ebt_mark_m: No such file or directory
rmmod: ebt_mark: No such file or directory
rmmod: ebtable_filter: No such file or directory
rmmod: ebtable_nat: No such file or directory
rmmod: ebtables: No such file or directory
rmmod: imq: No such file or directory
SIOCGIFFLAGS: No such device
SIOCGIFFLAGS: No such device
SIOCGIFFLAGS: No such device
SIOCGIFFLAGS: No such device
SIOCGIFFLAGS: No such device
SIOCGIFFLAGS: No such device
rmmod: ipt_webstr: No such file or directory
rmmod: ipt_layer7: No such file or directory
rmmod: ipt_ipp2p: No such file or directory
rmmod: ebt_dnat: No such file or directory
rmmod: ebt_snat: No such file or directory
rmmod: ebt_mark_m: No such file or directory
rmmod: ebt_mark: No such file or directory
rmmod: ebtable_filter: No such file or directory
rmmod: ebtable_nat: No such file or directory
rmmod: ebtables: No such file or directory
rmmod: imq: No such file or directory
SIOCGIFFLAGS: No such device
SIOCGIFFLAGS: No such device
SIOCGIFFLAGS: No such device
SIOCGIFFLAGS: No such device
SIOCGIFFLAGS: No such device
SIOCGIFFLAGS: No such device
rmmod: ipt_webstr: No such file or directory
rmmod: ipt_layer7: No such file or directory
rmmod: ipt_ipp2p: No such file or directory
rmmod: ebt_dnat: No such file or directory
rmmod: ebt_snat: No such file or directory
rmmod: ebt_mark_m: No such file or directory
rmmod: ebt_mark: No such file or directory
rmmod: ebtable_filter: No such file or directory
rmmod: ebtable_nat: No such file or directory
rmmod: ebtables: No such file or directory
rmmod: imq: No such file or directory