Activation Codes and Methods, Hardware Details, Sniffing
chyiwen
Posts: 16
Joined: 27 Mar 2015, 04:55
Location: Taiwan

Re: Modem D-Link DWM-221

Post by chyiwen » 31 Mar 2015, 04:08

Hi ,

I tried the DWM-221 into CentOS6.5. Linux-Eject is Okay , but no success with usb_modeswitch.

[root@localhost usb-modeswitch-2.2.1]# cat /etc/*release*
CentOS release 6.5 (Final)

[root@localhost usb-modeswitch-2.2.1]# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 002: ID 0e0f:0003 VMware, Inc. Virtual Mouse
Bus 002 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 002 Device 011: ID 0e0f:0008 VMware, Inc.
Bus 001 Device 012: ID 2001:a401 D-Link Corp.

[root@localhost usb-modeswitch-2.2.1]# usb_modeswitch -v 2001 -p a401 -V 2001 -P 7e19 -W -M 5553424312345678000000000000061b000000020000000000000000000000
Take all parameters from the command line


* usb_modeswitch: handle USB devices with multiple modes
* Version 2.2.0 (C) Josua Dietze 2014
* Based on libusb1/libusbx

! PLEASE REPORT NEW CONFIGURATIONS !

DefaultVendor= 0x2001
DefaultProduct= 0xa401
TargetVendor= 0x2001
TargetProduct= 0x7e19
MessageContent="5553424312345678000000000000061b000000020000000000000000000000"
NeedResponse=0

Look for target devices ...
found USB ID 1d6b:0002
found USB ID 1d6b:0001
found USB ID 0e0f:0003
found USB ID 0e0f:0002
found USB ID 0e0f:0008
found USB ID 2001:a401
vendor ID matched
No devices in target mode or class found
Look for default devices ...
found USB ID 1d6b:0002
found USB ID 1d6b:0001
found USB ID 0e0f:0003
found USB ID 0e0f:0002
found USB ID 0e0f:0008
found USB ID 2001:a401
vendor ID matched
product ID matched
Found devices in default mode (1)
Access device 012 on bus 001
Current configuration number is 1
Use interface number 0
Use endpoints 0x01 (out) and 0x81 (in)
Ambiguous Class/InterfaceClass: 0xef/0x08

USB description data (for identification)
-------------------------
Manufacturer: Mobile Connect
Product: Mobile Connect
Serial No.: 0123456789ABCDEF
-------------------------
Looking for active driver ...
OK, driver detached
Set up interface 0
Use endpoint 0x01 for message sending ...
Trying to send message 1 to endpoint 0x01 ...
OK, message successfully sent
Reset response endpoint 0x81
Reset message endpoint 0x01
-> Run lsusb to note any changes. Bye!

[root@localhost usb-modeswitch-2.2.1]# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 002: ID 0e0f:0003 VMware, Inc. Virtual Mouse
Bus 002 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 002 Device 011: ID 0e0f:0008 VMware, Inc.
Bus 001 Device 012: ID 2001:a401 D-Link Corp.


><

Thanks

chyiwen
Posts: 16
Joined: 27 Mar 2015, 04:55
Location: Taiwan

Re: Modem D-Link DWM-221

Post by chyiwen » 31 Mar 2015, 05:23

Hi LOM

Greeting :)

Finally , with your input & investigate Linux-USB sniffer result , I successfully switch DWM-221 with usb_modeswitch

###########CLI ############

sudo usb_modeswitch -v 2001 -p a401 -W -n -K

sudo usb_modeswitch -v 2001 -p a401 -W -n -M 555342435b000000000000000001061e000000000000000000000000000000 -2 555342435c000000000000000001061b000000010000000000000000000000 -3 555342435d000000000000000001061b000000020000000000000000000000

#########################


I found it needs detach the driver first , then send the msg to usb device.

So question is , how to merge it in one row ? (I know I know , but ...two step is devil. :) )

Thanks LOM :)

chyiwen
Posts: 16
Joined: 27 Mar 2015, 04:55
Location: Taiwan

Re: Modem D-Link DWM-221

Post by chyiwen » 31 Mar 2015, 08:08

attached the usb_modeswitch logs.
Attachments
usb_mode_switch.log
(5.43 KiB) Downloaded 819 times

LOM
Posts: 1404
Joined: 11 Jul 2012, 15:14
Location: Koh Samui, TH

Re: Modem D-Link DWM-221

Post by LOM » 31 Mar 2015, 08:57

That was a very strange sequence for ejecting the cd-rom..
Can you please paste the output from lsusb -v -d 2001:a401 ?

I think you have got a more advanced firmware in your dongle than what I have seen in the past.
The usb_modeswitch status/warning message "Ambiguous Class/InterfaceClass: 0xef/0x08"
indicates that your dongles firmware includes the cdc_mbim protocol and this will affect how the dongle should be switched.

chyiwen
Posts: 16
Joined: 27 Mar 2015, 04:55
Location: Taiwan

Re: Modem D-Link DWM-221

Post by chyiwen » 31 Mar 2015, 10:08

attached lsusb
Attachments
lsusb_2001.txt
(4.49 KiB) Downloaded 744 times

chyiwen
Posts: 16
Joined: 27 Mar 2015, 04:55
Location: Taiwan

Re: Modem D-Link DWM-221

Post by chyiwen » 31 Mar 2015, 10:10

No , I do not upgrade the firmware of dongle.
It comes originally.

So there is a better switch way to go with cdc_mbim ?

BTW , I tried with sudo usb_modeswitch -v 2001 -p a401 -W -n -i -m balabla ,

But it stoped at inquiring. ><

Thanks.

papayamilk
Posts: 1
Joined: 20 Mar 2015, 16:35

Re: Modem D-Link DWM-221

Post by papayamilk » 31 Mar 2015, 15:44

Dear all,

I have this dongle too, I wish to let it work on my Ubuntu PC.
I have installed usb_modeswitch tool.

From web site : [It can use usbserial driver to let it work, right?]
http://www.dd-wrt.com/wiki/index.php/3G_/_3.5G
DWM-221 B1 LTE CAT3 2001:a401 2001:7e19 2 1 5 0 serial (&qmi) wip

OS : Ubuntu 14.10 64bits (3.16.0-23-generic)

Version :
* usb_modeswitch: handle USB devices with multiple modes
* Version 2.2.0 (C) Josua Dietze 2014
* Based on libusb1/libusbx


Plug on this dongle, and type in lsusb:
Bus 001 Device 003: ID 2001:a401 D-Link Corp.

With following command =>

sudo usb_modeswitch -v 2001 -p a401 -V 2001 -P 7e19 -W -M 555342431234567800000000000006f0010300000000000000000000000000

(Result:)
* usb_modeswitch: handle USB devices with multiple modes
* Version 2.2.0 (C) Josua Dietze 2014
* Based on libusb1/libusbx

! PLEASE REPORT NEW CONFIGURATIONS !

DefaultVendor= 0x2001
DefaultProduct= 0xa401
TargetVendor= 0x2001
TargetProduct= 0x7e19
MessageContent="555342431234567800000000000006f0010300000000000000000000000000"
NeedResponse=0

Look for target devices ...
found USB ID 2001:a401
vendor ID matched
found USB ID 1d6b:0002
found USB ID 0e0f:0002
found USB ID 0e0f:0003
found USB ID 1d6b:0001
No devices in target mode or class found
Look for default devices ...
found USB ID 2001:a401
vendor ID matched
product ID matched
found USB ID 1d6b:0002
found USB ID 0e0f:0002
found USB ID 0e0f:0003
found USB ID 1d6b:0001
Found devices in default mode (1)
Access device 004 on bus 001
Current configuration number is 1
Use interface number 0
Use endpoints 0x01 (out) and 0x81 (in)

USB description data (for identification)
-------------------------
Manufacturer: Mobile Connect
Product: Mobile Connect
Serial No.: 0123456789ABCDEF
-------------------------
Looking for active driver ...
OK, driver detached
Set up interface 0
Use endpoint 0x01 for message sending ...
Trying to send message 1 to endpoint 0x01 ...
OK, message successfully sent
Reset response endpoint 0x81
Reset message endpoint 0x01
-> Run lsusb to note any changes. Bye!

papaya@papaya-virtual-machine:~$ lsusb
Bus 001 Device 004: ID 2001:a401 D-Link Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 002 Device 002: ID 0e0f:0003 VMware, Inc. Virtual Mouse


I am sorry... I can't let it switch success...... What's the content send to this dongle?

Thanks a lot

kubik007
Posts: 2
Joined: 31 Mar 2015, 21:57

Re: Modem D-Link DWM-221

Post by kubik007 » 31 Mar 2015, 22:48

Hi all,

good news is, that the DWM-221 rev B. I made working on my Arch Linux and Ubuntu, actally it was up 30 minutes after I bought it. Pay attention to USB power, friends told me some 3g sticks take lot of power, my seemd to be dead on notebook, unless I plug it to the port on the rear side of my noteook. Probably port, with stronger USB power.
Bad new is, that I didn't managed to switch it on Open-WRT.

Linux
How did I made it work on Arch and Ubuntu?
- attached USB may appear as cdrom device, check it is not mounted, umount

Code: Select all

mount
umount /dev/...
- switch mode

Code: Select all

sudo usb_modeswitch -v 2001 -p a401 -W -n -M 555342435b000000000000000001061e000000000000000000000000000000 -2 555342435c000000000000000001061b000000010000000000000000000000 -3 555342435d000000000000000001061b000000020000000000000000000000
- you have to see id 2001:7e19 to get next step working

Code: Select all

lsusb | grep 7e19
- now I only have to load the generic driver by:

Code: Select all

sudo modprobe usbserial vendor=0x2001 product=0x7e19
- in my case, 3G came up in my NetworkManager applet, dmesg showes 4 USB devices related to DWM-221

Code: Select all

dmesg
[ 1779.372545] usbcore: registered new interface driver usbserial
[ 1779.372567] usbcore: registered new interface driver usbserial_generic
[ 1779.372584] usbserial: USB Serial support registered for generic
[ 1779.372605] usbserial_generic 2-3:1.0: The "generic" usb-serial driver is only for testing and one-off prototypes.
...
[ 1779.372733] usb 2-3: generic converter now attached to ttyUSB0
....
[ 1779.373134] usb 2-3: generic converter now attached to ttyUSB4

OpenWrt
their 3g hardware page says 'wip'=work in progress, OpenWrt uses lates usb-modeswitch / usbmode , where the messge is in json format, so I have to build json with above mentioned message:
555342435b000000000000000001061e000000000000000000000000000000 555342435c000000000000000001061b000000010000000000000000000000
555342435d000000000000000001061b000000020000000000000000000000

Finally this post makes me crazy: http://lists.freedesktop.org/archives/l ... 00451.html
It is mentioning, that this stick works as QMI, no, I didn't get qmi working ..

Summary:
There is more questions and answers, but since my configuration is workinq, I gave up further experiments ...
How to switch the USB stick without venor-specific installation?
What is in the vendor installation?
How to switch to QMI device?
How to switch on OpenWrt?

PS: my first post on this forum, regards Kubik :D
Last edited by kubik007 on 01 Apr 2015, 21:03, edited 2 times in total.

chyiwen
Posts: 16
Joined: 27 Mar 2015, 04:55
Location: Taiwan

Re: Modem D-Link DWM-221

Post by chyiwen » 01 Apr 2015, 17:23

kubik007 wrote:
Summary:
There is more questions and answers, but since my configuration is workinq, I gave up further experiments ...
How to switch the USB stick without venor-specific installation?
What is in the vendor installation?
How to switch to QMI device?
How to switch on OpenWrt?

PS: my first post on this forum, regards Kubik :D

Hi ,

I reviewed all scripts in the tarball in the dougle.
Actually it does Linux eject command and dial up.

That's why I did lots of usb sniffer within Linux eject and successfully got the result work. Though the seq is complex.

Thanks again for LOM's support.

lhguanabara
Posts: 8
Joined: 19 Jan 2015, 18:27
Location: Brazil

Re: Modem D-Link DWM-221

Post by lhguanabara » 01 Apr 2015, 21:37

Hi guys!

I've very pleased to announce which my dongle worked in linux (ubuntu 14.04) with the command provided by LOM and chyiwen:

Code: Select all

sudo usb_modeswitch -v 2001 -p a401 -W -n -M 555342435b000000000000000001061e000000000000000000000000000000 -2 555342435c000000000000000001061b000000010000000000000000000000 -3 555342435d000000000000000001061b000000020000000000000000000000
Even better: the 3 strings above were able to make this dongle compatible with my FortiGate 80C (which was my first need at all) =];

@kubik0007: the "driver" provided by the internal cd-rom simply detach itself by running "eject".

@LOM: I'm very sorry to not answer this topic in so much time, my work has taken more time from me than usual... If you want we can continue the topic in dd-wrt forum to help this device work with TP-LINK's TL-MR3020.

My best thanks to all you guys!

Luiz

chyiwen
Posts: 16
Joined: 27 Mar 2015, 04:55
Location: Taiwan

Re: Modem D-Link DWM-221

Post by chyiwen » 02 Apr 2015, 00:30

lhguanabara wrote:Hi guys!

Code: Select all

sudo usb_modeswitch -v 2001 -p a401 -W -n -M 555342435b000000000000000001061e000000000000000000000000000000 -2 555342435c000000000000000001061b000000010000000000000000000000 -3 555342435d000000000000000001061b000000020000000000000000000000
Even better: the 3 strings above were able to make this dongle compatible with my FortiGate 80C (which was my first need at all) =];


Luiz

Hi Luiz. ,

I am interested in your fortigate works with the dougle.

Would you please share the config in the fortigate?

lhguanabara
Posts: 8
Joined: 19 Jan 2015, 18:27
Location: Brazil

Re: Modem D-Link DWM-221

Post by lhguanabara » 02 Apr 2015, 03:41

Hi chyiwen!

Of course i can show you how to make it work with FortiGate!

In fact, most of this configuration dont rely in the main configuration file. You will need to use the hidden command "fnsysctl" to make changes in the "modem_list.conf" file which contains the fortigate configuration for USB modems.

Here is the step-by-step (I'm assuming you already know how to configure an USB modem on FortiGate):

First you'll need to attach a usb flash drive into the Fortigate. It is necessary to export the modem file.

After you plug the flash drive, enter the cli as an admin and copy the "modem_list.conf" to it:

Code: Select all

FGT80C# fnsysctl cp /etc/modem_list.conf /usb
Admin: <your admin user>
Password: <Your admin password>
Unplug the USB drive and plug it on your computer to edit the modem_list.conf file with your preferred text editor. The file content seems like this:

Code: Select all

#############################################################
#                                                           #
#           Fortinet, Inc.                                  #
#                                                           #
#         Supported 3G/4G Modems                            #
#                                                           #
#                                                           #
#   Technical Support                                       #
#   http://www.fortinet.com/support                         #
#                                                           #
#############################################################

#objversion=1.031

dev=0408:1000 driver=detach vendor="Quanta" model="MU-Q101"
dev=0408:ea02 driver=serial vendor="Quanta" model="MU-Q101"

dev=05c6:6539 driver=serial vendor="ZTE" model="MY39"

dev=0af0:6300 driver=serial vendor="Option" model="N.V. Globetrotter Fusion Quad Lite"
dev=0af0:6701 driver=serial vendor="Option" model="N.V. Globetrotter HSDPA Modem"
dev=0af0:6971:08 msg=55534243785634120100000080000601000000000000000000000000000000 vendor="Option" model="iCON 225 HSDPA"
dev=0af0:6971:ff driver=serial vendor="Option" model="iCON 225 HSDPA"
dev=0af0:d033:08 msg=55534243785634120100000080000601000000000000000000000000000000 vendor="Option" model="GI332"
dev=0af0:d033:ff driver=serial vendor="Option" model="GI332"
dev=0af0:d057:ff driver=serial vendor="Option" model="GI1505"

dev=0c88:17da driver=serial vendor="Kyocera" model="KPC650/Passport"

dev=1004:618f:ff driver=serial vendor="LG" model="L-02C"
dev=1004:61dd:08 msg=5553424312345678000000000000061b000000020000000000000000000000 vendor="LG" model="L-02C"
dev=1004:6326:ff driver=serial vendor="LG" model="L-03D"
dev=1004:6327:08 msg=5553424312345678000000000000061b000000020000000000000000000000 vendor="LG" model="L-03D"

dev=106c:3701 driver=serial vendor="Audiovox" model="PC5740"
dev=106c:3702 driver=serial vendor="Pantech" model="PX-500"
dev=106c:3b05:08 msg=555342431234567824000000800008ff020000000000000000000000000000 vendor="Pantech" model="UM190"
dev=106c:3718 driver=serial vendor="Pantech" model="UML290"

dev=1199:0017 driver=serial vendor="Sierra" model="EM5625"
dev=1199:0018 driver=serial vendor="Sierra" model="MC5720"
dev=1199:0019 driver=serial vendor="Sierra" model="AirCard 595"
dev=1199:0023 driver=serial vendor="Sierra" model="597"
dev=1199:0025 driver=serial vendor="Sierra" model="598U"
dev=1199:0112 driver=serial vendor="Sierra" model="AirCard 580"
dev=1199:0120 driver=serial vendor="Sierra" model="AirCard 595U"
dev=1199:0301:ff driver=serial vendor="Sierra" model="250U"
dev=1199:0fff ctl=40,0b,01 vendor="Sierra" model="597"
dev=1199:6820 driver=serial vendor="Sierra" model="AirCard 875"
dev=1199:6856 driver=serial vendor="Sierra" model="UC881"
dev=1199:6880 driver=serial vendor="Sierra" model="C885"
dev=1199:6890 driver=serial vendor="Sierra" model="AC501/880E"
dev=1199:68a3 driver=serial vendor="Sierra" model="AC312U/AC503/USB306/USB308"
dev=1199:68aa driver=serial vendor="Sierra" model="AC313U"
dev=1199:0028 driver=serial vendor="Sierra" model="MC5728"

dev=0f3d:68aa driver=serial vendor="Sierra" model="AC320U"
dev=1199:68a3 driver=serial vendor="Sierra" model="AC330U"

dev=1199:9051 config=0 vendor="Sierra" model="AC340U"
dev=1199:9051:ff driver=serial vendor="Sierra" model="AC340U"

dev=12d1:1001:08 ctl=00,03,01 vendor="Huawei" model="E169"
dev=12d1:1001:ff driver=serial vendor="Huawei" model="E600/E169"
dev=12d1:1003:08 ctl=00,03,01 vendor="Huawei" model="E220/E3735"
dev=12d1:1003:ff driver=serial vendor="Huawei" model="E180/E220/E3735"
dev=12d1:140b:08 ctl=00,03,01 vendor="Huawei" model="E126"
dev=12d1:140b:ff driver=serial vendor="Huawei" model="E126"
dev=12d1:140c:08 msg=55534243000000000000000000000011060000000000000000000000000000 vendor="Huawei" model="K3715"
dev=12d1:140C:ff driver=serial vendor="Huawei" model="E1692"
dev=12d1:1446 msg=55534243000000000000000000000011060000000000000000000000000000 vendor="Huawei" model="E1692"
dev=12d1:1464:ff driver=serial vendor="Huawei" model="K4505"
dev=12d1:1465:ff driver=serial vendor="Huawei" model="K3765"
dev=12d1:14c9:ff driver=serial vendor="Huawei" model="K3770"
dev=12d1:14d1:08 msg=55534243123456780000000000000011062000000100000000000000000000 vendor="Huawei" model="K3770"
dev=12d1:1520:08 msg=55534243123456780000000000000011062000000100000000000000000000 vendor="Huawei" model="K3765"
dev=12d1:1521:08 msg=55534243123456780000000000000011062000000100000000000000000000 vendor="Huawei" model="K4505"
dev=12d1:1c05:ff driver=serial vendor="Huawei" model="E173"
dev=12d1:1c0b:08 msg=55534243123456780000000000000011062000000100000000000000000000 vendor="Huawei" model="E173"
dev=12d1:120c:ff driver=serial vendor="Huawei" model="E398"
dev=12d1:1505:08 msg=55534243123456780000000000000011060000000100000000000000000000 vendor="Huawei" model="E392/E397/E398"
dev=12d1:1506:ff driver=serial vendor="Huawei" model="E392/E397/E398"
dev=12d1:14b7:08 msg=55534243123456780000000000000011062000000100000000000000000000 vendor="Huawei" model="K4511"
dev=12d1:14cc:ff driver=serial vendor="Huawei" model="K4511"
dev=12d1:14ad:08 msg=55534243123456780000000000000011062000000100000000000000000000 vendor="Huawei" model="K3806"
dev=12d1:14ae:ff driver=serial vendor="Huawei" model="K3806"
dev=12d1:14fe:08 msg=55534243123456780000000000000011062000000100000000000000000000 vendor="Huawei" model="E353"
dev=12d1:1506:ff driver=serial vendor="Huawei" model="E353"
dev=12d1:14c1:08 msg=55534243000000000000000000000011060000000000000000000000000000 vendor="Huawei" model="E372"
dev=12d1:14ac:ff driver=serial vendor="Huawei" model="E372"
dev=12d1:1f11:08 msg=55534243123456780000000000000011060000000000000000000000000000 vendor="Huawei" model="K3773"
dev=12d1:1c05:02 driver=serial vendor="Huawei" model="K3773/E3131"
dev=12d1:151a:08 msg=55534243123456780000000000000a11062000000000000100000000000000 vendor="Huawei" model="E392"
dev=12d1:151b:ff driver=serial vendor="Huawei" model="E392"
dev=12d1:1f1f config=0 vendor="Huawei" model="K4201"
dev=12d1:1f1f:08 msg=55534243123456780000000000000011062000000101000100000000000000 vendor="Huawei" model="K4201"

dev=1410:1100 driver=serial vendor="Novatel" model="ExpressCard34 Qualcomm 3G CDMA"
dev=1410:1110 driver=serial vendor="Novatel" model="Merlin S620"
dev=1410:1120 driver=serial vendor="Novatel" model="Merlin EX720"
dev=1410:1130 driver=serial vendor="Novatel" model="Merlin S720"
dev=1410:1430 driver=serial vendor="Novatel" model="Merlin XU870"
dev=1410:1450 driver=serial vendor="Novatel" model="Merlin X950D"
dev=1410:2110 driver=serial vendor="Novatel" model="Ovation U720"
dev=1410:4100 driver=serial vendor="Novatel" model="Ovation U727"
dev=1410:4400 driver=serial vendor="Novatel" model="Ovation MC950D"
dev=1410:5010 inquire=1 msg=55534243e052bc85000000000000061b000000020000000000000000000000 vendor="Novatel" model="Ovation MC998D"
dev=1410:5010 msg=55534243e052bc85000000000000061b000000020000000000000000000000 vendor="Novatel" model="Ovation MC950D"
dev=1410:5020:08 msg=5553424312345678000000000000061b000000020000000000000000000000 vendor="Novatel" model="MC990D"
dev=1410:5020:ff driver=serial vendor="Novatel" model="MC990D"
dev=1410:5030 msg=5553424312345678000000000000061b000000020000000000000000000000 vendor="Novatel" model="U760"
dev=1410:6000 driver=serial vendor="Novatel" model="U760"
dev=1410:7030 driver=serial vendor="Novatel" model="U998"
dev=1410:5059:08 msg=55534243e052bc85000000000000061b000000020000000000000000000000 vendor="Novatel" model="MC679"
dev=1410:7031:ff driver=serial vendor="Novatel" model="MC679"

dev=16d8:6002 driver=serial vendor="Sprint" model="U300"
dev=16d8:6280 driver=serial vendor="Maxon" model="USB3-8521"
dev=16d8:6803:08 msg=5553424308e0408524000000800008ff524445564348470000000000000000 vendor="Cmotech" model="CNU680"
dev=16d8:6803:ff driver=serial vendor="Cmotech" model="CNU680"

dev=19d2:0031:ff driver=serial vendor="ZTE" model="MF637"
dev=19d2:0117:ff driver=serial vendor="ZTE" model="MF668"
dev=19d2:0157:ff driver=serial vendor="ZTE" model="MF683"
dev=19d2:1201:08 msg=5553424392020000000000000000061B000000020000000000000000000000 vendor="ZTE" model="MF691"
dev=19d2:2000 msg=55534243123456782000000080000c85010101180101010101000000000000 vendor="ZTE" model="MF637"
dev=19d2:fff5:08 msg=5553424312345678c00000008000069f030000000000000000000000000000 vendor="ZTE" model="AC2736"
dev=19d2:fff1:ff driver=serial vendor="ZTE" model="AC2736"
dev=19d2:2000:08 msg=5553424308d08c872400000080000685000000240000000000000000000000 vendor="ZTE" model="MF190"
dev=19d2:0257:ff driver=serial vendor="ZTE" model="MF821"
dev=19d2:0154:08 msg=55534243f8f993882000000080000a85010101180101010101000000000000 vendor="ZTE" model="MF190U"
dev=19d2:1254:ff driver=serial vendor="ZTE" model="MF190U"
dev=19d2:0150:08 msg=5553424308d08c872400000080000685000000240000000000000000000000 vendor="ZTE" model="MF680"
dev=19d2:0124:ff driver=serial vendor="ZTE" model="MF680"

dev=1bbb:0017:ff driver=serial vendor="Alcatel" model="HSPA Data Card"
dev=1bbb:f000 msg=55534243785634120100000080010606000000000000000000000000000000 vendor="Alcatel" model="HSPA Data Card"

dev=1c9e:1001 msg=55534243123456780000000000000606f50402527000000000000000000000 vendor="Emobile" model="D11LC"
dev=1c9e:6061 driver=serial vendor="Emobile" model="D11LC"
dev=1c9e:9000:ff driver=serial vendor="MobiData" model="MBD-200HU"
dev=1c9e:9603:ff driver=serial vendor="Emobile" model="ST Mobile"
dev=1c9e:f000 msg=55534243123456788000000080000606f50402527000000000000000000000 vendor="MobiData" model="MBD-200HU"

dev=413c:8115 driver=serial vendor="Dell" model="5500"

dev=f3d0:0112 driver=serial vendor="AirPrime" model="5220"

dev=05c6:1000 msg=5553424312345678000000000000061b000000020000000000000000000000 vendor="AnyDATA" model="ADY510L"
dev=16d5:6502 driver=serial vendor="AnyDATA" model="ADY510L"

dev=1fac:0151 driver=serial vendor="Franklin" model="S600C"

dev=1bbb:0017:ff driver=serial vendor="Alcatel" model="x230M"

dev=2001:7d00:ff driver=serial vendor="D-Link" model="DWM-156"
dev=2001:a80b:08 msg=5553424312345678000000000000061b000000020000000000000000000000 vendor="D-Link" model="DWM-156"
Just add these lines at the end of this file:

Code: Select all

dev=2001:7e19:ff driver=serial vendor="D-Link" model="DWM-221"

dev=2001:a401:08 msg=555342435b000000000000000001061e000000000000000000000000000000 vendor="D-Link" model="DWM-221"
dev=2001:a401:08 msg=555342435c000000000000000001061b000000010000000000000000000000 vendor="D-Link" model="DWM-221"
dev=2001:a401:08 msg=555342435d000000000000000001061b000000020000000000000000000000 vendor="D-Link" model="DWM-221"
Save the file, plug the USB drive on the FortiGate again and copy the edited file to the system:

Code: Select all

FGT80C# fnsysctl cp /usb/modem_list.conf /etc/modem_list.conf
Admin: <your admin user>
Password: <Your admin password>
At this point the fortigate already detects the dongle. You can config your connection like any other compatible USB modem.

If you need the steps to configure the connection, just ask!

Best regards!

Luiz
Last edited by lhguanabara on 02 Apr 2015, 15:12, edited 1 time in total.

LOM
Posts: 1404
Joined: 11 Jul 2012, 15:14
Location: Koh Samui, TH

Re: Modem D-Link DWM-221

Post by LOM » 02 Apr 2015, 07:42

chyiwen wrote:No , I do not upgrade the firmware of dongle.
It comes originally.

So there is a better switch way to go with cdc_mbim ?

BTW , I tried with sudo usb_modeswitch -v 2001 -p a401 -W -n -i -m balabla ,

But it stoped at inquiring. ><

Thanks.
It does not have cdc_mbim interfaces but has 2 individual configs which each contains a virtual cd-rom.
I have a previous listing for 2001:a401, having the same firmware revision (2.32) as yours but with only one config instead of the 2 yours has.
(I really dislike manufacturers who does interface layout changes but keeps the old usb id after the change or who makes changes to their firmware without bumping up the firmware revision number.)

Now it seems that you all have found a way to switch the dongle but I still don't believe that way is how the mfgr intended it to be done, it is instead a way of circumventing their firmware bugs.
kubik007 wrote:
Linux
How did I made it work on Arch and Ubuntu?
- attached USB may appear as cdrom device, check it is not mounted, umount

Code: Select all

mount
umount /dev/...
Unmounting the cd-rom should really not be needed.
If your usb_modeswitch version is below 2.0 then you may need the -I switch on the cmd line to prohibit usb_modeswitch from reading SCSI attributes which sometimes delays or prohibits switching.
kubik007 wrote: - switch mode

Code: Select all

sudo usb_modeswitch -v 2001 -p a401 -W -n -M 555342435b000000000000000001061e000000000000000000000000000000 -2 555342435c000000000000000001061b000000010000000000000000000000 -3 555342435d000000000000000001061b000000020000000000000000000000

The switch sequence above doesn't make sense to me from logical point of view and I wonder what it is that makes the dongle switch now.
The cmds are:
1. Allow media change (unlock media in case it was locked)
2. Start unit
3. Stop unit (also known as eject since stopping a cd-rom automagically makes it eject the caddy)

My questions here are:

Is the allow media change cmd really needed? If it should be included then it should logically come after the Start Unit cmd.
Where does the 01 flag (before length byte 06) in all the msgs come from? This is for selecting the LUN on players with
multi-LUN and should not be needed here. Substitute with 00 and check if it makes any diference!

kubik007 wrote: Finally this post makes me crazy: http://lists.freedesktop.org/archives/l ... 00451.html
It is mentioning, that this stick works as QMI, no, I didn't get qmi working ..
There is currently no support for 2001:7e19 in the qmi_wwan driver, you'll have to add it to the driver and recompile it. Interface 4 is the qmi interface.

kubik007
Posts: 2
Joined: 31 Mar 2015, 21:57

Re: Modem D-Link DWM-221

Post by kubik007 » 02 Apr 2015, 13:48

Thanks everyone, this post is amazing source of information!
OpenWrt works as well ....

- make json file

Code: Select all

root@ROOter:~# cat dlink.json{
        "messages" : [
                        "555342435b000000000000000001061e000000000000000000000000000000",
                        "555342435c000000000000000001061b000000010000000000000000000000",
                        "555342435d000000000000000001061b000000020000000000000000000000",
                        ],
                        "devices" : {
                                        "2001:a401": {
                                                                "*": {
                                                                "t_vendor": 8193,
                                                                "t_product": [ 32281 ],
                                                                "msg": [ 0, 1, 2 ]
                                                                        }
                                                        },
                                }
}
root@ROOter:~#
- switch the stick and load module

Code: Select all

usbmode -s -v -c /root/dlink.json
insmod /lib/modules/3.10.34/usbserial.ko vendor=0x2001 product=0x7e19
- you have to set modem port to ttyUSB1

I'll enhance this post later.

lhguanabara
Posts: 8
Joined: 19 Jan 2015, 18:27
Location: Brazil

Re: Modem D-Link DWM-221

Post by lhguanabara » 02 Apr 2015, 13:51

Hi LOM! Thnx for the reply!
Unmounting the cd-rom should really not be needed.
If your usb_modeswitch version is below 2.0 then you may need the -I switch on the cmd line to prohibit usb_modeswitch from reading SCSI attributes which sometimes delays or prohibits switching.
In my case i didn't eject the built-in CD-ROM before using usb_modeswitch command (different firmware?).
The switch sequence above doesn't make sense to me from logical point of view and I wonder what it is that makes the dongle switch now.
The cmds are:
1. Allow media change (unlock media in case it was locked)
2. Start unit
3. Stop unit (also known as eject since stopping a cd-rom automagically makes it eject the caddy)

My questions here are:

Is the allow media change cmd really needed? If it should be included then it should logically come after the Start Unit cmd.
Where does the 01 flag (before length byte 06) in all the msgs come from? This is for selecting the LUN on players with
multi-LUN and should not be needed here. Substitute with 00 and check if it makes any diference!
I'll test this when i get home. I forgot the dongle there...
Last edited by lhguanabara on 02 Apr 2015, 15:06, edited 1 time in total.

Post Reply