GL01PをUSBモデムとして使う。
emobileのGL01PがアップデートでUSBモデム機能に対応したとのこと。
なので、Linuxで動作を確認してみた。
まずはデバイス情報をlsusbで確認。
$ lsusb Bus 002 Device 019: ID 12d1:1f01 Huawei Technologies Co., Ltd.
$ lsusb -t Port 4: Dev 19, If 0, Class=Mass Storage, Driver=usb-storage, 480M
定番通り usb_modeswitch で切り替える。
HuaweiのE353が同じVID,PIDで、挙動も同じ。
$ sudo usb_modeswitch -v 12d1 -p 1f01 -c /etc/usb_modeswitch.d/12d1\:1f01 Looking for target devices ... No devices in target mode or class found Looking for default devices ... found matching product ID adding device Found device in default mode, class or configuration (1) Accessing device 019 on bus 002 ... Getting the current device configuration ... OK, got current device configuration (1) Using interface number 0 Using endpoints 0x01 (out) and 0x81 (in) Inquiring device details; driver will be detached ... Looking for active driver ... OK, driver found; name unknown, limitation of libusb1 OK, driver "unkown" detached SCSI inquiry data (for identification) ------------------------- Vendor String: HUAWEI Model String: SD Storage Revision String: 2.31 ------------------------- USB description data (for identification) ------------------------- Manufacturer: Huawei Technologies Product: HUAWEI Mobile Serial No.: not provided ------------------------- Setting up communication with interface 0 Using endpoint 0x01 for message sending ... Trying to send message 1 to endpoint 0x01 ... OK, message successfully sent Resetting response endpoint 0x81 Resetting message endpoint 0x01 Device is gone, skipping any further commands -> Run lsusb to note any changes. Bye.
dmesgを確認すると、シリアル・ポートが認識できていることが確認できる。
$ sudo dmesg [356528.448352] usb 2-1.3.4: new high-speed USB device number 19 using ehci-pci [356528.525519] usb 2-1.3.4: New USB device found, idVendor=12d1, idProduct=1f01 [356528.525523] usb 2-1.3.4: New USB device strings: Mfr=3, Product=2, SerialNumber=0 [356528.525526] usb 2-1.3.4: Product: HUAWEI Mobile [356528.525529] usb 2-1.3.4: Manufacturer: Huawei Technologies [356528.528262] scsi9 : usb-storage 2-1.3.4:1.0 [356529.528556] scsi 9:0:0:0: Direct-Access HUAWEI SD Storage 2.31 PQ: 0 ANSI: 2 [356529.529639] sd 9:0:0:0: Attached scsi generic sg7 type 0 [356529.532343] sd 9:0:0:0: [sdg] Attached SCSI removable disk [356535.760011] sd 9:0:0:0: [sdg] 3878912 512-byte logical blocks: (1.98 GB/1.84 GiB) [356535.761672] sd 9:0:0:0: [sdg] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA [356535.767574] sdg: sdg1 [356906.948322] sd 9:0:0:0: [sdg] Synchronizing SCSI cache [356906.951955] usb 2-1.3.4: usbfs: process 27780 (usb_modeswitch) did not claim interface 0 before use [356907.098500] usb 2-1.3.4: USB disconnect, device number 19 [356915.434539] usb 2-1.3.4: new high-speed USB device number 20 using ehci-pci [356915.512444] usb 2-1.3.4: New USB device found, idVendor=12d1, idProduct=1442 [356915.512449] usb 2-1.3.4: New USB device strings: Mfr=3, Product=2, SerialNumber=0 [356915.512452] usb 2-1.3.4: Product: HUAWEI Mobile [356915.512455] usb 2-1.3.4: Manufacturer: Huawei Technologies [356915.514341] option 2-1.3.4:1.0: GSM modem (1-port) converter detected [356915.514639] usb 2-1.3.4: GSM modem (1-port) converter now attached to ttyUSB0 [356915.514719] option 2-1.3.4:1.1: GSM modem (1-port) converter detected [356915.514862] usb 2-1.3.4: GSM modem (1-port) converter now attached to ttyUSB1
usb_modeswitch実行後のlsusb結果を見ると、2つのVendor specific classがあり、usb_wwan(option)がロードできていることを確認。
$ lsusb Bus 002 Device 020: ID 12d1:1442 Huawei Technologies Co., Ltd. $ lsusb -t |__ Port 4: Dev 20, If 0, Class=Vendor Specific Class, Driver=option, 480M |__ Port 4: Dev 20, If 1, Class=Vendor Specific Class, Driver=option, 480M
cutecom /dev/ttyUSB0 でIF 0のシリアルコンソールを開きATコマンドの実行を確認。
ttyUSB1は非請求リザルトやらGPSやらが変える方だと思う。
イーモバイルのこのあたりのモデムはCIDが16まであって、だいたい16にデフォルトAPNが書かれてるイメージ。
ドコモみたいに初期化してもデフォルト値にならないけれど。
CIDの1は純正のユーティリティが設定プロファイルが接続実行時に書き換えてる。
QualcommとHuaweiのspecificなATコマンドが通るので、後は適当に試していけばO.K.
QMIのポートは見えない模様。
$ cutecom (cutecomを実行し、適宜ATコマンドを発行) AT+CGDCONT? +CGDCONT: 1,"IP","","0.0.0.0",0,0 +CGDCONT: 16,"IP","em.std","0.0.0.0",0,0 OK AT+CGDCONT=? +CGDCONT: (1-16),"IP",,,(0-2),(0-4) +CGDCONT: (1-16),"PPP",,,(0-2),(0-4) +CGDCONT: (1-16),"IPV6",,,(0-2),(0-4) +CGDCONT: (1-16),"IPV4V6",,,(0-2),(0-4) OK