QLOOKアクセス解析
WHAT.txt archives

ご案内 _ 由無しEssay _ 由無しDiary _ プログラム _ Regist"o"ry _ 座右のメイド _ PC記録-2,3,4

INFOBAR C01 USBテザリング


 
前回の続きです。
 テザリングメニューからUSBテザリングも使用可能です。
 Windows Vista 以降ならパソコンとUSB通信ケーブルで繋ぐだけでドライバが自動的にインストールされ使えるようになります。
 Windows XP の場合にはドライバファイルが必要です。
 ですが、有名な tetherxp.inf は使いません。

 Windows XP のメーカーサポートは終了しましたが、一部ローカルな用途では当面まだ現役の所もありますから、需要アリと見込んで記事にしてみました。







 さて、tetherxp.inf(Android.com) について。
 Windows XP用のRNDISドライバとして事実上標準になっていますが、signatureは「$CHICAGO$」、Win9x用なんですよね。
 ところがMicrosoftによれば、Win9xはRNDISに非対応です。
 書き方が古いわけです。使えてるとはいえ。
 一方、ActiveSync 4.5をインストールすると、USBテザリングできるという情報があります(一例)。

 tetherxp.inf を使う場合、接続されたUSB機器に一致するVIDとPIDの組み合わせを記述してRNDISドライバとします。
 しかし ActiveSync そして Windows Vista 以降では、端末の種類やメーカーに依存しないRNDISドライバが入ります。
 接続されたUSB機器の「機能」を表す (Base)Class、SubClass、Prot(ocol)の組み合わせが記述してあるからです。



 USB.org - Defined 1.0 Class Codes
 http://www.usb.org/developers/defined_class



 RNDISを示す組み合わせは2パターンあります。

 (a) BaseClass=E0、SubClass=01、Protocol=03
 (b) BaseClass=EF、SubClass=04、Protocol=nn

 INFOBAR C01は(a)を返してきます。
 不完全な C:\Windows\inf\netrndis.inf を編集して、機種依存しない RNDIS ドライバ定義を完成させます。


 変更箇所は3つ。


 1. Manufacturerセクション
 「%Msft% = Msft」の後ろに「,NTx86,NTamd64」を付け足します。

 2. Msftセクション
 削除して、次の4行を書き足します。
  [Msft.NTx86]
  %Msft% = usb_rndis.ndi, USB\Class_E0&SubClass_01&Prot_03
  [Msft.NTamd64]
  %Msft% = usb_rndis.ndi, USB\Class_E0&SubClass_01&Prot_03

 3. usb_rndis.ndi
 「BusType = 15」を1行書き足します。


 以上を変更して上書き保存するまでが、USBテザリングの前準備です。




1.INFOBAR C01 でテザリングメニューを表示する
  Tethering Shortcut等を使用します。



2.PC と INFOBAR C01 をUSB通信ケーブルで接続する




3.USBテザリングを有効にする




4.PC で新しいデバイスが見つかり、ドライバが自動インストールされる
  ドライバファイルの場所を示すよう要求されたら、
   c:\windows\inf\netndis.inf
  もしくは、同等の内容に編集した inf ファイルの場所を
  指定してやります。




 




 一応、修正後の inf ファイルの中身を貼っておきます。
 これを inf ファイルとして保存して、C01 のsdcard に保存しておくと便利かもしれません。


;-------------------------------------------------------------------------------
; NETRNDIS.INF
;
; Generic RNDIS USB Adapter INF file
;
; Copyright (c) Microsoft Corporation. All rights reserved.


[version]
Signature = "$Windows NT$"
Class = Net
ClassGUID = {4d36e972-e325-11ce-bfc1-08002be10318}
Provider = %Msft%
DriverVer =07/01/2001,5.1.2535.0
Layoutfile = Layout.inf

[ControlFlags]
ExcludeFromSelect=*
[Manufacturer]
%Msft% = Msft,NTx86,NTamd64


[DestinationDirs]
DefaultDestDir=12
rndisxCopyFiles=12

;-------------------------------------------------------------------------------
; This is a template INF. IHV INFs are expected to reference this INF.
;
[Msft.NTx86]
%Msft% = usb_rndis.ndi, USB\Class_E0&SubClass_01&Prot_03

[Msft.NTamd64]
%Msft% = usb_rndis.ndi, USB\Class_E0&SubClass_01&Prot_03


;-------------------------------------------------------------------------------
; USB RNDIS Adapter DDInstall and Services section
;
[usb_rndis.ndi]
Characteristics = 0x84
BusType = 15
AddReg = usb_rndis.Reg, usb_rndis_AddReg_Common
CopyFiles = rndisxCopyFiles

[rndisxCopyFiles]
rndismpx.sys
usb8023x.sys

[usb_rndis.ndi.Services]
AddService = usb_rndisx, 2, usb_rndis.Service, usb_rndis.EventLog

;-----------------------------------------------------------------------------
; USB RNDIS Adapter Registry section
;
[usb_rndis.Reg]
HKR, , BusNumber, 0, "0"
HKR, Ndi, Service, 0, "usb_rndisx"
HKR, Ndi\Interfaces, UpperRange, 0, "ndis5"
HKR, Ndi\Interfaces, LowerRange, 0, "ethernet"

[usb_rndis_AddReg_Common]
HKR, NDI\params\NetworkAddress, ParamDesc, 0, %NetworkAddress%
HKR, NDI\params\NetworkAddress, type, 0, "edit"
HKR, NDI\params\NetworkAddress, LimitText, 0, "12"
HKR, NDI\params\NetworkAddress, UpperCase, 0, "1"
HKR, NDI\params\NetworkAddress, default, 0, " "
HKR, NDI\params\NetworkAddress, optional, 0, "1"

;-----------------------------------------------------------------------------
; Driver and Service Section
;

[usb_rndis.Service]
DisplayName = %usb_rndis.Service.DispName%
ServiceType = 1 ;%SERVICE_KERNEL_DRIVER%
StartType = 3 ;%SERVICE_DEMAND_START%
ErrorControl = 1 ;%SERVICE_ERROR_NORMAL%
ServiceBinary = %12%\usb8023x.sys
LoadOrderGroup = NDIS

[usb_rndis.EventLog]
AddReg = usb_rndis.AddEventLog.Reg

[usb_rndis.AddEventLog.Reg]
HKR, , EventMessageFile, 0x00020000, "%%SystemRoot%%\System32\netevent.dll"
HKR, , TypesSupported, 0x00010001, 7


;-----------------------------------------------------------------------------
; Localizable Strings
;
[Strings]
Msft = "Microsoft"
usb_rndis.DeviceDesc = "USB RNDIS アダプタ"
usb_rndis.Service.DispName = "USB RNDIS Adapter"
NetworkAddress = "ネットワーク アドレス"

2014年04月18日(金) No.287 (携帯スマホの話題::INFOBAR C01)
Comment(2)

この記事へのコメント

この記事へのコメントは以下のフォームからどうぞ

Name
E-Mail
URL
感想
500文字まで
投稿キー E謄ーを右に記入して下さい
Pass
No. PASS