В 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