2010年から2015年まではてなダイアリーで更新ししていたブログです。
現在は「パンクはいつも突然に」に統合して更新しています。

もしかしてこれはニセXiaomi?

 adb接続がなかなかうまくいかなくて情報を探しているうちに何か妙だと気がついた。

kazz@oscar ~# sudo lsusb -vs 001:015

Bus 001 Device 015: ID 0e8d:201d MediaTek Inc.
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x0e8d MediaTek Inc.
idProduct 0x201d
bcdDevice ff.ff
iManufacturer 2 MediaTek
iProduct 3 LTE829
iSerial 4 0123456789ABCDEF
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 62
bNumInterfaces 2
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
Self Powered
MaxPower 500mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 3
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 0
iInterface 18 MTP
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x001c 1x 28 bytes
bInterval 6
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 66
bInterfaceProtocol 1
iInterface 17 ADB Interface
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Device Qualifier (for other device speed):
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
bNumConfigurations 1
Device Status: 0x0001
Self Powered

 ウェブで集めた情報だとxiaomiのidVendorは2717のはずなんだが、0e8dになっている。しかもiManuifacturerはXiaomiではなくMedia Tek。以下のページのlsusbの結果とは明らかに違う。
adb connect from ubuntu 13.4 | Unofficial International MIUI / Xiaomi Phone Support

 0e8dは確かにMediaTekのIDのようだ。
USB_ModeSwitch • View topic - False operation on some Mediatek devices

 もう少し調べる。XiaomiのシンガポールバージョンということでGooglePlayや日本語対応がはじめからセットされているけど、実は違うOEMのハードウェアにXiaomiのMIUI OS(Xiaomiは元々OS作っていたらしい)載せているのか?ニセモノではないとは思うんだが。ちなみにMediaTekはXiaomiと親密な部品メーカー。

 どうみてもXiaomiのロゴなんですが。

 ついでにモードごとの違い。
 MTPモード

Bus 001 Device 017: ID 0e8d:200b MediaTek Inc.

 PTPモード

Bus 001 Device 003: ID 0e8d:200c MediaTek Inc.

 内蔵CD−ROMモード

Bus 001 Device 018: ID 0e8d:2002 MediaTek Inc.

 うむ、先日のHTC表示はなんだったんだ?