Ticket #10457 (closed defect: fixed)

Opened 3 years ago

Last modified 3 years ago

Occasional SD command timeouts in OFW on XO-1.75

Reported by: wad Owned by: wad
Priority: normal Milestone: 1.75-firmware
Component: hardware Version: 1.75-A1
Keywords: XO-1.75 Cc: wmb@…, gary@…, beckham.chen@…
Action Needed: no action Verified: no
Deployments affected: Blocked By:


On one XO-1.75 A1 laptop (#12), running OFW Q4A05A, I have a probiem with the internal SD slot running at 50 MHz. The external slot seems to operate fine. Both slots are populated with Sandisk 4GB class 2 microSD cards.

Problems were discovered using fs-update (trying to update the internal slot), and verified using "test int". After one to five executions of "test int", OFW will start returning:

SDHCI: Error: ISR = 8000 ESR = 1 Command Timeout

As mentioned, the external slot runs fine at 50 MHz (as did both the internal and external slots of two other A1 MBs tested this afternoon --- #4 and #16).

Running the slot at 25 MHz, by:

dev /sd true to avoid-high-speed? dend

resulted in the slot operating fine -- an fs-update was able to complete.

First attempts to tune the timing failed, but the effects of the external RC dominate over most of the SOC timing.

Change History

Changed 3 years ago by wad

Spoke too soon. Even at 25 MHz, the fs-update of the internal SD card failed after writing 22500 of 29500 blocks. But the error is:

ext:\os1.zd:22548: Wrong expanded data length

This appears to be an external SD data error...

Changed 3 years ago by wad

With board #12, I got 25MHz operation working reliably using the following delay values (SDCLOCK_SEL = 1 and SDCLOCK_DELAY = 0x12):

dev /sd true to avoid-high-speed? : cco h# 10a cw@ h# 2500 or h# 10a cw! card-clock-on ; patch cco card-clock-on card-clock-25 dend

And I was able to get 50 MHz operation running with this patch (SDCLOCK_SEL = 1 and SDCLOCK_DELAY = 0x1F):

dev /sd : cco h# 10a cw@ h# 3F00 or h# 10a cw! card-clock-on ; patch cco card-clock-on card-clock-50 dend

Changed 3 years ago by Quozl

Attempted to reproduce with board 2 and Q4A05A, but saw no sign of the problem. Used supplied SanDisk 4G part.

(Timing shows t( test int )t the first few times takes about 106 ms, then it takes 255 ms. This ended up being caused by screen scrolling. clear-screen restored it to 106 ms until the screen scrolled again.)

Changed 3 years ago by Quozl

  • milestone changed from Not Triaged to 1.75-firmware

Reproduced two times out of thirteen attempts.

Changed 3 years ago by wad

  • status changed from new to assigned

Quozl, when you say that you reproduced it 2/13 times, was this with or without the additional delay ? If not, can you try testing again with the SD delay increased ?

Changed 3 years ago by wad

Quozl, I'm told that the SD delay was increased for OFW Q4A06, simplifying the requested testing.

Changed 3 years ago by Quozl

So far on Q4A06 I've had ten passes out of ten attempts, still making attempts. #10485 is happening, not sure if it impacts the tests.

Changed 3 years ago by Quozl

So far 20 passes out of 20 attempts. Seems fixed?

Changed 3 years ago by Quozl

So far 31 passes out of 31 attempts. Stopping test.

Changed 3 years ago by Quozl

#10530 and #10529 relate. Q4A07 showing SD command timeouts in banner and fs-update.

Changed 3 years ago by Quozl

"Command Timeout" at start of fs-update may relate to #10825, but not with banner or test int.

Changed 3 years ago by Quozl

  • status changed from assigned to closed
  • next_action changed from reproduce to no action
  • resolution set to fixed

This ticket is superseded by later ones.

Note: See TracTickets for help on using tickets.