Lenovo Thinksmart View
The Lenovo Thinksmart device is a nice Android tablet with a nice sounding speaker at an unbelievably low price (~$40 USD). https://amzn.to/4bRBnhk
This set up is not for the faint at heart. You have been warned.
Special thanks to @mattmon and @endlessvoid on their work on this project and their help and listening ear while I got through this.
UPDATE A new ROM was release recently and it has become the preferred ROM. You may want to consider using it instead of this ROM as the new one has far fewer problems. See this guide for installing: https://github.com/pgale/lineage_15.1_Installation_TSV
Find the original thread here with tons of useful information:
https://community.home-assistant.io/t/is-this-the-perfect-standalone-tablet-for-ha/658422
Start by watching this video. I'm setting the link at the install procedure:
https://www.youtube.com/watch?v=V7CMizEOT-0&t=533s
This video shows the actual flashing process:
Detailed install video: https://youtu.be/MMvEpfNmyUk
Here's a video I created showing how to set up the software needed to use with View Assist.
Step by Step (by @mngarchow) to Flash firmware and setup for Windows
Download Files
- Download the prerequisite programs to do the flashing: https://bit.ly/3HOIr1g or https://mega.nz/file/EBQ3VSxK#X4DJmfPoFFEAxe8DxIqAIKQershp0Z_dVq-ZXFQ3Vyg
- Use this ROM instead of the one mentioned in the first video: https://s3.us-east-1.wasabisys.com/filestash-buk/lenovo-thinksmart-view/combined_kingston_a11_gogapps.7z
- (optional) Install 7Zip as needed so you can open the other downloaded files. (https://www.7-zip.org/download.html)
Extract files and install Prerequisites
- (optional) Create a directory on your desktop called ThinkSmartView
- Extract the downloaded ThinkSmartView.zip to the ThinkSmartView folder
- Extract the contents of the file combined_kingston_a11_gogapps.7z to a new folder in the ThinkSmartView folder called combined_kingston_a11_gogapps
- Install the Qualcomm Drivers
- Double click the file QDLoader HS-USB Driver_64bit_Setup.exe
- Yes to the User Account Control prompt
- Leave everything as default, click Next a few times
- Choose WWAN-DHCP is not used to get IPAddress
- Next
- Accept license, Next
- Install
- Finish
- Restart PC when prompted at the end.
- Install QPST
- Open the QPST 2.7.496 folder
- Double click the file QPST.2.7.496.1.exe
- Yes to the User Account Control prompt
- If prompted, install the VC++ 2013 Redistributable by clicking Install
- When prompted, click Next
- Click I accept, then Next
- Click Next two more times. Then click Install
- Click Finish when done.
- Install ABD & Fastboot ++
- Double click the file ADB-and-Fastboot++_v1.0.8.exe
- Yes to the User Account Control prompt
- Click I accept, then Next
- Click Next again.
- Leave the checkboxes for desktop shortcuts and Add to System Path options, then click Next.
- Click Install.
- Uncheck Open the Toolkit and Launch ADB & Fastboot++ options, click Finish.
Flash ROM to device (make sure to use a usb 2.0 port, black not blue, and must use a usb 2.0 hub/bus in windows device manager too)
- Open the QFIL tool (click Start then search for QFIL)
- Under Select Build Type, pick Flat Build
- Under Select Programmer, browse to the ThinkSmartView\combined_kingston_a11_gogapps folder and select: prog_emmc_firehose_8953_ddr.mbn
- Under Select Flat Build, click the Load XML button.
- Navigate to the file rawprogram0.xml and click Open
- Another file prompt window will open, select patch0.xml and click Open
- Unplug the device power cable, plug the usb-c into the computer and the device. (This can be difficult to do for one person, get help as needed)
- Hold down both volume buttons while simultaneously plugging in the power. You will hear windows make a sound to indicate it is connected. Let go of volume buttons when you hear the sound.
- In QFIL, click on Select Port.
- Select the Qualcomm device and click OK. (COM port number will be different for everyone)
- Click the Download button and wait while the flasher downloads to the device. It will indicate successful when completed.
- Unplug the ThinkSmartView, wait a moment, then plug it back in while holding only the volume up button.
- In the android recovery menu, press the volume up button until you get to Wipe Data/Factory Reset.
- Press the volume down button to select Wipe Data/Factory Reset. When prompted "Are you sure?" press volume up to highlight Yes then volume down to select Yes. This will format the data and cache partitions.
- When done, it will automatically highlight "Reboot System Now". Press volume down to select and reboot the device.
- The device will boot up with the new ROM installed. A Disney ducks image will display while the device boots.
- The device setup screen will display once boot is completed. Unplug the usb cord.
Configure
- Starting on the device setup screen, tap START.
- Skip
- Set up wifi
- Copy Apps and Data, choose Don't Copy.
- Sign in with your google account and password.
- On the protect your phone screen, choose Not Now and confirm by choosing Skip Anyway.
- Choose No Thanks to Google Assistant
- Choose No Thanks
- Now on the device home screen.
- Go to Settings (swipe up) > About Phone > tap on build number at least 7 times to open Developer Mode.
- Tap Back > System > Advanced > Developer Options > Smallest Width
- Set Smallest Width to 600
- Back to settings
- Settings > Security > Screen Lock > None
- Settings > Display > Screen timeout > 30 minutes
- Done with this section, go back to the home screen.
Install Apps
- Open the Play Store
- Search for WebView System Android
- Pick Android System WebView beta and Install
- Open the App, Change Provider, choose the 2nd option to allow it to use the new Webview installed instead of the stock application.
- Press the home button to go back to home.
From this point you should be booted into the tablet.
- Do not set any apps to autostart. I had issues where the device would fail to boot after making that change causing a bunch of extra work to get back to where I was before. Use Android app AutoStart Manager and use it to auto launch the applications you will be running. UPDATE: This advice may not be applicable. I am still trying to sort why the device fails to boot and I think it is tied to wifi.
UPDATE User @flab offers a suggestion:
Turning off auto connect in WiFi settings seems to solve the reboot to Lenovo logo issue. If you or anyone else does find themselves stuck on the Lenovo logo boot screen, you can get around having to do a factory reset by just leaving the device unplugged for a few minutes and then trying again. Leaving it unplugged seems to give more time in the lock screen dance described at then end of your linked wiki.
This page may be helpful in finding the right place to turn off auto connect: https://github.com/dinki/View-Assist/wiki/Find-IP-of-Android-device#note-you-may-want-to-turn-off-auto-connect-to-perhaps-lessen-wifi-boot-issues-if-using-the-lenovo-thinksmart-device
Additionally, I've found that after leaving the device unplugged you can quickly turn off the wifi and it will not crash to Lenovo. That may not be necessary either. Perhaps just unplugging for a few minutes is enough.
Multiple devices? You may need to change the MAC address on additional to avoid wifi issues
Change MAC address of WiFi interface on the Lenovo ThinkSmart device (credit @mllockwood)
(These instructions assume you already have the Windows applications installed and setup for ADB commands)
- Make sure the USB cable is connected between the Lenovo device and your PC.
- Open the ADB and Fastboot ++ program in Windows (already open from above steps)
- Create a folder in Windows. I created it in C:\LenovoThinkSmart as shown below in the path.
- Copy and paste each of these commands in to the command line:
adb root
adb pull /vendor/firmware/wlan/qca_cld/WCNSS_qcom_cfg.ini C:\LenovoThinkSmart
- A file named WCNSS_qcom_cfg.ini will be copied from the Lenovo device to C:\LenovoThinkSmart
- Open the file in Windows Notepad
- Locate the line that is:
# Each byte of MAC address is represented in Hex format as XX
Intf0MacAddress=000AF58989FF
- Change the "FF" at the end of the MAC address to another unique number.
- For example, I use "01" for my first Lenovo device, and "02" for the second, "03 for third, and so on...
- Save the WCNSS_qcom_cfg.ini
- Go back to the ADB and Fastboot ++ program.
- Type "exit" to get back out to the Windows command line and out of ADB shell.
- Copy and paste each of these commands in to the command line:
adb root
adb remount
adb push C:\LenovoThinkSmart\WCNSS_qcom_cfg.ini /vendor/firmware/wlan/qca_cld/
- You should see an indication that 1 file was successfully uploaded to the Lenovo device......
"C:\LenovoThinkSmart\WCNSS_qcom_cfg.ini: 1 file pushed, 0 skipped. 21.2 MB/s (14421 bytes in 0.001s)"
- Unplug the device.
- Push and hold the VOL + button
- Plug in power adapter to Lenovo device (no Windows sound heard this time)
- Recovery screen should be visible.
- Use VOL + to select "Wipe cache partition"
- Use VOL - to confirm
- Use VOL + to select "Yes"
- Use VOL - to confirm
- Use VOL - to confirm "Reboot system now"
- The Lenovo device will reboot.
- As the device is rebooting, you will see the Donald Duck in the car image.
Additional information here: https://community.home-assistant.io/t/is-this-the-perfect-standalone-tablet-for-ha/658422/581
Watch this page for updates. The device has been really stable short of these boot oddities