Wheelie: Nvflash for ASUS Transformer B70+ [Updated 31-05-2012]

rayman

Senior Recognized Developer
May 1, 2008
278
1,392
93
AndroidRoot.Mobi is proud to present Nvflash for B70+ devices!
After far too much cola and far too many long nights hacking away and bit twiddling, we finally have the solution.

Wheelie is an nvflash pre-loader that boots the tablet into an nvflash ready mode that lets you use regular nvflash commands (with -r prepended!). In the long run it will be an open-source nvflash reimplementation similar to heimdal for samsung devices.

Details and download are available here: http://androidroot.mobi/?p=331
UPDATE 31-05-2012: Windows beta version now available at http://androidroot.mobi/?p=367

DISCLAIMER: All use of this program is your own responsibility! We will in no way be held accountable if you somehow manage to perm-brick, set on fire or blow up yourself, your tablet or your house!

This work has been brought to you by the following people:
Bumble-Bee, IEF, kmdm, lilstevie & RaYmAn

NOTE: any donations should go to http://androidroot.mobi/donations/, not our individual accounts!
 
Last edited:

sbiriguda

Senior Member
Feb 3, 2011
307
155
0
L'Aquila
udev rules for nvflash on B70+, drop them as root in something like /etc/udev/rules.d/52-nvflash.rules
Code:
# nvflash protocol on tf101 (ASUS Transformer Pad)
SUBSYSTEM=="usb", ATTR{idVendor}=="0955", ATTR{idProduct}=="7820", MODE="0600", OWNER="your-username-here"
Btw, tremendous work guys, I just dumped my TF101's partition table (B8O+) as a "smoke test" before trying anything more dangerous ;)
 

rayman

Senior Recognized Developer
May 1, 2008
278
1,392
93
udev rules for nvflash on B70+, drop them as root in something like /etc/udev/rules.d/52-nvflash.rules
Code:
# nvflash protocol on tf101 (ASUS Transformer Pad)
SUBSYSTEM=="usb", ATTR{idVendor}=="0955", ATTR{idProduct}=="7820", MODE="0600", OWNER="your-username-here"
Btw, tremendous work guys, I just dumped my TF101's partition table (B8O+) as a "smoke test" before trying anything more dangerous ;)
Thanks - there's only so much you can fit in a blogpost at once ;) hehe
Adding this to udev is definitely recommended over running our tool as root!
 
  • Like
Reactions: Thing O Doom

kenshin1388

Senior Member
Sep 27, 2009
202
55
0
So before I go trying it, does this mean I can finally install a real Ubuntu dual boot like on sbk1 devices?

Sent from my Transformer TF101 using xda premium
 

ieftm

Retired Recognized Developer
Apr 17, 2008
291
1,761
0
So before I go trying it, does this mean I can finally install a real Ubuntu dual boot like on sbk1 devices?
You can do anything with nvflash, just like on sbkv1.
Wheelie is "pre-flight", so it just sets everything up in order to be able to use normal nvflash in resume mode (-r). other than that, the rest is identical (normal nvflash usage).
 
  • Like
Reactions: cky2000

kenshin1388

Senior Member
Sep 27, 2009
202
55
0
You can do anything with nvflash, just like on sbkv1.
Wheelie is "pre-flight", so it just sets everything up in order to be able to use normal nvflash in resume mode (-r). other than that, the rest is identical (normal nvflash usage).
Alright, I'll give it a try later then. Now to get a dang dock.

Edit: So how would this work?
http://forum.xda-developers.com/showthread.php?t=1364095

Also I just realised I have a B70, is there a way to double check if I am a lucky sbk1 on windows 7?

Sent from my Transformer TF101 using xda premium
 
Last edited:

lilstevie

Senior Recognized Developer
Apr 17, 2009
1,339
1,040
0
  • Like
Reactions: ppirate

sbiriguda

Senior Member
Feb 3, 2011
307
155
0
L'Aquila
Pleased to report that my B8O+ unit merrily flashed stock HC without any hassle.
One small (bug?) report: flashing CWM results in the following error, even though it's downloaded and flashed successfully:
Code:
$ ./nvflash -r --download 5 recoveryblob.SOS --go
Nvflash started
[resume mode]
sending file: recoveryblob.SOS
- 4499456/4499456 bytes sent
recoveryblob.SOS sent successfully
failed executing command 25 NvError 0x8
command failure: sync failed
 

lilstevie

Senior Recognized Developer
Apr 17, 2009
1,339
1,040
0
Thanks !

Any plan of a windows/mac version ?

TheMac
Windows yes.
Mac, Sometime in the future. At the present point in time there is not a version of nvflash for mac that supports the device so until wheelie does more, there is no point.

---------- Post added at 07:30 PM ---------- Previous post was at 07:28 PM ----------

Pleased to report that my B8O+ unit merrily flashed stock HC without any hassle.
One small (bug?) report: flashing CWM results in the following error, even though it's downloaded and flashed successfully:
Code:
$ ./nvflash -r --download 5 recoveryblob.SOS --go
Nvflash started
[resume mode]
sending file: recoveryblob.SOS
- 4499456/4499456 bytes sent
recoveryblob.SOS sent successfully
failed executing command 25 NvError 0x8
command failure: sync failed
This appears to be an issue within nvflash itself, it appears to imply sync with most of these options when -r is specified and should only be issued one command at a time.

Code:
./nvflash -r --download 5 recoveryblob.SOS
./nvflash -r --go
 

josteink

Senior Member
Feb 8, 2011
2,243
1,808
0
Oslo
Looking into flashing Ubuntu on my TF101. Would it be safe to assume most existing SBKv1 guides still work and that I only need to prepend wheelie statements before nvflash and replace "nvflash" with "nvflash -r" to get there? Or should I just wait until someone releases an updated guide for SBKv2 devices?

Not trying to sound overly lazy or unadventurous here, but I suppose someone with more nvflash experience should be able to tell pretty quickly :)

Sent from my Transformer TF101 using Tapatalk 2
 

josteink

Senior Member
Feb 8, 2011
2,243
1,808
0
Oslo
Having a little trouble getting things to work on my B70 TF101.

Here are the logs and some pictures.


Transformer after booting in APX mode and running wheelie:


Acode run (also on http://pastebin.com/Ygz9Jx3c )

[email protected]:~/wheelie$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 002: ID 03f0:b411 Hewlett-Packard
Bus 001 Device 003: ID 148f:3070 Ralink Technology, Corp. RT2870/RT3070 Wireless Adapter
Bus 001 Device 004: ID 0644:0200 TEAC Corp. All-In-One Multi-Card Reader CA200/B/S
Bus 002 Device 002: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB
Bus 002 Device 003: ID 046d:0b04 Logitech, Inc.
Bus 002 Device 004: ID 046d:c526 Logitech, Inc. Nano Receiver
Bus 002 Device 016: ID 0955:7820 NVidia Corp.
Bus 002 Device 006: ID 046d:c713 Logitech, Inc.
Bus 002 Device 007: ID 046d:c714 Logitech, Inc. diNovo Edge Keyboard
[email protected]:~/wheelie$ ./wheelie -2 -o 0x300d8011 --bl bootloader.bin -c transformer.bct
Wheelie 0.1 - Preflight for nvflash.
Copyright (c) 2011-2012 androidroot.mobi
========================================

Using SBK type 2.
Using bootloader: 'bootloader.bin'.
Using BCT: 'transformer.bct'.
----------------------------------------

[=] Chip UID: 0x37c708940405357
[=] RCM Version: 0x20001

[=] CPU Model: Tegra 2
[=] Secure Boot Key Set: Yes
[+] Sending BCT
Sending file: 100 %
[+] Sending ODMData 0x300D8011
[+] Sending bootloader...
Sending file: 100 %
[!] Done - your device should now be ready for nvflash
[email protected]:~/wheelie$ ./nvflash -r --getpartitiontable partition_table.txt
Nvflash started
[resume mode]
Succesfully updated partition table information to partition_table.txt
[email protected]:~/wheelie$ ./nvflash -r --read 5 oldcwm.img.SOS
Nvflash started
[resume mode]
receiving file: oldcwm.img.SOS, expected size: 5242880 bytes
/ 5242880/5242880 bytes received
file received successfully
[email protected]:~/wheelie$ ./nvflash -r --download 5 recovery-clockwork-touch-5.8.2.1-tf101.img.SOS
Nvflash started
[resume mode]
failed executing command 14 NvError 0x120000
command failure: partition download failed
[email protected]:~/wheelie$ ./nvflash -r --download 5 recovery-clockwork-touch-5.8.2.1-tf101.img.SOS
Nvflash started
[resume mode]
failed executing command 14 NvError 0x120002
command failure: partition download failed (bad command)
bootloader status: unknown operation (code: 1) message: flags: 0

[email protected]:~/wheelie$ ./nvflash -r --download 5 recovery-clockwork-touch-5.8.2.1-tf101.img.SOS
Nvflash started
[resume mode]
^C^C^C
Transformer after booting in APX mode, running wheelie and various nvflash commands as provided above:



Basically all is well until I try to do a --download.

Going directly to --download after wheelie also fails as seen here: (from http://pastebin.com/nqYSHNaF )

[email protected]:~/wheelie$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 002: ID 03f0:b411 Hewlett-Packard
Bus 001 Device 003: ID 148f:3070 Ralink Technology, Corp. RT2870/RT3070 Wireless Adapter
Bus 001 Device 004: ID 0644:0200 TEAC Corp. All-In-One Multi-Card Reader CA200/B/S
Bus 002 Device 002: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB
Bus 002 Device 003: ID 046d:0b04 Logitech, Inc.
Bus 002 Device 004: ID 046d:c526 Logitech, Inc. Nano Receiver
Bus 002 Device 017: ID 0955:7820 NVidia Corp.
Bus 002 Device 006: ID 046d:c713 Logitech, Inc.
Bus 002 Device 007: ID 046d:c714 Logitech, Inc. diNovo Edge Keyboard
[email protected]:~/wheelie$ ./wheelie -2 -o 0x300d8011 --bl bootloader.bin -c transformer.bct
Wheelie 0.1 - Preflight for nvflash.
Copyright (c) 2011-2012 androidroot.mobi
========================================

Using SBK type 2.
Using bootloader: 'bootloader.bin'.
Using BCT: 'transformer.bct'.
----------------------------------------

[=] Chip UID: 0x37c708940405357
[=] RCM Version: 0x20001

[=] CPU Model: Tegra 2
[=] Secure Boot Key Set: Yes
[+] Sending BCT
Sending file: 100 %
[+] Sending ODMData 0x300D8011
[+] Sending bootloader...
Sending file: 100 %
[!] Done - your device should now be ready for nvflash
[email protected]:~/wheelie$ ./nvflash -r --download 5 recovery-clockwork-touch-5.8.2.1-tf101.img.SOS
Nvflash started
[resume mode]
failed executing command 14 NvError 0x120000
command failure: partition download failed
[email protected]:~/wheelie$
Any hints?

Edit: From irc. lilstevie says that it's cwm touch's image which is bigger than the recovery partition. Not a problem with nvflash per se.
 
Last edited:

rayman

Senior Recognized Developer
May 1, 2008
278
1,392
93
Looking into flashing Ubuntu on my TF101. Would it be safe to assume most existing SBKv1 guides still work and that I only need to prepend wheelie statements before nvflash and replace "nvflash" with "nvflash -r" to get there? Or should I just wait until someone releases an updated guide for SBKv2 devices?

Not trying to sound overly lazy or unadventurous here, but I suppose someone with more nvflash experience should be able to tell pretty quickly :)

Sent from my Transformer TF101 using Tapatalk 2
Correct. Once it's been prepared with wheelie, any and all nvflash commands work as long as you add -r straight after, e.g. "./nvflash -r --command".

It should be noted that --go is special and should be put on a seperate execution, e.g. "./nvflash -r --go". Go boots the tablet regularly and hence exists nvflash mode.
 

rayman

Senior Recognized Developer
May 1, 2008
278
1,392
93
Anyone have reflashed following this?
Yes ;)

As mentioned in the post on androidroot.mobi, the blob.APP, blob.LNX, blob.SOS and blob.EBT are part of the official updates from ASUS.

So what you basically do is:
  1. Download latest TF101 full update from support.asus.com (Choose right SKU, e.g. WW, US etc)
  2. Unzip the zip, then unzip the resulting zip. This gives you a file called "blob" and some other files.
  3. Unpack this blob file using "./blobunpack blob" which then creates the required files

However, we only recommend doing the full reflash if your device is bricked! There's no reason to otherwise, may as well just flash an update.zip.
 
  • Like
Reactions: josteink