Skip to main content
cryptochrome
New Member
May 12, 2016
Question

Getting 3G/4G USB Modem to work

  • May 12, 2016
  • 3 replies
  • 30421 views

Hi guys,

 

I am struggling to get a USB 3G/4G Modem (Huwaei E3276) to work. The FGT-51E does recognize the modem and I can set it up in a way that is starts dialling, but I never get a connection.

 

If I use the modem on my PC with the exact same settings (same APN, username and what have you), I have no issues. 

 

Has anyone ever gotten this to work?

 

Here is what I get in a debug output while the modem is dialling:

 

FGT51E3U16000385 # modemd: run_state_machine state 1(inactive)
modemd: Launch modem due to manual 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: ^M
chat: ^RSSI:21^M
chat: ^M
chat: ^LTERSRP:-98,-7^M
chat: ^M
chat: ^RSSI:21^M
chat: ^M
chat: ^LTERSRP:-98,-7^M
chat: ^M
chat: ^RSSI:21^M
chat: ^M
chat: ^LTERSRP:-99,-8^M
chat: ^M
chat: ^RSSI:21^M
chat: ^M
chat: ^LTERSRP:-99,-7^M
chat: ^M
chat: ^RSSI:21^M
chat: ^M
chat: ^LTERSRP:-98,-7^M
chat: ^M
chat: ^RSSI:20^M
chat: ^M
chat: ^LTERSRP:-99,-6^M
chat: ^M
chat: ^RSSI:21^M
chat: ^M
chat: ^LTERSRP:-99,-7^M
chat: ^M
chat: ^RSSI:20^M
chat: ^M
chat: ^LTERSRP:-99,-6^M
chat: ^M
chat: ^RSSI:20^M
chat: ^M
chat: ^LTERSRP:-99,-7^M
chat: ^M
chat: ^RSSI:20^M
chat: ^M
chat: ^LTERSRP:-99,-7^M
chat: ^M
chat: ^RSSI:21^M
chat: ^M
chat: ^LTERSRP:-99,-7^M
chat: ^M
chat: ^RSSI:20^M
chat: ^M
chat: ^LTERSRP:-98,-6^M
chat: ^M
chat: ^RSSI:21^M
chat: ^M
chat: ^LTERSRP:-98,-7^M
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=90^M)
chat: timeout set to 90 seconds
chat: expect (OK)
chat: ^M
chat: ats7=90^M^M
chat: OK
chat: -- got it

chat: send (AT+CGDCONT=1,"IP","internet.t-mobile"^M)
chat: expect (OK)
chat: ^M
chat: AT+CGDCONT=1,"IP","internet.t-mobile"^M^M
chat: OK
chat: -- got it

chat: send (atd*99#^M)
chat: expect (CONNECT)
chat: ^M
chat: atd*99#^M^M
chat: CONNECT
chat: -- got it

chat: send (^M)
modemd: modem_ppp_start:406 primary
SND: LCP Configure_Request id(1) len(20) [Asnync_Control_Character_Map 00 00 00 00] [Magic_Number 44F924EF] [Protocol_Field_Compression] [Address-and-Control-Field-Compression]
modemd: run_state_machine state 2(dialing)
SND: LCP Configure_Request id(1) len(20) [Asnync_Control_Character_Map 00 00 00 00] [Magic_Number 44F924EF] [Protocol_Field_Compression] [Address-and-Control-Field-Compression]
modemd: run_state_machine state 2(dialing)
SND: LCP Configure_Request id(1) len(20) [Asnync_Control_Character_Map 00 00 00 00] [Magic_Number 44F924EF] [Protocol_Field_Compression] [Address-and-Control-Field-Compression]
modemd: run_state_machine state 2(dialing)
SND: LCP Configure_Request id(1) len(20) [Asnync_Control_Character_Map 00 00 00 00] [Magic_Number 44F924EF] [Protocol_Field_Compression] [Address-and-Control-Field-Compression]
modemd: run_state_machine state 2(dialing)
get_cur_modem_info:1706 force=0 inited=1
get_cur_modem_info:1706 force=0 inited=1
SND: LCP Configure_Request id(1) len(20) [Asnync_Control_Character_Map 00 00 00 00] [Magic_Number 44F924EF] [Protocol_Field_Compression] [Address-and-Control-Field-Compression]
modemd: run_state_machine state 2(dialing)
SND: LCP Configure_Request id(1) len(20) [Asnync_Control_Character_Map 00 00 00 00] [Magic_Number 44F924EF] [Protocol_Field_Compression] [Address-and-Control-Field-Compression]
modemd: run_state_machine state 2(dialing)
SND: LCP Configure_Request id(1) len(20) [Asnync_Control_Character_Map 00 00 00 00] [Magic_Number 44F924EF] [Protocol_Field_Compression] [Address-and-Control-Field-Compression]
modemd: run_state_machine state 2(dialing)
SND: LCP Configure_Request id(1) len(20) [Asnync_Control_Character_Map 00 00 00 00] [Magic_Number 44F924EF] [Protocol_Field_Compression] [Address-and-Control-Field-Compression]
modemd: run_state_machine state 2(dialing)
SND: LCP Configure_Request id(1) len(20) [Asnync_Control_Character_Map 00 00 00 00] [Magic_Number 44F924EF] [Protocol_Field_Compression] [Address-and-Control-Field-Compression]
modemd: run_state_machine state 2(dialing)
SND: LCP Configure_Request id(1) len(20) [Asnync_Control_Character_Map 00 00 00 00] [Magic_Number 44F924EF] [Protocol_Field_Compression] [Address-and-Control-Field-Compression]
modemd: run_state_machine state 2(dialing)
LCP: timeout sending Config-Requests
Connection terminated.
modemd: run_state_machine state 2(dialing)
modemd: Unable to connect to remote server "*99#"
modemd: modem state changed: 2(dialing) -> 4(hangingup)
modemd: modem_ppp_stop:478 primary
modemd: redials:1 isp:0 dev:/dev/ttyusb0 tel:*99#
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: run_state_machine state 1(inactive)
modemd: run_state_machine state 1(inactive)
modemd: run_state_machine state 1(inactive)
modemd: run_state_machine state 1(inactive)
modemd: run_state_machine state 1(inactive)
modemd: run_state_machine state 1(inactive)
modemd: run_state_machine state 1(inactive)

 

FYI:

 

I am trying to connect to Deutsche Telekom's LTE network in Germany.

    3 replies

    emnoc
    New Member
    May 12, 2016

    Any snapshot of the sys modem config?

     

    cryptochrome
    New Member
    May 12, 2016

    Sure, here you go. Thanks!

     

    config system modem
        set status enable
        set phone1 "*99#"
        set username1 "t-mobile"
        set passwd1 ENC xxx
        set extra-init1 "AT+CGDCONT=1,\"IP\",\"internet.telekom\""
        set distance 100
    end
     

    emnoc
    New Member
    May 12, 2016

     

        set username1 "t-mobile"
        set passwd1 ENC xxx



    Do you have to use a password for t-mobile DE?

     

    I would unset those 2 fields and try again .

     

     

    Itguy
    New Member
    May 12, 2016

    Good luck with this. We struggled with USB modems directly into the Fortinet's for over a month before realizing that this is the single worst aspect of Fortinet IMO. Now we use Cradles if we want to interface a USB with a Fortinet.

    Even Fortinet support finally gave up back then on us. My advice is to not even try.

     

    cryptochrome wrote:

    Hi guys,

     

    I am struggling to get a USB 3G/4G Modem (Huwaei E3276) to work. The FGT-51E does recognize the modem and I can set it up in a way that is starts dialling, but I never get a connection.

     

    If I use the modem on my PC with the exact same settings (same APN, username and what have you), I have no issues. 

     

    Has anyone ever gotten this to work?

     

    Here is what I get in a debug output while the modem is dialling:

     

    FGT51E3U16000385 # modemd: run_state_machine state 1(inactive)
    modemd: Launch modem due to manual 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: ^M
    chat: ^RSSI:21^M
    chat: ^M
    chat: ^LTERSRP:-98,-7^M
    chat: ^M
    chat: ^RSSI:21^M
    chat: ^M
    chat: ^LTERSRP:-98,-7^M
    chat: ^M
    chat: ^RSSI:21^M
    chat: ^M
    chat: ^LTERSRP:-99,-8^M
    chat: ^M
    chat: ^RSSI:21^M
    chat: ^M
    chat: ^LTERSRP:-99,-7^M
    chat: ^M
    chat: ^RSSI:21^M
    chat: ^M
    chat: ^LTERSRP:-98,-7^M
    chat: ^M
    chat: ^RSSI:20^M
    chat: ^M
    chat: ^LTERSRP:-99,-6^M
    chat: ^M
    chat: ^RSSI:21^M
    chat: ^M
    chat: ^LTERSRP:-99,-7^M
    chat: ^M
    chat: ^RSSI:20^M
    chat: ^M
    chat: ^LTERSRP:-99,-6^M
    chat: ^M
    chat: ^RSSI:20^M
    chat: ^M
    chat: ^LTERSRP:-99,-7^M
    chat: ^M
    chat: ^RSSI:20^M
    chat: ^M
    chat: ^LTERSRP:-99,-7^M
    chat: ^M
    chat: ^RSSI:21^M
    chat: ^M
    chat: ^LTERSRP:-99,-7^M
    chat: ^M
    chat: ^RSSI:20^M
    chat: ^M
    chat: ^LTERSRP:-98,-6^M
    chat: ^M
    chat: ^RSSI:21^M
    chat: ^M
    chat: ^LTERSRP:-98,-7^M
    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=90^M)
    chat: timeout set to 90 seconds
    chat: expect (OK)
    chat: ^M
    chat: ats7=90^M^M
    chat: OK
    chat: -- got it

    chat: send (AT+CGDCONT=1,"IP","internet.t-mobile"^M)
    chat: expect (OK)
    chat: ^M
    chat: AT+CGDCONT=1,"IP","internet.t-mobile"^M^M
    chat: OK
    chat: -- got it

    chat: send (atd*99#^M)
    chat: expect (CONNECT)
    chat: ^M
    chat: atd*99#^M^M
    chat: CONNECT
    chat: -- got it

    chat: send (^M)
    modemd: modem_ppp_start:406 primary
    SND: LCP Configure_Request id(1) len(20) [Asnync_Control_Character_Map 00 00 00 00] [Magic_Number 44F924EF] [Protocol_Field_Compression] [Address-and-Control-Field-Compression]
    modemd: run_state_machine state 2(dialing)
    SND: LCP Configure_Request id(1) len(20) [Asnync_Control_Character_Map 00 00 00 00] [Magic_Number 44F924EF] [Protocol_Field_Compression] [Address-and-Control-Field-Compression]
    modemd: run_state_machine state 2(dialing)
    SND: LCP Configure_Request id(1) len(20) [Asnync_Control_Character_Map 00 00 00 00] [Magic_Number 44F924EF] [Protocol_Field_Compression] [Address-and-Control-Field-Compression]
    modemd: run_state_machine state 2(dialing)
    SND: LCP Configure_Request id(1) len(20) [Asnync_Control_Character_Map 00 00 00 00] [Magic_Number 44F924EF] [Protocol_Field_Compression] [Address-and-Control-Field-Compression]
    modemd: run_state_machine state 2(dialing)
    get_cur_modem_info:1706 force=0 inited=1
    get_cur_modem_info:1706 force=0 inited=1
    SND: LCP Configure_Request id(1) len(20) [Asnync_Control_Character_Map 00 00 00 00] [Magic_Number 44F924EF] [Protocol_Field_Compression] [Address-and-Control-Field-Compression]
    modemd: run_state_machine state 2(dialing)
    SND: LCP Configure_Request id(1) len(20) [Asnync_Control_Character_Map 00 00 00 00] [Magic_Number 44F924EF] [Protocol_Field_Compression] [Address-and-Control-Field-Compression]
    modemd: run_state_machine state 2(dialing)
    SND: LCP Configure_Request id(1) len(20) [Asnync_Control_Character_Map 00 00 00 00] [Magic_Number 44F924EF] [Protocol_Field_Compression] [Address-and-Control-Field-Compression]
    modemd: run_state_machine state 2(dialing)
    SND: LCP Configure_Request id(1) len(20) [Asnync_Control_Character_Map 00 00 00 00] [Magic_Number 44F924EF] [Protocol_Field_Compression] [Address-and-Control-Field-Compression]
    modemd: run_state_machine state 2(dialing)
    SND: LCP Configure_Request id(1) len(20) [Asnync_Control_Character_Map 00 00 00 00] [Magic_Number 44F924EF] [Protocol_Field_Compression] [Address-and-Control-Field-Compression]
    modemd: run_state_machine state 2(dialing)
    SND: LCP Configure_Request id(1) len(20) [Asnync_Control_Character_Map 00 00 00 00] [Magic_Number 44F924EF] [Protocol_Field_Compression] [Address-and-Control-Field-Compression]
    modemd: run_state_machine state 2(dialing)
    LCP: timeout sending Config-Requests
    Connection terminated.
    modemd: run_state_machine state 2(dialing)
    modemd: Unable to connect to remote server "*99#"
    modemd: modem state changed: 2(dialing) -> 4(hangingup)
    modemd: modem_ppp_stop:478 primary
    modemd: redials:1 isp:0 dev:/dev/ttyusb0 tel:*99#
    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: run_state_machine state 1(inactive)
    modemd: run_state_machine state 1(inactive)
    modemd: run_state_machine state 1(inactive)
    modemd: run_state_machine state 1(inactive)
    modemd: run_state_machine state 1(inactive)
    modemd: run_state_machine state 1(inactive)
    modemd: run_state_machine state 1(inactive)

     

    FYI:

     

    I am trying to connect to Deutsche Telekom's LTE network in Germany.

    emnoc
    New Member
    May 12, 2016

    Will if my input counts that's a bogus reply imho, the E3276 is a support modem from the fortiOS  aspect. I'm sure it's a auth issue that's keeping the modem down.

    Most of the  huawei modem do work some requires more tweaking than others.

     

    Ken

     

    Itguy
    New Member
    May 12, 2016

    Good luck then. 2 in-house Fortinet Engineers here, and 7 support tickets later we gave up getting these to work directly with Fortinet. Cradle is cheaper, easier and more reliable.

     

    After our tickets were escalated we were told 'it should work, we don't know why'.. That's when the cradles came in.

    cryptochrome
    New Member
    May 12, 2016

    We will see. I have a support ticket open with them and will have a call with them tomorrow afternoon.

     

    As for the different authentication schemes, Ken, my understanding is they are all enabled and the box goes through them until one matches or whatever is negotiated. I might be wrong, but this is what the default config looks like if you are not tampering with the auth config:

     

    FGT51E3U16000385 (modem) # get
    status : enable 
    pin-init : 
    network-init : 
    lockdown-lac : 
    mode : standalone 
    auto-dial : disable 
    dial-on-demand : disable 
    idle-timer : 5
    redial : none 
    reset : 0
    holddown-timer : 60
    connect-timeout : 90
    wireless-port : 0
    dont-send-CR1 : disable 
    phone1 : *99# 
    dial-cmd1 : 
    username1 : 
    passwd1 : *
    extra-init1 : AT+CGDCONT=1,"IP","internet.telekom" 
    peer-modem1 : generic 
    ppp-echo-request1 : enable 
    authtype1 : pap chap mschap mschapv2 

     

    To me it "feels" like it is dialing but never getting a response, but the logs and your observation, Ken, speak a different language. It's most likely something during the PAP/CHAP negotiation that goes wrong.

     

    I'll try setting authtype explicitly and try each of them.