Too many bit errors/Invalid CRC

This forum is for all other ARMv5 devices

Too many bit errors/Invalid CRC

Postby BuffaloM » Tue Oct 09, 2012 3:32 am

When trying to flash a new uImage to a B0x/oxnas pogoplug I received warnings that there were too many bit errors and invalid CRC32, etc. Obviously something didn't work right. Now I don't get anything on serial at all unless I have a SATA drive connected. Is there any hope to having this untethered from sata ever again?
BuffaloM
 
Posts: 17
Joined: Tue Jan 10, 2012 3:23 am

Re: Too many bit errors/Invalid CRC

Postby WarheadsSE » Tue Oct 09, 2012 6:26 am

Yes. You will need to us blparam to point uboot at slot B, and flash the uImage there. You did write it with my flashing script, yes?
Core Developer
Remember: Arch Linux ARM is entirely community donation supported!
WarheadsSE
Developer
 
Posts: 6807
Joined: Mon Oct 18, 2010 2:12 pm

Re: Too many bit errors/Invalid CRC

Postby BuffaloM » Wed Oct 10, 2012 2:38 am

Is Slot A toast? I was able to write without error just now, but without the sata drive plugged in I still don't get any activity to the serial console. Would think that if the uImage is bad it would complain over the serial connection and give a uBoot menu, but nothing unless the HD is plugged in via SATA.

$this->bbcode_second_pass_code('', '
[root@pogoplug update-oxnas]# flash_erase /dev/mtd1 0x500000 20
Erasing 128 Kibyte @ 760000 -- 100 % complete
[root@pogoplug update-oxnas]# nandwrite -p -s 0x500000 /dev/mtd1 boot/uImage.nopci
Writing data to block 40 at offset 0x500000
Writing data to block 41 at offset 0x520000
Writing data to block 42 at offset 0x540000
Writing data to block 43 at offset 0x560000
Writing data to block 44 at offset 0x580000
Writing data to block 45 at offset 0x5a0000
Writing data to block 46 at offset 0x5c0000
Writing data to block 47 at offset 0x5e0000
Writing data to block 48 at offset 0x600000
Writing data to block 49 at offset 0x620000
Writing data to block 50 at offset 0x640000
Writing data to block 51 at offset 0x660000
Writing data to block 52 at offset 0x680000
Writing data to block 53 at offset 0x6a0000
Writing data to block 54 at offset 0x6c0000
Writing data to block 55 at offset 0x6e0000
Writing data to block 56 at offset 0x700000
Writing data to block 57 at offset 0x720000
')
BuffaloM
 
Posts: 17
Joined: Tue Jan 10, 2012 3:23 am

Re: Too many bit errors/Invalid CRC

Postby WarheadsSE » Wed Oct 10, 2012 1:05 pm

Eeh... Yeah, if you don't even see stage1 & uboot, you've got NAND problems.
Core Developer
Remember: Arch Linux ARM is entirely community donation supported!
WarheadsSE
Developer
 
Posts: 6807
Joined: Mon Oct 18, 2010 2:12 pm

Re: Too many bit errors/Invalid CRC

Postby BuffaloM » Fri Oct 12, 2012 4:23 am

Can someone point me in the right direction on restoring stage1 and uboot?
BuffaloM
 
Posts: 17
Joined: Tue Jan 10, 2012 3:23 am

Re: Too many bit errors/Invalid CRC

Postby LeZerb » Fri Oct 19, 2012 2:34 pm

I would also be interested in a way to recover stage1 and uboot.
LeZerb
 
Posts: 7
Joined: Fri Oct 19, 2012 2:28 pm

Re: Too many bit errors/Invalid CRC

Postby WarheadsSE » Fri Oct 19, 2012 4:31 pm

http://ppl.ug/W-xkdif1oxE/

Grab this bin, it is stock stage1 & alarm-modified uboot, exactly 0x200000 (5 zeros)

Remember to change the CESVCID please.
$this->bbcode_second_pass_code('', '

')

In theory, blparam will now work.
Core Developer
Remember: Arch Linux ARM is entirely community donation supported!
WarheadsSE
Developer
 
Posts: 6807
Joined: Mon Oct 18, 2010 2:12 pm

Re: Too many bit errors/Invalid CRC

Postby ckiick » Fri Oct 19, 2012 6:02 pm

To elaborate a little more on WarHeadsSE posting.
get the file mtd1-uboot.bin from his link. The size should be exactly 2162688 bytes. It is a copy of the stage1/uboot section of nand for an oxnas board running ALARM.
The md5sum is ed5a59bf385db528f4f601defa5de3ad. DO NOT USE if it is corrupt.

If your uboot is not completely trashed already, this procedure will definetely nuke it. It will also reset the boot environment (blparams). You need to be booted off of SATA, and a serial console is highly recommended.

First verify that the file is the right size and checksum.
Then use flash_erase on the first 16 blocks of mtd1. This will kill the existing uboot.
Write the image to nand using nandwrite. I used the -n -o -r options.
Dump the image back out and compare to the original file. If they don't match, something is wrong.
Use blparam to reset the boot environment to your specific plug.
If needed, install a uImage into NAND. See the oxnas-install.sh script for clues. Be careful!
Reboot without SATA. Monitor on the serial console to see it starting uboot.
$this->bbcode_second_pass_code('', '
flash_erase /dev/mtd1 0 16
nandwrite -n -o -r /dev/mtd1 mtd1-uboot.bin
nanddump -n -o -l 0x200000 -f mtd1-uboot.chk /dev/mtd1
md5sum mtd1-uboot.bin mtd1-uboot.chk
')

Things that need to be reset using blparams:
ethaddr
cesvcid
bootargs_stock, the mac_addr part.
bootargs, the mac_addr part.

The cesvcid and mac addr can be found on the bottom of the foot of the pogoplug.
--
Chris J. Kiick Robot builder and all-around geek.
ckiick
 
Posts: 12
Joined: Tue Jan 03, 2012 4:13 pm

Re: Too many bit errors/Invalid CRC

Postby LeZerb » Sat Oct 20, 2012 8:01 am

Thank you for your help - I already have the pogoplug running from SATA and a serial connection.

Unfortunately I am not able to download the file currently and will try again later.

Is there a difference between the Pogoplugs B0x and Pro (P01) with regards to stage1 and uboot. I am trying to get my Pro to work again and hope that the mtd1 dump matches my model.
LeZerb
 
Posts: 7
Joined: Fri Oct 19, 2012 2:28 pm

Re: Too many bit errors/Invalid CRC

Postby WarheadsSE » Sat Oct 20, 2012 11:35 am

The uboot & stage1 appear to be identical.

Sorry, I lost power for 6 hours last night.
Core Developer
Remember: Arch Linux ARM is entirely community donation supported!
WarheadsSE
Developer
 
Posts: 6807
Joined: Mon Oct 18, 2010 2:12 pm

Next

Return to Community Supported

Who is online

Users browsing this forum: No registered users and 27 guests