Re: HUWAEI E1750 NDISDUP



On 18.12.2013 18:57, Dan Williams wrote:
On Wed, 2013-12-18 at 18:38 +0100, poma wrote:
On 18.12.2013 00:26, Dan Williams wrote:
On Tue, 2013-12-17 at 23:50 +0100, poma wrote:
HUWAEI E1750 NDISDUP

Is the difference between the two modes just the usb_modeswitch
commands?  I see they have different USB IDs between first and second
runs.

USB Modeswitch has nothing to do with it, besides it doesn't work. ;)
Actually the device switches mode by itself. ;) 'pid 140c' is inherited
through a warm state(reboot) from proprietary OS. However if the device
is replugged(cold state) within the Linux kernel, it switches to the
'pid 1436' mode.
And vice versa.

That's still usb_modeswitch.  Windows is sending a specific message to
the Huawei device telling to use a specific mode, and it switches to
that mode.  After reboot to Linux, it's still in that mode.  But if you
coldplug the device while in Linux, usb_modeswitch sends a message to
the device that is different than what Windows sends.

On Linux with ModemManager, we would prefer to use the "Windows" mode
since that is more capable.  Unfortunately, usb_modeswitch needs changes
to send the correct message to switch to the "Windows" mode too.

All that said, if possible ModemManager should try to support the
non-Windows cdc-ether mode too, but there may be bugs with that.


Dan, you were right about the mode switching involvement.
I neglected that there is an automatic mode. Bummer!
Sorry.

This is a real default mode:
12d1:1446 Huawei Technologies Co., Ltd. E1552/E1800/E173 (HSPA modem)

Can be switched manually:
# usb_modeswitch -v 12d1 -p 1446 -M
55534243123456780600000080010a11060000000000000000000000000000
or
# usb_modeswitch -v 12d1 -p 1446 -M
55534243000000000000000000000011060000000100000000000000000000
to
12d1:140c Huawei Technologies Co., Ltd. E180v

Can be switched automatically:
/etc/usb_modeswitch.d/12d1:1446
# Huawei, newer modems

MessageContent="55534243123456780600000080010a11060000000000000000000000000000"
# or
#MessageContent="55534243000000000000000000000011060000000100000000000000000000"

NoDriverLoading=1
#EOF

/etc/usb_modeswitch.conf
…
DisableSwitching=0
…

An automatic switching mode components:
/usr/lib/udev/usb_modeswitch
&
/lib/udev/rules.d/40-usb_modeswitch.rules
ATTR{idVendor}=="12d1", ATTR{idProduct}=="1446", RUN+="usb_modeswitch
'%b/%k'"

MessageContent sources:
1.
/etc/usb_modeswitch.d/12d1:1030:# Huawei U8220, T-Mobile Pulse (Android
smartphone)
/etc/usb_modeswitch.d/12d1:1031:# Huawei U8110 / Joy, Vodafone 845
(Android smartphone)
MessageContent=55534243123456780600000080010a11060000000000000000000000000000

2.
https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.1.6
MessageContent=55534243000000000000000000000011060000000100000000000000000000


poma



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