前言

几年前购买的这款平板电脑,平常看个网页还可以,但问题是存储空间严重不够用。一共是64G的eMMC,随着这几年win10不停的更新,到最后win10盘剩余空间只有几个G,加上如同鸡肋的安卓系统占用10G左右的空间,导致严重影响正常使用。工作主要用来远程改个代码,干脆改成Linux系统,速度快占用空间小。

重新安装系统

首先准备一张Ubuntu系统的安装U盘(最好制作一张Ubuntu/Win10/WinPE三启动U盘,接下来需要PE系统修复Win10启动),通过U盘启动系统(BIOS启动过程中按F7键),注意必须在开机白底选择系统界面,选择Win的状态下进行重启安装,如果开机选择安卓下重启安装,有些硬件不能被识别。

U盘启动进入Ubuntu安装画面后,画面是倒的,因为识别了重力传感器,但没设参数。通过选择左上角Gnome系统菜单旋转锁定后临时解决,后续会对重力传感器参数进行配置。

在Ubuntu分区选择界面删除所有分区。然后按顺序新建三个分区:

  1. EFI分区,60M,分大了没什么用。仅用作UEFI启动。
  2. 主分区,挂载点选‘/’,大小大约59个G。磁盘太小没必要分太多区。
  3. Swap,推荐分4个G。根据个人使用软件大小适当调整swap空间大小。

然后选择下一步安装,可以选择最小安装节约磁盘空间。因为你需要的软件都是可以通过apt在线按需安装,非常方便。

装好以后发现没法启动系统,不要慌,也不要选择安卓那个图标启动,要不BIOS配置变了,需要关机重启。按F7进入启动介质选择,里面多了一个“ubuntu”,选择这个进入系统。

重力传感器配置

新建文件/etc/udev/hwdb.d/61-sensor-local.hwdb,内容如下:

sensor:modalias:acpi:BOSC0200*:dmi:*:*ACCEL_MOUNT_MATRIX=1, 0, 0; 0, -1, 0; 0, 0, 1

注意第二行开头有个空格。重启验证一下效果。

无法自动引导问题

制作一张Win10 PE启动U盘,然后找其他电脑复制一份Win10的完整的winows目录进去(主要是满足bcdboot工具修复启动,理论上只需要几个特定文件就可以,但没找到资料需要的最小文件,我是通过官网下载酷比魔方的固件,然后通过解压缩软件WIN10/Images/install.wim里的windows目录,这个比较小)

通过F7键启动PE系统,然后打开磁盘管理,找到刚才分的EFI(或者叫ESP)分区,点右键分配一个盘符,比如“S:”。或者有DiskGenius等软件分配盘符更方便。

打开一个CMD,在命令行里输入:

BCDBOOT c:\WINDOWS /s s: /f UEFI

其中C:\Windows是刚刚复制过来的windows目录路径,S:是刚刚分配的EFI分区盘符。如果过程没问题,会提示成功。别着急重启。然后在文件管理器进入S盘,打开/EFI/Microsoft/Boot/,删除下面的所有文件和文件夹,再把/EFI/ubuntu下的所有文件复制到/EFI/Microsoft/Boot/,然后改名,grubx64.efi 为 bootmgfw.efi,完成偷梁换柱,启动win10变成启动ubuntu。重启。
应该能在开机统选择界面选择win系统来启动ubuntu的系统。

触摸屏驱动移植

复制一份我制作好的触摸屏固件到/lib/firmware/,再clone一份触摸屏驱动(或直接下载zip包):

git clone https://github.com/onitake/gslx680-acpi.git

复制gslx680-acpi到/usr/src/下,并改名为gslx680-acpi-0.2.1
如果dkms status报错,安装一下DKMS

sudo apt install dkms  //可选
//以下配置了DKMS
sudo dkms add gslx680-acpi/0.2.1
sudo dkms build gslx680-acpi/0.2.1
sudo dkms install gslx680-acpi/0.2.1

编辑sudo vim /etc/modprobe.d/blacklist.conf 在最下面加上一行

blacklist silead

禁用系统默认的触摸屏驱动。重启验证一下效果。

更新内核后声卡没有声音

卸载5.13或其他版本内核,更换为5.4版本内核,目前发现5.4版本是没问题的。

apt-cache search linux-image | grep 5.4|grep generic
//根据最新版本替换5.4.0-104
sudo apt install linux-image-5.4.0-104-generic linux-headers-5.4.0-104-generic linux-modules-extra-5.4.0-104-generic

卸载其他版本内核,释放eMMC空间。

充电速度太慢

经过观察PMIC AXP288的寄存器(Linux系统的好处是开源,找问题非常方便),酷比魔方iwork1x充电速度慢是因为官方设置的参数有些保守,导致很难进入快充状态,会发现消耗大于充电速度。实际是可以快充的,必须满足以下条件:

  1. 充电头支持BC1.2协议,满足sdp(500mA)、dcp(1500mA)、cdp(2000mA左右)
  2. 充电线必须足够粗,否则线路压降过大,低于4.6V也不能进入快充。

因为系统本身消耗的电流根据屏幕亮度是1000-1700mA,留给充电器的电流不多。不过可以通过一些手段绕过限制。

以下操作可能会造成充电头过热、损坏,或引发电脑损坏,最坏情况引发火灾。请确认充电头是正规厂家生产,且标注规格能提供足够(5V 2.5A或以上)的电流,另外充电线必须足够粗避免过热引起危险。如引起任何问题,本人不会承担责任。

以下方法也适合其他Intel Bay trail (BYT-CR) 和 Cherry trail (CHT-CR)平台,使用全志AXP288 PMIC的Atom平板,不过不同的硬件设计可能有限制,安全性请自行评估。目前发现在高CPU负载下充电会过热保护,建议关机充满电再使用。

新建两个脚本文件,一个用于查询正在充电的电流大小,另一个用于绕过检测机制进入快冲(在插入充电器的状态下运行,需要root权限加sudo,另外需要安装i2c工具“sudo apt install i2c-tools”)。所有状态在重启后会恢复默认值,不会保持,但关机会保持快充状态,插拔充电线也会导致部分设置失效。充电电压改为4.2V,电量只能到75%,长期保持充满4.35V可能有电池鼓包风险(三星note7就是4.4V高压电池,不过可能性不大,大可放心使用),适合长期插交流电使用电脑的场合。

batt_info.sh

#!/bin/bash# 充电电流是正数说明正在充电,是负数说明正在放电
curr=$(cat /sys/bus/platform/drivers/axp288_fuel_gauge/axp288_fuel_gauge/power_supply/axp288_fuel_gauge/current_now)
let curr=curr/1000
echo "Batt Current: $curr mA"volt=$(cat /sys/bus/platform/drivers/axp288_fuel_gauge/axp288_fuel_gauge/power_supply/axp288_fuel_gauge/voltage_now)
let volt=volt/1000
echo "Batt Voltage: $volt mV"# 以下数值是根据充电头协议自动识别的结果
vbus_limit=$(cat /sys/bus/platform/drivers/axp288_charger/axp288_charger/power_supply/axp288_charger/input_current_limit)
let vbus_limit=vbus_limit/1000
echo "VBus Limit: $vbus_limit mA"

setbatt.sh

#!/bin/bashcheckbit(){[ $(( $1 & $(( 1 << $2 )) )) != 0 ]
}ADDR="NONE"
for i in {0..15}
doif find /sys/devices/pci0000:00 | grep axp288_charger | grep -q i2c-$i/thenexport ADDR=$ifi
done
if [ "$ADDR" == "NONE" ];thenecho "No AXP288 found.exit..."exit 1
fi
echo "Find AXP288 in i2c-$ADDR"reg33=$(i2cget -f -y $ADDR 0x34 0x33)
if checkbit $reg33 7;thenecho "Charging..."
elseecho "Not in charge...exit"exit 2
fi# 警告:确认充电头输出电流大于设定值,否则有损坏充电头的风险(查看充电头上的标识5V电压下的最大电流)
# Warning: confirm that the maximum output current of the AC adapter is greater than the set value,
# otherwise there is a risk of damaging the adapter.
# 芯片能自动识别充电器最大电流,不过识别不一定准确,手动调整数值满足快速充电要求,充电线也要粗
vbus_limit=$(cat /sys/bus/platform/drivers/axp288_charger/axp288_charger/power_supply/axp288_charger/input_current_limit)
let vbus_limit=vbus_limit/1000
echo "Force setting VBus current limit $vbus_limit mA to 2500mA"
echo 2500000 > /sys/bus/platform/drivers/axp288_charger/axp288_charger/power_supply/axp288_charger/input_current_limit# 设置vbus输入参数,输入最低限制电压和最高电流,之前由于电压限制过高导致充电速度慢,放宽到4.2V,限流值提高
# 默认0x32 4.6V 2A
# bit[5:3]:V_HOLD setting
# 000: 4.0V; 001: 4.1V; 010: 4.2V
# 011: 4.3V; 100: 4.4V; 101: 4.5V RW 0
# 110: 4.6V; 111: 4.7V
# bit[1:0]Current limit default when BC1.2 detection result is non SDP
# 00: 900mA
# 01: 1500mA
# 10: 2000mA
# 11: 2500mA
echo "Setting adapter voltage hold 4.2V, current limit 2.5A"
i2cset -f -y $ADDR 0x34 0x30 0x13# LED指示灯设置,避免闪烁分散注意力^_^,长亮0x73 长灭0x43  默认0x6b
echo "Setting battery status LED"
i2cset -f -y $ADDR 0x34 0x32 0x43# 设置充电器参数,电池电压改为4.2V(4.35V电池充满可能不安全,充到75%,适合长期插充电头的场合),充电电流加大
# 默认值0x67 4.35V 1.4A
# bit[6:5]Charger target voltage setting
# 00: 4.10V; 01: 4.15V; 10: 4.2V; 11: 4.35V
# bit[3:0]Charge Current setting
# 200mA-2.8A, 200mA/step, default is 1200mA, 14steps, 1110-1111 reserved.
echo "Setting charger target voltage 4.2V, charger current limit 2.6A"
i2cset -f -y $ADDR 0x34 0x33 0xcd

把setbatt.sh复制到一个目录里,比如/usr/local/bin下面,然后在/etc/udev/rules.d下新建一个文件,比如:98-power.rules

ACTION=="change", SUBSYSTEM=="power_supply", RUN+="/usr/local/bin/setbatt.sh"

注意最后要空一行。保存,然后执行sudo udevadm control --reload-rules。

酷比魔方iwork1x i30双系统版,重装单Ubuntu 20.04系统记录(重力传感器、触摸屏、启动菜单、声卡问题、优化充电慢)相关推荐

  1. 在Win10 PC上安装Ubuntu 20.04 系统

    在Win10 PC上安装Ubuntu 20.04 系统 本文仅适用于UEFI+GPT类型的PC,有关这方面的知识请自行了解. 引言 为什么需要使用 Linux 系统? 既已看到此文,我相信你一定有需求 ...

  2. win10 安装linux 需要多大空间,在Win10 PC上安装Ubuntu 20.04 系统

    在Win10 PC上安装Ubuntu 20.04 系统 本文仅适用于UEFI+GPT类型的PC,有关这方面的知识请自行了解. 引言 为什么需要使用 Linux 系统? 既已看到此文,我相信你一定有需求 ...

  3. Ubuntu 20.04 系统迁移

    一.前言 现实工作中需要在Intel NUC上装一个Ubuntu 20.04系统,并运行ROS以及相关的很多功能包,但如果直接安装新新系统,之前的大量环境变量要重新去配置,所以考虑说将原先的Ubunt ...

  4. ubuntu系统20.04服务器是啥,ubuntu 20.04系统要求

    Ubuntu是一个天生的轻量级操作系统,能够在一些相当过时的硬件上运行,Canonical ( Ubuntu的开发者)声称,一般来说,可以运行Windows XP .Vista .windows7或x ...

  5. linux没有浏览器如何卸载,在Ubuntu 20.04系统上安装及卸载Tor浏览器的方法

    本文介绍如何在Ubuntu 20.04系统上安装To浏览器,相同的说明适用于任何其他基于Debian的发行版. 安装Tor浏览器 在Ubuntu 20.04上安装Tor浏览器的最简单方法是使用Tor浏 ...

  6. ubuntu 安装kde桌面_在Ubuntu 20.04系统上安装KDE Plasma Desktop的方法

    本文介绍在Ubuntu 20.04系统上安装KDE Plasma Desktop的方法.Plasma Desktop是KDE创建的一种流行且功能强大的桌面环境,主要用于Linux系统.KDE Plas ...

  7. Ubuntu 20.04 系统5分钟后老是自动锁屏怎么取消?

    新装的Ubuntu 20.04系统 跟以往的版本一样,当你不做任何操作的时候,过了5分钟就会自动锁屏,又得重新输入一次账号密码,有办法将时间延长或者取消吗? 当然可以了,下面跟着我一起设置,解决这个烦 ...

  8. Ubuntu 20.04系统中VSCode+CMake+GTest实现C++程序自动化单元测试的详细方法

    严正声明:本文系作者davidhopper原创,未经许可,不得转载. 一般地讲,软件测试分为四个阶段:单元测试.集成测试.系统测试.验收测试.单元测试一般指对软件中的最小可测试单元进行检查和验证.最小 ...

  9. 第一章 Dell 游匣 G15 5511 安装Ubuntu 20.04 系统

    由于工作环境需要,要将电脑的win 11系统刷成 Ubuntu 20.04 第一章 Dell 游匣 G15 5511 安装Ubuntu 20.04 系统 文章目录 一.下载Ubuntu 20.04 镜 ...

  10. linux笔记本装载 戴尔,第七代戴尔XPS 13开发版笔记本电脑装载Ubuntu 18.04系统

    据可靠消息称开发Ubuntu桌面工程总监Will Cooke表示旗下Ubuntu 18.04 LTS系统将被装载在第七代戴尔XPS 13开发版笔记本电脑中,该款笔记本电脑起步价为1049.99美元.同 ...

最新文章

  1. 第一课.python入门与环境介绍
  2. [asp.net core]project.json(1)
  3. 使用node.js检查js语法错误
  4. TOTP 介绍及基于 C# 的简单实现
  5. 复选框操作checked选中为true,反之为False,也可以赋值为true,false
  6. MySQL连不上:ERROR 1698 (28000): Access denied for user 'root'@'localhost'
  7. matlab2018a制图,MatLab 2018a 官方教程
  8. 兰亭字体linux版本,两种方法,让最新版 Windows 10 的字体更「养眼」
  9. 使用wininet的InternetReadFile下载文件
  10. Win11应用商店打不开怎么办?
  11. 编程常用小技巧(持续更新~)
  12. linux 使用tar命令压缩文件夹
  13. 迪杰斯特拉算法简单实现
  14. 刷题总结——宠物收养所(bzoj1208)
  15. java后端工程师主流技术
  16. 3.Ubuntu 安装Pinta图片处理工具
  17. bzoj1778 驱逐猪猡 [高斯消元+概率DP]
  18. 【locust】使用locust + boomer实现对接口的压测
  19. 零基础学3D建模难不难?
  20. Maven的作用到底是什么?

热门文章

  1. MySQL锁与事务知识结构脑图
  2. Nginx 负载均衡和动静分离
  3. 天勤系列的考研复习资料
  4. 虚拟机安装专用游戏多开win7系统教程简单易懂
  5. BLOBS表空间数据查询
  6. 蛇形填数【附重点步骤详细注释】
  7. 个人记账本,教你使用图表格查看项目
  8. SQLserver安装程序无法打开注册表项 解决办法
  9. 关于错误“未能加载文件或程序集”的错误的若干处理办法——对GAC的简单应用
  10. win10系统的深度清理方法