本文を読み飛ばす

Tablet3: モバイル(9台目)

  • 2016/8/19 購入、入手は8/31
  • 安かったので、連続してTabletを入手した。
  • 最初は、最近、mingw/cygwinと悪戦苦闘ばっかりしているので、 こっちの安いtabletはLinuxで運用しようと決意 (9/9)
  • 次第に、値段が値段だし、壊してもいいか、と言う感じになり eMMCにLinuxインストール。Windowsももう消しちゃおうかな... (9/18)
  • 次に、USBにBTドングルつけると、 keyboardとPANが使えるので結構いいかも? という感じ (9/26)
  • 容量不足が気になったので、Windowsパーティションも消しちゃった (10/17)
  • 2017/9/20 最後は貝が割れて終了。 sleepとかpowermanagement効いてなかったから充電しながら使ったりしてて 使い方が荒い状態だったんだろう...
CPU Atom Z8300 CherryTrail
Mem 2GB
Storage 32GB eMMC
Keyboard なし、USB-GASIA
Mouse gslx-680 touch panel
Weight ???g
Monitor 7" (1280x800)
Battery ????mAh
I/F 1 TF slot
I/F 2 MicroUSB x1
I/F 3 USB x1

1. Linux install

EFI関係で難しいという話があったが Ubuntu 16.04であれば特に問題なくインストールできた。

怖かったのでeMMCにはインストールせず、 追加で刺したMMCカードにLinux&grubをインストールした。

この状態では

  • x touch panel
  • x buttons
  • x WiFi sdio
  • x Bluetooth sdio
  • x Battery manager

と、ほとんどのデバイスが使えない状態に...

特に sdio とか battery は先が長そうであった...

cherry trailでKernelを試した記録

  • Linuxium 4.9.0-11 を試す ... 追記
  • Linuxium 4.8.0-26 を試す

:mmc: x 動かない (4.8.0: 差し直すと kernel 刺さる) :xrandr: x 動かない :backlight: x 動かない :battery: - i2c-toolsでなんとか動いてる (axp288は認識するけどbattery表示なし :audio: x hdmi audio は出てますが...aplay -lでは反応なし :SDHCI: x 動かない (4.9.0/4.8.0 エラーはでてない) :ACPI: x 動かない (いろいろopenエラーは出てる)

  • Linux 4.9.5 に更新 ... あまり変化ないです
  • Intel-drm-nightly Linux 4.10.0.997 に更新 ... あまり変化ないです
  • Intel-drm-next Linux 4.10.0.994 に更新 ... あまり変化ないです
  • Intel-drm-next Linux 4.9.0 に更新 ... あまり変化ないです

:mmc: x やっぱうごいてない (差し直すと反応はするけど) :xrandr: x 動かない :backlight: x 動かない (backlight=vendorも、 Xorg.conf:Backlight-"intel" もx) :battery: x 動かない :audio: x 動かない :SDHCI: x 動かない ( ??? i2c_acquire で止まってる)

  • T100用 Linux 4.7.2+ に更新

:mmc: o MMC差し直すと動く (最初から刺してると動かない) :xrandr: x 動かない :backlight: x 動かない :battery: x 動かない :audio: x 動かない :SDHCI: x 動いてるけど、エラー (/sysにファイルが作れないみたい)

  • / を ext3 -> ext4 にして、 journal なしに変更
  • こないだアップデートしたら Lubuntu の grub が ちゃんと動くようになったので、 /etc/default/grub を修正

2. Rotate screen

console -> kernel に option 追加::

fbcon=rotate:1

永続化するには、 /etc/default/grub.cfg に追加 ::

GRUB_CMDLINE_LINUX_DEFAULT="nomodeset fbcon=rotate:1"

もちろん updategrub する。

XWindowsは、 \ 下のファイルを /usr/share/X11/xorg.conf.d/99-mytablet.conf に追加::

Section "Device" Option "RandRRotation" "True" # [] Option "Rotate" "CW" # [] Identifier "Card0" #Driver "intel" #Driver "vesa" Driver "fbdev" BusID "PCI:0:2:0" EndSection

これをしてしまうと、xrandrが動かなくなるんですが...

3. Touch panel

ドライバがあったので、インストールしてみた。 正直、「無いよりはマシ」みたいな出来。

Windowsでもひどいのでハードがもともとそんなもんなんでしょう...

以下、手順::

git clone git://github.com/onitake/gslx680-acpi cd gslx680-acpi make git clone git://github.com/onitake/gsl-firmware cd gsl-firmware/tools ./fwtools -c SILEAD... sudo cp silead_ts.fw /lib/firmware insmod gslx680_ts_acpi.ko

rc.local に追加 (他にいい方法あったかな...)::

insmod /path/to/gslx680-acpi/gslx680_ts_acpi.ko

xinput_calibrator の結果を /usr/share/X11/xorg.conf.d/99-mytablet.conf に追加::

Section "InputClass" Identifier "calibration" MatchProduct "Silead GSLx680 Touchscreen" Option "Calibration" "15 1704 1119 62" Option "SwapAxes" "0" EndSection

4. keyboard調整

ずっと前に買った、USB Keyboard付きの Tabletケースが今回は使いやすそうだったので 使っていなかった箱から出してみた。

. . . . . .

この配列はひどい...

仕方ないので xmodmap で対応して、 変な割り当てのところには、シールで印字しておいた。::

! Gasia left bottom side keycode 94 = Escape

! Gasia right upper side keycode 118 = BackSpace Delete keycode 119 = backslash bar keycode 22 = asciicircum asciitilde keycode 21 = at grave keycode 51 = bracketleft braceleft keycode 36 = colon asterisk

! Gasia right botton side keycode 111 = Up underscore Prior Prior Prior Prior keycode 62 = bracketright braceright keycode 114 = Return Right End

普通のkeyboardもつなげることがあるので、 ちょっとだけスクリプト書いてみた。

ほんとはhalにでも記述作ればいいのかもしれないけど、 その辺、詳しくないので、パス::

#! /bin/bash lxkeymap -a if xinput list | grep "GASIA USB Keyboard" > /dev/null; then xmodmap $HOME/.Xmodmaprc.gasia fi

5. WiFi + BT

いろいろやってるんですが、うまくいきません。::

modprobe -v brcmfmac

:4.4.0.31: だめ... :4.7.4: だめ... :4.7.5: だめ...

6. Battery

|s| i2c-tools でアクセスするという方法だけどフリーズする... |/s|

i2c-toolsでアクセスする方法ですが、 ドライバをunloadすればフリーズしなくなりました。::

20170126,050128,1485374488: Battery level: 83% 20170126,050328,1485374608: Battery level: 82% 20170126,050728,1485374848: Battery level: 81% 20170126,051028,1485375028: Battery level: 80% 20170126,051328,1485375208: Battery level: 79% 20170126,051727,1485375447: Battery level: 78% 20170126,052027,1485375627: Battery level: 77% 20170126,052327,1485375807: Battery level: 76% 20170126,052628,1485375988: Battery level: 75% 20170126,052928,1485376168: Battery level: 74% 20170126,053228,1485376348: Battery level: 73%

180secで1%だから、18000sec... 20-80%だと、だいたい3時間...体感と大差ない感じ

/etc/modprobe.d/blacklist.conf に以下追加。::

blacklist axp288_adc
blacklist axp20x_pek
blacklist axp20x_i2c
blacklist axp20x

i2c-toolsをインストール::

$ sudo apt install i2c-tools

こんなスクリプト追加::

#!/bin/bash
#
# \License Modified BSD
# \Author shimoda <kuri65536 _at_ hotmail _dot_ c o m
OPT_CONTINUE=false
OPT_DETAILED=false
OPT_INTERVAL=60
OPT_WAITDETAIL=1
if [ x"$1" = x--gui ]; then
    OPT_CONTINUE=true
    cmd=$0
    if [ -f "$(pwd)/$0" ]; then cmd=$(pwd)/$0; fi
    evilvte -g -0+0 -T "battery" -e sudo $cmd --loop
    exit 0
fi
if [ x"$1" = x--loop ]; then
    OPT_CONTINUE=true
    shift
fi
if [ x"$1" = x--detail ]; then
    OPT_DETAILED=true
    shift
fi
modprobe i2c-dev
modprobe test_power
#search AXP288 chip on /dev/i2c-dev?
for i in `seq 1 12`; do
    if ! [ -e /dev/i2c-$i ] || [ -e /dev/i2c/$i ]; then
       continue
    fi
    RET=$(i2cget -f -y $i 0x34 0 2>/dev/null | cut -d 'x' -f1)
    if [ "x$RET" = x0 ]; then
        #echo /dev/i2c-dev$i
        I2C_DEV=$i
        break
    else I2C_DEV=-1;
    fi
done
if [ "x$I2C_DEV" = x-1 ]; then
    echo "No AXP288 PMIC on i2c Bus"
    exit 113
fi
# force ADC enable for battery voltage and current
i2cset -y -f $I2C_DEV 0x34 0x82 0xC3
function readNormal() {
    local CAPACITY
    CAPACITY=$(i2cget -f -y $I2C_DEV 0x34 0xB9 | cut -d 'x' -f 2)
    if [ "x$CAPACITY" = x ]; then
        return 1
    fi
    CAPACITY=$((-128 + 16#$CAPACITY))
    if [ $CAPACITY = -128 ]; then
        return 2
    fi
    dt=$(LANG=C date '+%Y%m%d,%H%M%S,%s')
    echo "$dt: Battery level: $CAPACITY%"
    if [ x$CAPACITY = x ]; then
        return 0
    fi
    echo $CAPACITY >/sys/module/test_power/parameters/battery_capacity
    echo "$dt, $CAPACITY" >> /var/log/battery.log
    return 0
}
OPT_1ST=true
while $OPT_1ST || $OPT_CONTINUE; do
    OPT_1ST=false
    if readNormal; then
        $OPT_CONTINUE && sleep $OPT_INTERVAL
        continue
    fi
    echo "Could not read battery level, give up."
    break
done
# vi: ft=sh:ts=4:et:nowrap

後はグラフ化だけど、d3.jsで書いてみたいなー。 でも、この tablet 買い換えるまでだから、いらないか...

7. TF card

なぜか一度だけアクセスできたが それ以降は一回もアクセスできない...

T100用Linux だけは、抜き差しすると、カードを認識しました。

eMMC FSの調整 ~~~~~~ ext3 で / をformatしてたけど、 fsckツールが見つからないというエラーが出ていたので ext4 に変更

一部 recovery mode でないと動かなかったけど、こんな感じ:

$ mount -o ro,remount / $ tune2fs -O extents,uninit_bg,dir_index /dev/mmcblk0p4 $ tune2fs -O ^has_journal /dev/mmcblk0p4 $ vi /etc/fstab UUID=... / ext4 errors=remount-ro,data=writeback,noatime,nodiratime 0 1

逆にext4にするとfsckがよく走るようになって 良いのか悪いのか...

8. Buttons

特に何もしていない

9. Backlights

これで暗くはなるけど、backlightが切れているようには見えない::

xset dpms force off

アプリの記録

:lv: End-Date: 2016-09-03 23:37:06 :tree: End-Date: 2016-09-03 23:40:01 :vim: End-Date: 2016-09-03 23:44:01 :mercurial: End-Date: 2016-09-04 07:47:35 :tortoisehg: End-Date: 2016-09-04 07:55:09 :apt-get install tmux: End-Date: 2016-09-04 08:45:02 :apt-get install git: End-Date: 2016-09-04 14:23:46 :apt install lxkeymap: End-Date: 2016-09-04 15:46:52 :apt install curl: End-Date: 2016-09-05 06:57:34 :apt install mercurial-git: End-Date: 2016-09-05 07:13:33 :/usr/sbin/synaptic pip, gcc: End-Date: 2016-09-05 07:36:31 :/usr/sbin/synaptic fcitx-anthy: End-Date: 2016-09-07 07:49:45 :/usr/sbin/synaptic kasumi: End-Date: 2016-09-07 07:52:28 :/usr/sbin/synaptic zenity: End-Date: 2016-09-07 08:03:04 :apt install devilspie: End-Date: 2016-09-07 12:38:58 :apt install xinput-calibrator: End-Date: 2016-09-07 19:54:37 :apt install zram-config: End-Date: 2016-09-08 23:22:44

コメント

Comments powered by Disqus
宣伝: