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
Beware - the page from linuxformat.com is about the Huawei K4505. We are talking about the ZTE K4505-z.
This is apparent from both vendor ID and product ID.
Selective, do you have any infos on the FortiExtender's CLI? I know it's a BusyBox so it can't be all magic...then I will try to define a custom modem on the FEX.
Actually, as my stick doesn't have an SD card inserted, I don't think the mode-switch is necessary. It's just that the dial command or the init string do not fit.
here's the file /etc/usb_modeswitch.d/19d2:0101:
# Vodafone (ZTE) K4505-ZOK, the productID is not the same...needs editing?
TargetVendor= 0x19d2
TargetProduct= 0x0104
StandardEject=1
Am I glad that I know vi...
tried the init string just for luck, those not work ;/
MCSE
if I can inject. I
f you want to spend less time using the diagnostics within the fortigate, use a linux/unix host and a screen/mincom or similar and issues the commands and initilization strings from a terminal. You could easy use a ppp-chat to check all functions from dialup , ppp-neg, authentication,etc.....
I believe to get the cd-modem disable, you needs to use & set it as value #1 to this.
AT+ZCDRUN?
AT+ZCDRUN=1
If you wikipedia 3g AT commands there use be a generic website of all common, generic and mfg'er support commands sets. I found doing all my AT commands diagnostics on my mac or linux , has created less frustration with getting things to work on Fortigate.
I hope that helps.
PCNSE
NSE
StrongSwan
Sorry for late reply,
@Ede - Sorry but I haven´t tested the Extender yet, but I think the busybox just contains more init-str than the FortiGate.
I remember that I found the modem list file with the command "fnsysctl cat /etc/modem_list.conf"
You might try that command on the extender.
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
hi,
quite unbelievable but this is still under investigation. I've got a case open with TAC which now is elevated to L2. My case is twofold: one, the modem was not detected (solved) and two, the FortiExtender doesn't work (FEX-20B).
I got the modem to switch over using the Vodafone software on a PC - as simple as that. Once switched, the stick stays in modem mode. I can use AT commands on it etc. and it even dials out if directly attached to a FGT (on FOS 5.2.2).
Because of that last-effort-before-I-ditch-the-damn-stick method I am sorry that I cannot provide an init string. But, as this has been stale for a couple of weeks now, I will have a closer look at the usb-switch.conf file on the FEX. Maybe I can dig up an init string anyway.
TAC has published an intermediate patch release of the FEX firmware which helped but did not go all the way. I will continue to post the progress here.
okay if you can find the working init-string let me know.
meanwhile to get pass device detection stage1 problem: we will install the Vodafone Mobile Broadband Software for Windows7. I presumed that was what you were using (successfully) - and insert it to the Win7 PC and let's see if modem can switch-over, as u said that easy as 1-2-3!! and should remain in that state without switching back to storage class device. this could be a temporary solution.
note: the ZTE K4505-z is not in my hands physically but in Vodafone IN customer site.
VMB software RC1 release note PDF: lists K4505-z as supported by all flavous of windows. looks like cdc_ethernet, NDIS wwan and direct serial COM port drivers are also supported by the windows kernel. the init-string could be either hardcoded in the associated .sys driver files or specified in the associated .inf files in the installed driver directory. so I am also looking into the .inf files too.
You have the custom modem defined but the dial is not working, have you tried
diag debug reset
diag debug enable
diag debug application modemd -1
or stick it in a linux/windown terminal program and execute the exact same init strings and at cmds followed by a atdt < insert the suspect dial#>
Than you can check the ppp chat just like in linux & it might give some clues
e.g
modemd: modem state changed: 3(connected) -> 4(hangingup) modemd: modem_ppp_stop:486 primary ipcp: down ppp:0x32004000 tun: (nil) ref 0 modemd: primary PPP link is down. modemd: run_state_machine state 4(hangingup) modemd: modem state changed: 4(hangingup) -> 0(uninit) modemd: run_state_machine state 0(uninit) modemd: modem state changed: 0(uninit) -> 1(inactive) modemd: Launch modem due to auto-dial. modemd: Begin dialing: redials left = 99999 modemd: dev=/dev/ttyusb0 tel=*99# modemd: modem state changed: 1(inactive) -> 2(dialing) chat: abort on (BUSY) chat: abort on (NO DIAL TONE) chat: abort on (NO DIALTONE) chat: abort on (NO ANSWER) chat: abort on (ERROR) chat: send (atz^M) chat: expect (OK) chat: atz^M^M chat: OK chat: -- got it chat: send (ath0^M) chat: abort on (NO CARRIER) chat: expect (OK) chat: ^M chat: ath0^M^M chat: OK chat: -- got it chat: send (ats7=60^M) chat: timeout set to 60 seconds chat: expect (OK) chat: ^M chat: ats7=60^M^M chat: OK chat: -- got it chat: send (atdt*99#^M) chat: expect (CONNECT) chat: ^M chat: atdt*99#^M^M chat: CONNECT chat: -- got it chat: send (^M) modemd: modem_ppp_start:415 primary
PCNSE
NSE
StrongSwan
Correct, I was using the VMB as offered on their website, running under Win 7SP1. Straight forward, no tricks. Connection was established the moment I entered the PIN.
This also proved that the signal strength is sufficient in the middle of the room (something that TAC had doubts about).
Select Forum Responses to become Knowledge Articles!
Select the “Nominate to Knowledge Base” button to recommend a forum post to become a knowledge article.
User | Count |
---|---|
1742 | |
1114 | |
760 | |
447 | |
241 |
The Fortinet Security Fabric brings together the concepts of convergence and consolidation to provide comprehensive cybersecurity protection for all users, devices, and applications and across all network edges.
Copyright 2025 Fortinet, Inc. All Rights Reserved.