LTE on RCC-VE 2440 with Sierra Wireless MC7354
-
@Phishfry:
Looks like you got it Jeremy…Was having troubles with FreeBSD as my MC7700 custom PPP.conf did not work and this worked straight up....
I did have to switch the PID to 9041 as this is a MC7354 with 68c0 PID...My MC7355 is on loan..I need to test my Dell module next.Would you mind sharing any customization you made? I have been considering purchasing a RCC-VE-2440 for a while just for this purpose (using a SW MC7354). You mention a custom PPP.conf - did you have to make any tweaks in 2.2.5 to get the card recognized by pfsense?
-
No tweaks necessary. The PPP file was for testing in FreeBSD.
I did have to switch the module to a supported PID. This is how. For MC7354,MC7355 with PID other than 9041..
pfSense -Menu Item #8 Command Prompt
cu -l /dev/cuaU0.2
Then type these AT commands:
AT
ATZ
AT!entercnd="A710"
AT
AT!UDPID=9041
ATExit and Reboot
-
In case your wondering how to find PID then look at post above:
usbconfig -u 0 -a 3 dump_device_desc
The 0 means USB BUS 0 and Device number 3 on that bus. Yours may be different.
Look for line that says IDproduct=Another Way
From the cu (Terminal program) console
cu -l /dev/cuaU0.2
AT
ATZ
AT!entercnd="A710"
AT
AT!UDPID?
AT
Shift key and Tilda –Then -dot- to exit.Notice the difference, AT!UDPID? Outputs PID and AT!UDPID=9041 Changes it. AT!UDPID=? Shows available PID's
-
Sorry about the Zombie thread. again.. It's a bad habit.
From what I understand in this thread, everything was fixed with the Dell 5808 version of the MC7355.
Jeremy also got the Dell version of this card going. Dell DW5808..
Im on the same RCC-VE-2440 with the Dell card running pfSense 2.3.2-p1 and it will not show up as a cuaU0.x device.
I did find (similar to the OP):
ugen0.3: <sierra wireless,="" incorporated=""> at usbus0</sierra>
and
[2.3.2-RELEASE][admin@pfSense.rack.center]/root: usbconfig -u 0 -a 3 dump_device_desc ugen0.3: <dell 5808="" wireless="" gobi="" 4g="" lte="" mobile="" broadband="" card="" sierra="" wireless,="" incorporated="">a, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (500mA) bLength = 0x0012 bDescriptorType = 0x0001 bcdUSB = 0x0200 bDeviceClass = 0x0000 <probed by="" interface="" class="">bDeviceSubClass = 0x0000 bDeviceProtocol = 0x0000 bMaxPacketSize0 = 0x0040 idVendor = 0x413c idProduct = 0x81a8 bcdDevice = 0x0006 iManufacturer = 0x0001 <sierra wireless,="" incorporated="">iProduct = 0x0002 <dell 5808="" wireless="" gobi="" 4g="" lte="" mobile="" broadband="" card="">iSerialNumber = 0x0003 <retrieving string="" failed="">bNumConfigurations = 0x0002</retrieving></dell></sierra></probed></dell>
Has support been dropped? Do I need to change the PID from another box?
-
Just found a thread with a potential answer.
-
Just found a thread with a potential answer.
curtis some of the things talked about in that thread are essentially what Phishfry mentions in these posts:
@Phishfry:No tweaks necessary. The PPP file was for testing in FreeBSD.
I did have to switch the module to a supported PID. This is how. For MC7354,MC7355 with PID other than 9041..
pfSense -Menu Item #8 Command Prompt
cu -l /dev/cuaU0.2
Then type these AT commands:
AT
ATZ
AT!entercnd="A710"
AT
AT!UDPID=9041
ATExit and Reboot
@Phishfry:
In case your wondering how to find PID then look at post above:
usbconfig -u 0 -a 3 dump_device_desc
The 0 means USB BUS 0 and Device number 3 on that bus. Yours may be different.
Look for line that says IDproduct=Another Way
From the cu (Terminal program) console
cu -l /dev/cuaU0.2
AT
ATZ
AT!entercnd="A710"
AT
AT!UDPID?
AT
Shift key and Tilda –Then -dot- to exit.Notice the difference, AT!UDPID? Outputs PID and AT!UDPID=9041 Changes it. AT!UDPID=? Shows available PID's
I literally just got my mc7354 working following these directions, all with the card installed in my pfSense box.
Anyways, hopefully you got yours figured out! 8)
-
I'm in a similar situation and I used Phishfry's other thread to get my card in the proper state. It works with both Windows and Ubuntu. However, it doesn't connect when using the card on pfsense. Using the command cu -l /dev/cuaU0.3 I get the reply:
/var/spool/lock/LCK..cuaU0.3: File exists
Can't read lock file.
all ports busyAny other variation of this command will reply with:
/dev/cuaU0.X: No such file or directory
link downAs a result I can't use any AT commands. Using the card on Ubuntu I can confirm the PID and VID have been changed to the apporpriate numbers. Despite this I'm unable to get the card running using PPP. Any further suggestions?
-
My issue was that the cuaU0.x devices do not show up in pfSense. Therefore I am unable to run any of the AT commands. I will post with more information when I'm able to work on this again.
-
The USBCOMP setting is really important. It stands for USB Composition. It is how the modem is able to use multiple protocols. I would check in Ubuntu and see what the AT!USBCOMP setting is. If you cant pull up a AT Console on Ubuntu than you may need to run the perl script from this post.
https://forum.pfsense.org/index.php?topic=96468.15
You need to get the USBCOMP to something FreeBSD can use.
Like the example usbcomp=14 is a good choice.:
sudo perl swi_setusbcomp.pl –usbcomp=14So run Ubuntu install putty or use a terminal and check out the AT console. If it comes up then change usbcomp to 14.
-
Atlas2112, you are using the wrong port, Try cuaU0.2 for AT command console.
-
Francisco, from Ubuntu I know that the USBCOMP is 14. I followed your step through, including Mork's perl script, to get to this point actually. Everything works fine in Ubuntu.
Here is a basic readout showing the card:
ugen0.4: <mc7355 sierra="" wireless,="" incorporated="">at usbus0, cfg=0 md=HOST spd=HIG H (480Mbps) pwr=ON (500mA)
bLength = 0x0012
bDescriptorType = 0x0001
bcdUSB = 0x0200
bDeviceClass = 0x0000 <probed by="" interface="" class="">bDeviceSubClass = 0x0000
bDeviceProtocol = 0x0000
bMaxPacketSize0 = 0x0040
idVendor = 0x1199
idProduct = 0x9041
bcdDevice = 0x0006
iManufacturer = 0x0001 <sierra wireless,="" incorporated="">iProduct = 0x0002 <mc7355>iSerialNumber = 0x0003 <retrieving string="" failed="">bNumConfigurations = 0x0002Yesterday even when utilizing the proper port I was unable to connect. However, it seems to be working today. The readout for AT!UDPID? is
!UDPID:
APP: 9041
BOOT: 9040So everything looked okay. But after running the AT command lines I still cannot connect via PPP and have the following readout:
NO CARRIER
at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (0mA)
ERROR
aations = 0x0001
Manufacturer: Sierra Wireless, Incorporated
Model: MC7355
Revision: SWI9X15C_05.05.16.00 r20317 carmd-fwbuild1 2014/02/06 01:23:05
MEID: 35619505094911
ESN: 12809721465, 80945679
IMEI: 356195050949112
IMEI SV: 10
FSN: ER512301930111
+GCAP: +CGSM,+DS,+ESSo my question is, has the card now enter a power saving mode and isn't being properly activated? Or am I just not configuring something right on the PPP interface side of things?</retrieving></mc7355></sierra></probed></mc7355>
-
I would try a couple of other USBCOMP like 6 or 8. Everything looks OK to me. PID is right. Does the modem connect in Ubuntu OK?
-
I was able to install Ubuntu on my router and run the perl script setting mode 6```
6 => 'DM NMEA AT QMI',When I run usbconfig -u 0 -a 3 dump_device_desc
ugen0.3: <dell 5808="" wireless="" gobi="" 4g="" lte="" mobile="" broadband="" card="" sierra="" wireless,="" incorporated="">a, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (500mA)
bLength = 0x0012
bDescriptorType = 0x0001
bcdUSB = 0x0200
bDeviceClass = 0x0000 <probed by="" interface="" class="">bDeviceSubClass = 0x0000
bDeviceProtocol = 0x0000
bMaxPacketSize0 = 0x0040
idVendor = 0x413c
idProduct = 0x81a8
bcdDevice = 0x0006
iManufacturer = 0x0001 <sierra wireless,="" incorporated="">iProduct = 0x0002 <dell 5808="" wireless="" gobi="" 4g="" lte="" mobile="" broadband="" card="">iSerialNumber = 0x0003 <retrieving string="" failed="">bNumConfigurations = 0x0001</retrieving></dell></sierra></probed></dell>Note > bNumConfigurations = 0x0001 from > bNumConfigurations = 0x0002 This would seem to indicate that the script did correctly set the single mode. For some reason the AT console is still not exposed…
-
Curtisgrice, I'm still working on getting mine up and running on pfsense but the first problem you have is the PID and VID. Your current ones make it so the card is read as a Dell modem, which restricts usage. I believe there are several that work but I have them set to idVendor = 0x1199 idProduct = 0x9041.
If you look back at my earlier post you'll see that with these PID and VID values the card instead reads as a Sierra Wireless card, not Dell.
-
After playing around with some AT commands I returned the line
AT!GSTATUS?
!GSTATUS:
Current Time: 503 Temperature: 18
Bootup Time: 5 Mode: LOW POWER MODE
System mode: WCDMA PS state: Not attached
WCDMA band: WCDMA 2100
WCDMA channel: 0
GMM (PS) state:NULL –-
MM (CS) state: NULL NO IMSIWCDMA L1 state:L1M_STOPPED LAC: 0000 (0)
RRC state: DISCONNECTED Cell ID: 00000000 (0)
RxM RSSI C0: --- RxD RSSI C0: ---
RxM RSSI C1: --- RxD RSSI C1: ---As far as I can tell, the problem with my card on pfsense is getting the card out of low power mode. I had a similar problem in Ubuntu. I was able to fix the problem by doing the following:
$ sudo qmicli -d /dev/cdc-wdm1 –dms-get-operating-mode
[/dev/cdc-wdm1] Operating mode retrieved:
Mode: 'low-power'
HW restricted: 'no'$ sudo qmicli -d /dev/cdc-wdm1 –dms-set-fcc-authentication
[/dev/cdc-wdm1] Successfully set FCC authentication$ sudo qmicli -d /dev/cdc-wdm1 –dms-get-operating-mode
[/dev/cdc-wdm1] Operating mode retrieved:
Mode: 'online'
HW restricted: 'no'I'm fairly new to pfsense and freeBSD so I'm not sure of the majority of commands. Does anyone have any suggestions on how to make a similar change through pfsense?
-
I don't know how I overlooked that! Can we change the VID? I see we can change the PID via the AT commands.
-
Follow this thread.
https://forum.pfsense.org/index.php?topic=96468.0;all
-
Yes I was wrong in that the Dell 5808 Module never got officially supported with VID/PID. So you are going to have to change it to the Sierra VendorID and ProductID. They do work fine.
Also the USBCOMP=6 looks no good as its is QMI. Once you get the module converted to Sierra VID i would use USBCOMP=14
-
I would do the VID and PID in one session. I don't know what would happen with a Dell VID and Sierra PID. You will need to use the password to access the protected commands. Afterwards reboot or give it AT!GRESET
-
Thank you everyone for helping. I was able to set the idVendor = 0x1199 and to idProduct = 0x9041. Now its showing up in pfSense with usable AT console.
However when trying to connect to Project fi (t-mobile/sprint/US Cellular towers) with an activated data only sim (tested) I get the following output in logs and it never establishes a data connection.
I have the APN set to h2g2.Dec 13 20:27:50 ppp [opt2_link0] LCP: state change Closed --> Initial Dec 13 20:27:50 ppp [opt2_link0] LCP: Down event Dec 13 20:27:50 ppp [opt2_link0] Link: DOWN event Dec 13 20:27:50 ppp [opt2_link0] LCP: LayerFinish Dec 13 20:27:50 ppp [opt2_link0] LCP: state change Closing --> Closed Dec 13 20:27:48 ppp [opt2_link0] LCP: SendTerminateReq #3 Dec 13 20:27:46 ppp [opt2_link0] LCP: LayerDown Dec 13 20:27:46 ppp [opt2_link0] LCP: SendTerminateReq #2 Dec 13 20:27:46 ppp [opt2] IPV6CP: state change Closed --> Initial Dec 13 20:27:46 ppp [opt2] IPV6CP: Down event Dec 13 20:27:46 ppp [opt2] IPCP: state change Closed --> Initial Dec 13 20:27:46 ppp [opt2] IPCP: Down event Dec 13 20:27:46 ppp [opt2] IPV6CP: state change Stopped --> Closed Dec 13 20:27:46 ppp [opt2] IPV6CP: Close event Dec 13 20:27:46 ppp [opt2] IPCP: state change Stopped --> Closed Dec 13 20:27:46 ppp [opt2] IPCP: Close event Dec 13 20:27:46 ppp [opt2] Bundle: Status update: up 0 links, total bandwidth 9600 bps Dec 13 20:27:46 ppp [opt2_link0] Link: Leave bundle "opt2" Dec 13 20:27:46 ppp [opt2_link0] LCP: state change Opened --> Closing Dec 13 20:27:46 ppp [opt2_link0] LCP: Close event Dec 13 20:27:46 ppp [opt2_link0] Link: CLOSE event Dec 13 20:27:46 ppp [opt2] Bundle: closing link "opt2_link0"... Dec 13 20:27:46 ppp [opt2] Bundle: No NCPs left. Closing links... Dec 13 20:27:46 ppp [opt2] IPV6CP: LayerFinish Dec 13 20:27:46 ppp [opt2] IPV6CP: state change Req-Sent --> Stopped Dec 13 20:27:46 ppp [opt2] IPV6CP: parameter negotiation failed Dec 13 20:27:46 ppp [opt2] IPCP: LayerFinish Dec 13 20:27:46 ppp [opt2] IPCP: state change Req-Sent --> Stopped Dec 13 20:27:46 ppp [opt2] IPCP: parameter negotiation failed Dec 13 20:27:46 ppp [opt2_link0] LCP: no reply to 1 echo request(s) Dec 13 20:27:44 ppp [opt2] COMPPROTO VJCOMP, 16 comp. channels, no comp-cid Dec 13 20:27:44 ppp [opt2] IPADDR 0.0.0.0 Dec 13 20:27:44 ppp [opt2] IPCP: SendConfigReq #10 Dec 13 20:27:44 ppp [opt2] IPV6CP: SendConfigReq #10 Dec 13 20:27:42 ppp [opt2] IPV6CP: SendConfigReq #9 Dec 13 20:27:42 ppp [opt2] COMPPROTO VJCOMP, 16 comp. channels, no comp-cid Dec 13 20:27:42 ppp [opt2] IPADDR 0.0.0.0 Dec 13 20:27:42 ppp [opt2] IPCP: SendConfigReq #9 Dec 13 20:27:40 ppp [opt2] COMPPROTO VJCOMP, 16 comp. channels, no comp-cid Dec 13 20:27:40 ppp [opt2] IPADDR 0.0.0.0 Dec 13 20:27:40 ppp [opt2] IPCP: SendConfigReq #8 Dec 13 20:27:40 ppp [opt2] IPV6CP: SendConfigReq #8 Dec 13 20:27:38 ppp [opt2] IPV6CP: SendConfigReq #7 Dec 13 20:27:38 ppp [opt2] COMPPROTO VJCOMP, 16 comp. channels, no comp-cid Dec 13 20:27:38 ppp [opt2] IPADDR 0.0.0.0 Dec 13 20:27:38 ppp [opt2] IPCP: SendConfigReq #7 Dec 13 20:27:36 ppp [opt2] COMPPROTO VJCOMP, 16 comp. channels, no comp-cid Dec 13 20:27:36 ppp [opt2] IPADDR 0.0.0.0 Dec 13 20:27:36 ppp [opt2] IPCP: SendConfigReq #6 Dec 13 20:27:36 ppp [opt2] IPV6CP: SendConfigReq #6 Dec 13 20:27:34 ppp [opt2] COMPPROTO VJCOMP, 16 comp. channels, no comp-cid Dec 13 20:27:34 ppp [opt2] IPADDR 0.0.0.0 Dec 13 20:27:34 ppp [opt2] IPCP: SendConfigReq #5 Dec 13 20:27:34 ppp [opt2] IPV6CP: SendConfigReq #5 Dec 13 20:27:32 ppp [opt2] COMPPROTO VJCOMP, 16 comp. channels, no comp-cid Dec 13 20:27:32 ppp [opt2] IPADDR 0.0.0.0 Dec 13 20:27:32 ppp [opt2] IPCP: SendConfigReq #4 Dec 13 20:27:32 ppp [opt2] IPV6CP: SendConfigReq #4 Dec 13 20:27:30 ppp [opt2] COMPPROTO VJCOMP, 16 comp. channels, no comp-cid Dec 13 20:27:30 ppp [opt2] IPADDR 0.0.0.0 Dec 13 20:27:30 ppp [opt2] IPCP: SendConfigReq #3 Dec 13 20:27:30 ppp [opt2] IPV6CP: SendConfigReq #3 Dec 13 20:27:28 ppp [opt2] COMPPROTO VJCOMP, 16 comp. channels, no comp-cid Dec 13 20:27:28 ppp [opt2] IPADDR 0.0.0.0 Dec 13 20:27:28 ppp [opt2] IPCP: SendConfigReq #2 Dec 13 20:27:28 ppp [opt2] IPV6CP: SendConfigReq #2 Dec 13 20:27:26 ppp [opt2] IPV6CP: SendConfigReq #1 Dec 13 20:27:26 ppp [opt2] IPV6CP: state change Starting --> Req-Sent Dec 13 20:27:26 ppp [opt2] IPV6CP: Up event Dec 13 20:27:26 ppp [opt2] COMPPROTO VJCOMP, 16 comp. channels, no comp-cid Dec 13 20:27:26 ppp [opt2] IPADDR 0.0.0.0 Dec 13 20:27:26 ppp [opt2] IPCP: SendConfigReq #1 Dec 13 20:27:26 ppp [opt2] IPCP: state change Starting --> Req-Sent Dec 13 20:27:26 ppp [opt2] IPCP: Up event Dec 13 20:27:26 ppp [opt2] IPV6CP: LayerStart Dec 13 20:27:26 ppp [opt2] IPV6CP: state change Initial --> Starting Dec 13 20:27:26 ppp [opt2] IPV6CP: Open event Dec 13 20:27:26 ppp [opt2] IPCP: LayerStart Dec 13 20:27:26 ppp [opt2] IPCP: state change Initial --> Starting Dec 13 20:27:26 ppp [opt2] IPCP: Open event Dec 13 20:27:26 ppp [opt2] Bundle: Status update: up 1 link, total bandwidth 100000000 bps Dec 13 20:27:26 ppp [opt2_link0] Link: Join bundle "opt2" Dec 13 20:27:26 ppp [opt2_link0] Link: Matched action 'bundle "opt2" ""' Dec 13 20:27:26 ppp [opt2_link0] LCP: authorization successful Dec 13 20:27:26 ppp [opt2_link0] CHAP: rec'd SUCCESS #1 len: 4 Dec 13 20:27:26 ppp [opt2_link0] CHAP: sending RESPONSE #1 len: 25 Dec 13 20:27:26 ppp [opt2_link0] CHAP: Using authname "user" Dec 13 20:27:26 ppp [opt2_link0] Name: "UMTS_CHAP_SRVR" Dec 13 20:27:26 ppp [opt2_link0] CHAP: rec'd CHALLENGE #1 len: 35 Dec 13 20:27:26 ppp [opt2_link0] LCP: rec'd Discard Request #7 (Opened) Dec 13 20:27:26 ppp [opt2_link0] LCP: LayerUp Dec 13 20:27:26 ppp [opt2_link0] LCP: auth: peer wants CHAP, I want nothing Dec 13 20:27:26 ppp [opt2_link0] LCP: state change Ack-Sent --> Opened Dec 13 20:27:26 ppp [opt2_link0] MAGICNUM 0xba589272 Dec 13 20:27:26 ppp [opt2_link0] MRU 1500 Dec 13 20:27:26 ppp [opt2_link0] ACCMAP 0x000a0000 Dec 13 20:27:26 ppp [opt2_link0] PROTOCOMP Dec 13 20:27:26 ppp [opt2_link0] ACFCOMP Dec 13 20:27:26 ppp [opt2_link0] LCP: rec'd Configure Ack #1 (Ack-Sent) Dec 13 20:27:26 ppp [opt2_link0] LCP: state change Req-Sent --> Ack-Sent Dec 13 20:27:26 ppp [opt2_link0] ACFCOMP Dec 13 20:27:26 ppp [opt2_link0] PROTOCOMP Dec 13 20:27:26 ppp [opt2_link0] MAGICNUM 0x451bbe77 Dec 13 20:27:26 ppp [opt2_link0] AUTHPROTO CHAP MD5 Dec 13 20:27:26 ppp [opt2_link0] ACCMAP 0x00000000 Dec 13 20:27:26 ppp [opt2_link0] LCP: SendConfigAck #6 Dec 13 20:27:26 ppp [opt2_link0] ACFCOMP Dec 13 20:27:26 ppp [opt2_link0] PROTOCOMP Dec 13 20:27:26 ppp [opt2_link0] MAGICNUM 0x451bbe77 Dec 13 20:27:26 ppp [opt2_link0] AUTHPROTO CHAP MD5 Dec 13 20:27:26 ppp [opt2_link0] ACCMAP 0x00000000 Dec 13 20:27:26 ppp [opt2_link0] LCP: rec'd Configure Request #6 (Req-Sent) Dec 13 20:27:26 ppp [opt2_link0] MAGICNUM 0xba589272 Dec 13 20:27:26 ppp [opt2_link0] MRU 1500 Dec 13 20:27:26 ppp [opt2_link0] ACCMAP 0x000a0000 Dec 13 20:27:26 ppp [opt2_link0] PROTOCOMP Dec 13 20:27:26 ppp [opt2_link0] ACFCOMP Dec 13 20:27:26 ppp [opt2_link0] LCP: SendConfigReq #1 Dec 13 20:27:26 ppp [opt2_link0] LCP: state change Starting --> Req-Sent Dec 13 20:27:26 ppp [opt2_link0] LCP: Up event Dec 13 20:27:26 ppp [opt2_link0] Link: UP event Dec 13 20:27:26 ppp [opt2_link0] MODEM: chat script succeeded Dec 13 20:27:26 ppp [opt2_link0] CHAT: Connected at 100000000. Dec 13 20:27:26 ppp [opt2_link0] CHAT: ATDT*99# Dec 13 20:27:26 ppp [opt2_link0] CHAT: Dialing server at *99#... Dec 13 20:27:26 ppp [opt2_link0] CHAT: Detected Hayes compatible modem. Dec 13 20:27:26 ppp [opt2_link0] CHAT: +CGDCONT=1,"IP","h2g2" Dec 13 20:27:26 ppp [opt2_link0] LCP: LayerStart Dec 13 20:27:26 ppp [opt2_link0] LCP: state change Initial --> Starting Dec 13 20:27:26 ppp [opt2_link0] LCP: Open event Dec 13 20:27:26 ppp [opt2_link0] Link: OPEN event Dec 13 20:27:26 ppp [opt2] Bundle: Interface ng0 created