Talk:SCINI: Submersible Capable of under Ice Navigation and Imaging
hehe...
cool to see you where :)
Drop Elphel's flag somewhere ;)
troubles with a 353
I swapped in the 12v DC-DC converter and the power supply side of things seems to be working fine: yellow ethernet light comes on. But during boot the linux kernel crashes. See the end for the serial boot output. This was after I tried reflashing the device...
The second issue came when I tried to reflash the camera. When it powers up and I hold down the reset button, the bootloader does start sending out some kind of low level ethernet packet (can see them with packet sniffer), so I should be able to get fresh firmware in there, right? It doesn't make any nfs queries (kernel doesn't make it that far? or is that part of the bootloader sequence?).
I downloaded and compiled the latest (7.1.2.0) firmware, but the netboot and flashit programs don't work as documented... first, the etraxfsboot program is called with debug level 5 ('-d 5'), but it's max is 4, so I changed that. flashit claims to start booting ("We're doing a flash write, this may take up to a few minutes...") even without the camera connected, while netboot throws errors about the "cmdline" program and stops at fsboot complaining about parameters.
Is there a new way to flash the cameras I haven't figured out? Do I need a different version of etraxfsboot? I'm running on an "installed" version of the liveDVD, but I tried it straight off the liveDVD as well.
ETRAX FS NAND boot loader ========================= Rev 1, Jul 14 2007 19:49:44 Boot config: 0x00040000->0x40440000, len 0x00200000, boot @ 0x40440000 CPU revision: 0x00000020 Bootloader main at 0x38000ce2 Data end: 0x3800570c Bss: 0x38008000 Heap: 0x38008000 Identifying nand chip... maf_id: 0x00000020; dev_id: 0x000000f1 mtd->size == 0x08000000 scan_bbt(); mtd->size == 0x08000000 scan_bbt() ...01; mtd->size == 0x08000000 len == 0x00000100; and BBT_LEN_1 == 0x00000400 scan_bbt() ...02; mtd->size == 0x08000000 scan_bbt() ...03; mtd->size == 0x08000000 scan_bbt() ...1; mtd->size == 0x08000000 scan_bbt() ...2; mtd->size == 0x08000000 scan_bbt() search_read_bbts(); mtd->size == 0x08000000 search_read_bbts() search primary table; mtd->size == 0x08000000 search_bbt() ...1; mtd->size == 0x08000000 search_bbt() ...2; maxblocks: 0x00000004; mtd->size == 0x08000000 Block: 0x000003ff Check, if we found a bbt for each requested chip Bad block table found at page0x0000ffc0, version 0x00000001 search_read_bbts() search mirror table search_bbt() ...1; mtd->size == 0x08000000 search_bbt() ...2; maxblocks: 0x00000004; mtd->size == 0x08000000 Block: 0x000003ff Block: 0x000003fe Check, if we found a bbt for each requested chip Bad block table found at page0x0000ff80, version 0x00000001 scan_bbt() ...3 Done. Chip identified... 3; NAND 128MiB 3,3V 8-bit type: 0x00000004 flags: 0x000000c5 size: 0x08000000 erasesize: 0x00020000 oobblock: 0x00000800 oobsize: 0x00000040 ecctype: 0x00000002 eccsize: 0x00000100 Oob info: useecc: 0x00000002 eccbytes: 0x00000018 eccpos: 0x00000028 0x00000029 0x0000002a 0x0000002b 0x0000002c 0x0000002d 0x0000002e 0x0000002f 0x00000030 0x00000031 0x00000032 0x00000033 0x00000034 0x00000035 0x00000036 0x00000037 0x00000038 0x00000039 0x0000003a 0x0000003b 0x0000003c 0x0000003d 0x0000003e 0x0000003f Bootload in progress... New block 0x00040000;len: 0x00200000;start: 0x00040000 New block 0x00060000;len: 0x001e0000;start: 0x00060000 New block 0x00080000;len: 0x001c0000;start: 0x00080000 New block 0x000a0000;len: 0x001a0000;start: 0x000a0000 New block 0x000c0000;len: 0x00180000;start: 0x000c0000 New block 0x000e0000;len: 0x00160000;start: 0x000e0000 New block 0x00100000;len: 0x00140000;start: 0x00100000 New block 0x00120000;len: 0x00120000;start: 0x00120000 New block 0x00140000;len: 0x00100000;start: 0x00140000 New block 0x00160000;len: 0x000e0000;start: 0x00160000 New block 0x00180000;len: 0x000c0000;start: 0x00180000 New block 0x001a0000;len: 0x000a0000;start: 0x001a0000 New block 0x001c0000;len: 0x00080000;start: 0x001c0000 New block 0x001e0000;len: 0x00060000;start: 0x001e0000 New block 0x00200000;len: 0x00040000;start: 0x00200000 New block 0x00220000;len: 0x00020000;start: 0x00220000 complete, status 0x00000000, loaded 0x00200000 bytes Data in DRAM: 0x25f005b0 0x009cedff 0xbeef05b0 Booting... Uncompressing Linux... Done. Now booting the kernel. Linux version 2.6.19 (larry@benq) (gcc version 3.2.1 Axis release R64/1.64) #4 Thu Jul 26 10:19:26 CST 2007 Setting up paging and the MMU. Linux/CRISv32 port on ETRAX FS (C) 2003, 2004 Axis Communications AB Built 1 zonelists. Total pages: 8160 Kernel command line: root=/dev/mtdblock3 init=/linuxrc rootfstype=jffs2 PID hash table entries: 256 (order: 8, 1024 bytes) Dentry cache hash table entries: 8192 (order: 2, 32768 bytes) Inode-cache hash table entries: 4096 (order: 1, 16384 bytes) Memory: 55656k/65536k available (1539k kernel code, 9880k reserved, 510k data, 64k init) Mount-cache hash table entries: 1024 NET: Registered protocol family 16 SCSI subsystem initialized NET: Registered protocol family 2 IP route cache hash table entries: 512 (order: -2, 2048 bytes) TCP established hash table entries: 2048 (order: 0, 8192 bytes) TCP bind hash table entries: 1024 (order: -1, 4096 bytes) TCP: Hash tables configured (established 2048 bind 1024) TCP reno registered Check hardware configuration of Elphel 353 camera Elphel 10349 IO extension board is present fast_timer_init() JFFS2 version 2.2. (NAND) (C) 2001-2006 Red Hat, Inc. io scheduler noop registered (default) Serial: CRISv32 driver $Revision: 1.78 $ <6>ttyS0 at I/O 0xb0026000 (irq = 68) is a CRISv32 RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize PPP generic driver version 2.4.2 ETRAX FS 10/100MBit ethernet v0.01 (c) 2003 Axis Communications AB eth0: changed MAC to 00:40:8C:CD:00:00 ETRAX FS stream co-processor driver v0.01, (c) 2003 Axis Communications AB stream co-processor: init done. axisflashmap: ... NAND device: Manufacturer ID: 0x20, Chip ID: 0xf1 (ST Micro NAND 128MiB 3,3V 8-bit) NAND 128MiB 3,3V 8-bit: 0x08000000 bytes of NAND flash memory. axisflashmap: Set to boot from NAND flash, making NAND flash primary device. axisflashmap: flash read 512 bytes at 0x00040000, data: 00 b0 05 f0 25 ff ed 9c axisflashmap: partition table offset 10, data: ef be 84 00 ac 0e 00 00 axisflashmap: Found a valid partition table at 0xc02339ae-0xc0233a3a. offset == 0x00040000, size == 0x007C0000 offset == 0x00800000, size == 0x01800000 offset == 0x02000000, size == 0x05000000 offset == 0x07000000, size == 0x00C00000 Creating 1 MTD partitions on "NAND 128MiB 3,3V 8-bit": 0x00000000-0x08000000 : "main" Creating 1 MTD partitions on "NAND 128MiB 3,3V 8-bit": 0x00000000-0x00040000 : "part0" Creating 1 MTD partitions on "NAND 128MiB 3,3V 8-bit": 0x00040000-0x00800000 : "part1" Creating 1 MTD partitions on "NAND 128MiB 3,3V 8-bit": 0x00800000-0x02000000 : "part2" Creating 1 MTD partitions on "NAND 128MiB 3,3V 8-bit": 0x02000000-0x07000000 : "part3" Creating 1 MTD partitions on "NAND 128MiB 3,3V 8-bit": 0x07000000-0x07c00000 : "part4" ETRAX FS GPIO driver v2.5, (c) 2003-2006 Axis Communications AB Elphel (R) model 353 FPGA (Xilinx (R) XC3S1200E) configuration driverElphel (R) model 353 system clocks (PLL frequency synth.) driverfpga_controlCMOS/MCP camera interrupts initialized Initializing DMA registers for EXTDMA3 - CMOS/MCP camera 353 driver Elphel (R) model 353 i2c character device driverhist: init ok ip_conntrack version 2.4 (512 buckets, 4096 max) - 196 bytes per conntrack ip_tables: (C) 2000-2006 Netfilter Core Team TCP cubic registered NET: Registered protocol family 1 NET: Registered protocol family 17 Bridge firewalling registered VFS: Mounted root (jffs2 filesystem) readonly. Freeing unused kernel memory: 64k freed exit: 4: Illegal number: X /linuxrc: Mounting /mnt/flash... Empty flash at 0x00377bb8 ends at 0x00378000 done /sbin/rc.fsupgrade: Cannot find /usr/etc/defaultfiles/jimage /linuxrc: /sbin/rc.fsupgrade failed! /linuxrc: Starting init. init: starting up. Starting system initialization. Axis Linux, http://developer.axis.com/ Copyright (C) 2000-2007 Axis Communications AB Elphel (R) Model 353 Camera release 7.1.0.9 �[32;01m*�[0m Mounting filesystems... �[2A�[72C�[34;01m[ �[32;01mok�[34;01m ]�[0m �[32;01m*�[0m Initializing /var... �[2A�[72C�[34;01m[ �[32;01mok�[34;01m ]�[0m �[32;01m*�[0m Determining MAC address... �[A�[4C�[32;01m+�[0m using saved MAC address: 00:0E:64:09:00:13 �[2A�[72C�[34;01m[ �[32;01mok�[34;01m ]�[0m �[32;01m*�[0m Initializing random number generator... �[2A�[72C�[34;01m[ �[32;01mok�[34;01m ]�[0m �[32;01m*�[0m Setting hostname... �[A�[4C�[32;01m+�[0m hostname: "Elphel353" �[2A�[72C�[34;01m[ �[32;01mok�[34;01m ]�[0m �[32;01m*�[0m Initializing volatile resolver configuration... �[2A�[72C�[34;01m[ �[32;01mok�[34;01m ]�[0m �[32;01m*�[0m Starting ipsetd... �[2A�[72C�[34;01m[ �[32;01mok�[34;01m ]�[0m �[32;01m*�[0m Setting FPGA master clock to 125 MHz... �[2A�[72C�[34;01m[ �[32;01mok�[34;01m ]�[0m �[32;01m*�[0m Programming FPGA with /etc/x353.bit... �[2A�[72C�[34;01m[ �[32;01mok�[34;01m ]�[0m CR[13]=1 (was 0) �[32;01m*�[0m Loaded FPGA rev... �[2A�[72C�[34;01m[ �[32;01m3533010�[34;01m ]�[0m �[32;01m*�[0m Adjusting DDR SDRAM clock phase... �[2A�[72C�[34;01m[ �[32;01mok�[34;01m ]�[0m �[32;01m*�[0m Writing Huffman tables from /etc/huffman.dat... �[2A�[72C�[34;01m[ �[32;01mok�[34;01m ]�[0m �[32;01m*�[0m Writing default JPEG header from /etc/header.jpeg... �[2A�[72C�[34;01m[ �[32;01mok�[34;01m ]�[0m writing precalculated gamma tables from /etc/gamma.dat �[32;01m*�[0m Turn on xtall output (12MHz) to FPGA... �[2A�[72C�[34;01m[ �[32;01mok�[34;01m ]�[0m �[32;01m*�[0m Looking for sensor FPGA... �[2A�[71C�[34;01m[ �[31;01mnone�[34;01m ]�[0m 1970-01-01 00:00:15: (mod_fastcgi.c.1289) --- fastcgi spawning local proc: /bin/php-fcgi port: 0 socket /tmp/php.socket min-procs: 1 max-procs: 1 1970-01-01 00:00:15: (mod_fastcgi.c.1314) --- fastcgi spawning port: 0 socket /tmp/php.socket current: 0 / 1 �[32;01m*�[0m Everything in /etc/init.d/fpga is done... �[2A�[72C�[34;01m[ �[32;01mok�[34;01m ]�[0m �[32;01m*�[0m Configure broadcast ping... �[2A�[72C�[34;01m[ �[32;01mok�[34;01m ]�[0m System initialization is done. /bin/sh: can't access tty; job control turned off # 1970-01-01 00:00:15: (log.c.75) server started New runlevel: 3 �[32;01m*�[0m Starting respawn daemon... �[2A�[72C�[34;01m[ �[32;01mok�[34;01m ]�[0m �[32;01m*�[0m Starting system and kernel logger... Jan 1 00:00:15 Elphel353 syslogd 1.4.1: restart. �[A�[4C�[32;01m+�[0m system logger started �[A�[4C�[32;01m+�[0m kernel logger started �[2A�[72C�[34;01m[ �[32;01mok�[34;01m ]�[0m �[32;01m*�[0m Bringing lo up... �[2A�[72C�[34;01m[ �[32;01mok�[34;01m ]�[0m �[32;01m*�[0m Bringing eth0 up... eth0: changed MAC to 00:0E:64:09:00:13 �[A�[4C�[32;01m+�[0m hardware address: 00:0E:64:09:00:13 �[A�[4C�[32;01m+�[0m media: auto �[A�[4C�[32;01m+�[0m eth0 going up eth0: changed MAC to 00:0E:64:09:00:13 �[A�[4C�[32;01m+�[0m IPv4 on eth0 �[A�[4C�[32;01m+�[0m boot protocol: none Unable to handle kernel NULL pointer dereference at virtual address 00000000 Oops: 0002 CPU: 0 ERP: c00e8ee2 SRP: c00164a8 CCS: 0a00a008 USP: afa8d588 MOF: 00000000 r0: c0b15000 r1: c0b15000 r2: c0b15260 r3: c0b15d79 r4: c01c9568 r5: c00164a8 r6: c01c956c r7: c0012b74 r8: 00000000 r9: 00200200 r10: c0b15000 r11: c0b15cd1 r12: c0b15ccd r13: c3c6dbdc oR10: c0b15000 acr: 00000000 sp: c3c6db44 Data MMU Cause: 000002d4 Instruction MMU Cause: 000180ff Process ip (pid: 699, stackpage=c0baed80) Stack from afa8d588: Failing address 0xafa8d588 Call Trace: Failing address 0xafa8d588 Stack from c3c6da64: c0004988 c3c6db44 c000eaae c3c6db70 00000000 00000000 c3c6db44 c0005672 00000000 c0baed80 c3c6db44 00000002 00000000 c0b15000 c0208200 00000000 c0b15000 c0b15000 c0b15260 c0b15d79 c01c9568 c00164a8 c01c956c c0012b74 Call Trace: [<c000eaae>] [<c0005672>] [<c00164a8>] [<c0012b74>] [<c00164a8>] [<c0012b74>] [<c00164a8>] [<c00e8ee2>] [<c00e8ec4>] [<c0012bf2>] [<c0004bb4>] [<c000635c>] [<c002d150>] [<c00cb152>] [<c002d422>] [<c002d50c>] [<c002d566>] [<c0034aa8>] [<c000556c>] [<c0034aa8>] [<c000556c>] [<c000a1ba>] [<c0032ace>] [<c0004bb4>] [<c00061b8>] [<c0035904>] [<c003653e>] [<c00317be>] [<c00639e6>] [<c00cb4a1>] [<c0064d3a>] [<c00436b4>] [<c0042730>] [<d7600009>] [<c004278a>] [<c004348c>] [<c004278a>] [<c0005926>] [<c00074c8>] Code: 60 36 3f 3c 79 0d 63 fa 06 20 60 16 (7f) 8a 3f 1c e5 0c 41 b2 bf be 9e 03 Kernel panic - not syncing: Aiee, killing interrupt handler!
How I reflash - Andrey
andrey@pundit:~/cvs_sync/elphel353-7.1/elphel353$ sudo su Password: root@pundit:/home/andrey/cvs_sync/elphel353-7.1/elphel353# . ./init_env Prepending "/home/andrey/cvs_sync/elphel353-7.1/elphel353/tools/build/bin" to PATH. Prepending "/usr/local/cris/bin" to PATH. root@pundit:/home/andrey/cvs_sync/elphel353-7.1/elphel353# ./ktest -d eth0 mac=000E64080000\ ip=192.168.0.99\ nfs=192.168.0.69:/nfs/elphel353-2.10\ cmd=update Using internal boot loader: INTERNAL_NW - Network boot (default). Using internal boot loader: INTERNAL2 - Level2 boot. Starting boot... Connected. Booting device with random id 6d77b50c. Device ID = 6d77b50c This bootloader compiled by andrey Wed Oct 10 14:15:23 MDT 2007. Checksum of bootloader is 0x0050c6d4 Waiting for load info. Got load info. SET_REGISTER ... PACKET_INFO 0xc0004000 0x00e34008 JUMP Exiting with code 0 root@pundit
"cmd=update" only if the current version (boot block) is base on Axis SDK 2.10 (Elphel v. 7.1.x - not 7.0.x), else "cmd=all" and specify the real MAC address