Support Forum
The Forums are a place to find answers on a range of Fortinet products from peers and product experts.
Arnold
New Contributor

custom 3g modem

Hi

I configured a Custom modem but i'ts not detected by fortigate

FortiOS v5.2.0,build0589

 

Vendor: ZTE Vodafone

Model: K4505-Z

Vendor ID: 0x13

Product ID: 0x65

Init String: blank

 

am I missing an Inist string if so, how do I get it?

 

I got the info using:

fnsysctl cat /proc/bus/usb/devices   

 

T: Bus=01 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#= 8 Spd=480 MxCh= 0 D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=19d2 ProdID=0101 Rev= 0.00 S: Manufacturer=Vodafone (ZTE) S: Product=Vodafone Mobile Broadband K4505-z S: SerialNumber=P680A2VDFD010000 C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=500mA I: If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=(none) E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms T: Bus=01 Lev=02 Prnt=02 Port=02 Cnt=02 Dev#= 3 Spd=480 MxCh= 0 D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=1307 ProdID=0310 Rev= 1.00 S: Manufacturer=Generic S: Product=Mass Storage Device S: SerialNumber=00000000000006 C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA I: If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=125us E: Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms

MCSE

MCSE
17 REPLIES 17
Jeff_FTNT
Staff
Staff

FGT detect it, but Vendor/product ID is different from your input.

fnsysctl cat /proc/bus/usb/devices      T: Bus=01 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#= 8 Spd=480 MxCh= 0 D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=19d2 ProdID=0101 Rev= 0.00

 

Try use CLI: dia sys modem xx ,  to check the modem status.

 

Thanks.

ede_pfau
SuperUser
SuperUser

This is a small world...I've been working on that identical Vodafone webstick for a couple of days now.

This is what I've got from the FGT:

fnsysctl cat /proc/bus/usb/devices

T:  Bus=02 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#=  6 Spd=480 MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=19d2 ProdID=0104 Rev= 0.00
S:  Manufacturer=Vodafone (ZTE)
S:  Product=Vodafone Mobile Broadband K4505-z
S:  SerialNumber=P680A2VDFD010000
C:* #Ifs= 6 Cfg#= 1 Atr=e0 MxPwr=500mA
I:  If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
I:  If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
E:  Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
I:  If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
E:  Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
I:  If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
E:  Ad=84(I) Atr=03(Int.) MxPS=  64 Ivl=2ms
E:  Ad=85(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
I:  If#= 4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
E:  Ad=86(I) Atr=03(Int.) MxPS=  64 Ivl=2ms
E:  Ad=87(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=05(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
I:  If#= 5 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=(none)
E:  Ad=06(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=88(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms

Now this clearly states that VendorID = 0x19d2 and ProductID = 0x0101.

Directly connected to a FGT I could create a 'Custom Modem' with these parameters, and the Vendor string 'ZTE' and model 'K4505-z'.

The dial command for Vodafone is '*99***1'.

The APN for Vodafone prepaid is 'web.vodafone.de' (at least in Germany).

With all this the modem got connected - but it fails to obtain a WAN IP. Of course I provided the correct PIN.

 

As I want to use this modem in a FortiExtender FEX-20B I have not made any progress yet. There seems not to be any way to define a custom modem type on the FEX. The Admin guide for FEX ends after a mere 9 pages right where the 'Advanced' configuration part should have started...

 

HTH


Ede

"Kernel panic: Aiee, killing interrupt handler!"
Ede"Kernel panic: Aiee, killing interrupt handler!"
triton_rh_FTNT

Hi ede_pfau,

 

your device configuration posted back in Nov 6, 2014, is exactly what I need to achieve for the ZTE K4505-z modem to communicate with FGT via usbserial usbttyX ports.

 

however, when that modem is plugged into FGT it remains in storage-class 19d2:0101 device, I cannot find the correct init-string to force a mode switch to target 19d2:0104 device with 5 interfaces exposed, as in your case.

 

I am really curious how you got yours to mode-switch properly? we have the same identical modem. (not the Huawei K4505)

 

my output: (same as Arnold's configuration)

=========================================

FG300B3910603694 # fnsysctl cat /proc/bus/usb/devices

 

T:  Bus=03 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#=  2 Spd=12  MxCh= 0 D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1 P:  Vendor=19d2 ProdID=0101 Rev= 0.00 <----- NOTE: S:  Manufacturer=Vodafone (ZTE) S:  Product=Vodafone Mobile Broadband K4505-z S:  SerialNumber=P680A2VDFD010000 C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=500mA I:  If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=(none) <------------ NOTE: E:  Ad=01(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms E:  Ad=81(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms =========================================

 

my google search yields what everyone else has found:

 

from URL: [link]http://www.draisberghof.de/usb_modeswitch/[/link]

 

I downloaded the very *latest* usb-modeswitch-data, and extract to my temp directory:

 

there is a 192d:0101 entry in

 

usb_modeswitch.d

 

> cat 19d2:0101 # Vodafone (ZTE) K4505-Z TargetVendor=0x19d2 TargetProduct=0x0104 <-------- I need it to report this after a mode-switch! StandardEject=1 > NOTE: there is no init-string (for mode-switching)

 

also I find this from URL: https://bugzilla.redhat.c...multiple&id=834871

"The Vodafone K4505-Z is practically the same as the ZTE MF668; the only difference seems to be that the Vodafone version does not need USB-mode-switch, since (according to a well-known German computer magazine) the computer identifies it immediately as a modem and not as a mass-storage-device."

 

===> from above: I use the init-string for ZTE MF668 but does not work.

 

so still stuck as 19d2:0101 device with ZTE modem inserted into FGT.

 

I am very curious as to how you got your K4505-z to mode-switch to vid/pid=19d2:0104 and exposes all the right interface class=0xff (vendor) that usbserial driver can find attach to ttyusbX where X is 0...MaxNumPorts.

 

can you tell me what you did to get it to that state? how did you find the correct init-string from some other forums?

(ie. the Huawai modem K4505 init-string, as u said, is INCORRECT, and does not work of course!).

 

it looks like you got your ttyusbX COM ports communicating with modem daemon can send AT command init and dial PPP etc.

 

any help would be appreciate.

 

Rob

 

ede_pfau wrote:

This is a small world...I've been working on that identical Vodafone webstick for a couple of days now.

This is what I've got from the FGT:

fnsysctl cat /proc/bus/usb/devices

T:  Bus=02 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#=  6 Spd=480 MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=19d2 ProdID=0104 Rev= 0.00
S:  Manufacturer=Vodafone (ZTE)
S:  Product=Vodafone Mobile Broadband K4505-z
S:  SerialNumber=P680A2VDFD010000
C:* #Ifs= 6 Cfg#= 1 Atr=e0 MxPwr=500mA
I:  If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
I:  If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
E:  Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
I:  If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
E:  Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
I:  If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
E:  Ad=84(I) Atr=03(Int.) MxPS=  64 Ivl=2ms
E:  Ad=85(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
I:  If#= 4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
E:  Ad=86(I) Atr=03(Int.) MxPS=  64 Ivl=2ms
E:  Ad=87(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=05(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
I:  If#= 5 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=(none)
E:  Ad=06(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=88(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms

Now this clearly states that VendorID = 0x19d2 and ProductID = 0x0101.

Directly connected to a FGT I could create a 'Custom Modem' with these parameters, and the Vendor string 'ZTE' and model 'K4505-z'.

The dial command for Vodafone is '*99***1'.

The APN for Vodafone prepaid is 'web.vodafone.de' (at least in Germany).

With all this the modem got connected - but it fails to obtain a WAN IP. Of course I provided the correct PIN.

 

As I want to use this modem in a FortiExtender FEX-20B I have not made any progress yet. There seems not to be any way to define a custom modem type on the FEX. The Admin guide for FEX ends after a mere 9 pages right where the 'Advanced' configuration part should have started...

 

HTH

Arnold
New Contributor

ok so I enterd it via cli

 

config system 3g-modem custom edit 0 Set vendor "ZTE Vodafone" Set model K4505-Z Set vendor-id 19d2  Set product-id 0101 end

 

so now it's being detected 

 

FGT # diag sys modem external-modem External modem vendor: ZTE Vodafone External modem vendor id: 19d2 External modem model : K4505-Z External modem product id: 0101

 

FGT # dia sys modem The modem state is 1, poll rate is 300. The modem is not active.

 

but I cant dial it

I have another dongle K3715

with it fortigate detects it, there is no pin, so I just specify the dial number (*99***1#)

 

so with the custom one when I press dial now, nothing happens, as I understand the only think I'm missing is the init-str

 

I found this similar topic https://forum.fortinet.co...2323&high=init-str

MCSE

MCSE
ede_pfau
SuperUser
SuperUser

hi,

 

thanks for the info, and especially the post from Selective. I will work on that.

It seems I will first have to make it work when directly connected to the FGT. There I have all the means to define a custom modem.

Eventually I want to use the modem in the FortiExtender but...I can't see any way to define a custom modem there. The FEX does have a web GUI of it's own, and a command line (telnet). But without any command reference I cannot make it work.


Ede

"Kernel panic: Aiee, killing interrupt handler!"
Ede"Kernel panic: Aiee, killing interrupt handler!"
Carl_Wallmark
Valued Contributor

I´m here to assist if you need any help ;)

FCNSA, FCNSP
---
FortiGate 200A/B, 224B, 110C, 100A/D, 80C/CM/Voice, 60B/C/CX/D, 50B, 40C, 30B
FortiAnalyzer 100B, 100C
FortiMail 100,100C
FortiManager VM
FortiAuthenticator VM
FortiToken
FortiAP 220B/221B, 11C

FCNSA, FCNSP---FortiGate 200A/B, 224B, 110C, 100A/D, 80C/CM/Voice, 60B/C/CX/D, 50B, 40C, 30BFortiAnalyzer 100B, 100CFortiMail 100,100CFortiManager VMFortiAuthenticator VMFortiTokenFortiAP 220B/221B, 11C
Arnold
New Contributor

ok so I found the modem suport for the fgt and the externder

http://docs-legacy.fortinet.com/fex/modem-compat-matrix.html

We have 4 usb models:

E173 supported (have not tried it yet, in another office)

K3715 supported (tied it and works like a charm)

K4505-Z unsuported (trying to get it work)

few E3372 unsuported (in another office and I think I will have the same problems as the K4505-Z)

 

going back to the K4505-Z, as I understand the modem those not connect because of the missing init-str mandatory? and is so is it posible to get it via windows, unix, fgt cli?

of if google those not gave it we have to get a supported model? 

 

 

MCSE

MCSE
Carl_Wallmark
Valued Contributor

The init-str is just for initilizing the modem.

 

a USB modem has two modes:

 

1. USB flash drive

2. Communication mode

 

When it´s in a USB flash drive mode, it will only be presented as a disk which mostly contains the drivers for Windows/MacOS.

The init-str is used to tell the modem "I have already installed the drivers, please change to Communication mode"

But this string can differ from model/vendor, it´s possible to sniff it when you insert it into a computer, but i have never done it. I have found all my strings by googling and looking in Linux configs.

 

Often you need to create two "product-id" and "vendor-id" entrys.

First one is when the modem is in flash drive mode, this should contain the init-str to tell the modem to flip.

In Communication mode the "product-id" and "vendor-id" could have changed to something else, so you also need to create on for this one, so the FGT can detect it.

FCNSA, FCNSP
---
FortiGate 200A/B, 224B, 110C, 100A/D, 80C/CM/Voice, 60B/C/CX/D, 50B, 40C, 30B
FortiAnalyzer 100B, 100C
FortiMail 100,100C
FortiManager VM
FortiAuthenticator VM
FortiToken
FortiAP 220B/221B, 11C

FCNSA, FCNSP---FortiGate 200A/B, 224B, 110C, 100A/D, 80C/CM/Voice, 60B/C/CX/D, 50B, 40C, 30BFortiAnalyzer 100B, 100CFortiMail 100,100CFortiManager VMFortiAuthenticator VMFortiTokenFortiAP 220B/221B, 11C
Carl_Wallmark
Valued Contributor

Try this for init-str: 55534243123456780000000000000011060000000000000000000000000000

 

Source: http://linuxformat.com/forums/viewtopic.php?p=97570

FCNSA, FCNSP
---
FortiGate 200A/B, 224B, 110C, 100A/D, 80C/CM/Voice, 60B/C/CX/D, 50B, 40C, 30B
FortiAnalyzer 100B, 100C
FortiMail 100,100C
FortiManager VM
FortiAuthenticator VM
FortiToken
FortiAP 220B/221B, 11C

FCNSA, FCNSP---FortiGate 200A/B, 224B, 110C, 100A/D, 80C/CM/Voice, 60B/C/CX/D, 50B, 40C, 30BFortiAnalyzer 100B, 100CFortiMail 100,100CFortiManager VMFortiAuthenticator VMFortiTokenFortiAP 220B/221B, 11C
Labels
Top Kudoed Authors