Mi Band 3 Support #1113

Closed
by chrisvella opened 3 years ago · 86 comments
chrisvella commented 3 years ago (Migrated from github.com)
Owner

This is more for awareness at this stage but the Mi Band 3 has been announced. Info here. It has many of the same features as the Mi Band 2 but also adds NFC.

This is more for awareness at this stage but the Mi Band 3 has been announced. Info [here](https://www.androidcentral.com/xiaomi-mi-band-3-picks-upgraded-oled-panel-and-nfc-costs-just-30). It has many of the same features as the Mi Band 2 but also adds NFC.
Owner

Let's hope it will use a protocol similar to miband2/amazfit/huami recent devices. Hopefully now that xiaomi opened real stores in Europe we will be able to get one sooner than in the past with other similar devices.

If you or anyone else happen to get one and want to help development, please chime in here. We can provide directions and hopefully (see my note above) getting the basics working in a short amount of time.

Let's hope it will use a protocol similar to miband2/amazfit/huami recent devices. Hopefully now that xiaomi opened real stores in Europe we will be able to get one sooner than in the past with other similar devices. If you or anyone else happen to get one and want to help development, please chime in here. We can provide directions and hopefully (see my note above) getting the basics working in a short amount of time.
dan9550 commented 3 years ago (Migrated from github.com)
Owner

I'd be happy to buy one and test with it, in terms of development i'm not sure how useful i'd be. My Java game is not strong.

I'd be happy to buy one and test with it, in terms of development i'm not sure how useful i'd be. My Java game is not strong.
Owner

@dan9550
Thanks! It would be really helpful if you could compile Gadgetbridge yourself, then we could have short test cycles.

@dan9550 Thanks! It would be really helpful if you could compile Gadgetbridge yourself, then we could have short test cycles.
dan9550 commented 3 years ago (Migrated from github.com)
Owner

Alright. I have a Mi Band 3 on the way, will update when it arrives.

Alright. I have a Mi Band 3 on the way, will update when it arrives.
IanDGibbons commented 3 years ago (Migrated from github.com)
Owner

Me too. Should be here in a couple of weeks. I'll setup a dev environment for GadgetBridge and get compiling.

Me too. Should be here in a couple of weeks. I'll setup a dev environment for GadgetBridge and get compiling.
Owner

@dan9550
@IanDGibbons
I just pushed initial Mi Band 3 support (blindly), just to separate from Mi Band 2 and enable firmware flashing.

@dan9550 @IanDGibbons I just pushed initial Mi Band 3 support (blindly), just to separate from Mi Band 2 and enable firmware flashing.
IanDGibbons commented 3 years ago (Migrated from github.com)
Owner

The band has arrived and is now fully charged. I have compiled a new Gadget Bridge with Mi Band 3 support and installed (old version backed up first!)

Device discovery did not pick it up at first but now it appears in the list.

The first 3 parts of the MAC address are: FA:35:ED

It will not connect. The mi band 3 shows the same picture (attached) that it had before the pairing.

I downloaded the Mi Fit app and extracted all the firmware / font files . Here is a list of filenames:

  • HM0D.fw
  • HM03.fw
  • HM05.fw
  • HM07.fw
  • HM08.fw
  • HuaShan.fw
  • Mili.fw
  • Mili_1a.fw
  • Mili_beats.fw
  • Mili_beats_p.fw
  • Mili_chaohu.ft
  • Mili_chaohu.fw
  • Mili_chongqing.fw
  • Mili_dth.fw
  • Mili_hr.fw
  • Mili_pro.ft
  • Mili_pro.ft.en
  • Mili_pro.fw
  • Mili_pro_53.fw
  • Mili_pro_i.fw
  • Mili_pro_tph.fw
  • Mili_pro_tph_as7000.fw
  • Mili_pro_tph_indian.fw
  • Mili_rocky.fw
  • Mili_tempo.fw
  • Mili_wuhan.fw
  • weight.fw
  • weight_bfs.fw

I have write log files enabled in the Developer Options section of the settings but cant find any log files. Any idea where they are?

Ian

The band has arrived and is now fully charged. I have compiled a new Gadget Bridge with Mi Band 3 support and installed (old version backed up first!) Device discovery did not pick it up at first but now it appears in the list. The first 3 parts of the MAC address are: FA:35:ED It will not connect. The mi band 3 shows the same picture (attached) that it had before the pairing. I downloaded the Mi Fit app and extracted all the firmware / font files . Here is a list of filenames: - HM0D.fw - HM03.fw - HM05.fw - HM07.fw - HM08.fw - HuaShan.fw - Mili.fw - Mili_1a.fw - Mili_beats.fw - Mili_beats_p.fw - Mili_chaohu.ft - Mili_chaohu.fw - Mili_chongqing.fw - Mili_dth.fw - Mili_hr.fw - Mili_pro.ft - Mili_pro.ft.en - Mili_pro.fw - Mili_pro_53.fw - Mili_pro_i.fw - Mili_pro_tph.fw - Mili_pro_tph_as7000.fw - Mili_pro_tph_indian.fw - Mili_rocky.fw - Mili_tempo.fw - Mili_wuhan.fw - weight.fw - weight_bfs.fw I have write log files enabled in the Developer Options section of the settings but cant find any log files. Any idea where they are? Ian --
IanDGibbons commented 3 years ago (Migrated from github.com)
Owner

Ok I can't seem to upload anything:
"Something went really wrong, and we cant process that file."

The Mi Band 3 Shows a picture of a phone next to a mi band with some Chinese writing underneath.
When you swipe up on the band it shows two chinese characters followed by:

CMIIT ID: 2018DP1565

Which appears to be the fcc id:

https://fccid.io/CMIIT-ID-2018DP1565

I'll try and upload the screenshots with another browser ...

Ok I can't seem to upload anything: "Something went really wrong, and we cant process that file." The Mi Band 3 Shows a picture of a phone next to a mi band with some Chinese writing underneath. When you swipe up on the band it shows two chinese characters followed by: CMIIT ID: 2018DP1565 Which appears to be the fcc id: https://fccid.io/CMIIT-ID-2018DP1565 I'll try and upload the screenshots with another browser ...
IanDGibbons commented 3 years ago (Migrated from github.com)
Owner

img_20180619_133722
img_20180619_134457
screenshot_20180619-133929

![img_20180619_133722](https://user-images.githubusercontent.com/40264666/41598987-57b5a6dc-73c1-11e8-8818-20b75b9c8c77.jpg) ![img_20180619_134457](https://user-images.githubusercontent.com/40264666/41599003-6609f79c-73c1-11e8-8ebd-e2b051acad3a.jpg) ![screenshot_20180619-133929](https://user-images.githubusercontent.com/40264666/41599011-6ae0e4ba-73c1-11e8-920e-1c9459f747f3.png)
Owner

The correct Firmware is Mili_wuhan.fw and .res

You have to pair by pressing the + button in Gadgetbridge, did you do that?

The correct Firmware is Mili_wuhan.fw and .res You have to pair by pressing the + button in Gadgetbridge, did you do that?
IanDGibbons commented 3 years ago (Migrated from github.com)
Owner

I pressed the + button to pair and its been added into the list. It shows in Bluetooth settings too as paired.
When I press the entry it says 'Connecting...' then immediately goes back to Not Connected.

I pressed the + button to pair and its been added into the list. It shows in Bluetooth settings too as paired. When I press the entry it says 'Connecting...' then immediately goes back to Not Connected.
Owner

@IanDGibbons perhaps try with the Gadgetbridge settings that prevents pairing the band and then forgetting the device (do not forget to turn off and then on the BT on the phone afterwards)?

@IanDGibbons perhaps try with the Gadgetbridge settings that prevents pairing the band and then forgetting the device (do not forget to turn off and then on the BT on the phone afterwards)?
IanDGibbons commented 3 years ago (Migrated from github.com)
Owner

I've got it connected now.

I orginally paired via Bluetooth settings - I think thats what caused the problem.
I 'forgot' the device in bluetooth then removed via GadgetBridge and just to be sure wiped the app data and started again.

When adding to GadgetBridge via the + button you have to swipe down on the band screen to accept. You then get a little tick icon.

It then still shows pairing screen on the band :( No clock or options

It is showing as connected in GadgetBridge though.

Flashed firmware .fw and .res and it still works the same.

Find my lost device works.
No activity logged.
Battery percentage seems ok.

Is it worth flashing the English font "Mili_pro.ft.en" ?

I've got it connected now. I orginally paired via Bluetooth settings - I think thats what caused the problem. I 'forgot' the device in bluetooth then removed via GadgetBridge and just to be sure wiped the app data and started again. When adding to GadgetBridge via the + button you have to swipe down on the band screen to accept. You then get a little tick icon. It then still shows pairing screen on the band :( No clock or options It is showing as connected in GadgetBridge though. Flashed firmware .fw and .res and it still works the same. Find my lost device works. No activity logged. Battery percentage seems ok. Is it worth flashing the English font "Mili_pro.ft.en" ?
Owner

I wouldn't flash anything that doesn't have "wuhan" in its name!

I wouldn't flash anything that doesn't have "wuhan" in its name!
Owner

Is the screen in english now? Latest Firmware has all kinds of languages. Which Firmware Version is displayed in gadgetbridge?

Is the screen in english now? Latest Firmware has all kinds of languages. Which Firmware Version is displayed in gadgetbridge?
IanDGibbons commented 3 years ago (Migrated from github.com)
Owner

Screen still shows pairing image or fcc id after swiping. No clock

GadgetBridge shows:
FW: 1.1.0.14
HW: v0.18.3.4

The pairing image has changed style since the firmware upgrade.

Screen still shows pairing image or fcc id after swiping. No clock GadgetBridge shows: FW: 1.1.0.14 HW: v0.18.3.4 The pairing image has changed style since the firmware upgrade.
Owner

A log would be nice (when connecting) also make sure you entered personal details (nickname, height, wear location ) in settings.

The wiki has an article about logging

A log would be nice (when connecting) also make sure you entered personal details (nickname, height, wear location ) in settings. The wiki has an article about logging
IanDGibbons commented 3 years ago (Migrated from github.com)
Owner

I have no log file in either internal or external sd card folders:

Android/data/nodomain.freeyourgadget.gadgetbridge/files

App has all permissions (incl storage) enabled.

I'll get a logcat uploaded when I'm back from the dojo ...

I have no log file in either internal or external sd card folders: Android/data/nodomain.freeyourgadget.gadgetbridge/files App has all permissions (incl storage) enabled. I'll get a logcat uploaded when I'm back from the dojo ...
Owner

Are you sure that flashing res was successful? And can you post another photo from the pair screen?

Are you sure that flashing res was successful? And can you post another photo from the pair screen?
Owner

I added an article about Firmware update.

wiki

I added an article about Firmware update. [wiki](/Freeyourgadget/Gadgetbridge/wiki/Mi-Band-3-Firmware-Update)
IanDGibbons commented 3 years ago (Migrated from github.com)
Owner

I've gone through the whole process again and ended up in the same state.

This time I allowed GB to pair with the device. It made no difference, it still shows the pairing picture on the band.

I am currently building a new Oreo rom for my phone. Maybe it will work better then !

I am struggling taking a picture. The new shiny screen is very difficult for the camera to focus on and the screen displays for about a second before going off again.

I'll try again over lunch and dig out a logcat for the whole discovery / pairing phase.

I've gone through the whole process again and ended up in the same state. This time I allowed GB to pair with the device. It made no difference, it still shows the pairing picture on the band. I am currently building a new Oreo rom for my phone. Maybe it will work better then ! I am struggling taking a picture. The new shiny screen is very difficult for the camera to focus on and the screen displays for about a second before going off again. I'll try again over lunch and dig out a logcat for the whole discovery / pairing phase.
IanDGibbons commented 3 years ago (Migrated from github.com)
Owner

Some more observations from playing around last night:

Alarms work.
No step / heart rate data downloaded (I had it in my pocket all evening).
Find lost device works and shows an English message on the band.
Vibrate for message / calls works.

Some more observations from playing around last night: Alarms work. No step / heart rate data downloaded (I had it in my pocket all evening). Find lost device works and shows an English message on the band. Vibrate for message / calls works.
Owner

@IanDGibbons did you fill the user data section in Gadgetbridge settings?

@IanDGibbons did you fill the user data section in Gadgetbridge settings?
IanDGibbons commented 3 years ago (Migrated from github.com)
Owner

Yes, the data in the 'About You' section of the Settings.

Yes, the data in the 'About You' section of the Settings.
Owner

Did you also fill the user name &co in the Miband/Amazfit settings page?

Did you also fill the user name &co in the Miband/Amazfit settings page?
IanDGibbons commented 3 years ago (Migrated from github.com)
Owner

I don't have those. Have they been added recently?
I will compile again and check.

I don't have those. Have they been added recently? I will compile again and check.
Owner

No, they are not new but you lost them when you wiped app data :)

and just to be sure wiped the app data and started again.

No, they are not new but you lost them when you wiped app data :) > and just to be sure wiped the app data and started again.
IanDGibbons commented 3 years ago (Migrated from github.com)
Owner

I mean that I can't see that option on the Miband / Amazfit settings page. Only Name/Alias which is set.

After a reboot the developer log has appeared:
https://pastebin.com/9CU4B4Gv

And here is a trimmed down logcat:
https://pastebin.com/zdGK9TSW

I mean that I can't see that option on the Miband / Amazfit settings page. Only Name/Alias which is set. After a reboot the developer log has appeared: https://pastebin.com/9CU4B4Gv And here is a trimmed down logcat: https://pastebin.com/zdGK9TSW
Owner

I really would like to see the photo, maybe it is a hint to what the mi band 3 expects us to send. Even Chinese can be helpful.

I really would like to see the photo, maybe it is a hint to what the mi band 3 expects us to send. Even Chinese can be helpful.
IanDGibbons commented 3 years ago (Migrated from github.com)
Owner

img_20180620_210528

![img_20180620_210528](https://user-images.githubusercontent.com/40264666/41682017-621cc0c0-74ce-11e8-96a4-b379c00d9462.jpg)
Owner

@IanDGibbons

In the log file I see you run into this code:

if (alias == null || weight == 0 || height == 0 || birth_year == 0) { LOG.warn("Unable to set user info, make sure it is set up"); return this; }
I find this strange, since you are saying you set everything in "about you" plus in "mi band / amazfit settings" the alias. That shoudl be enough for the code not to be triggered..

@IanDGibbons In the log file I see you run into this code: ` if (alias == null || weight == 0 || height == 0 || birth_year == 0) { LOG.warn("Unable to set user info, make sure it is set up"); return this; } ` I find this strange, since you are saying you set everything in "about you" plus in "mi band / amazfit settings" the alias. That shoudl be enough for the code not to be triggered..
IanDGibbons commented 3 years ago (Migrated from github.com)
Owner

I probably added those afterwards. I never set them at all with the Mi Band 2 !

I have started again from scratch with all info set and now it wont pair at all!

I will continue to try permutations and combinations until I have working pairing method ...

I probably added those afterwards. I never set them at all with the Mi Band 2 ! I have started again from scratch with all info set and now it wont pair at all! I will continue to try permutations and combinations until I have working pairing method ...
neoantox commented 3 years ago (Migrated from github.com)
Owner

I also tried to compile master branch. I successfully paired my mi band 3 with GB without any problems. I've flashed English firmware (from 4pda, russian forum) and it works well.

My activity, sleep data are displayed correctly in the app.
Tried notification from debug menu - ok.

I also tried to compile master branch. I successfully paired my mi band 3 with GB without any problems. I've flashed English firmware (from [4pda](https://4pda.ru/forum/index.php?s=&showtopic=905630&view=findpost&p=74212454), russian forum) and it works well. My activity, sleep data are displayed correctly in the app. Tried notification from debug menu - ok.
Owner

@IanDGibbons
There is no reason to start from scratch, we set user info always when connecting.
To allow pairing again you have to unpair from android settings and toggle bluetooth off/on sometimes.

@neoantox
Did you first use Mi Fit or tried Gadgetbridge when you took the Mi Band 3 out of the box?
And why do you flash some inofficial firmware? The latest Mi Band 3 firmware has English, Italian, German, Russian, Korean and more languages... (at least the strings are visible in the official .fw file)

We also ordered a Mi Band 3 from project donations and will test the hell out of it soon :)

@IanDGibbons There is no reason to start from scratch, we set user info always when connecting. To allow pairing again you have to unpair from android settings and toggle bluetooth off/on sometimes. @neoantox Did you first use Mi Fit or tried Gadgetbridge when you took the Mi Band 3 out of the box? And why do you flash some inofficial firmware? The latest Mi Band 3 firmware has English, Italian, German, Russian, Korean and more languages... (at least the strings are visible in the official .fw file) We also ordered a Mi Band 3 from project donations and will test the hell out of it soon :)
Owner

@neantox

Oh and if you notice any bugs please repot, currently this is basically running with the Amazfit Bip code (with only some minor differences).

@neantox Oh and if you notice any bugs please repot, currently this is basically running with the Amazfit Bip code (with only some minor differences).
neoantox commented 3 years ago (Migrated from github.com)
Owner

@ashimokawa I paired with Mi Fit first, used for one day, then unpaired and tried Gadgetbridge.
I've flashed unofficial firmware because on the official one the entire interface is in Chinese and there is no option to select English language.

And of course if i find any bugs, i will report. Thank you for your work!

@ashimokawa I paired with Mi Fit first, used for one day, then unpaired and tried Gadgetbridge. I've flashed unofficial firmware because on the official one the entire interface is in Chinese and there is no option to select English language. And of course if i find any bugs, i will report. Thank you for your work!
Owner

@neoantox
Thanks. Well we still need to debug what we do not send during initialization. It is not satisfactory to require mi fit. I will investigate this when I get my hands on a Mi Band 3.

@neoantox Thanks. Well we still need to debug what we do not send during initialization. It is not satisfactory to require mi fit. I will investigate this when I get my hands on a Mi Band 3.
IanDGibbons commented 3 years ago (Migrated from github.com)
Owner

I've updated my phone rom to Oreo, with all the latest fixes. Same problem, doesn't seem to finish the pair properly.

So I've bitten the bullet and installed mifit. Got it paired first then uninstalled.

Next I connected up with Gadget bridge and it works perfectly.
Then I uploaded the modified firmware to get English on the band. This works great too. Although there are reports that caller id doesn't work with it.

The reddit thread is here:
https://www.reddit.com/r/miband/comments/8r88c7/unofficial_english_firmware_for_mi_band_3/

When I get a bit more time, I will go through the process again with the Blutooth HCI snoop log enabled.
There was nothing in the logcat during the pair.

I've updated my phone rom to Oreo, with all the latest fixes. Same problem, doesn't seem to finish the pair properly. So I've bitten the bullet and installed mifit. Got it paired first then uninstalled. Next I connected up with Gadget bridge and it works perfectly. Then I uploaded the modified firmware to get English on the band. This works great too. Although there are reports that caller id doesn't work with it. The reddit thread is here: https://www.reddit.com/r/miband/comments/8r88c7/unofficial_english_firmware_for_mi_band_3/ When I get a bit more time, I will go through the process again with the Blutooth HCI snoop log enabled. There was nothing in the logcat during the pair.
pm-cz commented 3 years ago (Migrated from github.com)
Owner

@IanDGibbons: Looking for clues inside of the firmware, besides Mili_wuhan being MiBand3, the Mili_chongqing seems to be MiBand3 NFC version firmware, and Mili_dth is the Amazfit Bip2 firmware (which seems to contain NFC as well according to strings in firmware file).

The abovementioned firmwares seem to still include the debugging information which will probably be stripped in the future.

@IanDGibbons: Looking for clues inside of the firmware, besides Mili_wuhan being MiBand3, the Mili_chongqing seems to be MiBand3 NFC version firmware, and Mili_dth is the Amazfit Bip2 firmware (which seems to contain NFC as well according to strings in firmware file). The abovementioned firmwares seem to still include the debugging information which will probably be stripped in the future.
chienkd commented 3 years ago (Migrated from github.com)
Owner

Try to compile apk and install it. Connect to miband 3 ok. Flash english firmware and resource and it work well. But I tried to flash ft files (Mili_chaohu.ft and Mili_pro.ft), the software shows the error "File can not be installed, device is not ready".
miband 3 error

Try to compile apk and install it. Connect to miband 3 ok. Flash english firmware and resource and it work well. But I tried to flash ft files (Mili_chaohu.ft and Mili_pro.ft), the software shows the error "File can not be installed, device is not ready". ![miband 3 error](https://user-images.githubusercontent.com/36008844/41807191-0e0aaa50-76f5-11e8-8bfb-014d2eba5de4.jpg)
pm-cz commented 3 years ago (Migrated from github.com)
Owner

@chienkd Are you sure the font files can be installed on this device? There are no font files in the APK for Miband3 yet and it may use a different format.

Based on the strings found in firmware my guess would be the Miband 2 (Mili_pro) font format (HMZK), but at least the header will probably differ slightly, e.g. the font version will be different.

@chienkd Are you sure the font files can be installed on this device? There are no font files in the APK for Miband3 yet and it may use a different format. Based on the strings found in firmware my guess would be the Miband 2 (Mili_pro) font format (HMZK), but at least the header will probably differ slightly, e.g. the font version will be different.
chienkd commented 3 years ago (Migrated from github.com)
Owner

@pm-cz I'm not sure about the font for miband 3. But with Amazfit Cor (Midong band) without font file in the Mifit but It can use Amazfit Bip font instead. I already read miband 2 font but I realize that some characters use on miband 3 have the same shape with characters on Amazfit Bip font so I've tried to install.

@pm-cz I'm not sure about the font for miband 3. But with Amazfit Cor (Midong band) without font file in the Mifit but It can use Amazfit Bip font instead. I already read miband 2 font but I realize that some characters use on miband 3 have the same shape with characters on Amazfit Bip font so I've tried to install.
Owner

I am blocking font Installation on purpose. Last time i allowed such things someone broke his fonts on cor and bip because he wanted to try mi band 2 fonts.

That cor can use bip fonts is new to me, should I allow flashing Bip fonts on Cor?

I am blocking font Installation on purpose. Last time i allowed such things someone broke his fonts on cor and bip because he wanted to try mi band 2 fonts. That cor can use bip fonts is new to me, should I allow flashing Bip fonts on Cor?
pm-cz commented 3 years ago (Migrated from github.com)
Owner

Yes, but they are from the same generation of the devices, here we are talking about different generations. Anyway, Amazfit font header string (NEZK) is not included in Miband 3 firmware, so it will probably use Miband 2 (HMZK) format which is included there.

But as @ashimokawa writes, it is intentionally blocked, and I myself would not try it yet, since we do not have any font file to fix it if it does not work, and it may break the device without a possible repair.

Yes, but they are from the same generation of the devices, here we are talking about different generations. Anyway, Amazfit font header string (NEZK) is not included in Miband 3 firmware, so it will probably use Miband 2 (HMZK) format which is included there. But as @ashimokawa writes, it is intentionally blocked, and I myself would not try it yet, since we do not have any font file to fix it if it does not work, and it may break the device without a possible repair.
chienkd commented 3 years ago (Migrated from github.com)
Owner

@pm-cz Are you sure about header font of miband 3? Should I try to install miband 2 font for miband 3? How can I allow install miband 2 font for miband 3?

@pm-cz Are you sure about header font of miband 3? Should I try to install miband 2 font for miband 3? How can I allow install miband 2 font for miband 3?
Owner

This issue is about adding support for miband 3 in Gadgetbridge. Flashing random files - besides being risky- is off topic. Please remain on topic.

This issue is about adding support for miband 3 in Gadgetbridge. Flashing random files - besides being risky- is off topic. Please remain on topic.
chienkd commented 3 years ago (Migrated from github.com)
Owner

Miband 3 has it own font file. I think we can try to open flash font file command.

Miband 3 has it own font file. I think we can try to open flash font file command.
Owner

Yep, will do this weekend

Yep, will do this weekend
pm-cz commented 3 years ago (Migrated from github.com)
Owner

@ashimokawa Just a quick sanity check - the header is similar to Miband2 font, but the structure has changed (my Miband2 font splitter/combiner does not work correctly for the font), so it would be probably reasonable to prevent flashing older Miband2 fonts on Miband3.

New format is indicated right now by 0x04 in byte 0x9 of the header for the supplied font, whilst the original font for Miband2 had 0x00 (EN version) or 0xFF (Chinese version) there. Plus bytes 0xc and 0xd were set to 0xff in original version of font for Miband2, but contain some value in present font (length is now 32-bit?).

@ashimokawa Just a quick sanity check - the header is similar to Miband2 font, but the structure has changed (my Miband2 font splitter/combiner does not work correctly for the font), so it would be probably reasonable to prevent flashing older Miband2 fonts on Miband3. New format is indicated right now by 0x04 in byte 0x9 of the header for the supplied font, whilst the original font for Miband2 had 0x00 (EN version) or 0xFF (Chinese version) there. Plus bytes 0xc and 0xd were set to 0xff in original version of font for Miband2, but contain some value in present font (length is now 32-bit?).
Owner

@pm-cz
Yes, thanks, I already know that and planned to do that sanity check

Also note that there are two font files now (Mili_wuhan.ft.kj in addition to Mili_wuhan.ft)

FYI, the .kj font has 0x03 where the other has 0x04 on position 0x9

@pm-cz Yes, thanks, I already know that and planned to do that sanity check Also note that there are two font files now (Mili_wuhan.ft.kj in addition to Mili_wuhan.ft) FYI, the .kj font has 0x03 where the other has 0x04 on position 0x9
pm-cz commented 3 years ago (Migrated from github.com)
Owner

@ashimokawa: Thanks for letting me know, the official APK i downloaded on Play had only the non-Kanji font included. But it is probably safe to assume that 0x00 and 0xff fonts may be dangerous to flash, and the rest may contain different fields for different countries, right?

@ashimokawa: Thanks for letting me know, the official APK i downloaded on Play had only the non-Kanji font included. But it is probably safe to assume that 0x00 and 0xff fonts may be dangerous to flash, and the rest may contain different fields for different countries, right?
Owner

Pushed support for flashing .ft files, but I cannot test since I still do not have the device.

@pm-cz
Just to be safe, I restricted Mi Band 2 to 0xff and 0x00, and Mi Band 3 to 0x03 and 0x04 at offset 0x09.

There is one thing that bugs me a little - the Bip has two font "slots" - one for the "latin" and one for the normal font. They were actually flashed to different flash locations. I hope this is not the same for the .kj and normal .ft fonts. It is also strange that both files are 1.5MB which is far more that the Bip Font with 0.9MB which also included Kanji.

Pushed support for flashing .ft files, but I cannot test since I still do not have the device. @pm-cz Just to be safe, I restricted Mi Band 2 to 0xff and 0x00, and Mi Band 3 to 0x03 and 0x04 at offset 0x09. There is one thing that bugs me a little - the Bip has two font "slots" - one for the "latin" and one for the normal font. They were actually flashed to different flash locations. I hope this is not the same for the .kj and normal .ft fonts. It is also strange that both files are 1.5MB which is far more that the Bip Font with 0.9MB which also included Kanji.
Owner

We just received our Mi Band 3 and I can confirm what @IanDGibbons said.
The Mi Band 3 is stuck in a screen saying "pair devices first". Master branch supports switching to english with lastest firmware, and that is what it says.

I do not know yet, why this is displayed even though we are paired and phone calls and notifications are working. My guess is that the Mi Band 3 expect other settings to be done before it consideres itself being configured.

We just received our Mi Band 3 and I can confirm what @IanDGibbons said. The Mi Band 3 is stuck in a screen saying "pair devices first". Master branch supports switching to english with lastest firmware, and that is what it says. I do not know yet, why this is displayed even though we *are* paired and phone calls and notifications are working. My guess is that the Mi Band 3 expect other settings to be done before it consideres itself being configured.
RichiH commented 3 years ago (Migrated from github.com)
Owner

In case further confirmation was needed, I am seeing the same behavior.

In case further confirmation was needed, I am seeing the same behavior.
Owner

@RichiH

Thanks, this is high up my list now.
If you still loose patience and "fix" it with Mi Fit, please do a hci dump ;)

@RichiH Thanks, this is high up my list now. If you still loose patience and "fix" it with Mi Fit, please do a hci dump ;)
RichiH commented 3 years ago (Migrated from github.com)
Owner

@ashimokawa I won't touch the official app with a ten-foot pole; I value my privacy :)

Speaking of which, is the unofficial version on Google Play store considered safe? Is there a specific reason why only F-Droid is offered by default?

@ashimokawa I won't touch the official app with a ten-foot pole; I value my privacy :) Speaking of which, is the unofficial version on Google Play store considered safe? Is there a specific reason why only F-Droid is offered by default?
Owner

@RichiH
:) Nice to hear that, same here, just that my pole is measured in meters😉

@RichiH :) Nice to hear that, same here, just that my pole is measured in meters😉
RichiH commented 3 years ago (Migrated from github.com)
Owner

I might be able to loan a cell phone to activate my band from. If I can,
how would I do a hci dump? Google is inconclusive.

Sent by mobile; please excuse my brevity.

On Fri, Jul 6, 2018, 11:35 Andreas Shimokawa notifications@github.com
wrote:

@RichiH https://github.com/RichiH
:) Nice to hear that, same here, just that my pole is measured in meters😉


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Freeyourgadget/Gadgetbridge/issues/1113#issuecomment-402982884,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAuEI0-u3uaPnr2Vn5xhmMzvcMLjk-NHks5uDy9SgaJpZM4UV8pM
.

I might be able to loan a cell phone to activate my band from. If I can, how would I do a hci dump? Google is inconclusive. Sent by mobile; please excuse my brevity. On Fri, Jul 6, 2018, 11:35 Andreas Shimokawa <notifications@github.com> wrote: > @RichiH <https://github.com/RichiH> > :) Nice to hear that, same here, just that my pole is measured in meters😉 > > — > You are receiving this because you were mentioned. > Reply to this email directly, view it on GitHub > <https://github.com/Freeyourgadget/Gadgetbridge/issues/1113#issuecomment-402982884>, > or mute the thread > <https://github.com/notifications/unsubscribe-auth/AAuEI0-u3uaPnr2Vn5xhmMzvcMLjk-NHks5uDy9SgaJpZM4UV8pM> > . >
Owner

@RichiH

https://github.com/Freeyourgadget/Gadgetbridge/wiki/Log-Files
Regarding your question on playstore read here #480

@RichiH https://github.com/Freeyourgadget/Gadgetbridge/wiki/Log-Files Regarding your question on playstore read here #480
RichiH commented 3 years ago (Migrated from github.com)
Owner

Unfortunately, the Galaxy S3 is too old to install Gadgetbridge. Mi Fit worked, but needs a higher version than 4.3 for most anything.

So, the Band 3 is activated, but I can't dump any data, sorry :(

Unfortunately, the Galaxy S3 is too old to install Gadgetbridge. Mi Fit worked, but needs a higher version than 4.3 for most anything. So, the Band 3 is activated, but I can't dump any data, sorry :(
RichiH commented 3 years ago (Migrated from github.com)
Owner

I got my hands on a Samsung Galaxy S4 with Android 5.0.1 and no personal data.

Installed:

  • Mi Fit, via Google Play
  • Gadgetbridge, via F-Droid

Working:

  • Pair Band 3 with Mi Fit, but only if connected to the Internet
  • Unpair Band 3 with Mi Fit, but only if connected to the Internet
  • It's worth reiterating that coupling/uncoupling only works if there's a working Internet connection

Not working:

  • Pair Band 3 with Gadgetbridge; no matter if paired with Mi Fit or not

Based on the above, is there anything I can do to help debug / dump further?

I got my hands on a Samsung Galaxy S4 with Android 5.0.1 and no personal data. Installed: * Mi Fit, via Google Play * Gadgetbridge, via F-Droid Working: * Pair Band 3 with Mi Fit, but only if connected to the Internet * Unpair Band 3 with Mi Fit, but only if connected to the Internet * It's worth reiterating that coupling/uncoupling only works if there's a working Internet connection Not working: * Pair Band 3 with Gadgetbridge; no matter if paired with Mi Fit or not Based on the above, is there anything I can do to help debug / dump further?
Owner

@RichiH
Ok now I am confused.

Questions:

  1. If you unpair the band with mi fit, will it display "pair device first" again?
  2. If you do not unpair and then connect with Gadgetbridge will it work?

If your device diplays the "pair device first" message then I need a bluetooth hci dump while pairing with mi fit. If not, it is too late and dump won't help anymore.

@RichiH Ok now I am confused. Questions: 1. If you unpair the band with mi fit, will it display "pair device first" again? 2. If you do not unpair and then connect with Gadgetbridge will it work? If your device diplays the "pair device first" message then I need a bluetooth hci dump while pairing with mi fit. If not, it is too late and dump won't help anymore.
RichiH commented 3 years ago (Migrated from github.com)
Owner
  1. It will not display the "pair first" blurb; exact wording unknown
    as it's still in Chinese.
  2. I can not connect via Gadgetbridge while paired to Mi Fit

I can wear the battery down and put the band in my fridge, but that
will take a week for the battery to drain enough.

1. It will not display the "pair first" blurb; exact wording unknown as it's still in Chinese. 2. I can not connect via Gadgetbridge while paired to Mi Fit I can wear the battery down and put the band in my fridge, but that will take a week for the battery to drain enough.
Owner

@RichiH
Unfortunately our chance to capture the needed information is wasted now, even the freezer won't work. One chance per device. I still have that chance but I think I do not want to ever test Mi Fit.

Have you tried removing the pairing from the android settings and then pairing with gadgetbridge?

For my Mi Band 3 is is like I (and others) already wrote:

  • can pair (still shows "pair first" on the band)
  • can update firmware and res
  • only has one menu entry on the band ("about")
  • can receive notifications
  • can receive phone calls
  • won't record steps and sleep data

It seems that pairing one with Mi Fit causes some kind of initialization we do not do and which will make everything work. I have no idea what that is yet. We know that this step is not needed with Bip or Cor which are very similar.

@RichiH Unfortunately our chance to capture the needed information is wasted now, even the freezer won't work. One chance per device. I still have that chance but I think I do not want to ever test Mi Fit. Have you tried removing the pairing from the android settings and then pairing with gadgetbridge? For my Mi Band 3 is is like I (and others) already wrote: - can pair (still shows "pair first" on the band) - can update firmware and res - only has one menu entry on the band ("about") - can receive notifications - can receive phone calls - won't record steps and sleep data It seems that pairing one with Mi Fit causes some kind of initialization we do not do and which will make everything work. I have no idea what that is yet. We know that this step is not needed with Bip or Cor which are very similar.
Owner

Ok, I know how to factory reset the band (needs patching of gadgetbridge), anyone willing to try and then do a hci log when pairing with mi fit?

Ok, I know how to factory reset the band (needs patching of gadgetbridge), anyone willing to try and then do a hci log when pairing with mi fit?
RichiH commented 3 years ago (Migrated from github.com)
Owner

I can't reset via gadgetbridge as I can't connect. Using the stopwatch
drains the battery relatively quickly so that's what I am doing.

Sent by mobile; please excuse my brevity.

On Fri, Jul 13, 2018, 17:08 Andreas Shimokawa notifications@github.com
wrote:

Ok, I know how to factory reset the band (needs patching of gadgetbridge),
anyone willing to try and then do a hci log when pairing with mi fit?


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Freeyourgadget/Gadgetbridge/issues/1113#issuecomment-404861738,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAuEIzUn_xvVuJy8T8yndK7R5tqjQR5Eks5uGLfygaJpZM4UV8pM
.

I can't reset via gadgetbridge as I can't connect. Using the stopwatch drains the battery relatively quickly so that's what I am doing. Sent by mobile; please excuse my brevity. On Fri, Jul 13, 2018, 17:08 Andreas Shimokawa <notifications@github.com> wrote: > Ok, I know how to factory reset the band (needs patching of gadgetbridge), > anyone willing to try and then do a hci log when pairing with mi fit? > > — > You are receiving this because you were mentioned. > Reply to this email directly, view it on GitHub > <https://github.com/Freeyourgadget/Gadgetbridge/issues/1113#issuecomment-404861738>, > or mute the thread > <https://github.com/notifications/unsubscribe-auth/AAuEIzUn_xvVuJy8T8yndK7R5tqjQR5Eks5uGLfygaJpZM4UV8pM> > . >
vasilvestre commented 3 years ago (Migrated from github.com)
Owner

I'm pretty surprised about your adventure guys.
Mine is working perfectly, I first pair it to Mi fit, make it discoverable, then gadgetbridge.
I flashed with french firmware 1.0.1 (?) Then the new one 1.0.2 (not sure about version number)
Finally I plug MiFit with Google Fit
Everything work except message text or weather, I got square with ? in.
I know it's due to new mi fit update but that's not a problem for me.

I'm pretty surprised about your adventure guys. Mine is working perfectly, I first pair it to Mi fit, make it discoverable, then gadgetbridge. I flashed with french firmware 1.0.1 (?) Then the new one 1.0.2 (not sure about version number) Finally I plug MiFit with Google Fit Everything work except message text or weather, I got square with ? in. I know it's due to new mi fit update but that's not a problem for me.
Owner

@vasilvestre
I am pretty surprised about you being suprised. This project is for people NOT using Mi Fit, so the goal is to make it work without ever using Mi Fit. But the Mi Band 3 is stuck in a screen saying "Pair device first" when using with Gadgetbridge only, although it is paired and a lot of stuff already works. Our adventure is to fix that.

@RichiH
I am repeating myself but it wont help draining the battery. Did you try to forget the Mi Band 3 in Android Bluetooth pairing, and then press the + button in gadgetbridge and pair from our discovery activity? This works for me. After what we can factory reset your device.

@vasilvestre I am pretty surprised about you being suprised. This project is for people NOT using Mi Fit, so the goal is to make it work without ever using Mi Fit. But the Mi Band 3 is stuck in a screen saying "Pair device first" when using with Gadgetbridge only, although it is paired and a lot of stuff already works. Our adventure is to fix that. @RichiH I am repeating myself but it wont help draining the battery. Did you try to forget the Mi Band 3 in Android Bluetooth pairing, and then press the + button in gadgetbridge and pair from our discovery activity? This works for me. After what we can factory reset your device.
Owner

FYI I tested flashing fonts in master (Mili_wuhan.ft) and it works.

FYI I tested flashing fonts in master (Mili_wuhan.ft) and it works.
dan9550 commented 3 years ago (Migrated from github.com)
Owner

Correct me if I'm wrong but it sounds as if the device needs to be connected to mifit before it will pair with Gadgetbridge?
I got my MiBand 3 a few days ago it came out the box with ~30% battery and an English firmware, it looked to be functional and it connected to Gadgetbridge without issue.

Correct me if I'm wrong but it sounds as if the device needs to be connected to mifit before it will pair with Gadgetbridge? I got my MiBand 3 a few days ago it came out the box with ~30% battery and an English firmware, it looked to be functional and it connected to Gadgetbridge without issue.
Owner

@dan9550
Exactly, for me and others it shows "pair device first" all the time even after being paired with Gadgetbridge and half of its functions working. Connecting to Mi Fit once seems to fix that issue.

Was it different for you?

@dan9550 Exactly, for me and others it shows "pair device first" all the time even after being paired with Gadgetbridge and half of its functions working. Connecting to Mi Fit once seems to fix that issue. Was it different for you?
dan9550 commented 3 years ago (Migrated from github.com)
Owner

@ashimokawa
It looks as if it had been connected to Mi Fit already and possibly loaded with an English firmware. (Something the seller did before my receipt of the band?). My Mi Band 2 is flat so it's perfect timing for me to give the Mi Band 3 a test run with Gadgetbridge.

@ashimokawa It looks as if it had been connected to Mi Fit already and possibly loaded with an English firmware. (Something the seller did before my receipt of the band?). My Mi Band 2 is flat so it's perfect timing for me to give the Mi Band 3 a test run with Gadgetbridge.
RichiH commented 3 years ago (Migrated from github.com)
Owner

@ashimokawa I didn't understand you that way before, but yes, I also tried that. I can not connect from Gadbetbridge to Mi Band, no matter if I have

  • BT connected, Mi Fit connected
  • BT connected, Mi Fit not connected
  • BT not connected, Mi Fit not connected

any ideas what to do next?

@ashimokawa I didn't understand you that way before, but yes, I also tried that. I can not connect from Gadbetbridge to Mi Band, no matter if I have * BT connected, Mi Fit connected * BT connected, Mi Fit not connected * BT not connected, Mi Fit not connected any ideas what to do next?
Owner

@RichiH
When you press the + button in Gadgetbridge, does the Mi Band 3 appear at all? (Note it HAS to be unpaired from android settings first)

@RichiH When you press the + button in Gadgetbridge, does the Mi Band 3 appear at all? (Note it HAS to be unpaired from android settings first)
RichiH commented 3 years ago (Migrated from github.com)
Owner

It appears, but I can't connect to it.

It appears, but I can't connect to it.
Owner

Mi Band 3 works in master now, waiting confirmation that this does not break Bip and Mi Band 2 pairing.

@RichiH
Please try to turn bluetooth pairing off in Mi Band / Amazfit settings in Gadgetbridge, and then try to pair again.

Mi Band 3 works in master now, waiting confirmation that this does not break Bip and Mi Band 2 pairing. @RichiH Please try to turn bluetooth pairing off in Mi Band / Amazfit settings in Gadgetbridge, and then try to pair again.
RichiH commented 3 years ago (Migrated from github.com)
Owner

Do I assume correctly that you will cut a release and push to f-droid
once you know Band 2 does not break?

Do I assume correctly that you will cut a release and push to f-droid once you know Band 2 does not break?
Owner

@RichiH
I was planning this but now I changed the code so that Mi Band 2 will be handled as before. Will release soon now (but remember we cannot "push" to f-droid, they will pull us, and we have no influence on the delay)

@RichiH I was planning this but now I changed the code so that Mi Band 2 will be handled as before. Will release soon now (but remember we cannot "push" to f-droid, they will pull us, and we have no influence on the delay)
Owner

Direct link to 0.28.0 (f-droid index not updated yet)

https://f-droid.org/repo/nodomain.freeyourgadget.gadgetbridge_134.apk

Direct link to 0.28.0 (f-droid index not updated yet) https://f-droid.org/repo/nodomain.freeyourgadget.gadgetbridge_134.apk
RichiH commented 3 years ago (Migrated from github.com)
Owner

0.28.0 works and transmits data, most UI on the watch is now in English as well. SMS are displayed in Chinese characters.

I can't seem to find a way to change settings (when to buzz, how often to measure heart rate, etc) anywhere after initial pairing.

As an aside, heart rate etc seems to be a function of the watch; I would argue it would make sense to bring the data towards the main UI of the app. Merging data of, e.g. a watch and a bathroom scale would make more sense than having the respective data live behind the individual gadgets.

0.28.0 works and transmits data, most UI on the watch is now in English as well. SMS are displayed in Chinese characters. I can't seem to find a way to change settings (when to buzz, how often to measure heart rate, etc) anywhere after initial pairing. As an aside, heart rate etc seems to be a function of the watch; I would argue it would make sense to bring the data towards the main UI of the app. Merging data of, e.g. a watch and a bathroom scale would make more sense than having the respective data live behind the individual gadgets.
SpaceAgeHero commented 3 years ago (Migrated from github.com)
Owner

My Mi Band 3 doesn't connect anymore after upgrading. I guess I will have to delete the device and pair it again, resulting in loss of all data?

My Mi Band 3 doesn't connect anymore after upgrading. I guess I will have to delete the device and pair it again, resulting in loss of all data?
Owner

@SpaceAgeHero
No. Just remove the device from android Bluetooth settings (not from Gadgetbridge). Press the + button in Gadgetbridge and pair. No data lost.

@SpaceAgeHero No. Just remove the device from android Bluetooth settings (not from Gadgetbridge). Press the + button in Gadgetbridge and pair. No data lost.
Owner

@RichiH

You can go to mi band settings and change stuff like hr measurement interval etc

@RichiH You can go to mi band settings and change stuff like hr measurement interval etc
Owner

I believe this issue could be closed now that 0.28 is released adding support for the device. If there are specific settings that do not work or unsupported features, feel free to open new issues for them.

I believe this issue could be closed now that 0.28 is released adding support for the device. If there are specific settings that do not work or unsupported features, feel free to open new issues for them.
joserebelo commented 3 years ago (Migrated from github.com)
Owner

@ashimokawa
Here's the initial pairing and firmware upgrade capture: miband3_pair.log

@ashimokawa Here's the initial pairing and firmware upgrade capture: [miband3_pair.log](https://github.com/Freeyourgadget/Gadgetbridge/files/2280590/miband3_pair.log)
roigreenberg commented 3 years ago (Migrated from github.com)
Owner

Hi.
A few months ago I added Hebrew and Arabic fonts to the Amazfit Bip.
Do you know if the font files are identical? if not, what are the changes?

Hi. A few months ago I added Hebrew and Arabic fonts to the Amazfit Bip. Do you know if the font files are identical? if not, what are the changes?
Sign in to join this conversation.
No Milestone
No Assignees
2 Participants
Notifications
Due Date

No due date set.

Dependencies

This issue currently doesn't have any dependencies.

Loading…
There is no content yet.