Remove All Ads from XDA

Chuwi Hi10 Air Linux Installation Guide

3,276 posts
Thanks Meter: 9,269
Post Reply Email Thread
29th December 2019, 04:15 PM |#111  
Junior Member
Thanks Meter: 0
Originally Posted by wwortel

Looking into the source code of both drivers I noticed the bma180 driver is only fit for I2C via the SMBus. So it cannot see and read registers from our device.
So the only option remaining is to add the BMA250 to the bmc150_accel_i2c driver. That one checks for I2C bus compatibility and can read the device as it throws the chip_id error correctly.

Victory! The automatic rotation is working now. There are some warnings when the recompiled bmc_150_accel_xxx modules load but it now works and interacts properly with the 2in1screen routine.

I confirm. It works for me as well
5th January 2020, 03:44 PM |#112  
Thanks Meter: 3
no audio with recent v5 kernel and alsa-lib package
just to save you time when there is no audio (anymore).
Problem: neither from headphone nor speaker any sound.
System: Chuwi Hi10 Air ( CWI529 ).
From 'dmidecode' :
bios C109D_X_T.301, Product Name: Hi10 pro tablet (!), board manufacturer: Morshow, Board name: Cherry Trail CR, version V100.
OS: Linux 5.4.6-2-MANJARO
dmesg and aplay -l/-L show installed audio system but dmesg shows many repetitions of this error message:
'Audio Port: ASoC: no backend DAIs enabled for Audio Port'

Cause: some bug in recent version of the alsa-lib package. After much experimentation without any result I found a temporary fix here:
The problem appears to come from alsa-lib and reversing to an earlier version makes the sound come alive.
sudo pacman -U alsa-lib-1.1.9-2-x86_64.pkg.tar.xz --overwrite "*"
It switches fine and automatically between headphone, when plugged in, and speakers.
7th January 2020, 03:05 AM |#113  
Junior Member
Thanks Meter: 0
To get your touchscreen orientation fixed.

xinput set-prop "silead_ts" "Evdev Axes Swap" 1
xinput set-prop "siilead_ts" "Evdev Axis Inversion" 0 1

---------- Post added at 03:05 AM ---------- Previous post was at 03:02 AM ----------

Originally Posted by StarClosure

Hi Arxym. I'm new to troubleshooting hardware on Linux, but I've made some progress. I think I had the same issue as you with the touchscreen. I took a look at the output of dmesg and found that the silead module was expecting a different firmware file name. I went to the /lib/firmware/silead folder and copied the firmware to the expected name:

sudo cp gsl1680-chuwi-hi10-air.fw mssl1680.fw
This got the touchscreen "working", upon reboot. Of course now the mapping is wrong. It maps upside-down and to the top-left corner of the screen . I'll keep you posted if I figure out how to fix this.

7th January 2020, 03:49 PM |#114  
DarkThanos's Avatar
Senior Member
Flag Athens
Thanks Meter: 54
Some info about multi booting Linux from the SD:

Let's assuming that you already have a Linux running and you want to add/test more Linux installations without removing the currently installed.
On boot (while on grub) the SD card is not accessible. To boot an other Linux from the SD card your grub must be able to access their boot files (/boot/initrd.img* and /boot/vmlinux*), thus you can either manually move them somewhere on the internal storage and then add a custom grub entry, or while on the installation, you can place only the BOOT partition on the internal storage (just 512MB of space is more than enough).

I got an 128GB SD card and I tested both methods. I was running Manjaro, I shrank the root partition of Manjaro (about 8GB as I was going to add a swap partition as well) using an Ubuntu live USB, and I installed Ubuntu on the SD card (I gave to it 64GB) but with the Boot partition on the internal storage. So, right now I have about 1GB space on the internal storage to add more boot partitions if I like, and another 64GB space left on the SD card.
The Following User Says Thank You to DarkThanos For This Useful Post: [ View ] Gift DarkThanos Ad-Free
10th January 2020, 09:51 AM |#115  
Thanks Meter: 3
Improving CPU cooling revisited
Inspired by the post of aveemashfaq, post #47, I decided to open my fairly new Hi10 Air (prod. Aug 2019) to study and possibly improve the CPU/SoC' cooling.
Alert, Alert: opening the tablet has a significant risk of cracking the touch screen. A replacement touch screen would cost around 20 EUR but while this would work in older Hi10 versions, the newer ones have the touch screen directly laminated onto the LCD screen so as to reduce reflections and improve contrast. Indeed the optical quality of the screen is superb.
But separating the two screens without damaging the LCD is a completely different story. So, only do this _improved cooling_ exercise with extreme care not to crack the screen and when you deem the cooling insufficient!
How I did the opening: Start with removing the 4 little screws (torx 5). In landscape orientation separate carefully the top, starting from the corners, and then the sides of the black plastic frame from the aluminium cover. I used some old credit cards as tool. Keep the separation minimal as to bend the screen as little as possible. The back cover and screen seen from the side now form a V shape with very small opening at the top. Then release the bottom side by pulling the screen upwards, that is almost in the plane of the back cover. The USB keyboard connector in the bottom center prevents pulling the screen perpendicular from the back cover. That is why you need to pull upwards after separating the other 3 sides. When closing the system hold it upside down so the power and volume button insert stays in its position. Shift what is the bottom side upwards into its position and then compress all sides. Before handling the CPU cover, pull the battery connector and do not forget to connect it again before closing the tablet.

This is what I did to improve CPU cooling:
I.s.o. applying an heat spreader glued onto the CPU, I decided to use the original thin sheet metal cover of the CPU/Memory area to fixate a heat spreader but to also maintain electrical shielding and not to create an additional current path from the SoC substrate to ground. That area carries many radio frequency signals and the sheet metal basically keeps the CPU inside a Faraday Cage. The inside of the cover has from factory a thin insulating foil layer. Measuring the thickness of the little slab of heat conducting material that Chuwi puts there I concluded that a piece of 20 x 18 x 1 mm3 of copper or brass would replace it fine. The larger slab of heat conducting material on the outside of the sheet metal cover according to my measurements does not, or barely, touch the aluminium back cover. So I have put another piece of 20 x 18 x 1 mm3 copper on the outside of the sheet metal cover to secure thermal contact to the back cover. And on top of that the larger original slab of whitish heat conducting material. Between the inside copper and the CPU I applied a bit of silver based heat conduction paste as used in any PC. With the chosen dimensions the rest of the sheet metal cover just slightly presses the inside copper spreader onto the CPU, acting a minimal bit as a leaf spring and of course fixating it laterally. The two copper heat spreaders I glued onto opposite sides of the sheet metal cover using a bit of 2 component glue and a clamp to press them against the sheet metal while the glue hardened. Of course they are centered on the position of the CPU. See the photos.

The result is a sandwich of layers with most of the distance in copper:
SOC silicon substrate
heat conductive paste (very thin)
copper spreader (1 mm)
2 component glue (very thin)
original insulating film (very thin)
original sheet metal cover (thin)
2 component glue (very thin)
copper spreader (1 mm)
original heat conductive slab
aluminium back cover

Use the lm-sensors package and 'sensors' command to see CPU core temperatures. Here I cannot get the four z8350 cores above 65 C under full load using a stress test programme while the tablet is still open but with the copper spreaders. After closing the tablet, ambient temp ~22 C, and the command:
stress --cpu 8 --vm 8 --vm-bytes 1GB --io 8 --hdd 8 --hdd-bytes 1GB --timeout 60
'sensors' gives
Core 0: +48.0°C (high = +90.0°C, crit = +90.0°C)
Core 1: +49.0°C (high = +90.0°C, crit = +90.0°C)
Core 2: +49.0°C (high = +90.0°C, crit = +90.0°C)
Core 3: +47.0°C (high = +90.0°C, crit = +90.0°C)

This intervention obviously violates the guarantee conditions and is totally at your own risk. As said, there is a fair risk of cracking the screen.
Post Reply Subscribe to Thread

chuwi hi10 air, linux support

Guest Quick Reply (no urls or BBcode)
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes