|
|
 |
« 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."  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!
|
 |
« 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.
|
|
|
|
|
|
|
|
 |
« Reply #3 on: May 13, 2010, 04:16:20 PM » |
|
Thanks for the suggestions. I now just need some time to play. 
|
|
|
|
« Last Edit: May 13, 2010, 04:27:39 PM by mihanson »
|
Logged
|
|
|
|
|
|
|
 |
« 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: [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. [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: [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!
|
 |
« 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.
|
|
|
|
|
|
 |
« 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 ELDK. Cross-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. 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. 
|
|
|
|
|
Logged
|
|
|
|
|
flipflip
Jr. Member

Karma: 4
Posts: 50
Hopplaschorsch!
|
 |
« 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
|
 |
« 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: $ 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
|
|
|
|
|
|
|
 |
« 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: $ 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. # 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. mihanson ~ $ cat /etc/modprobe.d/ftdi_sio.conf options ftdi_sio vendor=0x9e88 product=0x9e8f
|
|
|
|
|
Logged
|
|
|
|
|
|
|
 |
« 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. **** 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.htmlOne 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
|
|
|
|
|
|
|
 |
« 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
|
|
|
|
|
|
|
 |
« 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  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
|
 |
« 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
|
|
|
|
|
|
|
 |
« 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. 
|
|
|
|
« Last Edit: June 11, 2010, 08:27:05 AM by mikestaszel »
|
Logged
|
|
|
|
|
|