如何让 iball 3.5G 调制解调器在 Ubuntu 上运行?

gya*_*anu 4 networking modem

我在 1 个月前购买了 iball 3.5G 连接无线调制解调器。我正在尝试将它与装有 ubuntu 操作系统的笔记本电脑连接。将其插入ubuntu系统后,它无法连接网络。

此调制解调器即插即用,但插入后系统没有显示任何内容。

我期待通过您专家的建议,逐步将这个调制解调器与我的 ubuntu 12.04 LTS 系统连接起来。

Spa*_*Kot 6

现在可能有点晚了,但我无法在我的Ubuntu 12.04上使用iBall 3.5g v2.0进行连接。在线提供的所有指南都没有用。

编辑:首先是我用来连接 iBall3.5G 的 BashScript

#!/bin/bash
set -x
usb_modeswitch -W -n -I -v 05c6 -p f000 -V 05c6 -P 0016 -M 55534243e0793c88000000000000061b000000020000000000000000000000 > /dev/null 2>&1
modprobe usb_wwan
modprobe option
echo 05C6 0016 > /sys/bus/usb-serial/drivers/option1/new_id
Run Code Online (Sandbox Code Playgroud)

启用 USB 无线加密狗进行连接需要 5 到 15 秒。

现在调试问题:

用例

iBall 3.5G v2.0适用于WinXP(SP3)而不适用于Ubuntu 12.04

注意:它可能不适合您的问题,因为我阅读的许多在线解决方案对我都不起作用。通读匹配场景的步骤。

您需要管理员/root 权限才能执行以下步骤

第1步:

将加密狗(USB 数据卡)插入运行 Ubuntu 的 USB 端口。

第2步:

tail /var/log/kern.log 看看它是如何被检测到的

root@SiRi-Inspiron-3521:~# tailf /var/log/kern.log

kernel: [12607.331240] usb 3-2: new high-speed USB device number 12 using xhci_hcd
kernel: [12607.348772] usb 3-2: config 1 has an invalid interface number: 5 but max is 0
kernel: [12607.348788] usb 3-2: config 1 has no interface number 0
kernel: [12607.352291] scsi21 : usb-storage 3-2:1.5
kernel: [12608.352700] scsi 21:0:0:0: CD-ROM            3G Modem Mass Storage     2.31 PQ: 0 ANSI: 2
kernel: [12608.357251] sr1: scsi-1 drive
kernel: [12608.357554] sr 21:0:0:0: Attached scsi CD-ROM sr1
kernel: [12608.357754] sr 21:0:0:0: Attached scsi generic sg3 type 5
Run Code Online (Sandbox Code Playgroud)

注意:接口被识别为无效。显然这是所有问题的原因。

第 3 步:

找出默认的供应商和产品 ID

在 Ubuntu 上使用命令lsusb。设备的典型输出,为了清楚起见,我已经从输出中删除了其他输出

root@SiRi-Inspiron-3521:~# lsusb
Bus 003 Device 012: ID 05c6:f000 Qualcomm, Inc.
Run Code Online (Sandbox Code Playgroud)

您可以运行lsusb -v -d 05c6:f000的详细输出通知idVendoridProduct ; 这些是 Ubuntu 检测到的默认 ID。典型输出:

root@SiRi-Inspiron-3521:~# lsusb -v -d 05c6:f000

Bus 003 Device 012: ID 05c6:f000 Qualcomm, Inc. 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x05c6 Qualcomm, Inc.
  idProduct          0xf000 
  bcdDevice            0.00
  iManufacturer           3   
  iProduct                2 iBall 3.5G Wireless Modem
  iSerial                 4 1234567890ABCDEF
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           32
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          1 iBall 3.5G Wireless Modem
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        5
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         8 Mass Storage
      bInterfaceSubClass      6 SCSI
      bInterfaceProtocol     80 Bulk-Only
      iInterface              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     0x81  EP 1 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
Run Code Online (Sandbox Code Playgroud)

对于有经验的人来说,这是一个不完整的列表。

第四步:

找出有效的 VendorID 和 ProductID。由于iBall3.5GWinXP(SP3) 上运行, 我们可以从iBall 连接管理器生成的日志中提取 ID 。

当您在WinXP(SP3)上使用iBall 连接管理器进行连接时,会记录交换的 USB 消息。文件名可能不同:注意 Matching hardware ID: usb\vid_05c6&pid_0016&mi_04

文件:C:\WINDOWS\ModemLog_3GUSB Modem.txt

02-09-2014 03:47:19.390 - Modem type: 3GUSB Modem
02-09-2014 03:47:19.390 - Modem inf path: oem119.inf
02-09-2014 03:47:19.390 - Modem inf section: Modem2
02-09-2014 03:47:19.390 - Matching hardware ID: usb\vid_05c6&pid_0016&mi_04
02-09-2014 03:47:19.390 - 115200,8,N,1, ctsfl=0, rtsctl=1
02-09-2014 03:47:19.406 - Initializing modem.
02-09-2014 03:47:19.406 - CD is high while initializing modem.
02-09-2014 03:47:19.406 - Send: AT<cr>
Run Code Online (Sandbox Code Playgroud)

如果没有安装iBall 连接管理器,那没关系,我们稍后再安装。

第 5 步:

找出如何在WinXP(SP3)default (Vendor, Product) IDs切换=>working (Vendor, Product) IDsSwitch Event

我们需要SniffUSB_v2.0捕获Dongle(USB MoDem) & OS驱动程序安装期间交换的消息。

注意:我不知道 WinXP(sp3) 上已经存在的其他选项可以帮助捕获所需的数据包。

从 pcausa.com下载适用于 WinXP 的 SniffUSB(SP3) UsbSnoop for WinXP 的页面

在撰写本文SniffUSB-x86-2.0.0006.zip时可用。

第 6 步:

如果您已经安装了 iBall 连接管理器和驱动程序,则卸载它们。我们需要捕获switch event,记得吗?

第 7 步:

运行SniffUSB.exe- 记住管理员权限。

插入加密狗,您将看到如下所示的内容。 在 SniffUSB GUI 上检测到加密狗

您可以看到列出的默认(供应商、产品)ID。

选择加密狗插件后出现的那个并单击install过滤器。它隐藏在密码提示后面,如下所示: 安装/启用过滤器选项

第 8 步:

再次删除加密狗和插件。

现在我们启用(安装)了一个特定于我们的过滤器iBall3.5GSniffUSB应该转储交换的数据包。

继续并iBall connection manager & Drivers像往常一样安装。

第 9 步:

到安装完成时,UsbSnoop.log膨胀的大小约为 40 MB。我们只对导致的最后几条消息感兴趣Switch Event

我被告知切换发生在以下消息中:

[255643 ms]  >>>  URB 1351 going down  >>> 
-- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:
  PipeHandle           = 88470914 [endpoint 0x00000001]
  TransferFlags        = 00000000 (USBD_TRANSFER_DIRECTION_OUT, ~USBD_SHORT_TRANSFER_OK)
  TransferBufferLength = 0000001f
  TransferBuffer       = 892ee758
  TransferBufferMDL    = 00000000
    00000000: 55 53 42 43 e0 79 3c 88 00 00 00 00 00 00 06 1b
    00000010: 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00
  UrbLink              = 00000000
[255644 ms] UsbSnoop - MyInternalIOCTLCompletion(9e06f126) : fido=883eab50, Irp=883c79e0, Context=88424980, IRQL=2
[255644 ms]  <<<  URB 1351 coming back  <<<
Run Code Online (Sandbox Code Playgroud)

我仍在尝试了解如何从捕获日志中识别开关: Ubuntu 12.04 问题上的 iBall 3.5G Connect v2.0 setup

该消息55534243e0793c88000000000000061b000000020000000000000000000000将帮助我们手动IDs(Vendor, Product)打开 Ubuntu。

第 10 步:

在 Ubuntu 上,插入加密狗,然后运行以下命令(以 root 身份):

root@SiRi-Inspiron-3521:~# usb_modeswitch -W -n -I -v 05c6 -p f000 -V 05c6 -P 0016 -M 55534243e0793c88000000000000061b000000020000000000000000000000
Run Code Online (Sandbox Code Playgroud)
  • 默认情况下 Ubuntu(12.04) 带有usb_modeswitch(v1.2.3) 包。

注意 IDs(Vendor, Product) 的切换:

root@SiRi-Inspiron-3521:~# lsusb
Bus 003 Device 012: ID 05c6:0016 Qualcomm, Inc.
Run Code Online (Sandbox Code Playgroud)

第 11 步:

获取工作设备文件 /dev/

我被告知05c6:0016USB ID 不直接支持option.ko serial driver(截至目前)

运行以下命令以获取所需的/dev/文件即。[ttyUSB0 .. ttyUSB2]

root@SiRi-Inspiron-3521:~# modprobe usb_wwan
root@SiRi-Inspiron-3521:~# modprobe option
root@SiRi-Inspiron-3521:~# echo "05C6 0016" > /sys/bus/usb-serial/drivers/option1/new_id
Run Code Online (Sandbox Code Playgroud)

您将ttyUSB0, ttyUSB1 & ttyUSB2/dev/目录下看到最需要的列表。

在 5 到 15 秒内,网络应自动列在“移动宽带”下以进行连接。

第 12 步:

现在设备已被识别并准备好工作,连接到互联网就是小菜一碟。

有趣的事实:

所有这些都是为了找出正确的消息 ( 55534243e0793c88000000000000061b000000020000000000000000000000) 和工作 ( Vendor,Product) ID 对来引发切换事件。

PS:

iBall3.5G 带有用于 Linux 的脚本,即。 install, uninstall, wcdma, w-connect-chat, & dialup