2018/02/03

【XMC10】Kernel 4.15でも動きました。

1/29から悪戦苦闘してきたLinuxの新しいカーネル4.15ですが、やっとBluetooth動きました。
とは言っても、一部の仕様を4.14に戻すという、ちょっとアレな対応です(;´・ω・)

Portabookにとっては目新しい機能はKernel4.15にはありませんので、Ubuntu18.04が出るまではパッチのみの公開にしようと思います。

Kernel4.15で変わったこと


・サウンドドライバの名前が変わった。
 「cherrytrailcraudio」から「cht-bsw-rt5672」に変わりましたのでUCMファイルのコピーが必要です。
・ACPIのスキャン方法が変わった。
 オンボードのRealtek rtl8723bsのACPIのIDはOBDA8723というものなのですが、これがブート時に認識されなくなりました。

パッチとUCMファイル


https://github.com/mongonta0716/portabookに上げました。

余談


ちなみに、ポータブックは調べていけば行くほど中身は中華タブっぽい作りです。
DMIもManufacturerやProductNameなど 「Default String」が多く、、、GPD WINやGPD Pocketと同じ感じですね。

恐らくLinux-nextに組み込むにしてもサウンドやBluetoothのパッチは確実にはじかれます。(過去にメーリングリストでもダメだしされているようです。(英語)

Bluetoothは確実に組み込むとすると「drivers/bluetooth/hci_rtk.c」を作るスキルが必要でしょう。

4.15でACPIのscan方法が変わったのもその流れで「driver/bluetooth/」のサブシステム内で綴じるように変わっていくとのことです。scan方法の変更による影響はRealtekだけではなくて、BroadcomやIntelを使用している人も影響があったみたいです。

参考、UARTのACPIスキャン法についての議論 ACPI / scan: Fix enumeration for special UART devices

しかし、Kernel4.15で動いたのできっとUbuntu18.04LTSでも動くでしょう。ヽ(^。^)ノ
そうです、、、Portabookはあと5年は戦えるっ!(マクベ風)

最近はもう一台買おうかどうか悩んでいます。中古で2万円ぐらいなら買いかなぁ。。。( ・ω・)モニュ?

2018/01/30

【XMC10】カーネルパッチまとめ(人柱版) 4.14.x,4.13.x

2018/1/30 追記
Kernel 4.15以降は対応方法が大分異なるので別記事にします。(作成中、、、)1/30現在Bluetoothが動いていません。
そのまま移行すると音もならなくなるので注意してください。


XMC10関連の目次
キングジムのPortabook XMC10でUbuntu使い始めてまだ3カ月ぐらい。。。
昨年の年末にサスペンドまでできたので、とりあえず今までのパッチをまとめて公開します。

各記事を書いたときとはコーディング内容が異なりますがやっていることはほぼ一緒です。

★自己責任でお願いします。★
文鎮化等のリスクがあります。
完全にメーカー保証対象外となります。(Linux入れた時点で)
キングジムへ問い合わせたりしないでください。(PortabookはLinuxサポートしていません。)


公開の仕方がまだ慣れていないので手動パッチです。
パッチを作成したのはカーネル4.14.9です。

今の所4.14.9〜15まで当ててみましたが自分で使用している感じでは、パッチによる問題は無さそうです。
(4.13.13でも確認。(オフセットかかりますが、適用されていました。))

●以下からダウンロードできます。
https://github.com/mongonta0716/portabook

適用方法


①カーネルソースをダウンロードします。
(過去のバージョンは下記から探します。)
https://www.kernel.org/pub/linux/kernel/v4.x/

②カーネルソースを展開し、展開したフォルダ直下に「portabook_kernel_4.14.9.patch」をコピー
(以下、カーネルソースを展開したフォルダは「~/linux-4.14.9」と仮定)

③カーネルソースのフォルダで以下のコマンドを実行するとパッチが当たります。
patch -u -p1 < ./portabook_kernel_4.14.9.patch


④ソースの確認
patchコマンドで修正されたソースを確認してください。

⑤カーネルを再構築します。(こちらを参考にしてください。)
★KconfigにCONFIG_HID_KINGJIMの項目増やしてあるので、mを選択してください。

パッチの内容


・サウンド出力が使えない件に対応。
・Bluetoothが認識しない件に対応。
・日本語キーボードで一部キーが認識しない件に対応。
・サスペンド後MicroSDを差すと固まる現象に対応。

既知の不具合など


・間違って、CherryTrail搭載のマシンに当ててしまうとサウンドがおかしくなるかもしれません。あくまでもXMC10カスタムということでお願いします。

・ハイバネは今のところできていません。(自分は使わないので調べない可能性大です。)

・dmesgを見ると色んなエラーがありますが、、、
 動いているようなので放置です。(*'ω'*)
 正直、画面回りは怪しいんですが、、、調べたけど分からないので放置です。(*'ω'*)

・バッテリーの残量表示がおかしくなる場合があります。
 起きるタイミング等が不明なため解決できていません。

その他の作業


カーネルパッチだけなので、各記事の設定変更やパッケージの導入等は必要です。

サウンドの問題
 ①/etc/modprobe.d/blacklist.confの編集
 ②portabook_ucmの導入
Bluetoothの問題
 ①rtl8723bt_4.12.0_amd64.debの導入
 ②認識しない機器はコマンドで登録
サスペンドの問題
 ①画面ロックの設定変更
 ②Serviceの作成

ビルド済みのdebパッケージ


4.14.15に当ててみました。
4.14.15は最近ニュースになっているCPUのバグ対処版です。(全部解消されているかは不明です。)

適用してから、今のところ大きな問題は起きていません。
●debパッケージ
linux-headers-4.14.15-xmc10-custom-20180129006_006_amd64.deb
linux-image-4.14.15-xmc10-custom-20180129006_006_amd64.deb
●パッチ適用済みソース
linux-4.14.15_xmc10.tar.gz

その他


動作確認している環境はUbuntu17.10です。



参考(dmesgに残っているエラーメッセージ)



[ 0.302869] ACPI: \: failed to evaluate _DSM (0x1001)
[ 0.388048] i2c i2c-0: i2c read failed
[ 0.401498] i2c i2c-0: i2c read failed
[ 0.421083] i2c i2c-0: i2c read failed
[ 0.434176] i2c i2c-0: i2c read failed
[ 0.453072] i2c i2c-0: i2c read failed
[ 0.466074] i2c i2c-0: i2c read failed
[ 0.485153] i2c i2c-0: i2c read failed
[ 0.498142] i2c i2c-0: i2c read failed
[ 0.517063] i2c i2c-0: i2c read failed
[ 0.530040] i2c i2c-0: i2c read failed
[ 0.549081] i2c i2c-0: i2c read failed
[ 0.562287] i2c i2c-0: i2c read failed
[ 0.614519] i2c i2c-0: i2c read failed
[ 5.362174] i915 0000:00:02.0: cannot find GPIO chip gpio_crystalcove
[ 5.362254] [drm:intel_dsi_init [i915]] *ERROR* Failed to own gpio for panel control
[ 8.175282] systemd-gpt-auto-generator[250]: Failed to dissect: Input/output error
[ 8.760906] pwm-lpss 80862288:00: invalid resource
[ 8.761220] pwm-lpss: probe of 80862288:00 failed with error -22


XMC10関連の目次

17.10, Ubuntu, Linux, XMC10,

続きを読む

2018/01/30

Linux良く忘れるコマンド

良く忘れるのでメモ。

●圧縮解凍
圧縮
tar cvf hogehoge.tar.gz directory/

解凍
tar xvf hogehoge.tar.gz directory/


●全文検索
カレントディレクトリ配下のcソースからhogehogeを全文検索
find . -name \*.c | xargs grep hogehoge
Linux,
2018/01/29

Kernel4.15に手を出しました。

本日できたてほやほやのKernel 4.15がリリースされましたね、、、

さっそく4.14までのパッチは通じず。。。orz

・キーボードのみ、ほぼそのままでOK
・サウンドはパッチも変更した上にUCMファイル側の変更も必要でした。

現在調査中なのですが、Bluetoothが一番厄介そうです。
rfkill listで生えてきません(´・ω・`)

Bluetooth以外は大丈夫な感じなんですが、、、

Bluetooth未対応ですが、パッチだけ上げておきます。

https://github.com/mongonta0716/portabook
2018/01/27

【Ubuntu】【解決】EeePC901で液晶表示がおかしい。

distccで手数を増やす実験をしたいのと、久しぶりに動作確認も兼ねてASUSのEeePC901にLubuntu17.10.1をインストールしました。

すると、、、

インストーラーの時点ではちゃんと表示されていたのですが、インストール完了後以下の画面に、、、(;´・ω・)

20180126_1280_0001.jpg
20180126_1280_0002.jpg

どうやら、動いてはいるものの、画面表示のみおかしいようです。

手元のPCではおかしいのはAtomN270のPCでどうやら、1024x600の解像度が悪さをしているようです。
1日がかりで検索したところ、以下のページが見つかりました。原因はわかりませんが、どうやらカーネル4.13~4.14で同じ現象が現れるようです。
Bug in Kernel 4.13 : Intel Mobile Graphics 945 shows 80 % black screen(英語)

素の状態でしかも操作が見えないという、、、本来ならどうしようもないところなのですが、以下の手順でまずsshを動くようにしてなんとか解決しました。

IPアドレスを調べる。


①無線の設定は見えない状態では難しいので、まずは有線LANを接続します。

②ログインする。
ログインウィンドウは見えていませんが、パスワードを入力するとログインできます。

③IPアドレスを調べる。
ログイン後、幸いなことに右下のネットワークアイコンにアクセスできます。
左クリックして、「接続情報」を選択すると、ちょっとウィンドウが見えるはずです。

右にドラッグしてIPアドレスを確認しましょう。

openssh-serverをインストールする


見えない状態でインストールしなければいけないので、正確に入力しましょう。
上手くいかない感じがしたときは①からやり直しが可能です。
①Ctrl+Alt+F3を押します。
  すると、テキストのログイン画面に切り替わります。(見えませんが。

②ログインします。
  1.ユーザID Enter
  2.パスワード Enter
  の順番で入力しログイン。

③以下の流れでコマンドを正確に入力します。
sudo apt-get update
★パスワードを入力してEnter
sudo apt-get -y install openssh-server


これで、sshが利用できるようになります。

sshで他のPCからログイン


ここからは、見える状態で作業できます。
他のPCからsshで接続します。(デフォルトのポートは22です。)
①/etc/default/grub の最下行に1行追加。
sudo vim /etc/default/grub

以下の1行を追加します。
GRUB_GFXPAYLOAD_LINUX=text


②grubをupdate
sudo update-grub


③再起動
sudo reboot


これで、再起動後にGUIが表示されるようになります。ヾ(・∀・)ノ

★注意★そのままだと、ブルートフォースアタックの格好の餌食なのでopenssh-serverが必要のない方はアンインストールを忘れずにしましょう。

その他


16.04はインストール直後は動くのですが、アップデート後におかしくなります。
UbuntuDesktopは17.10から、UbuntuServerは18.04から32bitのインストールイメージ配布はなくなるそうで、、、32bitの時代はそろそろ終焉を迎えようとしていますが、使える間は頑張って使いましょう(*・`ω´・)ゞ(LubuntuとXubuntuはどうなるかまだ分かりません。)

●現象を確認したPC
ASUS Eeepc901X(Atom Z270)
Lenovo Ideapad s9e(Atom Z270)

Ideapadは下のステータスバーだけ表示されるという状態なのでIPアドレスが確認できません。しかし、Ctrl+Alt+F3を押すとCUIでの操作は可能なのでopenssh-serverはインストールする必要はありません。

●以下のPCは大丈夫
FUJITSU LOOX U/G90(Atom Z520)
1280x800なので解像度が関係しているかもしれません。
Linux, 17.10,