Re: Huawei BM325 zerocd issues

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

 



В Sun, 21 Feb 2010 13:40:41 +0300
Alexander Gordeev <lasaine@xxxxxxxxxxxxx> пишет:

> В Sun, 21 Feb 2010 11:16:33 +0100
> Josua Dietze <digidietze@xxxxxxxxxxxxxxx> пишет:
> 
> > Oliver Neukum schrieb:
> > 
> > > If I had to guess I'd say this device requires two commands.
> > > One to select the mode, the other to reset and switch. You are
> > > emitting only the second.
> > 
> > I just had a report of a Huawei phone which was switched by the
> > exact same command. No other command was necessary to make it work
> > with Linux.
> > 
> > My guess is that there might be annother quirk, causing the device
> > to reset again. What does "dmesg" say after the switching attempt?
> 
[snip]
> 
> And it always shows up as 12d1:3808 mass storage.

I've just made it work!
This device is very tricky actually. It can be in three states:
 * 12d1:3808 mass storage
 * 12d1:3809 mass storage
 * 12d1:3808 cdc.

It is in mode 1 after insertion and to switch it to mode 3 it needs a
SET_FEATURE URB with index 99 which. Excerpt from UsbSnoop log:

[4 ms]  >>>  URB 1 going down  >>> 
-- URB_FUNCTION_SET_FEATURE_TO_DEVICE:
  FeatureSelector = 00000001
  Index           = 000000ff

This is handled by usb_modeswitch's HuaweiMode.

In Windows the device sometimes appears in mode 2 but I've never seen
it in Linux. Don't know how to switch to it and what is it for. But I
don't think it will be of any use.

I'll post the solution to the usb_modeswitch forum. I think this kernel
patch would do the same trick:

diff --git a/drivers/usb/storage/unusual_devs.h b/drivers/usb/storage/unusual_devs.h
index 49575fb..738ebd3 100644
--- a/drivers/usb/storage/unusual_devs.h
+++ b/drivers/usb/storage/unusual_devs.h
@@ -1736,6 +1736,12 @@ UNUSUAL_DEV(  0x12d1, 0x143F, 0x0000, 0x0000,
                US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
                0),
 
+UNUSUAL_DEV(  0x12d1, 0x3808, 0x0000, 0x0000,
+               "HUAWEI Communications",
+               "EchoLife BM325 WiMAX USB Modem",
+               US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+               0),
+
 /* Reported by Vilius Bilinkevicius <vilisas AT xxx DOT lt) */
 UNUSUAL_DEV(  0x132b, 0x000b, 0x0001, 0x0001,
                "Minolta",


I didn't tested it yet.

-- 
  Alexander

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