After tearing my hair out making my Thinkpad’s Ericsson Business Mobile Networks BV F3507g Mobile Broadband Module work like it should I found the solution.
Without some magic initialization strings, whenever you create a PPP connection using pppd, you will simply get some cruft like the following
Connect: ppp20 <--> /dev/ttyACM1
sent [LCP ConfReq id=0x1
rcvd [LCP ConfReq id=0x2
sent [LCP ConfAck id=0x2
rcvd [LCP ConfAck id=0x1
sent [LCP EchoReq id=0x0 magic=0x7ee90359]
rcvd [LCP EchoRep id=0x0 magic=0xd1304c29]
rcvd [CHAP Challenge id=0x0 <4c95aa9b38117677e44d021350494e6f7c055a8b6881266714bdb20380b9fe5fac750a7b98f1d657442d62f3b029ae4fdce5ba6bc8618647749d12e3e0995e>, name = "Kermit"]
sent [CHAP Response id=0x0 <068d69fa57a15daa762f3d4ea548e605>, name = "xxxxx"]
rcvd [CHAP Success id=0x0 "Congratulations!"]
CHAP authentication succeeded: Congratulations!
CHAP authentication succeeded
sent [IPCP ConfReq id=0x1
rcvd [LCP TermReq id=0x1]
LCP terminated by peer
sent [LCP TermAck id=0x1
The key being “LCP terminated by peer”. This modem seems to be faking a lot of stuff on the PPP layer, and the termination is actually initiated by the modem, and not the actual network itself, causing one to do some serious headscratching.
The magic, is in the following initialisation string, that you add to your chat script.
OK AT+CFUN=1
Yes, that’s right, lets have FUN=1 !
Without that bit in the init string there is no PPP to be had. Your connections will always report “Congratulations!” and then summarily disconnect.
You can also use AT+CFUN=5
for GSM/GPRS only mode or AT+CFUN=6
for 3G only mode.
Herewith a complete /etc/ppp/peers/fuckyouericsson chat script
ABORT BUSY
ABORT VOICE
ABORT "NO CARRIER"
ABORT "NO DIALTONE"
ABORT "NO DIAL TONE"
ABORT "NO ANSWER"
ABORT "DELAYED"
ABORT "ERROR"
ABORT "+CGATT: 0"
TIMEOUT 12
"" AT
OK ATQ0V1E1S0=0&C1&D2+FCLASS=0
#REQUIRED TO MAKE THE MODEM ACTUALLY DO PPP
OK AT+CFUN=1
#set the APN
OK AT+CGDCONT=1,"IP","internet","0.0.0.0",0,1
OK ATD*99***1#
TIMEOUT 22
CONNECT ""
Yea — FUN=1 simply turns the radio unit into ‘active’ mode – it will also light up the actual light on the LED if you have one.
For most things Lenovo/IBM always look at thinkwiki first:
http://www.thinkwiki.org/wiki/Ericsson_F3507g_Mobile_Broadband_Module
Has helped me out a couple of times