# Windows Mobile 5+ as Gateway (简体中文)

可以通过支持 GPRS/EDGE 或者 3G 的 WM 设备上网。如果是 WM2003 设备，需要将设备设置成 GPRS-modem （参见Bluetooth GPRS Howto), WM5 或者更高版本的设备可以将设备设置为 NAT 网关。

有两种方法可以用你的WM设备与PC共享网络：通过USB，或者通过蓝牙PAN。

## USB连接

### WM设备配置

- 设置 GPRS/EDGE 或者 3G 网络连接。
- 进入开始 > 设置 > 连接 > 由USB连接到PC.勾选“启用高级网络功能 ”

### PC设置

你需要的只是USB RNDIS 驱动. 实际上它已经包含在官方内核中(`/lib/modules/$(uname -r)/kernel/drivers/usb/net` 目录中的 `cdc_ether.ko`, `rndis_host.ko` 和 `usbnet.ko`),但是它可能对你不起作用。如果是这样，需要从SynCE project下载并安装rndis-usb-lite驱动，或者通过 AUR 的 usb-rndis-lite 软件包可以下载和安装驱动。

#### 手动安装 SynCE 驱动

安装 base-devel 软件包就可以编译驱动。首先从 SynCE 源代码安装页面 选择下载链接，按照 SynCE 下载页面 的指令下载。解压并进入源代码目录，使用 make 编译：

    $ make

不要 `make install`. 将生成的三个内核模块(.ko 扩展名): `cdc_ether.ko`,`rndis_host.ko` 和 `usbnet.ko` 替代内核中的默认版本。可以直接将文件复制到 `/lib/modules/$(uname -r)/kernel/drivers/usb/net` 目录，覆盖已有版本。更好的方式是放到 `/lib/modules/$(uname -r)/updates` 目录，这样就会被优先使用。

    mkdir /lib/modules/$(uname -r)/updates
    cp *.ko /lib/modules/$(uname -r)/updates
    depmod -ae

重启机器或手动装入内核。

现在通过 USB 线连接 WM 设备到 PC，应该能够找到网络接口(usually rndis0). 通过`ip a`查看。

使用官方内核驱动可以找到设备，但是有些用户发现启用 Internet sharing 的时候设备会消失。

### 连接网络

- 将你的设备通过USB线与PC相连。
- 在你的设备上打开 开始 > 附件 > Internet 共享.在“PC连接”栏选择“USB”，并选择合适的“网络连接”。 然后按下"连接"软键等待网络连接成功。
- 在你的电脑上开启rndis0 (在你的电脑上可能是其他的接口名称）接口 (通常执行这步及以下几步指令需要root权限).

    # ip link set dev rndis0 up

- 通过dhcp获得ip地址.

    dhcpcd rndis0

  如果使用 dhclient：

    dhclient rndis0

如果使用连接管理器，如wicd, NetworkManager, Network profiles 等，可以用它们启用设备并连接网络。

这样设备就应该有一个 IP 为 192.168.0.x 和 192.168.0.1 (设备的 IP) 作为默认网关。

## 蓝牙 PAN 连接

一下配置在 Windows Mobile 6.5 设备验证通过。

### WM 设备配置

- 配置 GPRS/EDGE 或 3G 网络连接
- 在 "Beam" 配置中启用 "Receive all incoming beams"
- 打开蓝牙并设置为其可见
- 将蓝牙与 PC 配对
- 运行 "Internet Sharing" 程序并配置为 "Bluetooth PAN"

### PC 配置

以管理员权限运行如下脚本:

    modprobe bnep
    for attempt in {1..3}; do
    pand -n connect AA:BB:CC:DD:EE:FF && break
    done
    sleep 1
    ip link set dev bnep0 up
    dhcpcd bnep0

`AA:BB:CC:DD:EE:FF` 为蓝牙设备的地址。

Category:

- Networking (简体中文)