Мой дневник

Linux for Chuwi Hi10

Продолжаю воевать в кривым железом Chuwi Hi10.

Цель – получить приличную рабочую лошадку.

Вначале было… UEFI. Первое, что было сделано, это ужимание штатного раздела windows, создание раздела для linux, установка туда Debian Jessie (впрочем, можно и другие варианты), настройка EFI и GRUB. Если будет много каментов – создам отдельную страничку.

До выхода ядра 4.8 драйвер i915 выдавал массу ошибок. Но теперь ситуация изменилась. Однако, оставалась большая проблема с HDMI – в линуксе он вроде бы совсем не работал, под штатным windows – срабатывал только если снести драйвер и дать его снова поставить (!)

Итак, для начала, была решена проблема с wifi: в ядро добавлен модуль https://github.com/hadess/rtl8723bs  Тонкости:

После этого wifi работает отлично, лагов нет. К сведению, существует другой драйвер wifi, но на новых ядрах он не собирается (https://github.com/anthonywong/rtl8723bs)

Важно: я запустил свое ядро на github!  https://github.com/sae/linux/tree/hi10

На данный момент работает:

  • wifi
  • hdmi audio
  • battery status (через скрипт axpd)
  • тачскрин – не полностью, драйвер есть но отображение “зеркальное”

А вообще обновления теперь будут в файле README.sae

 


Большая проблема – с шиной i2c. Без семафора шина не работает, семафор стандартный тоже. Проблема случайно решилась в одной ветке дискуссий: — a/drivers/i2c/busses/i2c-designware-baytrail.c
+++ b/drivers/i2c/busses/i2c-designware-baytrail.c
@@ -22,7 +22,7 @@
#include “i2c-designware-core.h”

#define SEMAPHORE_TIMEOUT 100
-#define PUNIT_SEMAPHORE 0x7
+#define PUNIT_SEMAPHORE 0x10E //0x7
#define PUNIT_SEMAPHORE_BIT BIT(0)
#define PUNIT_SEMAPHORE_ACQUIRE BIT(1)
После этого патча устройства стали доступны!


Дальше я занялся HDMI. Глюки пока не полностью выловлены, но прогресс есть. Оказалось, выход hdmi заведен на порт HDMI-2, хотя при выключенном телевизоре edid можно получить с порта gmbus panel. Самое веселое что при включении телевизора edid пропадает. Поэтому:

xrandr –newmode “1920x1080_60.00” 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
xrandr –output HDMI-2 –addmode HDMI-2 1920x1080_60.00
xrandr –output HDMI-2 –mode 1920x1080_60.00


Тачскрин: у меня в ACPI устройство видно как CHPN0001, частично походит драйвер chipone_ts (https://github.com/Dax89/chuwi-dev), но выдает координаты перевернутые относительно центра экрана. Поскольку код открытый, буду адаптировать в ближайшее время.


На очереди:

*Звук, в сети много патчей, нужно пробовать, в том числе вывод на hdmi

+Питание и батарея – используем AXP288 и его множество функций

Подсветка экрана

Гибернация

%d bloggers like this: