New IT forum Follow us on Twitter
23 May 2012, 04:25:43 pm *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News: TonidoPlug2 - Now in stock!
 
   Home   SHOP Help Search Login Register  
Pages: [1]
  Print  
Author Topic: can't use openocd  (Read 1259 times)
replabrobin
Newbie
*
Posts: 8


« on: 07 December 2010, 04:01:50 pm »

Hi, I've just started playing with a jffs2 sheevaplug.

Problem 1
I have two possible hosts, win xp2 and archlinux x86_64. On both of these I can see the uboot via the min usb using a com port, but neither of them seems able to do the runme openocd stuff. On the windows machine I see both an A and a B usb serial port, but only the B port has vcp and that's connected to COM4 which I am able to use as a console. On the Arch linux box I can only see ttyUSB0. I compiled arch linux using the libftdi route and although it seems to work I am unable to communicate with the plug via jtag. It seems the latest kernels are loading up ftdi OK and I see dmesg  output relating to two serial ports, but one is being ignored. If anyone has a solution please help. I've google a lot on this and found no obvious answer.

Problem 2
I am able to mess with the plug using the console and USB etc etc, but I'm not sure exactly what the procedure for kernel testing should be. I copied the original delivered kernel off /dev/mtd0 in ubuntu and hacked the 4Mb file to make a kernel file (it's around 210776 bytes long). If I use the following in the plug (based on http://nitrogen.posterous.com/tag/sheevaplug)

Marvell>> usb start
.......
Marvell>> fatload usb 0 0x800000 my-base-image
.....
Marvell>> bootm 0x800000
.....

I can boot the original kernel and all seems well. If I try the kernel in the sheeva installer from plugcomputer I get a hang at the point after decompression, I get the same problem with http://sheeva.with-linux.com/sheeva/2.6.36.1/sheeva-2.6.36.1-uImage. I've tried a few combos like setting the mainlineLinux yes/arcNumber 2097 etc, but I can't get past the hang at the line

Uncompressing Linux... done, booting the kernel.

any ideas welcome.

PS is it reasonable to expect this kind of sequence to work without saving the environment variables I change?
Logged
NewIT_James
Administrator
Sr. Member
*****
Posts: 394


« Reply #1 on: 07 December 2010, 04:10:36 pm »

If that's a Black eSata plug you are using you will need to set ArcNumber = 2678 or it will hang using kernel 2.6.36 as you have described.

NewIT Technical


Logged

NewITJames
replabrobin
Newbie
*
Posts: 8


« Reply #2 on: 07 December 2010, 05:06:24 pm »

Unfortunately it's a white one with no sata (so far as I know).
Logged
NewIT_Marcus
Administrator
Hero Member
*****
Posts: 960


« Reply #3 on: 07 December 2010, 06:22:53 pm »

  • Don't use a Windows host for openocd, if you have a linux host available
  • If you have any success with the installer script, you will have a UBIFS plug not JFFS2, and ...
  • You will require a number of environmetn variable changes. Normally the installer does that for you
  • If you have problems with the installer, you MUST copy the console output on the host,
  • There are plenty of kernels to choose from here. Better to use one of these than the way you ent about it
  • When you get the installer running correctly it will rewrite everything on your NAND drive.


Successful execution of runme.php should look something like this. If it doesn't, examine any error messages (in some cases you may need to fix a couple of lines of the php script).

Code:
sudo php runme.php dual

 **** exec(modprobe ftdi_sio vendor=0x9e88 product=0x9e8f)
 **** Preparing environment variables file ...
reading uboot/uboot-env/uboot-dflt.txt
uboot/uboot-env/fw_setenv baudrate 115200
CRC read error on uboot-env.bin: Success
uboot/uboot-env/fw_setenv loads_echo 0
uboot/uboot-env/fw_setenv ipaddr 10.4.50.165
uboot/uboot-env/fw_setenv serverip 10.4.50.5
uboot/uboot-env/fw_setenv rootpath /mnt/ARM_FS/
uboot/uboot-env/fw_setenv netmask 255.255.255.0
uboot/uboot-env/fw_setenv stdin serial
uboot/uboot-env/fw_setenv stdout serial
uboot/uboot-env/fw_setenv stderr serial
uboot/uboot-env/fw_setenv console console=ttyS0,115200 mtdparts=nand_mtd:0xc0000@0\(uboot\)ro,0x1ff00000@0x100000\(root\)
uboot/uboot-env/fw_setenv mainlineLinux no
uboot/uboot-env/fw_setenv CASset min
uboot/uboot-env/fw_setenv enaMonExt no
uboot/uboot-env/fw_setenv enaCpuStream no
uboot/uboot-env/fw_setenv enaWrAllo no
uboot/uboot-env/fw_setenv pexMode RC
uboot/uboot-env/fw_setenv disL2Cache no
uboot/uboot-env/fw_setenv setL2CacheWT yes
uboot/uboot-env/fw_setenv disL2Prefetch yes
uboot/uboot-env/fw_setenv enaICPref yes
uboot/uboot-env/fw_setenv enaDCPref yes
uboot/uboot-env/fw_setenv sata_dma_mode yes
uboot/uboot-env/fw_setenv MALLOC_len 1
uboot/uboot-env/fw_setenv ethprime egiga0
uboot/uboot-env/fw_setenv netbsd_en no
uboot/uboot-env/fw_setenv vxworks_en no
uboot/uboot-env/fw_setenv bootargs_root root=/dev/nfs rw
uboot/uboot-env/fw_setenv bootargs_end :::DB88FXX81:eth0:none
uboot/uboot-env/fw_setenv image_name uImage
uboot/uboot-env/fw_setenv bootcmd tftpboot 0x2000000 \$\(image_name\)\;setenv bootargs \$\(console\) \$\(bootargs_root\) nfsroot=\$\(serverip\):\$\(rootpath\) ip=\$\(ipaddr\):\$\(serverip\)\$\(bootargs_end\) \$\(mvNetConfig\) \$\(mvPhoneConfig\)\;  bootm 0x2000000\;
uboot/uboot-env/fw_setenv standalone fsload 0x2000000 \$\(image_name\)\;setenv bootargs \$\(console\) root=/dev/mtdblock0 rw ip=\$\(ipaddr\):\$\(serverip\)\$\(bootargs_end\) \$\(mvPhoneConfig\)\; bootm 0x2000000\;
uboot/uboot-env/fw_setenv bootdelay 3
uboot/uboot-env/fw_setenv disaMvPnp no
uboot/uboot-env/fw_setenv ethaddr 00:50:43:4e:2a:14
uboot/uboot-env/fw_setenv ethmtu 1500
uboot/uboot-env/fw_setenv mvPhoneConfig mv_phone_config=dev0:fxs,dev1:fxs
uboot/uboot-env/fw_setenv mvNetConfig mv_net_config=\(00:11:88:0f:62:81,0:1:2:3\),mtu=1500
uboot/uboot-env/fw_setenv usb0Mode host
uboot/uboot-env/fw_setenv yuk_ethaddr 00:00:00:EE:51:81
uboot/uboot-env/fw_setenv nandEcc 1bit
uboot/uboot-env/fw_setenv netretry no
uboot/uboot-env/fw_setenv rcvrip 169.254.100.100
uboot/uboot-env/fw_setenv loadaddr 0x02000000
uboot/uboot-env/fw_setenv autoload no
uboot/uboot-env/fw_setenv enaAutoRecovery yes
uboot/uboot-env/fw_setenv ethact egiga0
reading uboot/uboot-env/uboot-dual-custom.txt
uboot/uboot-env/fw_setenv bootargs_root ubi.mtd=1 root=ubi0:rootfs rootfstype=ubifs
uboot/uboot-env/fw_setenv mtdpartitions mtdparts=orion_nand:0x400000@0x100000\(uImage\),0x1fb00000@0x500000\(rootfs\)
uboot/uboot-env/fw_setenv ethaddr F0:AD:4E:00:04:F4
uboot/uboot-env/fw_setenv bootargs_console console=ttyS0,115200
uboot/uboot-env/fw_setenv bootcmd run recover1
uboot/uboot-env/fw_setenv recover1 setenv mainlineLinux yes\; setenv arcNumber 2097\; setenv bootcmd run recover2\; saveenv\; reset
uboot/uboot-env/fw_setenv recover2 run recover3\; setenv bootcmd \$\(real_bootcmd\)\; saveenv\; setenv bootargs \$\(bootargs_console\) \$\(mtdpartitions\) root=/dev/ram0 rw ramdisk=0x01100000,8M install_type=nand\; bootm 0x00800000 0x01100000
uboot/uboot-env/fw_setenv recover3 run recover4\; nand erase clean 0x00100000 0x00400000\; nand write.e 0x00800000 0x00100000 0x00400000
uboot/uboot-env/fw_setenv recover4 usb start\; fatload usb 0 0x00800000 uImage\; fatload usb 0 0x01100000 initrd
uboot/uboot-env/fw_setenv bootargs_root_nand ubi.mtd=1 root=ubi0:rootfs rootfstype=ubifs
uboot/uboot-env/fw_setenv bootcmd_nand setenv bootargs \$\(bootargs_console\) \$\(mtdpartitions\) \$\(bootargs_root_nand\)\; nand read.e 0x00800000 0x00100000 0x00400000\; bootm 0x00800000
uboot/uboot-env/fw_setenv bootargs_root_mmc root=/dev/mmcblk0p2 rootdelay=5
uboot/uboot-env/fw_setenv bootcmd_mmc setenv bootargs \$\(bootargs_console\) \$\(bootargs_root_mmc\)\; mmcinit\; ext2load mmc 0:1 0x800000 /uImage\; bootm 0x00800000
uboot/uboot-env/fw_setenv real_bootcmd run bootcmd_mmc\; run bootcmd_nand

 **** Burning uboot and environment variables ... This will take few minutes ...
Open On-Chip Debugger 0.2.0 (2009-09-16-09:13) Release
$URL: http://svn.berlios.de/svnroot/repos/openocd/tags/openocd-0.2.0/src/openocd.c $
For bug reports, read http://svn.berlios.de/svnroot/repos/openocd/trunk/BUGS
2000 kHz
jtag_nsrst_delay: 200
jtag_ntrst_delay: 200
dcc downloads are enabled
Info : JTAG tap: feroceon.cpu tap/device found: 0x20a023d3 (mfg: 0x1e9, part: 0x0a02, ver: 0x2)
Info : JTAG Tap/device matched
target state: halted
target halted in ARM state due to debug-request, current mode: Supervisor
cpsr: 0x000000d3 pc: 0xffff0000
MMU: disabled, D-Cache: disabled, I-Cache: disabled
0 0 1 0: 00052078
NAND flash device 'NAND 512MiB 3,3V 8-bit' found
successfully erased blocks 5 to 6 on NAND flash device 'NAND 512MiB 3,3V 8-bit'
wrote file uboot-env.bin to NAND flash 0 up to offset 0x000c0000 in 30.723541s
target state: halted
target halted in ARM state due to debug-request, current mode: Supervisor
cpsr: 0x000000d3 pc: 0xffff0000
MMU: disabled, D-Cache: disabled, I-Cache: disabled
0 0 1 0: 00052078
NAND flash device 'NAND 512MiB 3,3V 8-bit' found
successfully erased blocks 0 to 4 on NAND flash device 'NAND 512MiB 3,3V 8-bit'
wrote file uboot.bin to NAND flash 0 up to offset 0x00074000 in 116.519493s

 **** U-boot should be up and running now. Open your console ...
PHP Notice:  Undefined variable: string_beeps in /mnt/shared/data/new-it/installers/sheevaplug-installer-v1.0-newit-multiboot/runme.php on line 100
Logged
replabrobin
Newbie
*
Posts: 8


« Reply #4 on: 07 December 2010, 09:01:59 pm »

OK this is what I see when I runme.sh

Code:
# ./runme.sh nand
+ Load USB FTDI Serial Converters Driver (ftdi_sio)
+ Update environment variables file image (uboot/uboot-env.bin)
++ Reading uboot/uboot-env/uboot-dflt.txt
 uboot/uboot-env/fw_setenv baudrate 115200
CRC read error on uboot-env.bin: Success
 uboot/uboot-env/fw_setenv loads_echo 0
 uboot/uboot-env/fw_setenv ipaddr 192.168.0.9
 uboot/uboot-env/fw_setenv serverip 192.168.0.3
 uboot/uboot-env/fw_setenv rootpath /mnt/ARM_FS/
 uboot/uboot-env/fw_setenv netmask 255.255.255.0
 uboot/uboot-env/fw_setenv stdin serial
 uboot/uboot-env/fw_setenv stdout serial
 uboot/uboot-env/fw_setenv stderr serial
 uboot/uboot-env/fw_setenv console console=ttyS0,115200 mtdparts=nand_mtd:0xc0000@0(uboot)ro,0x1ff00000@0x100000(root)
 uboot/uboot-env/fw_setenv mainlineLinux no
 uboot/uboot-env/fw_setenv CASset min
 uboot/uboot-env/fw_setenv enaMonExt no
 uboot/uboot-env/fw_setenv enaCpuStream no
 uboot/uboot-env/fw_setenv enaWrAllo no
 uboot/uboot-env/fw_setenv pexMode RC
 uboot/uboot-env/fw_setenv disL2Cache no
 uboot/uboot-env/fw_setenv setL2CacheWT yes
 uboot/uboot-env/fw_setenv disL2Prefetch yes
 uboot/uboot-env/fw_setenv enaICPref yes
 uboot/uboot-env/fw_setenv enaDCPref yes
 uboot/uboot-env/fw_setenv sata_dma_mode yes
 uboot/uboot-env/fw_setenv MALLOC_len 1
 uboot/uboot-env/fw_setenv ethprime egiga0
 uboot/uboot-env/fw_setenv netbsd_en no
 uboot/uboot-env/fw_setenv vxworks_en no
 uboot/uboot-env/fw_setenv bootargs_root root=/dev/nfs rw
 uboot/uboot-env/fw_setenv bootargs_end :::DB88FXX81:eth0:none
 uboot/uboot-env/fw_setenv image_name uImage
 uboot/uboot-env/fw_setenv bootcmd tftpboot 0x2000000 $(image_name);setenv bootargs $(console) $(bootargs_root) nfsroot=$(serverip):$(rootpath) ip=$(ipaddr):$(serverip)$(bootargs_end) $(mvNetConfig) $(mvPhoneConfig);  bootm 0x2000000;
 uboot/uboot-env/fw_setenv standalone fsload 0x2000000 $(image_name);setenv bootargs $(console) root=/dev/mtdblock0 rw ip=$(ipaddr):$(serverip)$(bootargs_end) $(mvPhoneConfig); bootm 0x2000000;
 uboot/uboot-env/fw_setenv bootdelay 3
 uboot/uboot-env/fw_setenv disaMvPnp no
 uboot/uboot-env/fw_setenv ethaddr F0:AD:4E:00:03:93
 uboot/uboot-env/fw_setenv ethmtu 1500
 uboot/uboot-env/fw_setenv mvPhoneConfig mv_phone_config=dev0:fxs,dev1:fxs
 uboot/uboot-env/fw_setenv mvNetConfig mv_net_config=(00:11:88:0f:62:81,0:1:2:3),mtu=1500
 uboot/uboot-env/fw_setenv usb0Mode host
 uboot/uboot-env/fw_setenv yuk_ethaddr 00:00:00:EE:51:81
 uboot/uboot-env/fw_setenv nandEcc 1bit
 uboot/uboot-env/fw_setenv netretry no
 uboot/uboot-env/fw_setenv rcvrip 169.254.100.100
 uboot/uboot-env/fw_setenv loadaddr 0x02000000
 uboot/uboot-env/fw_setenv autoload no
 uboot/uboot-env/fw_setenv enaAutoRecovery yes
 uboot/uboot-env/fw_setenv ethact egiga0
++ Reading uboot/uboot-env/uboot-nand-custom.txt
 uboot/uboot-env/fw_setenv bootargs_root ubi.mtd=1 root=ubi0:rootfs rootfstype=ubifs
 uboot/uboot-env/fw_setenv mtdpartitions mtdparts=orion_nand:0x400000@0x100000(uImage),0x1fb00000@0x500000(rootfs)
 uboot/uboot-env/fw_setenv ethaddr F0:AD:4E:00:03:93
 uboot/uboot-env/fw_setenv real_bootcmd setenv bootargs $(bootargs_console) $(mtdpartitions) $(bootargs_root); nand read.e 0x00800000 0x00100000 0x00400000; bootm 0x00800000
 uboot/uboot-env/fw_setenv bootargs_console console=ttyS0,115200
 uboot/uboot-env/fw_setenv bootcmd run recover1
 uboot/uboot-env/fw_setenv recover1 setenv mainlineLinux yes; setenv arcNumber 2097; setenv bootcmd run recover2; saveenv; reset
 uboot/uboot-env/fw_setenv recover2 run recover3; setenv bootcmd $(real_bootcmd); saveenv; setenv bootargs $(bootargs_console) $(mtdpartitions) root=/dev/ram0 rw ramdisk=0x01100000,8M install_type=nand; bootm 0x00800000 0x01100000
 uboot/uboot-env/fw_setenv recover3 run recover4; nand erase clean 0x00100000 0x00400000; nand write.e 0x00800000 0x00100000 0x00400000
 uboot/uboot-env/fw_setenv recover4 usb start; fatload usb 0 0x00800000 uImage; fatload usb 0 0x01100000 initrd
+ Burning uboot and environment variables, this will take a few minutes...
Open On-Chip Debugger 0.5.0-dev-00639-g6ef4e97 (2010-12-06-19:32)
Licensed under GNU GPL v2
For bug reports, read
        http://openocd.berlios.de/doc/doxygen/bugs.html
Info : only one transport option; autoselect 'jtag'
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
  imx27
  imx31
  at91sam9
  nuc910
sheevaplug_reflash_uboot_env
Info : clock speed 2000 kHz
Error: JTAG scan chain interrogation failed: all zeroes
Error: Check JTAG interface, timings, target power, etc.
Error: Trying to use configured scan chain anyway...
Error: feroceon.cpu: IR capture error; saw 0x00 not 0x01
Warn : Bypassing JTAG setup events due to errors
Info : Embedded ICE version 0
Info : feroceon.cpu: hardware has 1 breakpoint/watchpoint unit
Error: unexpected Feroceon EICE version signature
Error: unexpected Feroceon EICE version signature
Info : Halt timed out, wake up GDB.
Error: timed out while waiting for target halted
Runtime Error: openocd/config/board/sheevaplug.cfg:21: Command handler execution failed
in procedure 'sheevaplug_reflash_uboot_env'
in procedure 'sheevaplug_init' called at file "openocd/config/board/sheevaplug.cfg", line 117
in procedure 'wait_halt' called at file "openocd/config/board/sheevaplug.cfg", line 21
 Error: Burn process failed !

my dboot environment looks very like  the one shown in the forum (I have been messing though) I see this with printenv
Code:
Marvell>> printenv
baudrate=115200
loads_echo=0
rootpath=/mnt/ARM_FS/
CASset=min
MALLOC_len=1
ethprime=egiga0
bootargs_end=:::DB88FXX81:eth0:none
image_name=uImage
standalone=fsload 0x2000000 $(image_name);setenv bootargs $(console) root=/dev/mtdblock0 rw ip=$(ipaddr):$(serverip)$(bootargs_end) $(mvPhoneConfig); bootm 0x2000000;
ethmtu=1500
mvPhoneConfig=mv_phone_config=dev0:fxs,dev1:fxs
mvNetConfig=mv_net_config=(00:11:88:0f:62:81,0:1:2:3),mtu=1500
usb0Mode=host
yuk_ethaddr=00:00:00:EE:51:81
nandEcc=1bit
netretry=no
rcvrip=169.254.100.100
loadaddr=0x02000000
autoload=no
ethact=egiga0
netmask=255.255.255.0
bootcmd=nand read.e 0x800000 0x100000 0x400000; bootm 0x800000
ethaddr=F0:AD:4E:00:03:93
run_diag=no
ipaddr=192.168.0.9
serverip=192.168.0.3
bootargs_root=root=/dev/mtdblock2 ro
cesvcid=ULULULULULULPPULULULULULDA
console=console=ttyS0,115200
bootargs=console=ttyS0,115200 mtdparts=nand_mtd:0x400000@0x100000(uImage),0x1fb00000@0x500000(rootfs) rw root=/dev/mtdblock1 rootfstype=jffs2 rw ip=10.4.50.4:10.4.50.5:10.4.50.5:255.255.255.0:DB88FXX81:eth0:none
stdin=serial
stdout=serial
stderr=serial
mainlineLinux=no
enaMonExt=no
enaCpuStream=no
enaWrAllo=no
pexMode=RC
disL2Cache=no
setL2CacheWT=yes
disL2Prefetch=yes
enaICPref=yes
enaDCPref=yes
sata_dma_mode=yes
netbsd_en=no
vxworks_en=no
bootdelay=3
disaMvPnp=no
enaAutoRecovery=yes
pcieTune=no

Logged
NewIT_Marcus
Administrator
Hero Member
*****
Posts: 960


« Reply #5 on: 07 December 2010, 09:14:00 pm »

OK this is what I see when I runme.sh

Code:
# ./runme.sh nand
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
  imx27
  imx31
  at91sam9
  nuc910
sheevaplug_reflash_uboot_env
Info : clock speed 2000 kHz
Error: JTAG scan chain interrogation failed: all zeroes
Error: Check JTAG interface, timings, target power, etc.
Error: Trying to use configured scan chain anyway...
Error: feroceon.cpu: IR capture error; saw 0x00 not 0x01
Warn : Bypassing JTAG setup events due to errors
Info : Embedded ICE version 0
Info : feroceon.cpu: hardware has 1 breakpoint/watchpoint unit
Error: unexpected Feroceon EICE version signature
Error: unexpected Feroceon EICE version signature
Info : Halt timed out, wake up GDB.
Error: timed out while waiting for target halted
Runtime Error: openocd/config/board/sheevaplug.cfg:21: Command handler execution failed
in procedure 'sheevaplug_reflash_uboot_env'
in procedure 'sheevaplug_init' called at file "openocd/config/board/sheevaplug.cfg", line 117
in procedure 'wait_halt' called at file "openocd/config/board/sheevaplug.cfg", line 21
 Error: Burn process failed !


Your environment variables won't get updated until you fix the openocd errors. There are loads of them.

I don't know what your "runme.sh" is or where you got it from. The original installer uses a php script of a similar name - runme.php.

You need to fix those errors.
Logged
replabrobin
Newbie
*
Posts: 8


« Reply #6 on: 07 December 2010, 11:39:07 pm »

Yes I said PROBLEM 1 openocd doesn't work. The runme.sh script is a version of the original runme.sh for the sheeva plug. I prefer sh to php. Anyhow runme.php is no better ie runme.php does this

Code:
$ php runme.php nand

 ****   exec(modprobe ftdi_sio vendor=0x9e88 product=0x9e8f)
 ****   Preparing environment variables file ...
reading uboot/uboot-env/uboot-dflt.txt
uboot/uboot-env/fw_setenv baudrate 115200
CRC read error on uboot-env.bin: Success
uboot/uboot-env/fw_setenv loads_echo 0
uboot/uboot-env/fw_setenv ipaddr 192.168.0.9
uboot/uboot-env/fw_setenv serverip 192.168.0.3
uboot/uboot-env/fw_setenv rootpath /mnt/ARM_FS/
uboot/uboot-env/fw_setenv netmask 255.255.255.0
uboot/uboot-env/fw_setenv stdin serial
uboot/uboot-env/fw_setenv stdout serial
uboot/uboot-env/fw_setenv stderr serial
uboot/uboot-env/fw_setenv console console=ttyS0,115200 mtdparts=nand_mtd:0xc0000@0\(uboot\)ro,0x1ff00000@0x100000\(root\)
uboot/uboot-env/fw_setenv mainlineLinux no
uboot/uboot-env/fw_setenv CASset min
uboot/uboot-env/fw_setenv enaMonExt no
uboot/uboot-env/fw_setenv enaCpuStream no
uboot/uboot-env/fw_setenv enaWrAllo no
uboot/uboot-env/fw_setenv pexMode RC
uboot/uboot-env/fw_setenv disL2Cache no
uboot/uboot-env/fw_setenv setL2CacheWT yes
uboot/uboot-env/fw_setenv disL2Prefetch yes
uboot/uboot-env/fw_setenv enaICPref yes
uboot/uboot-env/fw_setenv enaDCPref yes
uboot/uboot-env/fw_setenv sata_dma_mode yes
uboot/uboot-env/fw_setenv MALLOC_len 1
uboot/uboot-env/fw_setenv ethprime egiga0
uboot/uboot-env/fw_setenv netbsd_en no
uboot/uboot-env/fw_setenv vxworks_en no
uboot/uboot-env/fw_setenv bootargs_root root=/dev/nfs rw
uboot/uboot-env/fw_setenv bootargs_end :::DB88FXX81:eth0:none
uboot/uboot-env/fw_setenv image_name uImage
uboot/uboot-env/fw_setenv bootcmd tftpboot 0x2000000 \$\(image_name\)\;setenv bootargs \$\(console\) \$\(bootargs_root\) nfsroot=\$\(serverip\):\$\(rootpath\) ip=\$\(ipaddr\):\$\(serverip\)\$\(bootargs_end\) \$\(mvNetConfig\) \$\(mvPhoneConfig\)\;  bootm 0x2000000\;
uboot/uboot-env/fw_setenv standalone fsload 0x2000000 \$\(image_name\)\;setenv bootargs \$\(console\) root=/dev/mtdblock0 rw ip=\$\(ipaddr\):\$\(serverip\)\$\(bootargs_end\) \$\(mvPhoneConfig\)\; bootm 0x2000000\;
uboot/uboot-env/fw_setenv bootdelay 3
uboot/uboot-env/fw_setenv disaMvPnp no
uboot/uboot-env/fw_setenv ethaddr F0:AD:4E:00:03:93
uboot/uboot-env/fw_setenv ethmtu 1500
uboot/uboot-env/fw_setenv mvPhoneConfig mv_phone_config=dev0:fxs,dev1:fxs
uboot/uboot-env/fw_setenv mvNetConfig mv_net_config=\(00:11:88:0f:62:81,0:1:2:3\),mtu=1500
uboot/uboot-env/fw_setenv usb0Mode host
uboot/uboot-env/fw_setenv yuk_ethaddr 00:00:00:EE:51:81
uboot/uboot-env/fw_setenv nandEcc 1bit
uboot/uboot-env/fw_setenv netretry no
uboot/uboot-env/fw_setenv rcvrip 169.254.100.100
uboot/uboot-env/fw_setenv loadaddr 0x02000000
uboot/uboot-env/fw_setenv autoload no
uboot/uboot-env/fw_setenv enaAutoRecovery yes
uboot/uboot-env/fw_setenv ethact egiga0
reading uboot/uboot-env/uboot-nand-custom.txt
uboot/uboot-env/fw_setenv bootargs_root ubi.mtd=1 root=ubi0:rootfs rootfstype=ubifs
uboot/uboot-env/fw_setenv mtdpartitions mtdparts=orion_nand:0x400000@0x100000\(uImage\),0x1fb00000@0x500000\(rootfs\)
uboot/uboot-env/fw_setenv ethaddr F0:AD:4E:00:03:93
uboot/uboot-env/fw_setenv real_bootcmd setenv bootargs \$\(bootargs_console\) \$\(mtdpartitions\) \$\(bootargs_root\)\; nand read.e 0x00800000 0x00100000 0x00400000\; bootm 0x00800000
uboot/uboot-env/fw_setenv bootargs_console console=ttyS0,115200
uboot/uboot-env/fw_setenv bootcmd run recover1
uboot/uboot-env/fw_setenv recover1 setenv mainlineLinux yes\; setenv arcNumber 2097\; setenv bootcmd run recover2\; saveenv\; reset
uboot/uboot-env/fw_setenv recover2 run recover3\; setenv bootcmd \$\(real_bootcmd\)\; saveenv\; setenv bootargs \$\(bootargs_console\) \$\(mtdpartitions\) root=/dev/ram0 rw ramdisk=0x01100000,8M install_type=nand\; bootm 0x00800000 0x01100000
uboot/uboot-env/fw_setenv recover3 run recover4\; nand erase clean 0x00100000 0x00400000\; nand write.e 0x00800000 0x00100000 0x00400000
uboot/uboot-env/fw_setenv recover4 usb start\; fatload usb 0 0x00800000 uImage\; fatload usb 0 0x01100000 initrd

 ****   Burning uboot and environment variables ... This will take few minutes ...
Open On-Chip Debugger 0.5.0-dev-00639-g6ef4e97 (2010-12-06-19:32)
Licensed under GNU GPL v2
For bug reports, read
        http://openocd.berlios.de/doc/doxygen/bugs.html
Info : only one transport option; autoselect 'jtag'
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
  imx27
  imx31
  at91sam9
  nuc910
sheevaplug_reflash_uboot_env
Error: unable to open ftdi device: unable to fetch product description
Command handler execution failed
in procedure 'init'
 ****   openocd FAILED
 ****   Is the mini USB cable connected?
 ****   Try powering down, then replugging the Sheevaplug

I realise there are openocd errors that's what I was asking about; my kernel doesn't seem to allow ftdi to create two USB serial ports I see this in dmesg on connection in arch linux x86_64

Code:
usb 2-4: new full speed USB device using ohci_hcd and address 14
hub 2-0:1.0: unable to enumerate USB device on port 4
usb 2-4: new full speed USB device using ohci_hcd and address 15
usb 2-4: Ignoring serial port reserved for JTAG
ftdi_sio 2-4:1.1: FTDI USB Serial Device converter detected
usb 2-4: Detected FT2232C
usb 2-4: Number of endpoints 2
usb 2-4: Endpoint 1 MaxPacketSize 64
usb 2-4: Endpoint 2 MaxPacketSize 64
usb 2-4: Setting MaxPacketSize 64

I've tried the start the plug again/reconnect the mini usb etc etc, but no luck. In the absence of any udev rules the device seems to come up as
Code:
Bus 002 Device 016: ID 9e88:9e8f

which appears to be the same as I'm expecting in openocd/config/interface/sheevaplug.cfg.

Failing openocd I wanted to know a bit more about testing kernel images etc etc. The plugbox community seem to have UBI images etc which should be usable. I'm a bit uncertain how uboot actually communicates with the booted kernel. Is the live environment used or deos it have to be saved before the kernel can see it?
Logged
NewIT_Marcus
Administrator
Hero Member
*****
Posts: 960


« Reply #7 on: 08 December 2010, 08:26:27 am »

Do you see the Sheevaplug console (usually on /dev/ttyUSB0 ?)

The first thing you need to do is fix the hardware issue whereby the USB connection isn't working. There is an error there that I have never seen before:

Code:
Error: No valid NAND flash driver found (0)

U-Boot is like the BIOS in a PC. Its settings control how the Sheevaplug boots.

If you want to experiment with different kernels, you can either compile your own, or download from sheeva.with-linux.com . The ones at sheeva.with-linux.com are up to most tasks and are a good choice.
Logged
replabrobin
Newbie
*
Posts: 8


« Reply #8 on: 08 December 2010, 11:13:13 am »

I do have ttyUSB0 functioning fine as a console. On the openocd issue this link http://plugapps.com/forum/viewtopic.php?f=20&t=428 seems to suggest I should be using the openocd version of the board script. I checked and the main difference is that the openocd version uses this
Code:
set _FLASHNAME $_CHIPNAME.flash
  nand device $_FLASHNAME orion 0 0xd8000000
instead of
Code:
nand device orion 0 0xd8000000
and perhaps more significantly uses this
Code:
arm mcr 15 0 0 1 0 0x00052078
instead of
Code:
arm926ejs cp15 0 0 1 0 0x00052078
.

I got someway further with booting a sheeva.with-linux.com kernel from the console. It seems the modern kernels have some different ideas about how to access the nand. A nand device seems able to determine that there are three partitions named

u-boot
uImage
root

whereas the default environment seems to ignore the first and sets root=/dev/mtdblock1, to boot the 2.6.36.1 kernel I had to change to /dev/mtdblock2 when I boot like I get some read errors related to the first (u-boot) partition, but I do get a working system, /proc/mtd shows three partitions and apart from various kernel version related errors the system seems to work. Wish I knew more about the way that the u-boot boot process/kernel interaction actually happens.
Logged
NewIT_James
Administrator
Sr. Member
*****
Posts: 394


« Reply #9 on: 08 December 2010, 11:28:18 am »

Do you have libftdi1 installed? if not install it and try again.

NewIT Technical
Logged

NewITJames
replabrobin
Newbie
*
Posts: 8


« Reply #10 on: 08 December 2010, 01:33:08 pm »

$ pacman -Qo /usr/lib/libftdi.so.1.18.0
/usr/lib/libftdi.so.1.18.0 is owned by libftdi 0.18-1

is that a good version?

I have package openocd-git-libftdi 20101206-1 which I think means openocd from git on that date with the use libftdi configuration option.
Logged
NewIT_Marcus
Administrator
Hero Member
*****
Posts: 960


« Reply #11 on: 08 December 2010, 06:06:41 pm »

Seems that 64-bit is at the heart of your problem. Possible solution here.
Logged
replabrobin
Newbie
*
Posts: 8


« Reply #12 on: 09 December 2010, 11:22:00 am »

I've been using various resources, I used this without much luck until yesterday when I did an update and got  (accidentally) a new  libusb package and also modified the board script as suggested there to use the openocd version. Then magically open ocd started to work, but perhaps through impatience or some other problem although it went through the burn and reset phases I did get an error as in that thread, but in my case the resulting boot didn't succeed.

So I went back to basics and did everything handomatically to set up the environment like new-it UBIFS with some minor omissions for unwanted variables etc. I then saved the environment, loaded the plugbox kernel & ubi image and wrote to flash.

Then after crossing all appendages booted the box to a login prompt Cheesy. Fairly scary and very error prone Undecided.

When setting up the environment etc it was much easier to copy the lines into a file and then hand change them so they went in right eg
Code:
bootcmd=setenv bootargs $(bootargs_console) $(mtdpartitions) $(bootargs_root); nand read.e 0x00800000 0x00100000 0x00400000; bootm 0x00800000
in the listing becomes this in my setup copy
Code:
setenv bootcmd 'setenv bootargs $(bootargs_console) $(mtdpartitions) $(bootargs_root); nand read.e 0x00800000 0x00100000 0x00400000; bootm 0x00800000'
then it's fairly easy to copy and paste into the uboot console.
Logged
replabrobin
Newbie
*
Posts: 8


« Reply #13 on: 09 December 2010, 04:58:39 pm »

I've since found out about uboot scripting which seems much easier than all the handomatic stuff.
Logged
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.16 | SMF © 2011, Simple Machines Valid XHTML 1.0! Valid CSS!