InfiniTimeOrg / InfiniTime

Firmware for Pinetime smartwatch written in C++ and based on FreeRTOS
GNU General Public License v3.0
2.71k stars 926 forks source link

New watch faces not available after 1.11 DFU and resources load #1378

Closed mattklunder closed 1 year ago

mattklunder commented 1 year ago

I applied the 1.11.0 DFU update and the resources update. The output of the resource load is below:

itctl res load infinitime-resources-1.11.0.zip Uploading 7segments_115.bin 4928 / 4928 B |----------------------------| 100.00% 1m2s

After restarting the watch, the new watch faces are not available. My concern is whether or not other updates may not be applied. Is there anything else that needs to be done?

Enqueued commented 1 year ago

I also just updated to firmware 1.11 via watchmate and the watch faces are also disabled for me.

InFerYes commented 1 year ago

I also just updated to firmware 1.11 via watchmate and the watch faces are also disabled for me.

Did you upload the resources via amazfish or itd?

mattklunder commented 1 year ago

ITD

On Tuesday, October 18, 2022 4:37 PM, InFerYes @.***> wrote:

Did you upload the resources via amazfish or tdi?

Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you authored the thread.Message ID: @.***>

prurigro commented 1 year ago

Same thing after updating with gadgetbridge

Avamander commented 1 year ago

As described in the release description, you have to install the resources needed by the watch faces separately.

mattklunder commented 1 year ago

i did install the resource file separately. I installed the 1.11 DFU firmware update first without issues. I then ran a second update separately, as noted in my original post, to install the resources file. The release description you referenced didn't indicate I had to install anything else, separately or otherwise unless I wanted to do development. Did I miss something?

Avamander commented 1 year ago

Did you install the 1.11 update and forget to confirm the new version before resetting the watch?

InFerYes commented 1 year ago

i did install the resource file separately. I installed the 1.11 DFU firmware update first without issues. I then ran a second update separately, as noted in my original post, to install the resources file. The release description you referenced didn't indicate I had to install anything else, separately or otherwise unless I wanted to do development. Did I miss something?

I believe this ticket was closed prematurely as OP has a genuine issue, however others have not read the release notes properly and think they are experiencing a bug:

To enable those new watch faces, you’ll need to install the new resource package. This package contains all the fonts and pictures needed by the watch faces and must be installed separately from the firmware. The installation procedure of the resources package is very similar to the update procedure of the firmware. But, as this is a very new feature, not all companion apps support it.

  • ITD integrated support for external resources in version 0.0.8.

  • It's also merged in Amazfish, and a new version with those changes should be published very soon.

Other companion apps will hopefully add support for this new feature soon ! Let's give the companion app developers time to integrate and release this new feature ;-)

You’ll find more details about the installation procedure in the documentation.

mattklunder commented 1 year ago

1.11 shows as validated on the watch.

On Wednesday, October 19, 2022 8:33 AM, Avamander @.***> wrote:

Did you install the 1.11 update and forget to confirm the new version before resetting the watch?

Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you authored the thread.Message ID: @.***>

FintasticMan commented 1 year ago

What's the output of itctl fs ls?

mattklunder commented 1 year ago

d 0.0 B .

d 0.0 B ..

d 0.0 B fonts

- 40 B settings.dat

On Thursday, October 20, 2022 1:03 PM, FintasticMan @.***> wrote:

What's the output of itctl fs ls?

Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you authored the thread.Message ID: @.***>

FintasticMan commented 1 year ago

It looks like not all the files were transferred.

I would say make sure you have the latest version of itd, and try running itctl res load infinitime-resources-1.11.0.zip again. There's no need to reboot after uploading the resources.

prurigro commented 1 year ago

Just jumping in here to say that the latest git master of itd 100% worked for me (thanks for pointing to the release description @Avamander -- I'd read about the update on pine64 then pulled and rebuilt and didn't think to check github for further instructions)

mattklunder commented 1 year ago

Thanks for the reply! I ran that command a couple of times. The first time, the output was simply "Removing."

The second time, the output looked like this:

itctl res load infinitime-resources-1.11.0.zip

Uploading 7segments_115.bin 4928 / 4928 B |----------------------------| 100.00% 1m2s

I did upgrade itd to 0.0.8.

After the resource load, the "itctl fs ls" command still showed this output:

d 0.0 B .

d 0.0 B ..

d 0.0 B fonts

- 40 B settings.dat

On Thursday, October 20, 2022 3:41 PM, FintasticMan @.***> wrote:

Then I would say make sure you have the latest version of itd, and try running itctl res load infinitime-resources-1.11.0.zip again. There's no need to reboot after uploading the resources.

Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you authored the thread.Message ID: @.***>

mattklunder commented 1 year ago

To confirm the version:

itd --version

0.0.8

On Thursday, October 20, 2022 3:41 PM, FintasticMan @.***> wrote:

Then I would say make sure you have the latest version of itd, and try running itctl res load infinitime-resources-1.11.0.zip again. There's no need to reboot after uploading the resources.

Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you authored the thread.Message ID: @.***>

prurigro commented 1 year ago

Did you restart the itd service after updating?

mattklunder commented 1 year ago

I don't recall when I restarted the service, but I have restarted the laptop since, before I ran this last resource load.

On Thursday, October 20, 2022 3:57 PM, Kevin MacMartin @.***> wrote:

Did you restart the itd service after updating?

Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you authored the thread.Message ID: @.***>

prurigro commented 1 year ago

Maybe try git master rather than 0.0.8 then? If it still doesn't work we'll at least know it's something other than itd

gelav commented 1 year ago

The issue with Bluez, bt support in Linux. It should be version 5.65+ in order for ITD to flash resources properly. I found a solution in booting from LiveCD Ubuntu 22.04.1 and flashing from there.

Vistaus commented 1 year ago

I believe this ticket was closed prematurely as OP has a genuine issue, however others have not read the release notes properly and think they are experiencing a bug:

It was, but the devs don't really seem to care. They closed my similar issue, #1372, prematurely as well. I still think, based on my issue and this issue, that there's a bug in the resources file.

Vistaus commented 1 year ago

The issue with Bluez, bt support in Linux. It should be version 5.65+ in order for ITD to flash resources properly. I found a solution in booting from LiveCD Ubuntu 22.04.1 and flashing from there.

I don't think Bluez is the culprit here as my similar issue, #1372, was on openSUSE Tumbleweed with Bluez 5.65.

Avamander commented 1 year ago

They closed my similar issue [...] prematurely as well.

Issues with companion apps, or their bugs are really not in the scope of InfiniTime.

I still think, based on my issue and this issue, that there's a bug in the resources file.

Very unlikely.

I don't think Bluez is the culprit here as my similar issue, https://github.com/InfiniTimeOrg/InfiniTime/issues/1372, was on openSUSE Tumbleweed with Bluez 5.65.

Amazfish couldn't handle the MTU being reported incorrectly, there's a workaround for that now, but the underlying cause is not yet fully known. A bug in old bluez would be a reasonable explanation.

mattklunder commented 1 year ago

This issue has been fixed with an update to itd https://gitea.arsenm.dev/Arsen6331/itd/issues/29#issuecomment-350.

JF002 commented 1 year ago

I still think, based on my issue and this issue, that there's a bug in the resources file.

I'm 100% positive that the resource file is fine. I've been able to install this file on 4 different PineTimes using 3 different computers, laptops and phones. And many other people also succeeded in installing the resource pack as well.

Please remember that the resource pack is a very new feature, for InfiniTime and also for companion apps! In fact, InfiniTime 1.11 was released even before the support for the feature was available in most of the companion apps. I thought I documented this in the release note and in the doc but maybe I was not clear enough about that. Sorry again for the confusion.

Since then ITD released 2 new versions (0.0.8 and 0.0.9) which improved the resource upload procedure. Amazfish has also release version 2.1.0 that supports the resource installation, and we have been busy debugging issues related to this feature as well.

In both apps, it was concluded that Bluez version 5.65 and up was needed for the feature to work correctly.

but the devs don't really seem to care

We do care... but we also try to keep our backlog of issues clean and tidy this particular issue is very unlikely to be caused by a bug in InfiniTime . And I also spent most of my time debugging this kind of issue with other developers, which left not much time and energy to answer to many messages and comment on github...

Elara6331 commented 1 year ago

Amazfish couldn't handle the MTU being reported incorrectly, there's a workaround for that now, but the underlying cause is not yet fully known. A bug in old bluez would be a reasonable explanation.

@JF002 I actually do know the underlying cause. The MTU property was only added in 5.63, I believe (this actually caused issues for which I had to contribute a fix to the Go BlueZ client library). Therefore, BlueZ versions before it returned zero, and since there's a filesystem request header, you had to subtract from that, which underflowed the unsigned integer.

JF002 commented 1 year ago

@Arsen6331 Thanks for the update about this issue! The issue and the solution were exactly the same for Amazfish running on SailfishOS (and other linux versions with older BlueZ) : the MTU property would return 0, which was interpreted as infinity. Amazfish would send a huge buffer to the watch, and InfiniTime ignored it as it was too big. Upgrading to Bluez 5.65 fixed the issue on SailfishOS.

EDIT : btw : Congratulations on your contribution to the Go BlueZ client library!