On XO-1.5 with 11.3.0/11.3.1 -- hang during shutdown?

James Cameron quozl at laptop.org
Fri Jun 15 20:16:02 EDT 2012


I do not wish to constrain your investigation at all, please continue
investigating, but I do have some comments and speculations.

Yes, the microSD card cannot be excluded as a cause.  But unless there
are other symptoms associated with the microSD card, effort should be
concentrated on finding the root cause of the hang, using Linux
debugging techniques.

The transactions that are given to the microSD card during shutdown
should be normal block read and writes, as the filesystem is prepared
for unmounting.  There's nothing unusual about these transactions,
except that some of them may be located in a particular block range.

So it is unlikely that this will be a cause of the hang.

But you may want to exclude it.  On the theory that these writes may
be stalling due to the block number, (and we haven't seen any evidence
yet of this), you can test for that by repeating the writes in a
controlled fashion, such as by booting from an external SD card or USB
drive, and using Linux to mount and umount the internal microSD card
partitions.  If you find this unreliable, then it is a critical
finding.  If you find this reliable, then you can exclude the theory
of writes stalling due to block number.

There is a possibility that the contributed behaviour is tied to a
model of microSD card, rather than a specific microSD card.  We use
multiple qualified sources in manufacturing.  You might identify the
manufacturer's identity and configuration of the microSD card.  You
can do this in Open Firmware using:

	ok select int
	ok show-cid

There are, no doubt, ways to do this in Linux as well, but I do not
recall the details.

I look forward to hearing what your Linux debugging techniques
uncover.  Ask yourself this question; what is preventing the power off
command from being delivered to the embedded controller by the kernel?
Is it because it was not sent?  If so, why?  Is it because it was sent
(per serial port evidence) but not obeyed?  If so, why is it that the
power button responds?  Is there any serial port evidence of the power
button being detected by the kernel at the point of the hang?  And so
on.

-- 
James Cameron
http://quozl.linux.org.au/



More information about the Devel mailing list