PINE64

Full Version: rkflashtool -n does not recognize memory [RESOLVED]
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
If there are threads on this topic, please let me know and I'll close this one.

I am trying to verify that the storage modules are at least recognized by the Rock62 board ( v2.0, 2017-0713).

I'm following the steps outlined here:
* http://files.pine64.org/doc/rock64/guide...o_eMMC.pdf
https://github.com/fire219/sadie/blob/ma...x/sadie.sh

When I run the command `rkflashtool n`, it seems the board does not recognize the memory.  I've tried four different memory modules
  • 32 GB eMMC sold by pine64 ( two different individual modules )
  • 16 GB eMMC previously successfully running linux in a odroid C2
  • 1GB microSD ( could not verify still good )
In each case, the output is as follows.


Code:
sudo rkflashtool n
rkflashtool: info: rkflashtool v5.2
rkflashtool: info: Detected RK3328...
rkflashtool: info: interface claimed
rkflashtool: info: MASK ROM MODE
libusb: warning [darwin_transfer_status] transfer error: device not responding (value = 0xe00002ed)
libusb: warning [darwin_transfer_status] transfer error: device not responding (value = 0xe00002ed)
libusb: error [submit_bulk_transfer] bulk transfer failed (dir = Out): pipe is stalled (code = 0xe000404f)
libusb: error [submit_bulk_transfer] bulk transfer failed (dir = In): pipe is stalled (code = 0xe000404f)
libusb: error [submit_bulk_transfer] bulk transfer failed (dir = In): pipe is stalled (code = 0xe000404f)
rkflashtool: info: Flash ID: 00 00 00 00 00
libusb: error [submit_bulk_transfer] bulk transfer failed (dir = Out): pipe is stalled (code = 0xe000404f)
libusb: error [submit_bulk_transfer] bulk transfer failed (dir = In): pipe is stalled (code = 0xe000404f)
libusb: error [submit_bulk_transfer] bulk transfer failed (dir = In): pipe is stalled (code = 0xe000404f)
rkflashtool: info: Flash Info:
    Manufacturer: Samsung (0)
    Flash Size: 0MB
    Block Size: 0KB
    Page Size: 0KB
    ECC Bits: 0
    Access Time: 0
    Flash CS:

I would like to think this is an issue with MacOSx.  I do not have any of the accessories ( serial console adapter, USB->eMMC Adaptor ), but I would expect at least one of the chips to be recognized....

Code:
ProductName:    Mac OS X
ProductVersion:    10.12.6
BuildVersion:    16G1033

Procedure that I've been following:
  1. Set memory module
  2. Try to set the jumper ( different combinations )
  3. Insert power cable
  4. Remove jumper
  5. Insert USB cable
  6. Hold Reset button
  7. Hold Recovery button
  8. Release Reset button
  9. Release Recovery button after 2-5 seconds ( I've experimented )
  10. Run `rkflashtoon n` in console
Solid Red,Blueish,....Green lights.  No smoke.

Yeah, so, if you've gone down this path and found a solution, please let me know. Smile
Hi,

Try the non-update approach; instead of using maskrom use loader mode. 

From ayufan's git: 

Quote:
  1. Connect USB A-to-A cable to upper USB 2.0 port and your computer,
  2. Start Rock64 in Loader mode:
    1. Press and hold Recovery Bt
    2. Press Reset Btn,
    3. Stop holding Recovery Btn after 3s.


Hasn't failed me on either Linux or MacOS.

Let me know how you fare.
,

Thanks for the suggestion.  Here is what I did.
  • Insert the eMMC card, but not the microSD
  • Do not apply the jumper
  • Plugin the USB A2A cable to the top USB port (white)
  • Plugin the power cable
  • Press and Hold the Recovery Btn
  • Press the Reset Btn (white LED flashes for an instant)
  • After 3+ seconds, release the Recovery Btn
Output of rkflashtool:
Code:
vlad:rock64 tcp$ sudo rkflashtool n
rkflashtool: info: rkflashtool v5.2
rkflashtool: info: Detected RK3328...
rkflashtool: info: interface claimed
rkflashtool: info: MASK ROM MODE
libusb: warning [darwin_transfer_status] transfer error: device not responding (value = 0xe00002ed)
libusb: warning [darwin_transfer_status] transfer error: device not responding (value = 0xe00002ed)
libusb: error [submit_bulk_transfer] bulk transfer failed (dir = Out): pipe is stalled (code = 0xe000404f)
libusb: error [submit_bulk_transfer] bulk transfer failed (dir = In): pipe is stalled (code = 0xe000404f)
libusb: error [submit_bulk_transfer] bulk transfer failed (dir = In): pipe is stalled (code = 0xe000404f)
rkflashtool: info: Flash ID: 00 00 00 00 00
libusb: error [submit_bulk_transfer] bulk transfer failed (dir = Out): pipe is stalled (code = 0xe000404f)
libusb: error [submit_bulk_transfer] bulk transfer failed (dir = In): pipe is stalled (code = 0xe000404f)
libusb: error [submit_bulk_transfer] bulk transfer failed (dir = In): pipe is stalled (code = 0xe000404f)
rkflashtool: info: Flash Info:
    Manufacturer: Samsung (0)
    Flash Size: 0MB
    Block Size: 0KB
    Page Size: 0KB
    ECC Bits: 0
    Access Time: 0
    Flash CS:
vlad:rock64 tcp$

After power is applied, the Red and Green LEDs are consistently lit.  I'm fairly certain I'm pressing the buttons correctly - there is an audible sound when the button is engaged and then disengaged.  Just for sanity, I'm seeing the Recovery button located next to the emmc jumper, and the Reset next to the eMMC socket itself.

Yet the output of rkflashtool clearly states "MASK ROM MODE", which is what I get if I powerup the system and do not press any buttons at all.

I've also tried inserting the USB as the final step.  If I remove the power cable, the LEDs remain on.  Clicking the power button seems to have no effect, but clicking Reset results in all LEDs going out, and I can no longer communicate with the board.

Wondering if this could be a simple timing issue, I put a little script together with the hopes I'd see a "Flash ID" or something other than MASK ROM MODE.

Code:
while true; do sudo rkflashtool n  2>&1 | grep 'Flash ID'; sleep .1; done

With that code running, I've tried different combinations of time, buttons, inserts, and verbal indulgences.  

Mega strange.  I can get access to a second board that I can test against later.

BTW, what is the expected output from rkflashtool when Loader Mode works, and the eMMC device is detected.
Here is my output: 

Code:
[email protected] ~ $sudo rkflashtool n
[sudo] password for lukasz:
rkflashtool: info: rkflashtool v5.2
rkflashtool: info: Detected RK3328...
rkflashtool: info: interface claimed
rkflashtool: info: Flash ID: 45 4d 4d 43 20
rkflashtool: info: Flash Info:
    Manufacturer: Samsung (0)
    Flash Size: 14800MB
    Block Size: 512KB
    Page Size: 2KB
    ECC Bits: 0
    Access Time: 40
    Flash CS: <0>


Just to make it clear:

1) Press and hold the recovery button before applying power - and keep it pressed in
2) Plug in the USB into your computer 
3) Apply power 
4) Only now that the board is powered up release the recovery button after 4 seconds or so


Here is my output if I short the pins: 

Code:
[email protected] ~ $sudo rkflashtool n
rkflashtool: info: rkflashtool v5.2
rkflashtool: info: Detected RK3328...
rkflashtool: info: interface claimed
rkflashtool: info: MASK ROM MODE
rkflashtool: info: Flash ID: 00 00 00 00 00
rkflashtool: info: Flash Info:
    Manufacturer: Samsung (0)
    Flash Size: 0MB
    Block Size: 0KB
    Page Size: 0KB
    ECC Bits: 0
    Access Time: 0
    Flash CS:

So it sure looks like your board is not in loader but in maskrom ... strange.

edit: also, when it comes to the lights, they are identical in loader and maskrom modes.
Yeah interesting. I tried with a second board but the same results. Followed the instructions pressing the Recovery button as the first step. Also tried using a linux VM, and although it could see the device, rkflashtool stopped displaying out after "MASK ROM MODE".

At this point I think I just need to test with another host computer - maybe there is something with this iMac that interferes with the communication.

Will update this post with new info once available.


Do you have any luck with this? I just get my Rock64 today.  I  have the same issue as your. I am using Linux Mint 18.3. The eMMC is a 16GB eMMC brought from PINE64. I tried various ways to described in the posts above. But the "rkflashtool n" output is always the same, like below:

Code:
rkflashtool: info: rkflashtool v5.2
rkflashtool: info: Detected RK3328...
rkflashtool: info: interface claimed
rkflashtool: info: MASK ROM MODE
rkflashtool: info: Flash ID: 00 00 00 00 00
rkflashtool: info: Flash Info:
    Manufacturer: Samsung (0)
    Flash Size: 0MB
    Block Size: 0KB
    Page Size: 0KB
    ECC Bits: 0
    Access Time: 0
    Flash CS:

Even if I doesn't plug in eMMC and SD, the "rkflashtool n" output is still the same.  Sad
I was never successful in using rkflashtool to work, with either the eMMC or SD cards.  

I was able to flash the eMMC card by using a spare oDroid C2 that I had, writing to the card via it's SD interface and an SD->eMMC adapter, using some CLI commands described here.

For the image, I used the Xenial Mate 1G image from https://github.com/ayufan-rock64/linux-b...tag/0.5.15 . The more recent pre-leases failed to boot.

With the eMMC flashed with an released image, the board came up into the UI in under 3 seconds - very impressive.