[E3-hacking] PBL & running arbitrary code

Ralph Corderoy e3-hacking@earth.li
Mon, 14 Mar 2005 19:37:09 +0000

Hi David,

> (My unit *does* seem to be a little different --- Matt, have you taken
> the lid off yours yet? Does it have an SMC adaptor soldered onto the
> top of the motherboard?

I've received a report of an E2 that also doesn't have the metal cage
visible in en4rab's photo yet takes a SmartMedia card and functions
correctly.  The assumption is that the case is sufficient to hold it in
contact with the board.

I've some photos I'll try and put up.  Plus some E3 circuit board scans.

> > It shouldn't do that.  Is that what actually happens, in which case
> > the stdout and stderr would be handy, or what you think from a quick
> > look?
> That was what strace gave.
> I actually sorted this out; because my program, pblq, was not calling
> tcgetattr but was resetting the termios structure to zeros, it was
> doing something strange to the serial port settings that exp couldn't
> cope with. I fixed pblq and exp now works fine

Thanks for letting me know.  I don't think there's anything exp can do
to avoid this.  The convention is you tweak what bits you understand and
leave the rest alone because platforms may have ones you've never heard
of, so exp can't set the attributes to known values unfortunately.

> Incidentally, useful factoid. The boot process goes like this:
>      1. Splash screen (pretty picture of the emailer).
>      2. Title screen (with 'Personal Communication Centre' across the
>         middle).
>      3. Main menu.
> If on the transition between 1 and 2, you press STOP+HANDSFREE, the
> machine will reset itself back into a virgin state.

By virgin state, do you mean it thinks it hasn't registered or something
else?  I'll put this into the FAQ to save it getting lost.


> Do we know yet what puts up the splash screen? PBL or the main
> software?  What do you see on a successfully suspended boot?

PBL doesn't go near the LCD.  The most it does is twiddle LEDs to
reflect counter/FSM status.  So the screen would still be blank when PBL
is paused.