Posted in Linux Twitterに投稿 Leave a Comment

人柱版その2を公開します。

今回のバージョンではベースをDebian 9.0 (stretch)に変更し、試験的にX環境とBluetooth有効化スクリプトを追加しました。
また前の人柱版を使用していただいた方からあがった不具合の修正を行っています。

今回も試用されるみなさまからの不具合や要望などをいただけると助かります。

この手のソフトではお決まりですが文鎮になっても責任は負いません。
本体内のソフト変更を伴いますのでメーカーへの問い合わせはやめてください。

何が動くか

機能 対応状況 備考など
キーボード 実は`(バッククオート)が入力できないような気がします
内蔵LCD
WiFi ほぼ○ BTと同時に動かすと動作が怪しくなる
Bluetooth 有効になっているとWiFiに影響有り
USB △(制限あり) 起動時からHOSTモード設定に変更。
HOSTモードでも内部からのVBUS出力不可のため外からの給電が必要。
suspend/resume ○? Suspend to RAMとResumeは可能。
suspend状態でどの程度電池がもつかは検証不足。
WiFi/BTをONにしたことが有ると(?)復帰ミス発生の可能性あり。

 

注意/制限事項など

前回からの変更/追加分のみ

■試験的にX環境(xfce4)を入れてありますが、長時間触らずに置いておくと気がつくと反応しなくなっている場合があったので使用する場合はご注意ください。そうなった場合にはCtrl+Alt+F2などで別のttyからログインしてkillするなどしてください。

■Bluetoothを有効化するコマンドを追加しましたが、Bluetooth機器と接続しているとWiFiと干渉するのかWiFiの通信が不安定になります。その場合はBluetoothを切断してみてください。
 

インストール手順

■準備
 内蔵eMMC(4GB)のバックアップをとるために十分なサイズのSDカードが必要です。
 インストーラとrootfsの入ったSDカードイメージを書き込むために16GB以上のSDカードが必要です。
 公開前のテストにはSanDiskのUltra 16GBを使用しました。(48MB/sの記載のあるもの)

0. 本体のバックアップをとる
 DM200 eMMC NAND バックアップ/リストア ツール
 使い方はzipを展開するとできるreadme.txtを読んでください。
 取得したファイルはPCなど別の機器上に保存しておいてください。

1. インストーラのダウンロードとSDへの書き込み
 DM200 Debian インストーラー v0.2 (今回は800MBほど有ります)
 readme.txtにも記載していますが、展開するとdm200_debian_16GB.imgができるので、Windowsの場合はWin32DiskImagerやrawrite、Linux,MacならddなどでSDカードの先頭から書き込んでください。
 RasPiのSDイメージインストール手順が参考になります。

2. インストール実行
 readme.txtの手順でインストールを実行してください。

3. Linux起動手順
 インストールが正常に完了すると自動で再起動がかかり標準ロムが動作するので、一度電源を切って”左Alt + 右Shift + 電源キー”の3つ長押しで電源を入れます。
 POMERAのロゴが出たら離してOK。Linuxの起動ログが流れてコンソールのログイン画面が表示されるはずです。

4. ログイン
 起動後は通常のLinuxと同様に使用可能です。
 アカウントはrootのほかにdm200というユーザーを作成してあります。
 rootのパスワードはroot、dm200のパスワードはdm200です。

■前回のv0.1がインストール済みの本体に今回のバージョンを入れる場合、一度リストア手順を行ってもとに戻してから再度インストールを行ってください。 
なお、v0.1を使っていてその時のrootfsをそのまま使いたい場合はそのSDカードは置いておき、別のSDカードで一度リストアとインストール手順を行ったあとSDカードを差し替えることで前の環境を使用することも可能です。
 

変更点、追加など

・起動時にkmsgを出さないようにしたので起動が早くなった(気がする)

・BluetoothのON/OFF (要root権限)
 有効化
  #/opt/bin/bt_switch on
 無効化
  #/opt/bin/bt_switch off

  – 有効化コマンド実行後、コンソールに結構な量のログが流れるのは正常動作です。ログ出力を停止すると正常に動くかなくなるためそのままにしてあります。数行出て止まった場合にはONに失敗していますので一度offコマンドを実行してから再度onしてみてください。
  – 有効化後のデバイスの接続方法については次の項目で記載します。

・Suspend / Resume (要root権限)
 #/opt/bin/sus2ram
 でSuspend to RAMの動作が動きます。Resumeは電源ボタンを押してください。
 - コマンド名が標準の別のもの同じだったため変更しました。
 - 無線機器の電源処理を追加したため、waitを少し多めに入れています。そのためコマンドを実行してから画面が消えるまでにタイムラグが5秒ほど増えました。(他に方法があるかは確認中)

・dm200ユーザーでログインした際にfbtermとuim-fepが標準で起動するように設定を追加。
 - 不要な場合は.bashrcの最後の方を見て消してください。

・wifi接続設定(wpa_supplicant.conf)の参照場所追加
 - vfat領域(windowsから見える領域)にsettingsフォルダを追加して、中にwpa_supplicant.confのひな型を置くようにしました。ファイルの下の2行を変更して置いておけばwifi_switch
on実行時にこのファイルの設定を読みに行くようにしてあります。(起動時に/tmpにコピーしてそれを見る、Linux環境で変更したら再起動が必要です)

・X関係とxfce4のファイルを一式追加
 $startx
 でGUI画面になります。
 ただし、内蔵ポインティングデバイスがないためUSBまたはBluetoothでマウスなどを接続する必要があります。
 また、初回はダイアログが出るのでAlt+Tabを押してダイアログにフォーカスを当てたあとSpaceでどちらかのボタンを押してください。
 ポインティングデバイスがない状態でメニューを開くにはAlt+F1で左上のドロップダウンが開きます。
 なお、fbtermで/dev/fb0を使っているとXが起動できないため、標準のconsoleに戻って実行する必要があります。

Bluetooth ON後の接続手順

今のところGUIでのデバイスの接続方法は無いため、以下の手順を参考にペアリングと接続を行う必要があります。一度接続すればあとは電源を切っても次の起動でbluetoothのon操作を行うだけで認識するようになります。

$bluetoothctl

として、hci0というデバイスが見えれば本体側は有効化できています。
次につなぎたいデバイスをみつけるため、接続相手の機器をペアリングモードにして

[bluetooth]scan on

とコマンドを入れるてしばらく待つと、ペアリング可能な機器のアドレスが表示されます。
接続機器のアドレスが分かったら

[bluetooth]pair 機器のBTアドレス
[bluetooth]trust 機器のBTアドレス
[bluetooth]connect 機器のBTアドレス

とすれば接続完了です。(この手順はBTマウスで確認)
なお機器のBTアドレスは途中まで入力してTabを押すと補完されます。
exitでbluetoothctlを抜けてください。

前回からの注意事項にもありますが、 Bluetooth機器と接続しているとWiFiの接続が不安定になります。その場合には接続機器側の電源を切るかbt_switchでoffにしてみてください。
この問題は今のところ対処方法が有るのかも不明です。
 

TODO

・電池残量低下時の通知/シャットダウン処理追加
・キー配列の変更 (多用するHOME,End,PageUp,PageDownをどこかのキーコンビネーションで使えるようにする)
・BluetoothとWiFiを同時に有効にするとWiFiが切れる問題の調査
・USBがデバイスモードのときに別のデバイスとつないだ際にVFAT領域を見えるようにするための処理追加
・まれに起動に失敗する場合がある件について調査(おそらく修正完了)

2017年7月9日