Closed Bug 1001818 Opened 8 years ago Closed 4 years ago

[FOTA] Could not download the package while SD card is inaccessible

Categories

(Firefox OS Graveyard :: Gaia::System, defect, P2)

ARM
Gonk (Firefox OS)
defect

Tracking

(tracking-b2g:backlog, b2g-v1.3T affected)

RESOLVED WONTFIX
tracking-b2g backlog
Tracking Status
b2g-v1.3T --- affected

People

(Reporter: hlu, Unassigned)

Details

(Whiteboard: [systemsfe])

- scenario -
  Could not download the package while device mounted to pc via usb.

- STR - 
  1. Flash basic version image
  2. Insert one SD card with enough space.
  3. Perform check-now manually in /settings/Device/Device information/
  4. Then you'll see a notification update available, press it to download.

- Actual behavior -
  Could not start to download the package.

- Expected behavior -
  It should have one warning message to notify user that device is mounted to pc, or check if the package could be saving in internal storage.
It also could not start to download the package while the SD card is inaccessible. (Ex: encrypted SD card)
Summary: [FOTA] Could not download the package while device mounted to pc via usb. → [FOTA] Could not download the package while SD card is inaccessible
Component: General → Gaia::System
Whiteboard: [systemsfe]
Hubert, could you please document on what device and version this happens? To my knowledge, FOTA and OTA are downloaded in /data/local/updates/, not on the SD card.
Flags: needinfo?(hlu)
Well, it looks in /data/local/updates and if there isn't sufficient space, then it tries to use the sdcard.
I found this issue in Tarako 1.3t, BuildID:20140423005 and Gaia 3771067de006633df690a590a97b4d28c44ef8b2, and this issue also happened in other devices. That is why I do not mention specific device and version. I will describe it clearly in the future.  

For STR, I want to update more steps.
  1. Flash basic version image
  2. Insert one SD card with enough space.
  3. Enable USB storage in settings.
  4. Connect device with PC via USB connection.
  5. Perform check-now manually in /settings/Device/Device information/
  6. Then you'll see a notification update available, press it to download.

Kai-Zhen, I remember currently design will check if the SD is existed or not and has enough space for update first, then check the internal storage /data/local/updates. Is my understanding incorrect?
Flags: needinfo?(hlu) → needinfo?(kli)
Hubert, I think you are right. In findUpdateDirWithFreeSpace we can see Update-Service will check external storage (/sdcard) first and then local storage (/data/local). 
http://dxr.mozilla.org/mozilla-central/source/b2g/components/DirectoryProvider.js#147
Flags: needinfo?(kli)
blocking-b2g: --- → 1.3T?
So there are some important tidbits of information missing from this bug report.

The title seems to conflict with the description (the title says that the sdcard is inaccessible, the description implies that it is accessible and with enough space, although it also implies that sharing was on).

So clarification questions:

1 - How big is the download?
2 - How much free space was on the sdcard?
3 - Is the sdcard accessible?
4 - How free space is available on the internal storage area?

The title of the bug makes it sound like you expect that the download should work, but the description makes it sound like you're just expecting a warning about not being enough space?
Hi Dave,
1 - How big is the download?
    => Around 40MB
2 - How much free space was on the sdcard?
    => Less than 1 MB
3 - Is the sdcard accessible?
    => inaccessible. 
       I tried two cases that SD card is inaccessible.
       (1) While the SD card is mounted to PC, the SD card will be inaccessible for tested device.
       (2) The SD card is encrypted by other equipment, not tested device, and the SD card should be inaccessible for tested device.

4 - How free space is available on the internal storage area?
       (1) The internal storage is around 80MB.

    As I mention in description, device should have one of behaviors: (1) Download the package in internal storage (2) Have one warning message to notify user that device is mounted to pc. It needs UX to confirm which behavior is the better for user.

Hi Omega,
    Please kindly provide your opinion for above two behavior, and mention which behavior will be better for user. Thanks a lot.
Flags: needinfo?(ofeng)
triage: lets add this to backlog
blocking-b2g: 1.3T? → backlog
(In reply to Hubert Lu[:hlu] <hlu@mozilla.com> from comment #7)
>     As I mention in description, device should have one of behaviors: (1)
> Download the package in internal storage (2) Have one warning message to
> notify user that device is mounted to pc. It needs UX to confirm which
> behavior is the better for user.

I suggest (1) Download the package into internal storage directly without warning.
Flags: needinfo?(ofeng)
(In reply to Omega Feng [:Omega] from comment #9)
> 
> I suggest (1) Download the package into internal storage directly without
> warning.

In the followings cases, it is not able to download to sdcard. Is it necessary to notify user and how ?
- the available space in sdcard is not enough or 
- sdcard is not accessible
Priority: -- → P2
I think that the current code is flawed.

Right now, it says that it needs 2.1x the amount of space in the download location for OTA and 1.1x the amount of space for FOTA.

My gut tells me that these what we really need is 2.1 times the size in /system, not in the download loaction.

For OTA, we don't uncompress in the download location, so we shouldn't need any more space than the size of the .mar file. For FOTA, we DO need to uncompress the .mar to get the update.zip file, so I think that we need more space  in the download location.
blocking-b2g: backlog → ---
Firefox OS is not being worked on
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.