• Home
  • Help
  • Search
  • Login
  • Register
Pages: [1] 2
Author Topic: Guruplug Server Plus - U-Boot Does Not Appear to Run  (Read 7265 times)
mihanson
Newbie
*

Karma: 0
Posts: 8


View Profile
« on: May 08, 2010, 11:33:49 PM »

Hi all,

Just got my Guruplug Server Plus from Globalscale a few days ago and I already appeared to have bricked it.  I'm hoping for some advice on how to un-brick it.  I have the JTAG module with mini-usb.

The plug was booting fine and I was able to ssh into it and have a look.  I decided I wanted to set a static ip and then things went downhill.  I edited /etc/network/interfaces to set eth0 to static with an address of 192.168.1.10, netmask 255.255.255.0 and gateway 192.168.1.1 (my router which does have DHCP enabled).  I rebooted the plug and via the serial console I could see it got stuck in a loop.  It seemingly would get thru the boot process, then start all over again...over and over.  For the life of me I could not figure out why.

Long story short, I decided to use the guruplug-installer from http://www.plugcomputer.org/plugwiki/index.php/Reflashing_images_on_the_GuruPlug.  It completed fine, but now I get no serial console output and the plug does not seem to do anything.  One green light at the top is lit, but nothing else.  "The light is on, but nobody is home."  Wink

Anyone have ideas on how I can revive this this thing?  I've been using linux for about 5 years now, but I'm by no means an expert.  I'd say I'm a "poweruser."  I know enough to be dangerous.
Logged

flipflip
Jr. Member
**

Karma: 4
Posts: 50


Hopplaschorsch!


View Profile
« Reply #1 on: May 11, 2010, 04:38:25 PM »

The installer (runme.sh) worked fine for me when I bricked it with a faulty u-boot image. It actually worked fine a couple of times.
Have you re-connected the serial terminal (I used "screen /dev/ttyUSB0 115200", but minicom should work as well) after using the installer?
Logged

GPS+ Debian Squeeze AP router firewall dhcpd named NAS Squeezebox OpenVPN All running fine.

prafulla
Global Moderator
Newbie
*****

Karma: 0
Posts: 21


View Profile
« Reply #2 on: May 13, 2010, 12:26:17 AM »

May be below link will be usefull for you

http://www.plugcomputer.org/plugwiki/index.php/Das_U-boot_plug_support

process is same for guruplug.
Logged

mihanson
Newbie
*

Karma: 0
Posts: 8


View Profile
« Reply #3 on: May 13, 2010, 04:16:20 PM »

Thanks for the suggestions.  I now just need some time to play. Smiley
« Last Edit: May 13, 2010, 04:27:39 PM by mihanson » Logged

mihanson
Newbie
*

Karma: 0
Posts: 8


View Profile
« Reply #4 on: May 15, 2010, 11:29:00 PM »

flipflip:

I'm using screen and the same settings as you.  I also tried putty with the same results (nothing displayed).  When I use the Guruplug-installer menthod here's my output:

Code:
[root@desktop guruplug-installer]# ./runme.sh openocd/uboot.bin
cp: `openocd/uboot.bin' and `openocd/uboot.bin' are the same file
 ****     Preparing environment variables file ...
 ****   Burning uboot and environment variables ... This will take few minutes ...
Open On-Chip Debugger 0.2.0-in-development (2009-05-17-10:32) svn:1800M


BUGS? Read http://svn.berlios.de/svnroot/repos/openocd/trunk/BUGS


$URL: http://svn.berlios.de/svnroot/repos/openocd/trunk/src/openocd.c $
2000 kHz
dcc downloads are enabled
Info : JTAG tap: feroceon.cpu tap/device found: 0xfc0000e3 (Manufacturer: 0x071, Part: 0xc000, Version: 0xf)
Error: JTAG tap: feroceon.cpu             got: 0xfc0000e3 (mfg: 0x071, part: 0xc000, ver: 0xf)
Error: JTAG tap: feroceon.cpu expected 1 of 1: 0x20a023d3 (mfg: 0x1e9, part: 0x0a02, ver: 0x2)
Error: trying to validate configured JTAG chain anyway...
Warn : value captured during scan didn't pass the requested check:
Warn : captured: 0x00 check_value: 0x01 check_mask: 0x0F
Warn : no telnet port specified, using default port 4444
Warn : no gdb port specified, using default port 3333
Warn : no tcl port specified, using default port 6666
Error: unknown EmbeddedICE version (comms ctrl: 0x00000018)
Error: timed out while waiting for target halted
Runtime error, file "./openocd/./board/guruplug.cfg", line 24:
   
 ****   openocd FAILED
 ****   Is the mini USB cable connected?
 ****   Try powering down, then replugging the Sheevaplug

I can unplug and replug (as well as reboot my computer) until the cows come home, but I never get any further.

prafulla:

I checked out the link and cloned the git repo.  I was able to sucessfuly build a u-boot.bin and u-boot.kwb.  I substituted each of those images for the guruplug installer and I still could not make any headway.  Exact same output as above.  I then installed openocd locally from git and tried to reconstruct the runme.sh bash script one command at a time.
Code:
[root@desktop openocd]# openocd -f ./board/guruplug.cfg
Open On-Chip Debugger 0.5.0-dev-00235-g9597dce (2010-05-14-12:32)
Licensed under GNU GPL v2
For bug reports, read
        http://openocd.berlios.de/doc/doxygen/bugs.html
2000 kHz
trst_and_srst separate srst_gates_jtag trst_push_pull srst_open_drain
adapter_nsrst_delay: 200
jtag_ntrst_delay: 200
dcc downloads are enabled
Error: No valid NAND flash driver found (0)
Available NAND flash controller drivers:
  nonce
  davinci
  lpc3180
  orion
  s3c2410
  s3c2412
  s3c2440
  s3c2443
  s3c6400  imx31
  at91sam9
Info : clock speed 2000 kHz
Info : JTAG tap: feroceon.cpu tap/device found: 0xfc0000e3 (mfg: 0x071, part: 0xc000, ver: 0xf)
Warn : JTAG tap: feroceon.cpu       UNEXPECTED: 0xfc0000e3 (mfg: 0x071, part: 0xc000, ver: 0xf)
Error: JTAG tap: feroceon.cpu  expected 1 of 1: 0x20a023d3 (mfg: 0x1e9, part: 0x0a02, ver: 0x2)
Warn : Unexpected idcode after end of chain: 32 0x00000007
Warn : Unexpected idcode after end of chain: 64 0x0000007f
Warn : Unexpected idcode after end of chain: 96 0x0000007f
Warn : Unexpected idcode after end of chain: 128 0x0000007f
Warn : Unexpected idcode after end of chain: 160 0x0000007f
Warn : Unexpected idcode after end of chain: 192 0x0000007f
Warn : Unexpected idcode after end of chain: 224 0x0000007f
Warn : Unexpected idcode after end of chain: 256 0x0000007f
Warn : Unexpected idcode after end of chain: 288 0x0000007f
Warn : Unexpected idcode after end of chain: 320 0x0000007f
Warn : Unexpected idcode after end of chain: 352 0x0000007f
Warn : Unexpected idcode after end of chain: 384 0x0000007f
Warn : Unexpected idcode after end of chain: 416 0x0000007f
Warn : Unexpected idcode after end of chain: 448 0x0000007f
Warn : Unexpected idcode after end of chain: 480 0x0000007f
Warn : Unexpected idcode after end of chain: 512 0x0000007f
Warn : Unexpected idcode after end of chain: 544 0x0000007f
Warn : Unexpected idcode after end of chain: 576 0x0000007f
Warn : Unexpected idcode after end of chain: 608 0x0000007f
Error: double-check your JTAG setup (interface, speed, missing TAPs, ...)
Info : JTAG tap: feroceon.cpu tap/device found: 0xfc0000e3 (mfg: 0x071, part: 0xc000, ver: 0xf)
Warn : JTAG tap: feroceon.cpu       UNEXPECTED: 0xfc0000e3 (mfg: 0x071, part: 0xc000, ver: 0xf)
Error: JTAG tap: feroceon.cpu  expected 1 of 1: 0x20a023d3 (mfg: 0x1e9, part: 0x0a02, ver: 0x2)
Warn : Unexpected idcode after end of chain: 32 0x00000007
Warn : Unexpected idcode after end of chain: 64 0x0000007f
Warn : Unexpected idcode after end of chain: 96 0x0000007f
Warn : Unexpected idcode after end of chain: 128 0x0000007f
Warn : Unexpected idcode after end of chain: 160 0x0000007f
Warn : Unexpected idcode after end of chain: 192 0x0000007f
Warn : Unexpected idcode after end of chain: 224 0x0000007f
Warn : Unexpected idcode after end of chain: 256 0x0000007f
Warn : Unexpected idcode after end of chain: 288 0x0000007f
Warn : Unexpected idcode after end of chain: 320 0x0000007f
Warn : Unexpected idcode after end of chain: 352 0x0000007f
Warn : Unexpected idcode after end of chain: 384 0x0000007f
Warn : Unexpected idcode after end of chain: 416 0x0000007f
Warn : Unexpected idcode after end of chain: 448 0x0000007f
Warn : Unexpected idcode after end of chain: 480 0x0000007f
Warn : Unexpected idcode after end of chain: 512 0x0000007f
Warn : Unexpected idcode after end of chain: 544 0x0000007f
Warn : Unexpected idcode after end of chain: 576 0x0000007f
Warn : Unexpected idcode after end of chain: 608 0x0000007f
Error: double-check your JTAG setup (interface, speed, missing TAPs, ...)
Command handler execution failed
Warn : jtag initialization failed; try 'jtag init' again.
^C

I have not changed anything in any of the .cfg files.  Re: JTAG setup error:  The target .cfg (again, unaltered) looks like this:
Code:
[root@desktop openocd]# cat target/feroceon.cfg
######################################
# Target:    Marvell Feroceon CPU core
######################################

if { [info exists CHIPNAME] } {
   set  _CHIPNAME $CHIPNAME   
} else {         
   set  _CHIPNAME feroceon
}

if { [info exists ENDIAN] } {   
   set  _ENDIAN $ENDIAN   
} else {         
   set  _ENDIAN little
}

if { [info exists CPUTAPID ] } {
   set _CPUTAPID $CPUTAPID
} else {
   set _CPUTAPID 0x20a023d3
}

jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID
set _TARGETNAME [format "%s.cpu" $_CHIPNAME]
target create $_TARGETNAME feroceon -endian $_ENDIAN -chain-position $_TARGETNAME

reset_config trst_and_srst
jtag_nsrst_delay 200
jtag_ntrst_delay 200

The NAND flash driver error does not appear when I run the openocd from the guru-installer, so I'm not sure what to do about that one.  I'm at a loss.  No lights on the guruplug server plus except the lone green one at the top.  Any other suggestions?
Logged

flipflip
Jr. Member
**

Karma: 4
Posts: 50


Hopplaschorsch!


View Profile
« Reply #5 on: May 16, 2010, 10:54:40 AM »

I once had trouble flashing the u-boot with opencd after I installed a non-working one. Eventually, after many power cycles and retries, the "runme.sh" script was able to flash it again. I *think* it helped to unplug the guruplug (from mains) *and* the jtag box (from usb), then reconnect both, and then rather quickly run the "runme.sh".

Never had the problem since then (although I haven't played a lot with the plug this weekend, i.e. not at all :-).
Logged

GPS+ Debian Squeeze AP router firewall dhcpd named NAS Squeezebox OpenVPN All running fine.

mihanson
Newbie
*

Karma: 0
Posts: 8


View Profile
« Reply #6 on: May 19, 2010, 10:45:59 PM »

I once had trouble flashing the u-boot with opencd after I installed a non-working one. Eventually, after many power cycles and retries, the "runme.sh" script was able to flash it again. I *think* it helped to unplug the guruplug (from mains) *and* the jtag box (from usb), then reconnect both, and then rather quickly run the "runme.sh".

I never would have thought just rapidly running the runme.sh after I plug the guruplug in would have worked, but gee, golly!  I was able to successfully flash u-boot with open u-boot!  More deatil as to what I exactly did...

First, you'll need to install some type of cross-compile enviorment if you are not doing this natively on the plug.  I used the ELDKCross-compile u-boot from the Das U-Boot git repo.  Follow steps 2.1 and 2.2.  Note "make mrproper" did not work for me.  I had to "make distclean" instead

Next, I created a bash script that would loop the runme.sh until it exited with a zero (success) status.

Code:
mihanson ~  $  cat /usr/local/bin/flash_guruplug.sh
#!/bin/bash
#set -x

IMAGE=/path/to/guruplug/u-boot-marvell.git/u-boot.kwb
ERROR=1

cd /path/to/guruplug/guruplug-installer

while [ $ERROR -ne 0 ] ; do
sudo ./runme.sh $IMAGE
ERROR=$?
done
Note: Replace all "/path/to"

Then, untar the guruplug-installer.  Remove (or comment out with a #) line 31 of runme.sh (exit).  This will allow the script to return a non-zero status if it fails to flash sucessfully.

Plug in your usb jtag unit.

Open a screen (or putty, etc) session to see console out of the guruplug.  You'll see nothing for now.

As you plug in your guruplug, quickly execute your new looping wrapper script we created above.  If all goes well, you'll flash your guruplug and the loop wil exit with a zero status (uncomment set -x if you want to see what the script is doing).  It may take several loops of the script or unplugging and re-plugging of the guru.

Switch over to your screen (or putty, etc) session and see the u-boot magic!  My kernel does not load, but I'll get to that later.  I'm just happy to have u-boot running again for the time being.

Thanks for the help everyone.  I hope this can help someone else.   Grin
Logged

flipflip
Jr. Member
**

Karma: 4
Posts: 50


Hopplaschorsch!


View Profile
« Reply #7 on: May 20, 2010, 01:13:06 AM »

Excellent!

Btw, I had a similar experience when trying to start kernels (the shipped one and one I made myself) from my changed u-boot. It just wouldn't load. It'll say "Loading kernel.. ok" (or similar) and then just halt. I'm not sure what it was but after a couple of tries (rarp/tftp-ing the kernel, flashing, re-loading from flash) and a day or two later it would boot and it has been booting fine ever since.

Conclusion: keep trying if stuff doesn't work out of the box. And power-cycling helps, too.

:-)
Logged

GPS+ Debian Squeeze AP router firewall dhcpd named NAS Squeezebox OpenVPN All running fine.

Kev
Newbie
*

Karma: 0
Posts: 9


View Profile
« Reply #8 on: June 01, 2010, 10:23:54 AM »

Hi,

I tried your tips but without success.

My Error message is a little bit different then yours:
Code:
$ sudo ./runme.sh ../uboot.guruplug.bin

 ****     Preparing environment variables file ...
 **** Burning uboot and environment variables ... This will take few minutes ...
Open On-Chip Debugger 0.2.0-in-development (2009-05-17-10:32) svn:1800M


BUGS? Read http://svn.berlios.de/svnroot/repos/openocd/trunk/BUGS


$URL: http://svn.berlios.de/svnroot/repos/openocd/trunk/src/openocd.c $
2000 kHz
dcc downloads are enabled
Info : JTAG tap: feroceon.cpu tap/device found: 0xfc0000e3 (Manufacturer: 0x071, Part: 0xc000, Version: 0xf)
Error: JTAG tap: feroceon.cpu             got: 0xfc0000e3 (mfg: 0x071, part: 0xc000, ver: 0xf)
Error: JTAG tap: feroceon.cpu expected 1 of 1: 0x20a023d3 (mfg: 0x1e9, part: 0x0a02, ver: 0x2)
Error: trying to validate configured JTAG chain anyway...
Error: unknown EmbeddedICE version (comms ctrl: 0x00000008)
Error: unexpected Feroceon EICE version signature
Warn : no telnet port specified, using default port 4444
Warn : no gdb port specified, using default port 3333
Warn : no tcl port specified, using default port 6666
Error: unexpected Feroceon EICE version signature
Error: timed out while waiting for target halted
Runtime error, file "./openocd/./board/guruplug.cfg", line 24:
   
 **** openocd FAILED
 **** Is the mini USB cable connected?
 **** Try powering down, then replugging the Sheevaplug


Any ideas?

I'm on ubuntu 10.04. I tried to reconnect it and the JTag Board very often.
Logged

mihanson
Newbie
*

Karma: 0
Posts: 8


View Profile
« Reply #9 on: June 01, 2010, 01:03:18 PM »

Hi,

I tried your tips but without success.

My Error message is a little bit different then yours:
Code:
$ sudo ./runme.sh ../uboot.guruplug.bin

 ****     Preparing environment variables file ...
 **** Burning uboot and environment variables ... This will take few minutes ...
Open On-Chip Debugger 0.2.0-in-development (2009-05-17-10:32) svn:1800M


BUGS? Read http://svn.berlios.de/svnroot/repos/openocd/trunk/BUGS


$URL: http://svn.berlios.de/svnroot/repos/openocd/trunk/src/openocd.c $
2000 kHz
dcc downloads are enabled
Info : JTAG tap: feroceon.cpu tap/device found: 0xfc0000e3 (Manufacturer: 0x071, Part: 0xc000, Version: 0xf)
Error: JTAG tap: feroceon.cpu             got: 0xfc0000e3 (mfg: 0x071, part: 0xc000, ver: 0xf)
Error: JTAG tap: feroceon.cpu expected 1 of 1: 0x20a023d3 (mfg: 0x1e9, part: 0x0a02, ver: 0x2)
Error: trying to validate configured JTAG chain anyway...
Error: unknown EmbeddedICE version (comms ctrl: 0x00000008)
Error: unexpected Feroceon EICE version signature
Warn : no telnet port specified, using default port 4444
Warn : no gdb port specified, using default port 3333
Warn : no tcl port specified, using default port 6666
Error: unexpected Feroceon EICE version signature
Error: timed out while waiting for target halted
Runtime error, file "./openocd/./board/guruplug.cfg", line 24:
   
 **** openocd FAILED
 **** Is the mini USB cable connected?
 **** Try powering down, then replugging the Sheevaplug


Any ideas?

I'm on ubuntu 10.04. I tried to reconnect it and the JTag Board very often.

It looks to me that your JTAG is not recognized properly.  I'm not sure what module you would need with Ubuntu.  I use Arch Linux and I had to load the ftdi_sio module with specific options.  For me, these options were a vendor id and product id.  You can try them by first unloading the ftdi_sio module and reloading it with the proper vendor id and product id.

Code:
# modprobe -r ftdi_sio && modprobe ftdi_sio vendor=0x9e88 product=0x9e8f

If that works, you can add options for the ftdi_sio module to /etc/modprobe.d/ftdi_sio.conf.

Quote
mihanson ~  $  cat /etc/modprobe.d/ftdi_sio.conf
options ftdi_sio vendor=0x9e88 product=0x9e8f
Logged

llindner
Newbie
*

Karma: 1
Posts: 2


View Profile
« Reply #10 on: June 02, 2010, 08:16:34 AM »

Hi,

I have the same problem. I replugged very often the mini-USB Adapter and the guruplug itself, also I tried the "bruteforcing" method with flash-guruplug.sh.

Code:
****     Preparing environment variables file ...
 ****   Burning uboot and environment variables ... This will take few minutes ...
Open On-Chip Debugger 0.2.0-in-development (2009-05-17-10:32) svn:1800M


BUGS? Read http://svn.berlios.de/svnroot/repos/openocd/trunk/BUGS


$URL: http://svn.berlios.de/svnroot/repos/openocd/trunk/src/openocd.c $
2000 kHz
dcc downloads are enabled
Info : JTAG tap: feroceon.cpu tap/device found: 0xfc0000e3 (Manufacturer: 0x071, Part: 0xc000, Version: 0xf)
Error: JTAG tap: feroceon.cpu             got: 0xfc0000e3 (mfg: 0x071, part: 0xc000, ver: 0xf)
Error: JTAG tap: feroceon.cpu expected 1 of 1: 0x20a023d3 (mfg: 0x1e9, part: 0x0a02, ver: 0x2)
Error: trying to validate configured JTAG chain anyway...
Error: unknown EmbeddedICE version (comms ctrl: 0x00000008)
Error: unexpected Feroceon EICE version signature
Warn : no telnet port specified, using default port 4444
Warn : no gdb port specified, using default port 3333
Warn : no tcl port specified, using default port 6666
Error: unexpected Feroceon EICE version signature
Error: invalid mode value encountered
Error: cpsr contains invalid mode value - communication failure
Runtime error, file "./openocd/./board/guruplug.cfg", line 24:

 ****   openocd FAILED
 ****   Is the mini USB cable connected?
 ****   Try powering down, then replugging the Sheevaplug

I tried to run the runme.sh with another version of openocd,  0.3.1 release and current git checkout, but output looks even worse.

Do you really need these module options for ftdi_sio to run with GuruPlug Server Plus? I used serial console very often, but I don't think that any options were used for ftdi_sio, so now I'm unsure if I should make the next tests with or without them. Don't want to doublecheck every next step with and without options.

There is a similar thread in a german forum:
http://www.sheevaplug.de/component/kunena/34-software/1947-guruplug-abgeschossen-alternativer-zugriff.html
One user there says, he was only able to run the process successfully with Fedora 11 in vmware, but not with Fedora 12 and also not with Debian Lenny and OSX. That's why I tested among Linux Vanilla 2.6.34 also Linux Vanilla 2.6.32.13, because I think the delivered openocd-0.20-in-development is not the only requirement, but it didn't make a difference.
Logged

mihanson
Newbie
*

Karma: 0
Posts: 8


View Profile
« Reply #11 on: June 02, 2010, 10:59:43 AM »

Do you really need these module options for ftdi_sio to run with GuruPlug Server Plus?

I needed them.
Logged

llindner
Newbie
*

Karma: 1
Posts: 2


View Profile
« Reply #12 on: June 03, 2010, 03:17:47 PM »

Thanks.

My GuruPlug is up and running again, solution was to use just another USB-port.... arrgh Wink
Didn't thought of something like that, because serial console was always running fine while configuring u-boot, only runme.sh failed.
Logged

Kev
Newbie
*

Karma: 0
Posts: 9


View Profile
« Reply #13 on: June 07, 2010, 12:11:23 PM »

Thanks for the answers.

The solution in my case was simple to restart the computer...

Didn't need to load the module with special arguments.
Logged

mikestaszel
Newbie
*

Karma: 3
Posts: 10


View Profile
« Reply #14 on: June 10, 2010, 08:13:40 PM »

I'm having the KeepAlive error...sorry but none of the suggestions are helping. I modprobe'd ftdi_sio with the right vendor and product (it matches the openocd output) and have plugged in the plug right after powering it on and everything...yeah pretty much everything. It just sits there echoing the KeepAlive error.

I'm on Fedora 11 x86 right now, but I've tried it on an Ubuntu 10.04 x86_64 and Fedora 13 machine as well. All of them had the same error.

Edit: Took about 500 retries - and it worked at random. Just had to keep trying, again and again and again. Total time wasted: 4 hours. That's when I found out U-Boot on GuruPlug doesn't support ext2load! That was the whole point in my trying.  Embarrassed
« Last Edit: June 11, 2010, 08:27:05 AM by mikestaszel » Logged

Pages: [1] 2
Print
Jump to: