Bug 16364 - Redboot does not boot up Linux properly
: Redboot does not boot up Linux properly
Status: CLOSED FIXED
Product: SB Radio
Classification: Unclassified
Component: Other
: Include FW version in comment
: PC Windows XP
: P3 normal (vote)
: 7.6.0
Assigned To: Vahid Fereydouny
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2010-07-13 18:40 UTC by Vahid Fereydouny
Modified: 2011-05-24 17:24 UTC (History)
3 users (show)

See Also:
Category: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Vahid Fereydouny 2010-07-13 18:40:04 UTC
There are times that Redboot fails to function properly and to load the Linux kernel from the UBI.
Comment 1 Vahid Fereydouny 2010-07-13 18:45:58 UTC
 I analyzed the log for board bring up issue. Anytime that the Linux is run we function properly and the board boots up and runs squeezeplay as follows:

 vahidf@vahid_work:/tmp/logs$ cat ./baby3.TXT  |grep -c "exec -c"
65
vahidf@vahid_work:/tmp/logs$ cat ./baby3.TXT  |grep -c "Starting SqueezePlay"
65
vahidf@vahid_work:/tmp/logs$ cat ./baby3.TXT  |grep -c "Squeezeplay 7.5.1 r8902"
65

However there are times that redboot starts but never runs the Linux kernel!
vahidf@vahid_work:/tmp/logs$ cat ./baby3.TXT  |grep -c "Platform: Logitech Bab"
71

From the logs in a normal run the redboot runs the following commands:
RAM: 0x00000000-0x03f00000, [0x00095250-0x03ef1000] available
FLASH: 0x00000000 - 0x8000000, 1024 blocks of 0x00020000 bytes each.
RedBoot> ubi attach -f 0x80000 -l 0x07EC0000 -w 0x800 -e 0x20000 -s 0x200
scanning 1014 PEBs
....................................................................................................................................................................................................................skipping bad block 106
................................................................................................................................................................................................................................................skipping bad block 227
........................................................................................................................................................................................................................................................................................................................................................................................skipping bad block 416
........................................................................................................................................................................................................................................................................................................................................................skipping bad block 589
................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................scanning is finished
RedBoot> ubi load -b 0x100000 kernel%{os_backup}
RedBoot> exec -c %{os_cmdline} 

This means we were able to attach and load the Linux kernel from the redboot with no problem. The bad blocks are 106, 227, 416, and 589.
There are several times in the logs that we have problem attaching and loading the Linux kernel in the redboot as follows ( Once this condition happens it seems that it persists )

Platform: Logitech Baby (i.MX25 )  PASS 1.0 [x32 DDR]
System type 2070 revision 5
Copyright (C) 2000, 2001, 2002, 2003, 2004 Red Hat, Inc.
Copyright (C) 2003, 2004, 2005, 2006 eCosCentric Limited

RAM: 0x00000000-0x03f00000, [0x00095250-0x03ef1000] available
FLASH: 0x00000000 - 0x8000000, 1024 blocks of 0x00020000 bytes each.
RedBoot> ubi attach -f 0x80000 -l 0x07EC0000 -w 0x800 -e 0x20000 -s 0x200
scanning 1014 PEBs
......................................................................................þ ++NAND: RCSR=54200900
Searching for BBT table in the flash ...
.
Found version 1 Bbt0 at block 1023 (0x7fe0000)
Block 110 is bad
Block 231 is bad
Block 420 is bad
Block 593 is bad
Total bad blocks: 4
.FEC PHY: RTL8201EL
FEC: [ HALF_DUPLEX ] [ disconnected ] [ 10M bps ]:
Ethernet mxc_fec: MAC address 00:04:20:26:8e:ec
No IP info for device!
Unrecognized chip: 0xf8!!!
hardware reset by POR

Clock input is 24 MHz
RedBoot(tm) bootstrap and debug environment [ROMRAM]
Non-certified release, version FSL 200904 - built 15:05:21, Aug 11 2009

Platform: Logitech Baby (i.MX25 )  PASS 1.0 [x32 DDR]
System type 2070 revision 5
Copyright (C) 2000, 2001, 2002, 2003, 2004 Red Hat, Inc.
Copyright (C) 2003, 2004, 2005, 2006 eCosCentric Limited

RAM: 0x00000000-0x03f00000, [0x00095250-0x03ef1000] available
FLASH: 0x00000000 - 0x8000000, 1024 blocks of 0x00020000 bytes each.
RedBoot> ubi attach -f 0x80000 -l 0x07EC0000 -w 0x800 -e 0x20000 -s 0x200
scanning 1014 PEBs
....................................................................................................................................................................................................................skipping bad block 106
................................................................................................................................................................................................................................................skipping bad block 227
................................ ++NAND: RCSR=54200900
Searching for BBT table in the flash ...
.
Found version 1 Bbt0 at block 1023 (0x7fe0000)
Block 110 is bad
Block 231 is bad
Block 420 is bad
Block 593 is bad
Total bad blocks: 4
.FEC PHY: RTL8201EL
FEC: [ HALF_DUPLEX ] [ disconnected ] [ 10M bps ]:
Ethernet mxc_fec: MAC address 00:04:20:26:8e:ec
No IP info for device!
Unrecognized chip: 0xf8!!!
hardware reset by POR

Clock input is 24 MHz
RedBoot(tm) bootstrap and debug environment [ROMRAM]
Non-certified release, version FSL 200904 - built 15:05:21, Aug 11 2009

Platform: Logitech Baby (i.MX25 )  PASS 1.0 [x32 DDR]
System type 2070 revision 5
Copyright (C) 2000, 2001, 2002, 2003, 2004 Red Hat, Inc.
Copyright (C) 2003, 2004, 2005, 2006 eCosCentric Limited

RAM: 0x00000000-0x03f00000, [0x00095250-0x03ef1000] available
FLASH: 0x00000000 - 0x8000000, 1024 blocks of 0x00020000 bytes each.
RedBoot> ubi attach -f 0x80000 -l 0x07EC0000 -w 0x800 -e 0x20000 -s 0x200
scanning 1014 PEBs
....................................................................................................................................................................................................................skipping bad block 106
............................................................ÿ++NAND: RCSR=54200900
Searching for BBT table in the flash ...
.
Found version 1 Bbt0 at block 1023 (0x7fe0000)
Block 110 is bad
Block 231 is bad
Block 420 is bad
Block 593 is bad
Total bad blocks: 4
.FEC PHY: RTL8201EL
FEC: [ HALF_DUPLEX ] [ disconnected ] [ 10M bps ]:
Ethernet mxc_fec: MAC address 00:04:20:26:8e:ec
No IP info for device!
Unrecognized chip: 0xf8!!!
hardware reset by POR

Clock input is 24 MHz
RedBoot(tm) bootstrap and debug environment [ROMRAM]
Non-certified release, version FSL 200904 - built 15:05:21, Aug 11 2009

Platform: Logitech Baby (i.MX25 )  PASS 1.0 [x32 DDR]
System type 2070 revision 5
Copyright (C) 2000, 2001, 2002, 2003, 2004 Red Hat, Inc.
Copyright (C) 2003, 2004, 2005, 2006 eCosCentric Limited

RAM: 0x00000000-0x03f00000, [0x00095250-0x03ef1000] available
FLASH: 0x00000000 - 0x8000000, 1024 blocks of 0x00020000 bytes each.
RedBoot> ubi attach -f 0x80000 -l 0x07EC0000 -w 0x800 -e 0x20000 -s 0x200
scanning 1014 PEBs
....................................................................................................................................................................................................................skipping bad block 106
.........................................................................................................................................................++NAND: RCSR=54200900
Searching for BBT table in the flash ...
.
Found version 1 Bbt0 at block 1023 (0x7fe0000)
Block 110 is bad
Block 231 is bad
Block 420 is bad
Block 593 is bad
Total bad blocks: 4
.FEC PHY: RTL8201EL
FEC: [ HALF_DUPLEX ] [ disconnected ] [ 10M bps ]:
Ethernet mxc_fec: MAC address 00:04:20:26:8e:ec
No IP info for device!
Unrecognized chip: 0xf8!!!
hardware reset by POR

Clock input is 24 MHz
RedBoot(tm) bootstrap and debug environment [ROMRAM]
Non-certified release, version FSL 200904 - built 15:05:21, Aug 11 2009

Platform: Logitech Baby (i.MX25 )  PASS 1.0 [x32 DDR]
System type 2070 revision 5
Copyright (C) 2000, 2001, 2002, 2003, 2004 Red Hat, Inc.
Copyright (C) 2003, 2004, 2005, 2006 eCosCentric Limited

RAM: 0x00000000-0x03f00000, [0x00095250-0x03ef1000] available
FLASH: 0x00000000 - 0x8000000, 1024 blocks of 0x00020000 bytes each.
RedBoot> ubi attach -f 0x80000 -l 0x07EC0000 -w 0x800 -e 0x20000 -s 0x200
scanning 1014 PEBs
............................................................................................++NAND: RCSR=54200900
Searching for BBT table in the flash ...
.
Found version 1 Bbt0 at block 1023 (0x7fe0000)
Block 110 is bad
Block 231 is bad
Block 420 is bad
Block 593 is bad
Total bad blocks: 4
.FEC PHY: RTL8201EL
FEC: [ HALF_DUPLEX ] [ disconnected ] [ 10M bps ]:
Ethernet mxc_fec: MAC address 00:04:20:26:8e:ec
No IP info for device!
Unrecognized chip: 0xf8!!!
hardware reset by POR

Clock input is 24 MHz
RedBoot(tm) bootstrap and debug environment [ROMRAM]
Non-certified release, version FSL 200904 - built 15:05:21, Aug 11 2009

Platform: Logitech Baby (i.MX25 )  PASS 1.0 [x32 DDR]
System type 2070 revision 5
Copyright (C) 2000, 2001, 2002, 2003, 2004 Red Hat, Inc.
Copyright (C) 2003, 2004, 2005, 2006 eCosCentric Limited

RAM: 0x00000000-0x03f00000, [0x00095250-0x03ef1000] available
FLASH: 0x00000000 - 0x8000000, 1024 blocks of 0x00020000 bytes each.
RedBoot> ubi attach -f 0x80000 -l 0x07EC0000 -w 0x800 -e 0x20000 -s 0x200
scanning 1014 PEBs
....................................................................................................................................................................................................................skipping bad block 106
..........................................................................................................................................................++NAND: RCSR=54200900
Searching for BBT table in the flash ...
.
Found version 1 Bbt0 at block 1023 (0x7fe0000)
Block 110 is bad
Block 231 is bad
Block 420 is bad
Block 593 is bad
Total bad blocks: 4
.FEC PHY: RTL8201EL
FEC: [ HALF_DUPLEX ] [ disconnected ] [ 10M bps ]:
Ethernet mxc_fec: MAC address 00:04:20:26:8e:ec
No IP info for device!
Unrecognized chip: 0xf8!!!
hardware reset by POR


It is clear that in failed cases the Redboot does not scan and detect the NAND flash bad blocks properly.
Comment 2 Vahid Fereydouny 2010-09-28 23:05:14 UTC
I can reproduce this problem by having an external battery connected to my Baby and taking the following steps:
1. Let the Baby come up with the external battery connected
2. Let it run for a while
3. Remove the AC
4. Have no activity on Baby. The Baby shuts itself down after 1/2 hour.
5. After this the system is supposed to stay in power off mode, but there are times that it tries to boot up and then this problem can happen.
Comment 3 Vahid Fereydouny 2011-01-18 16:19:34 UTC
I have not seen this problem with the latest MSP430 changes. I assume this bug is resolved.
Comment 4 Bradley D. Wall 2011-05-24 17:24:03 UTC
Cannot reproduce with build r9443 on Radio. Going to close since problem identified and fix in place.