2015/04/24(金)Lollipop 5.1 でdialog mode(diag mode)を有効にする

Android端末をXiプラスエリア(800MHzプラチナバンド)のBand 19に対応させるよくあるやつですが、Android 5.1なせいか苦労したのでメモ。

【Nexus 5】Nexus 5をDIAGモードでPCに接続するがどうやってもうまくいかなかったので試行錯誤してました。

# setprop sys.usb.config diag,adb

を発行した瞬間に、Windows上からUSBデバイス(Android端末)が一切見つからなっていました。

中華サイトをさまよっていると、rootアプリでカスタムカーネルを自動的に焼きこむツールを使うといいよという記述を発見しました。

これでカスタムカーネルを焼きこんだところ、簡単にDiag modeに移行することができました。Hybrid Nightly Buildsの「Hybrid_v3.0-[04-05]-[14-48].zip」を使ったのですが、それに問題があったようです。

なお

カスタムカーネルはいまいち安定しないので、設定変更後、元に戻しました。

メモとか

2015/03/17(火)祝500万ヒット

3/11に500万ヒットになりました。アクセスありがとうございます。

更新してないので、さすがにペースが遅くなってしまいました(苦笑)

記事にしてないけど色々製作してます。今年前半には某ブログ開発が一区切りできると思いますので、ハード開発に少しは専念できる……といいな(苦笑)

プレゼント企画

というわけで恒例のプレゼント企画。気が向いたら、おまけ付けます。

(1)FPGAボード色々

5m_001.jpg
5m_002.jpg
5m_003.jpg

  • FPGA SUZAKU ボード(LinuxなFPGAボード)
  • ストロベリーLinuxのFPGA系ボード
  • CQのFPGA学習ボード(本付)
  • Eagle 5(ライセンス付。ただし一番安い奴)
  • 単品FPGA2個(多分Xilinx)

昔CQの学習ボードを少しいじったぐらいで、ほとんど使ってません。


希望者がいなくて余ってます。引き取り手が出るまでコメント欄にて受付中です。希望者が出たため締切。

(2)余り物夢いっぱい

5m_004.jpg

  • Prodigy 192VE魔改造品
  • REY, REXなど余り物各種。
  • LGMF系(使用済)抵抗色々。
  • PLR135/T10
  • op-dbuf3開発時のテスト用ユニバーサル基板。
    • 手前の5pinが入力で「L,LG,G,RG,R」です。
    • 奥3pinが電源で「-V, +V, G」です。
    • 回路検証用の差し込み端子がたくさん。

応募方法

  1. 希望する番号(1か2)
  2. 2桁の数字(00~99)
  3. メールアドレスをメール欄に記入

以上を書いてコメント欄にて応募ください。1人1個まで希望できます。

  • 10面体のサイコロを振って1桁ずつ決定することで行います。2桁の数字としてみたとき、誤差の一番小さい人を当選とします。
  • 誤差が同じ人が居た場合、書き込みの早い人を優先します。
  • メールアドレスが無記入、非公開コメント、メールが不達、もしくは当選決定の連絡後2日以内に返信がない場合は無効。
  • 応募期限 2015/03/22 まで。

集計結果

1.FPGAボード色々
--
2.余り物夢いっぱい
紅707
kanno27
maro50
Dame64
豚父88

敬称略。誤りがあったら教えてください。

抽選結果 2015/03/24

抽選番号は21になりました。当選者の方にはメールお送りします。

2015/01/30(金)Debian - jessie インストールメモ

記述が散らばってきたのと、さすがに古くなった部分があるのでまとめメモ。

キーボード環境の設定

apt-get install console-setup
dpkg-reconfigure locales

コンソールとGRUB画面の設定

高解像度すぎて使いにくいのでほどほどに。

# vi /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT=""
GRUB_CMDLINE_LINUX="video=800x600-16"
GRUB_GFXMODE=800x600
GRUB_GFXPAYLOAD_LINUX=keep
# update-grub

ついでに「mitigations=off」してMeltdown対策などをオフにすると、古いIntel CPUでは(セキュリティを犠牲にして)パフォーマンスが向上するらしい。

# vi /etc/default/grub
GRUB_CMDLINE_LINUX="video=800x600-16 mitigations=off"

fbterm

# apt-get install fbterm unifont
# usermod -aG video <user id>
# vi ~/.fbtermrc
font-names=unifont
font-size=16

このままだとアンチエイリアスが掛からないので設定する。(設定済の場合は不要)

# vi ~/.font.conf
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<match target="font">
	<edit name="antialias" mode="assign">
		<bool>true</bool>
	</edit>
</match>
</fontconfig>

固定IP

# vi /etc/network/interfaces
auto eth0
iface eth0 inet static
	address 192.168.1.20
	netmask 255.255.255.0
	gateway 192.168.1.1
#	mtu 9000

rpcbindとeximを止める

# apt-get remove --purge rpcbind nfs-common
# apt-get remove --purge exim4 exim4-base exim4-config exim4-daemon-light

rootとwheel

# vi /etc/pam.d/su
auth       required   pam_wheel.so group=adm
# gpasswd -a USER adm

firewallの導入

# touch /etc/network/if-pre-up.d/iptables
# ln -s /etc/network/if-pre-up.d/iptables /etc/
# chmod +x /etc/network/if-pre-up.d/iptables
# vi /etc/iptables

設定詳細はこちらの記事

hosts.allow/deny

ALL : my_hostname
ALL : localhost
sshd : .jp

sshdのパスワード認証とrootログインを禁止

# vi /etc/ssh/sshd_config
PasswordAuthentication no
PermitRootLogin no
# /etc/rc.d/ssh restart

鍵認証設定後に。

localeの変更

# dpkg-reconfigure locales

tmpfsの設定変更

デフォルトだと実メモリの半分以上をtmpfsに割り当てられてしまいます。実使用分しかメモリを消費しないとはいえ気持ち悪いです。

/etc/default/tmpfsを書き換えればいろいろ設定できるはずと思ったら、Debian jessieは「sysvinit」ではなくなってるらしく/etc/default/tmpfsに設定しても意味がない

/etc/systemd 以下に書くのが正解なようですが、どう書けばいいかの情報がないのでしばらく保留……。

ntp設定

server   ntp.example.jp iburst
# IPv6
server   -6 ntp.example.jp iburst

状態確認

ntpq -p

PostgreSQLのリポジトリ追加

PostgreSQLの最新版が使えなかったり、アップグレードごとにメジャーバージョンが入れ替わって(古いバージョンのメンテが終わって)毎度DB移行が面倒なので。

# vi /etc/apt/sources.list
deb http://apt.postgresql.org/pub/repos/apt/ wheezy-pgdg main
# apt-get install gnupg
# wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -

PostgreSQLの設定

いつも /var/lib/postgresql ではなく /home/postgres にDBファイルを置くのだけども、ファイル移動したりシンボリックリンクしたりスマートじゃない方法で解決してました。

postgresql-commonだけ先に入れて、データディレクトリを変更。

# apt-get install postgresql-common
# vi /etc/postgresql-common/createcluster.conf
data_directory = '/home/postgres/%v/%c'

その後、任意のpostgresqlを導入。

後から変更

デフォルトDBの削除。

# pg_dropcluster --stop 9.4 main
# rm -rf /var/lib/postgresql

データディレクトリを変更してDB作成。

# vi /etc/postgresql-common/createcluster.conf
data_directory = '/home/postgres/%v/%c'
# pg_createcluster 9.4 main --options

pg_cluster系コマンドで複数のDBの起動などもできるらしい。

autovacuumの設定

デフォルトではオートvacuumが3worker×1分ごとに動作しようとし(必ず動作するわけではない)、そのたびにHDDにfsyncしてしまいます。ほとんど使用しないDBには無駄なディスク負荷なので、postgresql.conf の設定を変更しました。

autovacuum_max_workers = 1
autovacuum_naptime = 1d

GNU parted

# parted /dev/sdb
GNU Parted 3.2
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel gpt
(parted) unit gb
(parted) print free
(parted) mkpart primary ext4 0 100%
(parted) print

コンソール日本語入力

# apt-get install uim-fep uim-anthy
# vi /usr/share/uim/generic-key-custom.scm
(define-custom 'generic-on-key '("zenkaku-hankaku" "<Control> ")
(define-custom 'generic-off-key '("zenkaku-hankaku" "<Control> ")

あとは「uim-fep」コマンドで起動。「CTRL+SPACE」でon/off。

その他

雑多メモ

特定のポートを使用中のプロセスを調べる。

# lsof -i:111
# netstat -ap

特定のファイルを含むパッケージを調べる。

$ dpkg -S [filename]

UUIDの確認。

# blkid /dev/sda1
# ls -l /dev/disk/by-uuid/

ia32-libsの代替。

# apt-get install lib32z1

開発環境一式。

# apt-get install build-essential

sshログイン時のメッセージ表示はpam.d/sshdで制御できる。

session    optional     pam_motd.so motd=/run/motd.dynamic noupdate
session    optional     pam_motd.so

バージョンの確認。

# lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 8.1 (jessie)
Release:        8.1
Codename:       jessie

2014/11/14(金)GXP1400(GXP1405)を買ってIP固定電話化

ひかり電話(月額540円)に課金するのがバカらしくなってきたので、IP電話機(SIP Phone)を買ってみました。GXP1400です。これ使ってbrastel*1とかSMARTalkのアカウントを割り当てればIP固定電話化できます。どちらも月額基本料、無料です。

ちょっと設定が大変だったのでメモっておきます。

*1 : おすすめしません。発信時に強制的にアナウンスが入るので使い勝手最悪です。

使い方

DHCPをなぜかうまく取得しなかったので、電話機側でIPを設定しました。そのIPをブラウザで開きます。

IDがなく、デフォルトではパスワード「admin」で管理者モード、「123」でユーザーモードでログインできます。

管理者でログインし、アカウント→General Settingからアカウントを設定します。

設定項目は「SIPサーバ」「SIPユーザーID」「認証パスワード」です。これで発着信ができるようになります。

着信を修正する

設定→着信音からアメリカ仕様の呼び出し音を、日本仕様に変更します。

  • システム着信音:f1=400,f2=385,c=100/200;
  • ダイヤル音:f1=400;
  • 呼び出し音:f1=440,f2=480,c=100/200;
  • 通話中トーン:f1=400,c=500/500;
  • 再送信音:f1=480,f2=620,c=1500/1500;

ファームウェアをアップデートしたい

「メンテナンス」→「Upgrade and Provisioning」にはファームウェアアップデートのための設定がありますが、標準状態ではアップデートされません。フォームウェアサーバパスを変更する必要があります。

  • (変更前)fm.grandstream.com/gs
  • (変更後)firmware.grandstream.com

こうすると「http://firmware.grandstream.com/gxp1400fw.bin」(1405でも同じ)を取得しに行きます。http://fm.grandstream.com/gs/ は古くファイルがありません。

設定を自動で読み込ませたい

起動時にIP設定が終了したあと、設定をWeb上から自動的に読み込ませることができます。読み込み元は「設定サーバパス」からでツールダウンロードページから設定ファイルを作ることができます。

GET /path/cfg000b82XXXXXX
GET /path/cfg000b82XXXXXX.xml
GET /path/cfg.xml

この順番に読み込まれます。MACアドレスごとに参照するのですが、cfg.xmlにしておけば簡単です。

<?xml version="1.0" encoding="UTF-8" ?>
<gs_provision version="1">
<config version="1">
<P345>f1=400,f2=385,c=100/200;</P345>
<P343>f1=400;</P343>
<P346>f1=440,f2=480,c=100/200;</P346>
<P348>f1=400,c=500/500;</P348>
<P349>f1=480,f2=620,c=1500/1500;</P349>
</config>
</gs_provision>

Pxxxの設定項目は「Configuration Template」ダウンロードしてください。

カスタマイズ着信音を読み込ませたい

カスタマイズ着信音は配布されているツールで作ることができます*2。長さによって最大3種類まで作ることができます。

「ringX.bin」というファイルを作るのはそんな難しくないのですが、はたしてこれをどこに置くかというのが難しい。このカスタム着信音は「フォームウェアサーバパス」からダウンロードされます

(自前サーバへのアクセスログ)※起動時
[00:07:48] "GET /path/gxp1400fw.bin HTTP/1.0"
[00:07:49] "GET /path/gxp1400fw.bin HTTP/1.0"
[00:07:50] "GET /path/ring1.bin HTTP/1.0"
[00:07:50] "GET /path/ring2.bin HTTP/1.0"
[00:07:51] "GET /path/ring3.bin HTTP/1.0"

つまりカスタム着信音を利用するとファームウェア自動アップデートができなくなります*3。コンフィグ設定パスから読み込んでくれればよかったのに(苦笑)

*2 : 8KHzのモノラル音声ですが、このツールでダウンサンプリングさせると歪んでしょうがないので(おそらくエイリアシング)、別のツールで8KHzにしてから変換したほうが良いようです。

*3 : 試しに http://firmware.grandstream.com/ring1.bin にアクセスするとファイルが存在します。

まとめ

PoEも対応しているし、細かい設定項目などをみると、会社で巨大な内線システムと一緒に使えるよう設計されているようです。IP固定電話機ってそもそももっぱらビジネス用なのか、個人で使うにはちょっと高機能すぎるのが難点(苦笑)。パナソニックのIP電話機もAmazonで売ってるのですが高いんですよね。

通話はとりあえず安定しています。

蛇足

Brastelは発信時の強制アナウンスがとても邪魔。広告と通話時間アナウンスで20秒ぐらい人生を無駄にします。ネットの評判(評価)にこのことがほとんど書かれてないのはステマだらけなのかな。これなら多少高くてもSmartalkのほうが留守電とかの使い勝手も含めておすすめです。Brastel(ブラステル)は絶対やめとけ(苦笑)