Halo Firmware Changelist
Build 1.0.1-1041:
Changes:
- HTP-25 : idle display corrected
- Firmware update timer move to onResume to address situation where the dialog is pulled from the stack and redisplayed.
- add UnknownHostException to calibrate time task
- Fence race condition reboots tablet rather than freeze.
Build 1.0.1-1037:
Changes:
- disable FLAG_SECURE mode to allow QA to capture screenshots
- HTP-130: remove rk Button Lights code from PowerManagerService.java, DisplayPowerController.java. it keeps the screen on to support lcd button lights that we don’t use. some old fw version had turned it off, so they work, but all other tablets don’t.
- PowerManagerService also cycles wifi off and on with screen timeout, which is disruptive. behavior was added by rk for wifi p2p and is removed now.
Build 1.0.1-1036:
Changes:
- Debug: removed ViewRootImpl log for BACK FROM relativelayout
- Bridge: add option to stream logcat to an external SD card
- SEL: allow crashlogd in all builds
- move rc changes to separate init.{hw}.buzztime.rc file
- allow statusbar and navigationbar flags to be specified in broadcast (Kiip support)
- add DropboxReceiver to bridge
- Charge Screen: displays “auto-boot: —“ if setting is missing, instead of nothing
- HTP-75: remove multiwindow code from frameworks/base
- PRV: update http time server list to match btcore update
- PRV: add initial check for ethernet before requiring wifi picker.
- WindowManagerService -remove DEBUG flags
- “ : cleanout rk chgs in relayoutWindow(), may have triggered relayout more frequently
- “ : increase WINDOW_FREEZE_TIMEOUT_DURATION by 50% (2000-3000ms) - WindowManagerService.java:296
- “ : remove multiwindow changes in handleAppTransitionReeadyLocked
- set FLAG_SECURE on all windows to prevent thumbnail screenshots (used for recents). reduces surface churn in attract state
- set stock launcher defaults to user rotation (landscape) to reduce hidden orientation changes in attract mode.
- removed First run clings (‘Got it’ dialog) in launcher
- correct power button behavior to match Tabs
- BRDG: StartKiosk sets preferred HomeActivity each time
- Default loglevel : debug
Notes:
Build 1.0.0-1035: (PRODUCTION RELEASE 1) Changes: OTA: remove update check on USB_STATE change ( to fix display corruption) Add Power Key option to change AutoBoot Mode setting (hidden in bugreport option) Add Setting switch to set adb to tcpip mode PowerOff btn disables autoboot (BTCore expected to set value by handshake) PowerOff long press leaves autoboot enabled Bridge Shutdown also disables autoboot KioskMode enables autoboot at 90% if at 0 bury restart in safe mode power option turn off Keyguard servicex Short press on Power: go to sleep (don't doze) remove ViewRootImpl debug msgs (rk author) disable def_button_lights_enabled setting (no lights on Halo buttons) SSL: Cipher filtering turned on
Notes:
Autoboot changes don’t require the BTCore changes to be functional. Conceptually, the fw (power button) controls autoboot on/off, and BTCore controls the charge percentage that triggers the next boot.
Extra Notes:
restart in safe mode:
long press power dialog
long press [restart] option 3x
*short press restart .. press cancel * (3x)
long press [restart] option 3x
Build 1.0.0-1034: Changes: debug.watchdog can be altered during runtime to allow adb to reset the default (good to next boot) ProvisionLogger::IS_DEBUG_BUILD set to false PRV: long press on “Scan” to show date settings filtered to debug builds only. remove debuggable flags on BuzztimeProvisioning remove debuggable flag on BridgerReceiver remove debuggable flag on RKUpdateService remove xmltojson test setting in BridgeReceiver Device Settings remove SecureUtils test setting in BridgeReceiver Device settings remove Debug category in BridgeReceiver Device settings OTA: change recovery to display install logs & pause on install error, rather than retrying install OTA: remove update check on USB_STATE change.
Notes:
Build 1.0.0-1033: Changes: SEL: update shell.te to allow metadata file priviledges because on game team systems it is appearing as an 'avc denied' log entry. fix statusbar expanding when navbar is shown add dev/int/stg private keys to BridgeRecver settings QR Code check. Beginning to cleanup Settings LongPress options. firmware source updated to enable creating a custom build with Google Services included. statusbar flag settings persist through navbar calls System Watchdog service configured to reboot on deadlocked processes
Notes: Build 1032 was not released.
Build 1.0.0-1032: Changes: SEL: update shell.te to allow metadata file priviledges because on game team systems it if appearing as and avc denied log entry.
Notes:
Build 1.0.0-1031: Changes:
Notes:
Build 1.0.0-1030: Changes: add broadcast to update service to check for updates.
Notes:
Build 1.0.0-1029: Changes: Settings: turns off device rotation check set ro.sf.hwrotation to 90 (landscape default)
Notes:
Build 1.0.0-1028: Changes: OTA: updates enabled for /sdcard/update.img files (encryption aware) (Reboot dlg will take 90+ secs to process the update file ) PRV: fix for error when VerifySystemClock returns PRV: long press on [ Scan ] to access date Settings activity CHG: font increased as side effect of recovery builds PRV: VerifySystemClock uses {www.google.com,tock.usshc.com, tick.usshc.com} for http date header if ntp times out PRV: add connectivity check to SystemClock and Handshake tasks PRV: add internet / DNS check to SystemClock and Handshake tasks PRV: reduce screen brightness (45%) to keep power drain within typical USB power supply (so tablet won’t lose charge over time on provision screen) Wifi: turn down default logging PRV: wifi connection corrected for case where wifi is incorrectly disconnected
Notes: This version was tested at BWW Encinitas and it provisioned correctly. This update should be installed through AndroidTool/FactoryTool or as OTA with an external SD card. Do not use adb push on 1027 to install 1028. Future firmware updates can be adb push’ed to /sdcard/update.img to act as an OTA update. Update can be triggered in any of the following ways: Reboot tablet Unplug and replug the usb cable Insert any sd card Navigate to Settings -> About Device -> Check for system Updates -> [Check for updates]
Build 1.0.0-1027: Changes: PRV: clean up dialog lifecycle in provisioning adb disabled on provision startup adb enabled/usb enabled on alert dialog [grant] click, to sequence USB fingerprint after alert dlg. adb enabled/usb enabled calls bridge receiver instead of direct calls to system.Global keyboard in apk with no theme no longer uses orange buttons keyboard does not show down arrow, but still shows navbar (working on that still) PRV: add alert dlg to [Copy Files] in provision, to warn technicians that pressing this in the field is a Very Bad Idea. PRV: add System Clock verify step to provision, between Wifi and Handshake. PRV: correct crash in CopyFiles when cancel pressed and no copy has started yet. PRV: CopyFiles doesn’t remove BTUpdates/* in onResume, instead deletes each file before the copy. NativeCrypto.java refactored to allow protocols enabled by configuration at head of file. SSL: INSECURE Ciphers allowed, SSL3, TLS1.0,TLS1.1 & TLS1.2 allowed because: PRD [grade: C ] supports SSL3 & TLS1.0 only, NOT TLS 1.2 DEV [grade: C ] supports TLS1.1 & TLS1.0 only, NOT TLS 1.2 INT [grade: A- ] supports TLS1.2, TLS1.1, TLS1.0 STG [grade: A- ] supports TLS1.2, TLS1.1, TLS1.0 OTA: remote ota updates are set to ota.buzztime.com & ota2.buzztime.com and are currently disabled with the property debug.ota.remote_update=0 OTA: one rkimage file is now published (no separate ota) it can be ‘cable installed’ through AndroidTool and FactoryTool or it can update an existing tablet by copying the rkimage file to an sd card as update.img (not .zip!). The update file cannot be ‘adb push’ed or placed on the /sdcard/ mount.
Notes: Any Tablets that were updated with the old -ota- files should be updated. The firmware update file can be ‘cable installed’ through AndroidTool and FactoryTool or it can update an existing tablet by copying the -rkimage- file to an sd card as update.img (not .zip!). The update file cannot be ‘adb push’ed or placed on the /sdcard/ mount.
Build 1.0.0-1026
Changes:
-
Boot animation does not repeat while charging. Once in the case the animation could run down a charged tablet, so this prevents that scenario.
-
Keyboard defaults to Material Dark, emojii key enabled only for inputType=“im” , otherwise it is ".com” open_file_pathfor {email,url} and ‘@‘ key otherwise
-
Provisioning : connecting doesn’t occasionally show spurious error with Buzztime[0-9]+ as SSID at start of Wifi connection.
-
Provisioning: Buzztime[0-9]+ will not show.. Generic “Wifi network” will be used in it’s place.
-
System: Explorer app - Remove copy protection permission from DefaultContainerService as workaround for Explorer prebuilt crash.
-
OTA updates from internal and external sdcards, improved control and feedback on ota package deletions:
-
DeleteNotification presented now after update.
-
OTA package deletions:
-
How it’s handled on a successful update :
-
update.zip was put on ExternalSDCard:
-
(Dialog is modal to prevent update checks from taking over)
-
can delete the file from external card
-
chose [Delete it]
-
can leave the file alone, but once dialog finishes the OS will prompt to update again
-
choose [Leave it]
-
can eject the sdcard
-
auto dismisses the dialog
-
update.zip was put on Internal SDCard:
-
(Dialog is modal to prevent update checks from taking over, but it will timeout and click [yes] )
-
delete the file (/sdcard/update.zip) automatically.
-
again locking the workhandler will be key for this, so we can wait peacefully for the timeout to occur
Build Version: 1.0.0-1022
Changes:
- SELinux is now set to enforcing mode instead of permissive mode at kernel boot time.
- Change to Provisioning to fix error where using a specific Buzztime SSID with a salted password failed to calculate the salted password.
- Firmware update dialogs will now prompt and then continue after a pause, which enables unattended fw update scenarios.
- Built with linux tools in place of windows tools to prep for streamlining the make process.
- Wifi reports the Wifi SSID it is connecting to to help resolve router firmware issues.
- Rkimage and full ota are now built in the same steps.
Build 1.0.0-1021:
Changes:
The naming is different than before and there are now two files. Either file contains the full firmware but they enable different update paths. The ota file is used to update our firmware to a new revision. The rkimage file is used with the rock chip tools to flash our firmware initially. bzt16wifi02-ota-1.0.0-1021.zip
bzt16wifi02-rkimage-1.0.0-1021.zip
Key: {PRODUCT_MODEL}-{usage}-{version}-{build#}.{ext}
Product Model is bzt16wifi02 for Halo.
For usage:
-ota- full upgrade that can be applied to a prior firmware with a matching signature.
This can be applied by copying the file to the internal or external sdcard and renaming it to update.zip.
Eg : adb push bzt16wifi02-ota-1.0.0-1021.zip /sdcard/update.zip
Then reboot tablet.
Once updated, remove the update.zip (adb shell rm /sdcard/update.zip)
-rkimage- Full factory update image that can be flashed using AndroidTool.exe or FactoryTool.exe
-target_files- full contents of the target build, which can be used to make differential ota updates. This isn’t useful Outside of dev/build containers.
Build 1.0.0-1019
Changes:
- SELinux is now set to enforcing mode instead of permissive mode at kernel boot time.
- Change to Provisioning to fix error where using a specific Buzztime SSID with a salted password failed to calculate the salted password.
- Firmware update dialogs will now prompt and then continue after a pause, which enables unattended fw update scenarios.
- BTUpdates should be copied in full to the sdcard (keeping the BTUpdates folder name off the root as before)
Files in the BTUpdates folder are encrypted from DistRoot 1.37 folder as of today. Differences in apks between environments will be handled by btcore in it’s usual manner.
Build Version : 1.0.0-1016
Changes:
- Copy files was getting triggered twice, resulting in longer than expected copy times.
- Adb is now disabled by default
- Adb runs in secure mode now.
Build 20160722-1510:
Changes:
- Signing keys are all updated to support ota updates.
- Over-the-air testing is not completed, but updates can be delivered by sdcard without a factory refresh.
- Screen capture enabled for test tablets
- RKUpdateService is compiled from source now
- Device reports a meaningful build number.
- Check for System Updates is on the About Device settings screen.
rk312x-rkimage-1.0.0-0000-user.img
)
Build 1.0.0-0000: ( First user build of source as delivered from Duco