Opened 4 years ago

Closed 4 years ago

Last modified 20 months ago

#12327 closed defect (fixed)

Touchscreen Firmware reprogramming so slow as to appear hung

Reported by: wad Owned by: Quozl
Priority: high Milestone:
Component: touchscreen Version: Development build as of this date
Keywords: XO-4, touchscreen Cc: wad
Blocked By: Blocking:
Deployments affected: Action Needed: no action
Verified: no


On one XO-4 C1 laptop only (so far), the touchscreen firmware auto-upgrade process is INCREDIBLY slow. It is so slow that it only draws one dot on the screen per minute. On the serial console, it is more like one dot every five seconds, although sometimes there are bursts of two or three dots printed.

One time, it was slow for the first few writes, then ran at full speed for the rest of the programming.

If the slow programming is allowed to complete, the MSP430 has been reprogrammed correctly.

Other C1 laptops tested so far don't show this problem. This is a 1.2 GHz SKU.

This was tested with both q7b05, q7b07 and q7b07ja, with both 0.6 and 0.5
neonode software preprogrammed into the MSP430.

Manually running flash-nn, $flash-bsl, or update-nn-flash works fine, at full speed. The touchscreen tests seem to run fine on this laptop.

I have seen update-nn-flash return a prompt imediately, with no error messages, but typing flash-nn rom:\nn.hex right afterwards worked fine.

The timing relative to boot is critical. If I delay the boot process by dropping into CForth then typing ofw, the programming is just as slow.
If I delay the boot process by dropping into CForth then typing ofw while holding down the rotate key, then type resume after a few seconds, the reprogramming runs at full speed but always reboots the laptop immediately after completing (before returning an ok prompt, by jumping to a reset vector --- the EC is not involved in the reset).

Looking at the async. serial BSL signals between the SoC and the MSP430, the waveforms are nice and clean and running at the right voltages.

Change History (9)

comment:1 Changed 4 years ago by wad

  • Cc wad added

I'll try to hang onto this motherboard for further testing, otherwise we will have to wait until it is shipped to Cambridge.

comment:2 Changed 4 years ago by wad

The failing laptop has serial number SHC24600A2B, and is labelled "PRE BUILD" with "new speakers" written on the label.

comment:3 Changed 4 years ago by Quozl


  • manual programming immediately after contacting the MSP430,
  • holding reset after device close,
  • check behaviour of data ready signal in relation to reset on working and non-working laptops,
  • check signals between MSP430 and IR PCB.

comment:4 Changed 4 years ago by dsd

  • Milestone changed from Not Triaged to 4-firmware

comment:5 Changed 4 years ago by Quozl

  • Action Needed changed from reproduce to test in build
  • Owner changed from quozl to Quozl
  • Status changed from new to assigned

Please try q7b07ji.rom, which contains an additional 1.2 ms delay after receive specified by TI that was absent from our code, and also an unrelated fix to the progress bar.

comment:6 Changed 4 years ago by Quozl

  • Action Needed changed from test in build to review

q7b07ji fixed it, says Richard.

comment:7 Changed 4 years ago by Quozl

  • Action Needed changed from review to add to release

svn 3443.

comment:8 Changed 4 years ago by Quozl

  • Action Needed changed from add to release to no action
  • Resolution set to fixed
  • Status changed from assigned to closed

Is in Q7B08.

comment:9 Changed 20 months ago by Quozl

  • Milestone 4-firmware deleted

Milestone 4-firmware deleted

Note: See TracTickets for help on using tickets.