スマホの急速充電規格Qualcomm Quick Charge2.0とMediaTek Pump Express Plus

2016/05/30追記: 最新のPump Express 3.0についての記事があります→「MediaTekの急速充電規格PumpExpress 3.0登場。USB-C専用&充電時に本体を発熱させない方式


スマホに対して急速充電するための規格として、QualcommがQuick Chargeというものを用意した。

現段階では、Quick Charge 2.0という規格になっている。
Qualcomm Quick Charge紹介ページ

quick-charge-black-logo

この規格はQualcommの出しているSoC Snapdragonの持っている機能の1つ、的な位置づけになっている。
このため、他社SoCで採用しているものはない。

MediaTekでは対抗して急速充電規格を策定した。
それが「Pump Express plus」である。

pumpexpress

どちらもやってることは同じ。

通常であれば、「5Vで2A以下」というのがUSB充電のお約束であるところ、急速充電するためにそれ以上を供給できるようにするというもの。

でも互換性はない。

Quick ChargeもPump Express Plusも「5V」ではなく「5.0~12V」の範囲で供給電圧を上げてしまうというものになる。
供給電圧として何Vを出すか、というあたりを調整する必要があるため、ACアダプタ側もそれなりにインテリジェントである必要がある。(つまりコストアップ)

どちらの規格もULに登録されており、下記に資料が掲載されている。

Qualcomm Quick Charge 2.0
MediaTek Pump Express / Pump Express Plus Certification Program
Pump Expressプレゼン資料

ちなみにQuick Charge側はラップトップ向けに20V供給もできる「Quick Charge 2.0 Class B」というものを用意。

Pump Express側は逆に腕時計など小電力機器向けに電圧を下げる「Pump Express」というものを用意。

下記の4種類が存在していることになる。

・Quick Charge 2.0 Class A :5/9/12V
・Quick Charge 2.0 Class B :5/9/12/20V
・Pump Express Plus :5/7/9/12V
・Pump Express :3.6~5.0V(0.2V間隔)

まぁ、メインはスマホ向けになるだろうから「Quick Charge 2.0 Class A」と「Pump Express Plus」の戦いになるんでしょうけど、果たして、どれくらい広まっていくことになるのか!?


2015/07/14追記

充電器で使用するICチップを出しているメーカのページを見つけた。

dialog Semiconductor社のiWattチップAD/DC ConvertersにQuick Charge用のとPump Express用のを発見。

Qualcomm Quick Charge2.0用は2チップ構成で、現状、以下の3種類の組み合わせがとれるようだ。
・第1世代制御チップ「iW620」+第2世代ClassA(5V/9V/12V)用出力段チップ「iW626
・第2世代制御チップ「iW1780」+第2世代ClassA(5V/9V/12V)用出力段チップ「iW626
・第2世代制御チップ「iW1780」+第2世代ClassA(5V/9V)用出力段チップ「iW629

MediaTek Pump Express用は1チップ構成
・制御チップ「iW1788

iW1780の説明には、40Wまでサポートと記載
iW1788の説明には、24Wまでサポートと記載

回路図の構成をみると、Pump Express plusのiW1788の方は、普通の充電器の構造をそのまま流用できるような感じになっている。
逆にQuick Chargeの方は構成要素が多いため、コストアップの要因が見られる。


2015/07/16追記

もう1社みつけた

Fairchild Semiconductorから2チップ構成のものが出ている。
1段目は、「FAN501A オフライン DCM/CCM フライバックPWMコントローラー 充電アプリケーション向け」で共通。

2段目が分かれている。
FAN6100M MediaTek Pump Express™ Plusと互換性のある二次側定電圧定電流コントローラ
FAN6100HM
MediATek Pump Express™ Plusと互換性のある二次側定電圧定電流コントローラ
」(6100Mより大電流対応)
FAN6100Q Qualcomm® Quick Charge 2.0と互換性のある二次側定電圧定電流コントローラー

FAN6100MとFAN6100HMの説明には「SUpport MediaTek Pump Express Plus and Fairchild’s FCP-Single Communication Protocol Specifications」とあり、「Fairchild’s FCP-Single Communication Protocol」なるものがある、ということが伺えるが、採用製品らしきものが見当たらず、詳細は不明。

いい感じのLTE対応廉価中華Android機紹介(2015/07/08)

最近、注目しているいい感じのLTE対応でMediaTekの64bit系SoC(MT67xx)を積んだ中華Android機について紹介。

ここでいう「いい感じ」とは、「価格」と「対応周波数」、そして、「特筆す機能」の3点。

価格は$200以下で探したので、MT6735搭載機ばかりになった。
この価格帯だと中国国内向け機種が結構出てくるが、その多くはLTE B1(2100MHz)に非対応であるため、対象外としている。(大抵はWCDMA 2100MHzであれば対応しているので使えなくもないけど…)

なお、対象周波数のスペック表示で「WCDMA 800MHz」「LTE B20(800MHz)」というのがあるが、これはEU圏で使用できるもので、日本やアメリカの800MHz/850MHz帯とは別物であるので注意のこと。

・価格最優先Bluboo C100
製品ページはまだない。
MT6735搭載の低コスト機。メーカ定価で$99。
同じ価格帯のElephone G9はLTE B1(2100MHz)が使えないが、こちらは使用できる。
Blubooは中華系メーカとしては珍しく公式フォーラムがないのが残念なところ。

リリース告知:「$99 Bluboo C100 announced 64bit, Lollipop 5.1, LTE」(2015/04/29)

CPU: MT6535
RAM: 1GB
ROM: 8GB
液晶 5.0インチ 1280×720
バッテリー: 2000mAh
カメラ:前面200万画素、背面500万画素

・バッテリーお化け Bluboo X550
大容量5300mAhバッテリーを搭載しているMT6735P搭載機。
似たようなものでバッテリーモンスターElephone P4000(4600mAh)というのもあるがあちらはLTE B1(2100MHz)に非対応なため、実用性がいまいち。
Doogee S6000(6000mAh)はまだ未発売。Gionee M5(6020mAh)は価格が高めなので、Bluboo X550を選択。
カメラが背面800万画素と貧弱なのが弱点。

メーカページ:BLUBOO X550製品ページ

CPU: MT6535P
RAM: 2GB
ROM: 16GB
液晶 5.5インチ 1280×720
バッテリー: 5300mAh
カメラ:前面200万画素、背面500万画素

・丸い感じのDOOGEE VALENCIA2 Y100 Pro
ソニーの1300万画素CMOSカメラを使っているのが売りのモデル。
最近、ソニーのCMOSカメラがiPhoneにとられて供給難というニュースがあったが、確かに、一時期1300万画素カメラ搭載というとソニー、という風にうたっていたが、最近はSamsungとなっている場合も増えてきている。
同ランク帯にあるJIAYU S3もSony 1300万画素カメラだが、LTE B1(2100Mhz)非対応なので推奨しない。

DOOGEEはちょっと古めの機種に対しても継続的にアップデートを提供してくれたりする。

なお、Nova Y100Xというちょっと似た機種のモデルはSoCがMT6582搭載の下位モデルなので注意。

メーカページ:「Valencia2 Y100 Pro製品ページ

CPU: MT6535
RAM: 2GB
ROM: 16GB
液晶 5.0インチ 1280×720
バッテリー: 2500mAh
カメラ:前面500万画素、背面1300万画素(ソニーCMOS)

・背面デザイン Elephone S2/S2 Plus
背面がガラスカット風にデザインされているのが特徴の、比較的薄型(6.8mm)のAndroid。
液晶以外はスペック共通で、5.0インチのS2と、5.5インチのS2 Plus、がある。
iPhone6っぽい感じもある。

Elephoneは公式サポートの結構ゆるく、公式フォーラムでいろいろやり取りがある。
公式サポートの面子が、Cynanogenmodイメージの配布とかしてくるのは予想外だったよ。

メーカページ:「Elephone S2」「Elephone S2 Plus

CPU: MT6535
RAM: 2GB
ROM: 16GB
液晶 5.0インチ 1280×720 / 5.5インチ 1280×720
バッテリー: 2100mAh / 2600mAh
カメラ:前面200万画素、背面1300万画素

Orange pi 2でlshwを取得

Orange pi2でlshwを実行した結果をメモとして保存。

root@orangepi:~# lshw
orangepi
    description: Computer
    width: 32 bits
  *-core
       description: Motherboard
       physical id: 0
     *-memory
          description: System memory
          physical id: 0
          size: 1003MiB
     *-cpu
          physical id: 1
          bus info: cpu@0
          size: 1200MHz
          capacity: 1200MHz
          capabilities: cpufreq
  *-network:0
       description: Wireless interface
       physical id: 1
       logical name: wlan1
       serial: 56:e4:bd:yy:yy:yy
       capabilities: ethernet physical wireless
       configuration: broadcast=yes driver=rtl8189es driverversion=3.4.39 firmware=N/A link=no multicast=yes wireless=IEEE 802.11abgn
  *-network:1
       description: Wireless interface
       physical id: 2
       logical name: wlan0
       serial: 54:e4:bd:yy:yy:yy
       capabilities: ethernet physical wireless
       configuration: broadcast=yes driver=rtl8189es driverversion=3.4.39 firmware=N/A link=no multicast=yes wireless=IEEE 802.11abgn
  *-network:2
       description: Ethernet interface
       physical id: 3
       logical name: eth0
       serial: 0e:ef:0f:xx:xx:xx
       size: 100Mbit/s
       capacity: 100Mbit/s
       capabilities: ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=sunxi_geth driverversion=SUNXI Gbgit driver V1.1 duplex=full ip=192.168.1.xx link=yes multicast=yes port=MII speed=100Mbit/s
root@orangepi:~# lshw -businfo
Bus info  Device  Class      Description
========================================
                  system     Computer
                  bus        Motherboard
                  memory     1003MiB System memory
cpu@0             processor
          wlan1   network    Wireless interface
          wlan0   network    Wireless interface
          eth0    network    Ethernet interface
root@orangepi:~#

おや?CPUコアがcpu@1だけなのか?

root@orangepi:~# cat /proc/cpu
cat: /proc/cpu: Is a directory
root@orangepi:~# cat /proc/cpuinfo
Processor       : ARMv7 Processor rev 5 (v7l)
processor       : 0
BogoMIPS        : 4800.00

processor       : 1
BogoMIPS        : 4800.00

processor       : 2
BogoMIPS        : 4800.00

Features        : swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x0
CPU part        : 0xc07
CPU revision    : 5

Hardware        : sun8i
Revision        : 0000
Serial          : 0400519006183c1806cc
root@orangepi:~# cat /proc/meminfo
MemTotal:        1027348 kB
MemFree:          736256 kB
Buffers:           29840 kB
Cached:           203032 kB
SwapCached:            0 kB
Active:           144444 kB
Inactive:         107744 kB
Active(anon):      19388 kB
Inactive(anon):      160 kB
Active(file):     125056 kB
Inactive(file):   107584 kB
Unevictable:           0 kB
Mlocked:               0 kB
HighTotal:        270336 kB
HighFree:          68636 kB
LowTotal:         757012 kB
LowFree:          667620 kB
SwapTotal:        102396 kB
SwapFree:         102396 kB
Dirty:                40 kB
Writeback:             0 kB
AnonPages:         19312 kB
Mapped:            16156 kB
Shmem:               236 kB
Slab:              18324 kB
SReclaimable:       9716 kB
SUnreclaim:         8608 kB
KernelStack:         792 kB
PageTables:          644 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:      616068 kB
Committed_AS:      97612 kB
VmallocTotal:     245760 kB
VmallocUsed:       29976 kB
VmallocChunk:     212864 kB
root@orangepi:~#

こっちだとProcessor0,1,2と、3つ見える。

見え方について微妙な感じなのか?

Orange pi2/Allwinner H3関連のメモ

SoCとしてAllwinner H3を採用しているOrange pi2/Orange pi plusについての開発メモ。

・Allwinner用Linux kernelの総本山
 →Linux-sunxi
・総本山にあるOrange pi関連の資料
  Xunlong Orange Pi 2
  Xunlong Orange Pi Plus
・ビルドに必要らしい.fexのファイル
  https://github.com/vonfritz/sunxi-boards/tree/H3/sys_config/H3
・総本山にあるH3向けビルドガイド
 →H3 Manual build howto
・Allwinner H3のアーキテクチャ名は「sun8iw7p1」らしい

・Orange pi向けだけどBanana Linuxをビルドした話
  [TUTO] How to compile Kernel & Headers (from banana pi github)
  Orange piはAllwinner A20であることに注意

・Banana pi向けDebianの作り方
  https://github.com/igorpecovnik/BananaPI-Debian
  Banana piはAllwinner A20であることに注意

・Banana piの開発元Lemakerのlinux-sunxi
  https://github.com/LeMaker/linux-sunxi

・Orange pi以外のAllwinner H3搭載機 HYH-TBH3
  linux-sunxiでの情報:HYH-TBH3
  STB風のもの
  Aliexpressの販売ページ: /
・Orange pi以外のAllwinner H3搭載機 Tronsmart Draco H3
  メーカページ:Tronsmart Draco H3
  メーカのサポートページ:Category Archives: Tronsmart Draco H3
   SDKやAndroid firmwareがある
   720p用kernelと1080p用kernelがあるのが興味深い
  Linux-sunxiにはまだ情報はない(2015/06/24)

proxmox/openvzでCentOS7のコンテナを作ったけど通信ができない

Debianベースの仮想化環境Proxmox VEは、KVM/qemuベースのハードウェア仮想と、OpenVZのコンテナ仮想の2種類が使用できる。

このうち、OpenVZのコンテナの方で、CentOS7を作ったところ、通信が行えないという現象が発生した。

元となるCentOS7のOpenVZテンプレートは、「OpenVZ公式 Download/template/precreated」から入手した。

で、普通に導入して起動してみると、IPアドレスが割り当てられていない。

root@proxmox:~# vzctl start 777
Starting container ...
Container is mounted
Adding IP address(es): 192.168.35.20
vSetting CPU units: 1000
Setting CPUs: 2
zContainer start in progress...
root@proxmox:~# vzctl enter 777
entered into CT 777
[root@centos7 /]# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: venet0: <BROADCAST,POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN
    link/void
    inet 127.0.0.1/32 scope host venet0
[root@centos7 /]#

検索してみると、すぐに情報が出てきた。
NO IP ADDRESS IN PROXMOX OPENVZ CENTOS 7 CONTAINER

RHEL/CentOS 7.1におけるバグで、「Bug 1207975 – ifup-aliases does not proper catch arping failure」にて修正されているとのこと。

起動時にネットワークを有効化している /etc/sysconfig/network-scripts/ifup-aliases 内の

if ! /sbin/arping -q -c 2 -w ${ARPING_WAIT:-3} -D -I ${parent_device} ${IPADDR} ; then

という条件式の書き方に問題があるようで

/sbin/arping -q -c 2 -w ${ARPING_WAIT:-3} -D -I ${parent_device} ${IPADDR}
if [ $? = 1 ] ; then

と2行に分けることで回避できるとのこと。

なので、起動しているコンテナ内の/etc/sysconfig/network-scripts/ifup-aliasesを書き換えることで対処できました。

[root@centos7 ~]# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: venet0: <BROADCAST,POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN
    link/void
    inet 127.0.0.1/32 scope host venet0
    inet 192.168.35.20/32 brd 192.168.35.20 scope global venet0:0
[root@centos7 ~]#