Closed Bug 925502 Opened 6 years ago Closed 2 years ago

ZTE Open stuck on boot-up splash screen following OS update

Categories

(Firefox OS Graveyard :: General, defect, major)

ARM
Gonk (Firefox OS)
defect
Not set
major

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: ehoogeveen, Unassigned)

References

Details

Attachments

(1 file)

I've been trying to update my ZTE Open to a more recent version of Firefox OS, following the instructions from [0]. The build went fine, and flashing seemed to work too, but after rebooting itself the phone stays perpetually on the blue splash screen (not animated). The only indication that anything went wrong is the following message at the end of flashing:

"Attempting to set the time on the device
time 1381439214 -> 1381439214.0
settimeofday failed Bad file number"

I've tried "make reset-gaia", and that fails with the following message:

"failed to copy 'profile/user.js' to '/data/local/user.js': Permission denied"

I also tried the following sequence:

fastboot flash recovery recovery.img
fastboot flash boot boot.img
fastboot flash userdata userdata.img
fastboot flash system system.img
fastboot reboot

as suggested on [1] - this succeeded, but didn't solve the hang. I've tried the v1.1.0hd and v1.2 branches, and tried using Gecko from mozilla-aurora and mozilla-central instead - but the result is always the same.

I haven't seen any other bugs mentioning this problem, so I assume this has worked for other people. Is there any way to diagnose what's going wrong?

[0] https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Building_and_installing_Firefox_OS
[1] https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Developer_phone_guide/ZTE_OPEN
Setting this as blocking bug 899451 since I have to assume my situation isn't unique.
Blocks: 899451
(In reply to Emanuel Hoogeveen [:ehoogeveen] from comment #1)
> Setting this as blocking bug 899451 since I have to assume my situation
> isn't unique.

Dear Emanuel,

i ran into exactly the same issue following the exact samt procedure you did. I've managed to solve it by modifying the boot.img in order to allow adb to run as root in front of flashing 1.1.

Maybe you've overseen this step just like me and your zte open is also a locked consumer edition from the ebay store?

If yes, you may follow this two links in order to root and flash:

http://pof.eslack.org/2013/07/05/zte-open-firefoxos-phone-root-and-first-impressions/

http://pof.eslack.org/2013/07/05/zte-open-firefoxos-phone-root-and-first-impressions/#comment-1749
Thanks Eric, I'm in the process of trying it out now.

If this does work, then I think there's something wrong with the Revision 02 update offered by ZTE, as this is supposed to enable flashing to the device. I suppose technically the flashing part works, but since it doesn't boot that's not very helpful. Either way, the MDN support page [0] says that "Once your phone has fastboot enabled, you will then be able to build and install new Firefox OS/B2G builds on it", which does not appear to be true. I'll confirm after I do another build.

[0] https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Developer_phone_guide/ZTE_OPEN
Alright, so the second link from comment #2 got the phone to boot, but it needed a little more to get it working properly. Thankfully the same author created a modified boot.img with some additional fixes, which you can find here:
http://sl.edujose.org/2013/10/adapted-boot-image-for-use-with-b2g.html
With this, I am now successfully able to run my own builds of B2G.

So that leaves two problems:
1) The MDN documentation doesn't mention these steps, and they aren't very discoverable on their own.
2) ZTE shipped an update to make fastboot work, but this is useless on its own.

I'll see if I can write some documentation to rectify the first issue. For the second, it would be good if Mozilla could reach out to ZTE and inform them of the problems and fixes so that they can push out a working update. It would probably be good to have documentation in hand for that, so I'll see what I can do there and I'll worry about the second part later.
I can confirm this, its now working stable with the modified boot.img from 
http://sl.edujose.org/2013/10/adapted-boot-image-for-use-with-b2g.html
OK - I have arrived at the same point, so it's a reproducible bug. ;-) 

So here's what I did:

1. Build 1.1.0hd
2. Follow the instructions in http://sl.edujose.org/2013/10/adapted-boot-image-for-use-with-b2g.html
3. flash,sh. It completed and the phone rebooted.
------------------
erasing 'cache'...
OKAY [  0.522s]
finished. total time: 0.522s
erasing 'userdata'...
OKAY [  1.417s]
finished. total time: 1.417s
sending 'userdata' (67751 KB)...
OKAY [  6.229s]
writing 'userdata'...
OKAY [ 11.924s]
finished. total time: 18.153s
sending 'boot' (4158 KB)...
OKAY [  0.383s]
writing 'boot'...
OKAY [  0.746s]
finished. total time: 1.130s
sending 'system' (91220 KB)...
OKAY [  8.375s]
writing 'system'...
OKAY [ 16.353s]
finished. total time: 24.728s
rebooting...
erasing 'cache'...
OKAY [  0.522s]
finished. total time: 0.522s
erasing 'userdata'...
OKAY [  1.417s]
finished. total time: 1.417s
sending 'userdata' (67751 KB)...
OKAY [  6.229s]
writing 'userdata'...
OKAY [ 11.924s]
finished. total time: 18.153s
sending 'boot' (4158 KB)...
OKAY [  0.383s]
writing 'boot'...
OKAY [  0.746s]
finished. total time: 1.130s
sending 'system' (91220 KB)...
OKAY [  8.375s]
writing 'system'...
OKAY [ 16.353s]
finished. total time: 24.728s
rebooting...

finished. total time: 0.002s
Attempting to set the time on the device
time 1382248454 -> 1382248454.0
[znmeb@DreamGate B2G]$ 
------------------

But ... the device comes up and can't see me pressing the buttons on the screen! It asks me to pick a language (default English is fine) and there's a blue 'Next' button. It's not responding when I press the button! It's not responding to a 'restart' or 'power off' after a long press of the power button. So - semi-bricked. I'm about to try the 'bricked phone recovery' options.
I think I have it working! Steps:

1. Disconnect USB cable and remove battery.
2. Replace battery.
3. Start up with volume control up / power button.
4. Re-apply the ZTE update from http://www.ztedevices.com/support/smart_phone/b5a2981a-1714-4ac7-89e1-630e93e220f8.html
5. Reboot. The phone went through the initialization sequence and this time I could press the buttons!

So I think I'm on the air. I'll probably leave it on 1.1.0hd for a week or so to see if anything ugly happens, then push on to 1.2.
Well ... I had some problems getting the data connection to work. I'll probably need to go back to the place where I got the phone activated and have them resend all the magic codes to it. Meanwhile I did a factory reset and the phone is back to ZTE Open 1.0 version software. I'm going to leave it there till Wednesday; I've got an app demo Tuesday night so I'm not going to mess with it till that's done.
If you apply the ZTE update without clearing the cache partition after booting into the newer B2G once, you'll get some weird hybrid between the two. I wouldn't recommend it.

As for your actual problem.. I've only seen that building the master branch. Make sure you run each step with BRANCH=v1.1.0hd prepended:
BRANCH=v1.1.0hd ./config.sh inari
BRANCH=v1.1.0hd ./build.sh
./flash.sh

In addition you can use VARIANT=user which will skip all the test apps, but I need to confirm whether that works correctly. The last time I used that, the dialer, contacts and messaging apps didn't show up! But that may have been a problem on my end.
Is there some list of "what's stored where" on the device? The reason I gave up on the flawed flashing and did a factory reset is that the carrier data disappeared! It could still make phone calls, but none of the *data* settings were there.

So for the next time I do this - where is that stored?
I'll keep the test apps - it's a developer device ;-)
I think - but don't quote me on this - that you're supposed to receive those automatically from your carrier when you connect to their network. However, when I woke up today I found my sim card locked without any way to unlock it - rebooting let me enter the unlock code, but left the sim card still locked. So it looks like there's still some problems with the rilproxy conflict, at least on B2G 1.2.
I suspect it's best to wait until ZTE and Mozilla management and engineering have a chance to sync up. The ZTE Open is usable with 1.0 except for the Twitter crashes and it's rolling out in a lot of markets. I can't make 1.1.0hd work, so I either stay with 1.0 or try 1.2.
Some great news - I took one more shot at 1.1.0hd with no luck. With the boot.img from http://sl.edujose.org/2013/10/adapted-boot-image-for-use-with-b2g.html the phone flashes and boots, but the buttons on the screen aren't sensing my finger presses.

So I decided to try building 1.2 instead. It built and flashed but stalled in the reboot, just as this bug describes. So I added the boot.img and it flashed and booted. And the buttons on the screen work! And the data connection works too. So I'm guessing an actual 1.1 will probably work too - there's something about 1.1.0hd that's not compatible with the ZTE Open.

I'm going to leave the phone on 1.2 for a while. So far I've only seen one minor issue - one of the switches in the 'Usage' app doesn't seem to be functioning. That's by no means a show-stopper, and I want to see if the Twitter app functions better in 1.2 than it does with the stock ZTE Open software.
We should still leave this open because although you all have found a workaround this is still a valid issue affecting Firefox OS users with the ZTE Open handset.
(In reply to Benjamin Kerensa from comment #15)
> We should still leave this open because although you all have found a
> workaround this is still a valid issue affecting Firefox OS users with the
> ZTE Open handset.

Yes, and what's more, the workaround isn't in CM! It's a link to a download site with a binary boot image!
It's also not even a full workaround - I had to roll back to that official ZTE update because it was refusing to unlock my SIM card again (despite letting me enter the unlock code). I've been meaning to update the documentation with at least a description of the workaround, but I've been very busy with other things recently.
It looks like ZTE released a new update a couple of days ago (
"software package(ebay)-234250B0434OPEN_EU_DEV_FFOS_V1.1.0B01"):
http://download.ztedevices.com/UpLoadFiles/product/643/3598/soft/2013121011173537.zip

I haven't tested what (if anything) this does in regards to the issues here, so this is just a heads up.
Hmmm ... I could test it, then overwrite it with a fresh build of 1.3 ;-)
Well, I tried it with BRANCH=master and fastboot flashing now seems broken. It sends the file, then gets a malformed response and reboots.
(In reply to Emanuel Hoogeveen [:ehoogeveen] from comment #20)
> Well, I tried it with BRANCH=master and fastboot flashing now seems broken.
> It sends the file, then gets a malformed response and reboots.

Well ... after some experimentation I have managed to brick the ZTE Open. There must be half a dozen threads about this on the forum, but apparently there are defects in the 1.1 update. The main symptom is that you can download it and put it on an SD card but the signature verification fails. What's worse is that ZTE no longer has the 1.0 update available, so there's no way to get back to a bootable flashable phone.

The head of Mozilla and the head of ZTE need to get together and thrash this nonsense out. These phones are shipping in quantity in Latin America and Europe and if experienced developers like you and me are running into stuff like this, people who just want to make phone calls and surf the web are going to plaster the Internet with how broken their device is, and they won't be doing it in Mozilla English or ZTE Chinese!
(In reply to znmeb from comment #21)
> What's worse is that ZTE no longer has the 1.0 update available, so there's
> no way to get back to a bootable flashable phone.

You can get it here: https://www.mediafire.com/?82t0ax0l2z0bod2

Hope it helps unbrick your phone! But yeah, calling the ZTE Open a 'dev phone' is a bit silly right now.
Nope ... thanks anyway. By the way, that's the European version and the phone is a US model. The symptom is 

E:failed to verify whole-file signature
E:signature verification failed
Installation aborted

Neither fastboot nor adb even sees the device on a Fedora Linux host. I'm going to try a Windows host to see if I can flash it via fastboot. If that doesn't work it's bricked.
I see, sorry to hear that. The only other thing I found was using http://firefox.ztems.com/ to temporarily install Android on there. I'm not sure if that works for the US edition or if it works from recovery mode though.
(In reply to Emanuel Hoogeveen [:ehoogeveen] from comment #24)
> I see, sorry to hear that. The only other thing I found was using
> http://firefox.ztems.com/ to temporarily install Android on there. I'm not
> sure if that works for the US edition or if it works from recovery mode
> though.

Yeah, I found that and tried it too. I looked at 'recovery.log' and it looks like there's a missing lower-level file - it doesn't matter which zip file I give it; it's crashing before it even looks at the zip file. I'm going to search for the message on Bugzilla and post a new bug later today if it's not there already.
It seems ZTE has put out an update that should get fastboot working again. Hopefully it will also unbrick your phone.

More details on how to upgrade, including to 1.2, here: https://hacks.mozilla.org/2014/01/upgrading-your-zte-open-to-firefox-1-1-or-1-2-fastboot-enabled/
The new boot.img that comes with ZTE's 1.2 package is better (accepts unsigned builds), but still doesn't work with custom builds. I applied the same modifications as before (disabled RIL proxy, gave write access to some directories) and got 1.3 working! Master (1.4) doesn't work at the moment, as the on-screen keyboard doesn't show up.

Modified boot image, UK version: https://www.mediafire.com/?3gelsx4d33ey1l2

Modified boot image, US version: https://www.mediafire.com/?1fx4q9plcdfe4s6

I also have some instructions written up on how to do this yourself, but I'd like to tidy them up a bit first.
Yeah we have lots of issues with the keyboard on master these days.
I'm getting a loading keys failed error. =/
Could you give a bit more context? Which step of the process gives you an error?

For some reason mediafire uploaded the UK image twice and the one I linked above is the second one, which I deleted (it's still there though). Here's a different link for the modified UK boot image: https://www.mediafire.com/?93rd9h278oq2z2m
Depends on: 967713
I'm adding my experience to this as have jumped through the numerous hoopes others have with this ZTE Closed. I have the EU phone from ebay updated to the 1.2 provided by ZTE. ehoogeveen's boot.img works for me with a built 1.2 (user) which is a *massive* step forward! \o/ (though somehow I've lost the nice animate start screen and can't get it back.)

I'll try trunk next.

I could not get ./flash to ever work on 1.1 or 1.2 factory builds as the phone reboots during the fastboot flash process. Manual attempts failed also. So I flash using the Windows application that came with ZTE 1.2 (I build in a Ubuntu VM and share the *.img files files to WIn 8 host, not ideal as some builds fail with error 2, due I guess to VM resource).

Surely boot.ing should be part of build process as it may change in any given version? I read someplace this was for legal reasons. Can't at least manual instructions be put up on MDN?

@ehoogeveen can you please supply those boot.img build instructions? Doesn't matter if they're not tidy.
Flags: needinfo?(emanuel.hoogeveen)
Perhaps the instructions are simply those on MDN?
https://developer.mozilla.org/en-US/Firefox_OS/Porting#Rebuild_boot.img
Sorry, this kind of dropped off my radar for a while. But yes, those instructions are pretty much what I did (and better written). I'm attaching a Mercurial style patch of the changes I made - this should apply to the boot.img included in the v1.2 release (and should apply to any of the boot images so far short of line numbers, except that the older boot.img files will require more changes to default.prop).
Flags: needinfo?(emanuel.hoogeveen)
Thanks! I will have a go at creating my own but your pre built one works just fine for me with Firefox 1.4 so far as I have tried it. I recorded my mileage [1] If only I could get fastboot to work :(

1: http://opendirective.net/blog/2014/04/success-firefox-os-1-4-built-and-running-on-zte-open/
I've pretty much given up on the ZTE. I finally managed to get mine unbricked but haven't been able to flash it and lost the will to futz around looking for solutions. It's running the ZTE 'experimental' 1.2 build and that's where it will stay until the lawyers and accountants get their act together and make this a funded, supported *product*. And no, I don't recommend going to eBay and getting the "new, improved ZTE" phone for $99US either.
By the way, I finally got my Geeksphone Revolution. It's running well on Android JellyBean and I'm not planning to load Boot2Gecko on it, even though it's a simple operation to get to 1.3 and Geeksphone does appear to be supporting it.
FYI I got report of issues when flashing master on top of the 1.2 package from ZTE.
Julien - did you get any details? 
So far I only noticed I cannot save videos. I'm figuring out how to get debug info now.
Not really a lot more details, I think it was more related to crashes.

To make you comfortable, I don't have a working master on top of ZTE myself ;)
(In reply to Steve Lee from comment #34)
> Thanks! I will have a go at creating my own but your pre built one works
> just fine for me with Firefox 1.4 so far as I have tried it. I recorded my
> mileage [1] If only I could get fastboot to work :(
> 
> 1:
> http://opendirective.net/blog/2014/04/success-firefox-os-1-4-built-and-
> running-on-zte-open/

I've got a fastboot script that works with that boot.img (as root on Fedora 20, anyhow):

#! /bin/bash -v
pkill adb
adb devices -l
adb reboot bootloader
fastboot flash boot boot.img
fastboot flash userdata userdata.img
fastboot flash system system.img
fastboot erase cache
fastboot reboot
Firefox OS is not being worked on
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.