Another case of unable to boot from SD

Started by ehj666, January 13, 2013, 10:38:07 PM

Previous topic - Next topic

jwischka

You will only see the port (COM8, in your case, it seems) when the USB adapter is plugged in. This is as expected.

You are correct that Putty does not give you a list of possible ports - you will need to type in COM8, then change the speed from 9600 to 115200, and then hit open. You shouldn't see anything at first, until you plug in the board. You won't be able to open the port if the USB cable isn't plugged in, obviously. Connect the serial cable to the board, plug the USB in, open the connection in Putty, then power on the board. You should see *something*.

As to your specific question, I have no idea about SD behavior in Android. I suspect that would come down to the default version of u-boot that is installed on the board, and I'm not sure if that is constant across all shipping revisions (and I have a Rev. B board, so I'm not sure I can help you there). I've also messed up the Android install on my nand, so I can't boot into it anymore, so I *really* can't help you there. Perhaps someone else can.



Quote from: ehj666 on January 14, 2013, 05:14:31 PM
Ok, I made a small amount of progress. Putty does not give a selection of com ports, it shows COM1 and I can type in anything I want. If I run hyperterminal I see that a COM8 has been added. It exists, however, only when the USB is connected. One improvement is that it does appear regardless of whether I boot to Android or the SD drive.

Unfortunately, neither hyperterminal nor putty will allow me to talk to the port. I get a connection error or something similar from both programs. With putty, if the USB cable is not connected, I do not think the port even exists, based on what hyperterminal displays. So the error might be valid if I try to open a non-existant port.

Going past that, let me ask a very specific question. If you boot the Olinuxino to Android and then insert the bootable SD, can you read it from Android? Secondly, if you put in an ordinary SD, with a file system but no bootable OS, can you read that from Android? In my case I cannot. So the first thing I would like to do is to elimnate the SD itself as problem.

Thanks

JohnS

Quote from: jwischka on January 14, 2013, 04:30:23 PM
My bad - the title said Android and there was a lot of text there. I missed that you weren't the original author.

When you made your measurement of the voltage, was that from the battery or from a power supply - either way, is there a difference, and is there a difference between the three supplies you tried?

I am wondering if there is some sort of issue with the power connector on the board, especially since you say it fails at different points in the boot.
Don't worry, I'm glad of any help!

Any of the supplies results in 5.3V (on battery it's 0V but that's presumably OK).  And as I posted today my battery Charging LED (CHGLED / CHLED) no longer lights.  I wonder if the AX209 is not right.

Almost always the Oops is an attempted NULL pointer deref like this:

[    1.380000] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
[    1.390000] Registering SWP/SWPB emulation handler
[    1.390000] registered taskstats version 1
[    1.400000] Unable to handle kernel NULL pointer dereference at virtual address 00000018
[    1.410000] pgd = c0004000
[    1.410000] [00000018] *pgd=00000000
[    1.410000] Internal error: Oops: 5 [#1] PREEMPT
[    1.410000] Modules linked in:
[    1.410000] CPU: 0    Not tainted  (3.0.57jwischka-20130109+ #26)
[    1.410000] PC is at mutex_lock+0x10/0x4c
[    1.410000] LR is at axp_clr_bits+0x2c/0xb8
[    1.410000] pc : [<c0509084>]    lr : [<c038cf64>]    psr: a0000013
[    1.410000] sp : df83bd48  ip : df83bd58  fp : df83bd54
[    1.410000] r10: 00000a68  r9 : 00000006  r8 : 00000092
[    1.410000] r7 : 00000092  r6 : 00000018  r5 : 00000000  r4 : df83bdd0
[    1.410000] r3 : c07c511c  r2 : 00000000  r1 : 00000092  r0 : 00000018
[    1.410000] Flags: NzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
[    1.410000] Control: 10c5387d  Table: 40004019  DAC: 00000015

(the above is your image, which used to boot)

I just found u-boot's "reset" command doesn't work, but don't know if it ever did or is implemented for this board.

Is it realistic to download the kernel over the uart to rule out the SD?  u-boot appears to say it does kermit etc and I guess I can find something at the Linux end that'll send the file, if so.

umm, no, it'll want some other file(s) like script.bin, what a shame.

John

jwischka

You should only need uImage and script.bin - and actually, you might not fully need script.bin to boot, though I haven't tested this. It basically gives you some options.

I wonder if you would have different results with a 3.4 kernel instead of a 3.0. The fact that it's failing at different points in the process points to a hardware issue, I think, since if it was fully software you would expect it to be more deterministic (unless there is a race condition there somewhere, but that seems unlikely given that things are failing seconds apart (failed ~1.5 in this boot, ~5 in the other you posted).

Can you send me a full boot log from a couple of different boots?

ehj666

Quote from: jwischka on January 14, 2013, 05:29:28 PM
You will only see the port (COM8, in your case, it seems) when the USB adapter is plugged in. This is as expected.

You are correct that Putty does not give you a list of possible ports - you will need to type in COM8, then change the speed from 9600 to 115200, and then hit open. You shouldn't see anything at first, until you plug in the board. You won't be able to open the port if the USB cable isn't plugged in, obviously. Connect the serial cable to the board, plug the USB in, open the connection in Putty, then power on the board. You should see *something*.

As to your specific question, I have no idea about SD behavior in Android. I suspect that would come down to the default version of u-boot that is installed on the board, and I'm not sure if that is constant across all shipping revisions (and I have a Rev. B board, so I'm not sure I can help you there). I've also messed up the Android install on my nand, so I can't boot into it anymore, so I *really* can't help you there. Perhaps someone else can.

One step forward, two steps back. The good news is that I finally got the serial port to work. The bad news is that I seem to have screwed up android, and it no longer boots, although I get a lot logged to the serial port and no obvious errors. I tried reloading Android, but LiveSuit never seems to see it.

The worse new is, when I try to boot from the SD all I get is:

sp1: mmc blk read err - 0
### Error ### Please reset the board ###

If I reset I just get the same thing. That would indicate to me that it is not able to read the SD.

jwischka

Correct. I assume with multiple cards, as well?

People are reporting that some cards don't work, though it's hard to know whether this is a widespread phenomenon, or not. For my board, I've had no problems booting with legitimate Sandisk cards (UHS-I), but someone else reported that they had problems with Sandisk. Of course, fake cards are rampant, so that could be part of it as well.

Then there's also the possibility (given what you said re: sd card not reading in Android) that your SD slot is broken, or the connection isn't firm, or ________?

Are you getting any messages from u-boot at all, or just the sp1 message you listed below?




Quote from: ehj666 on January 14, 2013, 11:31:15 PM
Quote from: jwischka on January 14, 2013, 05:29:28 PM
You will only see the port (COM8, in your case, it seems) when the USB adapter is plugged in. This is as expected.

You are correct that Putty does not give you a list of possible ports - you will need to type in COM8, then change the speed from 9600 to 115200, and then hit open. You shouldn't see anything at first, until you plug in the board. You won't be able to open the port if the USB cable isn't plugged in, obviously. Connect the serial cable to the board, plug the USB in, open the connection in Putty, then power on the board. You should see *something*.

As to your specific question, I have no idea about SD behavior in Android. I suspect that would come down to the default version of u-boot that is installed on the board, and I'm not sure if that is constant across all shipping revisions (and I have a Rev. B board, so I'm not sure I can help you there). I've also messed up the Android install on my nand, so I can't boot into it anymore, so I *really* can't help you there. Perhaps someone else can.

One step forward, two steps back. The good news is that I finally got the serial port to work. The bad news is that I seem to have screwed up android, and it no longer boots, although I get a lot logged to the serial port and no obvious errors. I tried reloading Android, but LiveSuit never seems to see it.

The worse new is, when I try to boot from the SD all I get is:

sp1: mmc blk read err - 0
### Error ### Please reset the board ###

If I reset I just get the same thing. That would indicate to me that it is not able to read the SD.

ehj666

#20
Quote from: jwischka on January 14, 2013, 11:35:04 PM
Correct. I assume with multiple cards, as well?

People are reporting that some cards don't work, though it's hard to know whether this is a widespread phenomenon, or not. For my board, I've had no problems booting with legitimate Sandisk cards (UHS-I), but someone else reported that they had problems with Sandisk. Of course, fake cards are rampant, so that could be part of it as well.

Then there's also the possibility (given what you said re: sd card not reading in Android) that your SD slot is broken, or the connection isn't firm, or ________?

Are you getting any messages from u-boot at all, or just the sp1 message you listed below?

Yes, same thing with both bootable SDs. Unfortunately they are both 4GB PNY. The other SD was a 32GB Transcend, but it is not bootable, I was just trying to read it, and it gave the same damaged SD error when trying to read it from Android on the Olinuxino as the PNYs.

I am getting no messages from u-boot.

Separate question for anyone else. I am not that familiar with what is available from the command line in Android, but is there an equivalent to 'fsck'. It comes back as an unrecognized command, as does shutdown and a bunch of others I am used to having under Debian / Ubuntu.

Thanks

jwischka

I'm not sure if you can try imaging the 32gb card, but that would be something I'd suggest, if you're willing to, at least to debug. It won't do any permanent damage to the card. That would at least help to rule out the PNY cards, if the Transcend still doesn't boot.



Quote from: ehj666 on January 14, 2013, 11:48:17 PM
Quote from: jwischka on January 14, 2013, 11:35:04 PM
Correct. I assume with multiple cards, as well?

People are reporting that some cards don't work, though it's hard to know whether this is a widespread phenomenon, or not. For my board, I've had no problems booting with legitimate Sandisk cards (UHS-I), but someone else reported that they had problems with Sandisk. Of course, fake cards are rampant, so that could be part of it as well.

Then there's also the possibility (given what you said re: sd card not reading in Android) that your SD slot is broken, or the connection isn't firm, or ________?

Are you getting any messages from u-boot at all, or just the sp1 message you listed below?

Yes, same thing with both bootable SDs. Unfortunately they are both 4GB PNY. The other SD was a 32GB Transcend, but it is not bootable, I was just trying to read it, and it gave the same damaged SD error when trying to read it from Android on the Olinuxino.

Separate question for anyone else. I am not that familiar with what is available from the command line in Android, but is there an equivalent to 'fsck'. It comes back as an unrecognized command, as does shutdown and a bunch of others I am used to having under Debian / Ubuntu.

Thanks

ehj666

I am reluctant to use the Transcend since it has the backups for my tablet and could not be read under Android anyway. I have another class 10 32GB SD on order, it just has not arrived. The Best Buy near me seems to only carry PNY. I can try Radio Shack and see if they carry Sandisk or any other brand.

BTW, thanks for all the help.

jwischka

No problem. RadShack does carry Sandisk cards, FYI.

Quote from: ehj666 on January 14, 2013, 11:58:32 PM
I am reluctant to use the Transcend since it has the backups for my tablet and could not be read under Android anyway. I have another class 10 32GB SD on order, it just has not arrived. The Best Buy near me seems to only carry PNY. I can try Radio Shack and see if they carry Sandisk or any other brand.

BTW, thanks for all the help.

JohnS

Quote from: jwischka on January 14, 2013, 07:17:55 PM
You should only need uImage and script.bin - and actually, you might not fully need script.bin to boot, though I haven't tested this. It basically gives you some options.

I wonder if you would have different results with a 3.4 kernel instead of a 3.0. The fact that it's failing at different points in the process points to a hardware issue, I think, since if it was fully software you would expect it to be more deterministic (unless there is a race condition there somewhere, but that seems unlikely given that things are failing seconds apart (failed ~1.5 in this boot, ~5 in the other you posted).

Can you send me a full boot log from a couple of different boots?
Where would you like me to send them?

Thanks in advance,

John

jwischka

PM sent.

Quote from: JohnS on January 15, 2013, 12:08:42 AM
Quote from: jwischka on January 14, 2013, 07:17:55 PM
You should only need uImage and script.bin - and actually, you might not fully need script.bin to boot, though I haven't tested this. It basically gives you some options.

I wonder if you would have different results with a 3.4 kernel instead of a 3.0. The fact that it's failing at different points in the process points to a hardware issue, I think, since if it was fully software you would expect it to be more deterministic (unless there is a race condition there somewhere, but that seems unlikely given that things are failing seconds apart (failed ~1.5 in this boot, ~5 in the other you posted).

Can you send me a full boot log from a couple of different boots?
Where would you like me to send them?

Thanks in advance,

John

JohnS

Thanks - will send.

If my board needed the LiPo then it now won't work because something is wrong with the LiPo charging circuit or the like - zero volts at the pins when it ought to be charging.  The plot thickens...

jwischka

Could be that there's not enough power to start charging the battery, and the battery is pulling the voltage to look like a dead short. I've seen that on much larger cells where the power supply is a bit undersized. Can you charge it a bit (say, to 20%) externally and then see if you get a non-zero voltage?

Quote from: JohnS on January 15, 2013, 12:58:37 AM
Thanks - will send.

If my board needed the LiPo then it now won't work because something is wrong with the LiPo charging circuit or the like - zero volts at the pins when it ought to be charging.  The plot thickens...

ehj666

Quote from: jwischka on January 14, 2013, 11:59:18 PM
No problem. RadShack does carry Sandisk cards, FYI.

Well I just went up to Radio Shack. They apparently just had a big sale on Sandisk. The prices were very good, unfortunately they sold out of the 4GB SDs. I got a 16, burned the image with no problem, but it generates the same error. I should have added, the first line of the error message reads:

U-Boot SPL 2012.10-04266-g20efdee-dirty (Jan 08 2013 - 16:20:29)

At this point I have to believe something is wrong with the SD interface itself on this particular board.

jwischka

Hrm... that's somewhat interesting, because it means it is reading *some* of the card, because that's the version of u-boot that I compiled.

What it should say is:

QuoteU-Boot 2012.10-04266-g20efdee-dirty (Jan 08 2013 - 16:20:29) Allwinner Technology

CPU:   SUNXI Family
Board: A13-OLinuXino
I2C:   ready
DRAM:  512 MiB
MMC:   SUNXI SD/MMC: 0
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Hit any key to stop autoboot:  0

Do you get any of that? If so, can you hit any key to stop the autoboot?