Huawei BM325 zerocd issues

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi!

I have a strange problem with Huawei BM325 mobile WiMAX modem which has
a so-called ZeroCD feature. It works ok under Windows:

 * at first it shows up as transparent SCSI bulk-only USB mass
   storage with vid:pid = 12d1:3809.

 * after the driver is installed, it issues SCSI REZERO command, which
   turns device into something completely different with vid:pid =
   12d1:3808. Excerpt from usbsnoop log:

-- URB_FUNCTION_SELECT_CONFIGURATION:
  ConfigurationDescriptor = 0x881a4948 (configure)
  ConfigurationDescriptor : bLength             = 9
  ConfigurationDescriptor : bDescriptorType     = 0x00000002
  ConfigurationDescriptor : wTotalLength        = 0x00000053
  ConfigurationDescriptor : bNumInterfaces      = 0x00000002
  ConfigurationDescriptor : bConfigurationValue = 0x00000001
  ConfigurationDescriptor : iConfiguration      = 0x00000000
  ConfigurationDescriptor : bmAttributes        = 0x00000080
  ConfigurationDescriptor : MaxPower            = 0x000000fa
  ConfigurationHandle     = 0x881fcc58
  Interface[0]: Length            = 56
  Interface[0]: InterfaceNumber   = 0
  Interface[0]: AlternateSetting  = 0
  Interface[0]: Class             = 0x00000002
  Interface[0]: SubClass          = 0x00000006
  Interface[0]: Protocol          = 0x00000000
  Interface[0]: InterfaceHandle   = 0x8819c578
  Interface[0]: NumberOfPipes     = 2
  Interface[0]: Pipes[0] : MaximumPacketSize = 0x00000100
  Interface[0]: Pipes[0] : EndpointAddress   = 0x00000081
  Interface[0]: Pipes[0] : Interval          = 0x00000000
  Interface[0]: Pipes[0] : PipeType          = 0x00000002 (UsbdPipeTypeBulk)
  Interface[0]: Pipes[0] : PipeHandle        = 0x8819c594
  Interface[0]: Pipes[0] : MaxTransferSize   = 0x00001000
  Interface[0]: Pipes[0] : PipeFlags         = 0x00000000
  Interface[0]: Pipes[1] : MaximumPacketSize = 0x00000100
  Interface[0]: Pipes[1] : EndpointAddress   = 0x00000001
  Interface[0]: Pipes[1] : Interval          = 0x00000000
  Interface[0]: Pipes[1] : PipeType          = 0x00000002 (UsbdPipeTypeBulk)
  Interface[0]: Pipes[1] : PipeHandle        = 0x8819c5b4
  Interface[0]: Pipes[1] : MaxTransferSize   = 0x00001000
  Interface[0]: Pipes[1] : PipeFlags         = 0x00000000
  Interface[1]: Length            = 56
  Interface[1]: InterfaceNumber   = 1
  Interface[1]: AlternateSetting  = 0
  Interface[1]: Class             = 0x0000000a
  Interface[1]: SubClass          = 0x00000000
  Interface[1]: Protocol          = 0x00000000
  Interface[1]: InterfaceHandle   = 0x88211610
  Interface[1]: NumberOfPipes     = 2
  Interface[1]: Pipes[0] : MaximumPacketSize = 0x00000100
  Interface[1]: Pipes[0] : EndpointAddress   = 0x00000081
  Interface[1]: Pipes[0] : Interval          = 0x00000000
  Interface[1]: Pipes[0] : PipeType          = 0x00000002 (UsbdPipeTypeBulk)
  Interface[1]: Pipes[0] : PipeHandle        = 0x8821162c
  Interface[1]: Pipes[0] : MaxTransferSize   = 0x00001000
  Interface[1]: Pipes[0] : PipeFlags         = 0x00000000
  Interface[1]: Pipes[1] : MaximumPacketSize = 0x00000100
  Interface[1]: Pipes[1] : EndpointAddress   = 0x00000001
  Interface[1]: Pipes[1] : Interval          = 0x00000000
  Interface[1]: Pipes[1] : PipeType          = 0x00000002 (UsbdPipeTypeBulk)
  Interface[1]: Pipes[1] : PipeHandle        = 0x8821164c
  Interface[1]: Pipes[1] : MaxTransferSize   = 0x00001000
  Interface[1]: Pipes[1] : PipeFlags         = 0x00000000

Looks like a CDC device.

The problem is that it doesn't work in Linux. :(
When I plug the device it only shows up as mass storage but with
vid:pid = 12d1:3808. It doesn't work good as mass storage. I've not
been able to get any data from it. When I issue SCSI REZERO (using
usb_modeswitch), it replugs itself but it still is the same mass storage
with vid:pid = 12d1:3808.

I've tested several computers and kernels including vanilla 2.6.33-rc8,
2.6.32 from Debian and 2.4.20 in my router.

I don't know how can this be possible. Can anybody help me to track
down this issue?
Attached lsusb output, logs from usbsnoop (Windows) and usbmon
(Linux, only device enumeration). I'll be happy to provide any
additional information.

-- 
  Alexander

Attachment: logs.tgz
Description: application/compressed-tar

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux