Vodafone/Huawei K3770 with usb_modeswitch

Stuff that plugs in via USB, FireWire, eSATA, PS/2, etc.

Vodafone/Huawei K3770 with usb_modeswitch

Postby Ahmed » 30 Mar 2012, 19:07

Hi all,

I am trying to get a "Vodafone/Huawei K3770" working on FreeBSD 8.2.

When I insert the modem, I find only 2 USB files for it under [FILE]/dev/usb[/FILE].

Code: Select all
# usbconfig -u 7 -a 2 dump_device_desc
ugen7.2: <Vodafone Mobile Broadband (Huawei) HUAWEI> at usbus7, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON

  bLength = 0x0012
  bDescriptorType = 0x0001
  bcdUSB = 0x0200
  bDeviceClass = 0x0000
  bDeviceSubClass = 0x0000
  bDeviceProtocol = 0x0000
  bMaxPacketSize0 = 0x0040
  idVendor = 0x12d1
  [B]idProduct = 0x14d1[/B]
  bcdDevice = 0x0102
  iManufacturer = 0x0002  <HUAWEI>
  iProduct = 0x0001  <Vodafone Mobile Broadband (Huawei)>
  iSerialNumber = 0x0000  <no string>
  bNumConfigurations = 0x0001

# file /dev/usb/7.2*
/dev/usb/7.2.0:  character special
/dev/usb/7.2.15: character special


I am using [FILE]usb_modeswitch[/FILE] to activate the modem.

Code: Select all
# usb_modeswitch -v 0x12d1 -p 0x14d1 -c 12d1\:14d1

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 012 on bus 000 ...
Getting the current device configuration ...
 OK, got current device configuration (1)
Using first interface: 0x00
Using endpoints 0x0f (out) and 0x8f (in)
Inquiring device details; driver will be detached ...
 Cant't do driver detection and detaching on this platform.

SCSI inquiry data (for identification)
-------------------------
  Vendor String: Vodafone
   Model String: CD ROM (Huawei)
Revision String: 2.31
-------------------------

USB description data (for identification)
-------------------------
Manufacturer: HUAWEI
     Product: Vodafone Mobile Broadband (Huawei)
  Serial No.: not provided
-------------------------
Setting up communication with interface 0
Using endpoint 0x0f for message sending ...
Trying to send message 1 to endpoint 0x0f ...
 OK, message successfully sent
Resetting response endpoint 0x8f
Resetting message endpoint 0x0f
-> Run lsusb to note any changes. Bye.


The contents of [FILE]12d1:14d[/FILE] is:

Code: Select all
TargetVendor=0x12d1
TargetProduct=0x14c9

MessageContent="55534243123456780000000000000011062000000100000000000000000000"


After I issue the command, I could see more devices added to [FILE]/dev/usb[/FILE] and the Product ID changes accordingly.

Code: Select all
# usbconfig -u 7 -a 2 dump_device_desc
ugen7.2: <Vodafone Mobile Broadband (Huawei) HUAWEI> at usbus7, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON

  bLength = 0x0012
  bDescriptorType = 0x0001
  bcdUSB = 0x0200
  bDeviceClass = 0x0000
  bDeviceSubClass = 0x0000
  bDeviceProtocol = 0x0000
  bMaxPacketSize0 = 0x0040
  idVendor = 0x12d1
  idProduct = 0x14c9
  bcdDevice = 0x0102
  iManufacturer = 0x0003  <HUAWEI>
  iProduct = 0x0002  <Vodafone Mobile Broadband (Huawei)>
  iSerialNumber = 0x0000  <no string>
  bNumConfigurations = 0x0001

# file /dev/usb/7.2*
/dev/usb/7.2.0:  character special
/dev/usb/7.2.10: character special
/dev/usb/7.2.11: character special
/dev/usb/7.2.12: character special
/dev/usb/7.2.13: character special
/dev/usb/7.2.14: character special
/dev/usb/7.2.15: character special
/dev/usb/7.2.9:  character special


After that I did [FILE]dmesg[/FILE], but I see the device to be detected as a [FILE]umass[/FILE] storage.

Code: Select all
# dmesg | tail
umass0:  SCSI over Bulk-Only; quirks = 0x0000
umass0:0:0:-1: Attached to scbus0
(probe0:umass-sim0:0:0:0): TEST UNIT READY. CDB: 0 0 0 0 0 0
(probe0:umass-sim0:0:0:0): CAM status: SCSI Status Error
(probe0:umass-sim0:0:0:0): SCSI status: Check Condition
(probe0:umass-sim0:0:0:0): SCSI sense: NOT READY asc:3a,0 (Medium not present)
cd0 at umass-sim0 bus 0 scbus0 target 0 lun 0
cd0: <Vodafone CD ROM (Huawei) 2.31> Removable CD-ROM SCSI-2 device
cd0: 40.000MB/s transfers
cd0: Attempt to query device size failed: NOT READY, Medium not present


I found out that under linux the "[FILE]usbserial[/FILE]" module is unloaded then loaded using:

[cmd=]# modprobe usbserial vendor=0x12d1 product=0x14c9[/cmd]

But I don't know how to do that under FreeBSD.

I have no clue what to do, and any help is very much appreciated.

Best Regards,
Ahmed
Ahmed
Junior Member
 
Posts: 8
Joined: 09 Aug 2009, 09:47
Location: Cairo, Egypt

Return to Peripheral Hardware

Who is online

Users browsing this forum: No registered users and 0 guests