Ticket #12726 (closed defect: fixed)

Opened 15 months ago

Last modified 13 months ago

NANDblaster inoperative from 13.2.0 onwards

Reported by: Quozl Owned by: Quozl
Priority: blocker Milestone: 13.2.0
Component: ofw - open firmware Version: Development build as of this date
Keywords: Cc: dsd
Action Needed: no action Verified: no
Deployments affected: Blocked By:
Blocking:

Description

On q2f14 and later, NANDblaster sender or receiver does not start.

Workaround: downgrade to q2f13.

Change History

Changed 15 months ago by Quozl

  • cc dsd added
  • priority changed from high to blocker
  • next_action changed from diagnose to package
  • summary changed from XO-1 NANDblaster inoperative from q2f14 onwards to NANDblaster inoperative from 13.2.0 onwards

NANDblaster is quite broken in 13.2.0. Shipping this flaw in 13.2.0 would be unfortunate. I propose that it blocks release. Please discuss?


XO-1

  • fixed in  svn 3688,
  • regression began in Q2F14, after 13.1.0 which was based on Q2F13,
  • fix released in Q2F19,
  • tested with 13.2.0-12 nb-clone to four receiver units,

XO-1.5

  • fixed in  svn 3691,
  • regression began in Q3C12, after 13.1.0 which was based on Q3C09,
  • fix released in Q3C16,
  • tested with 13.2.0-12 nb-secure to four receiver units,

XO-1.75

  • inability to start was fixed in  svn 3691,
  • point of regression was not assessed,
  • new problem exposed WARNING: disk-fifo queue full,

XO-4

  • was not expected to work as it was not in scope,
  • did work with 8787,
  • same new problem exposed WARNING: disk-fifo queue full,

Changed 15 months ago by dsd

Sounds reasonable to me. What was broken in the currently shipped firmware versions in 13.2.0, sender or receiver?

The disk-fifo regression is still new (over 13.1.0?) and unsolved?

Changed 15 months ago by Quozl

At this point:

  • XO-1 receiver and sender were broken,
  • XO-1.5 sender was broken,
  • XO-1.75 and XO-4 sender was broken,
  • XO-1.75 and XO-4 receiver _is_ broken (disk-fifo full part way through).

Changed 15 months ago by Quozl

  • next_action changed from package to diagnose

The disk-fifo queue full regression was introduced with Q4D25. (Seven passes at Q4D24 and lower, five fails at Q4D25 or higher).

Changed 15 months ago by Quozl

  • next_action changed from diagnose to package

NANDblaster uses a disk write FIFO queue so that it can give priority to processing received packets. Instrumenting the code to watch the queue size showed that it grew continually until the error, and pausing the sender did not allow the queue to shrink.

The FIFO was properly starting the first write, but when checking for asynchronous completion with write-blocks-end? the attempt did abort, without being reported. This led to the FIFO growing without ever being processed.

The reason for the abort was that the slot driver did not have a method with that name. It was probably missed in sdmmc/sdhci/slot reorganisation on ARM, part of the device-tree support. Adding the method fixes the problem. Fixed in  svn 3694.

Changed 15 months ago by Quozl

  • next_action changed from package to add to build

Released in Q7B37, Q4D34, Q3C16, and Q2F19. Locally tested, but more testing is desired.

XO-4 NANDblaster does work with 8787, a bonus that we had not planned for. Uses 2.4 GHz only at this stage. Use of 5 GHz is probably doable.

Changed 15 months ago by Quozl

Correction, 5 GHz is not doable, and nor does XO-4 with 8787 function as a sender. XO-4 with 8787 works fine as a receiver.

Changed 13 months ago by Quozl

  • status changed from new to closed
  • next_action changed from add to build to no action
  • resolution set to fixed
Note: See TracTickets for help on using tickets.