Before you begin
I ran across a number of people who said they needed to tape off the USB pins to get the MikroTik to recognize the LTE interface (seen here and here) For me, taping off the USB pins was not required. Hopefully, this saves some people some time from trying to carefully count and cut some tape to the exact length needed.
Also, the latest MikroTik firmware did not recognize the LTE interface and I had to downgrade to 7.3beta40 (I think I was on a development build which wasn't working). I'm not sure which range of firmwares will work, but upgrading and downgrading may help.
Update: Big thanks to Amm0's post below clarifying the need for taping the USB pins on some devices!
FWIW, re "tape the pin" on the MC7455 is needed ONLY if the Mikrotik miniPCIe support does NOT support USB 3.0. Not a definitive list: basically older RBs, SXT, & top-slot LtAP WOULD require taping (not a complete list) since the miniPCIe bus only supports USB 2.0. Stuff like wAPacR, LHGR, Audience, and bottom-slot LtAP all support USB 3.0 – those would NOT require taping. Search for postings from @SiB and your model number, since Mikrotik website isn't helpful on which models use USB 2.0 or USB 3.0 with their miniPCIe slots – but that's why you may, or may not need to cause the MC7455 to be recognized as a USB device on USB 2.0-only RouterBoards.
Sierra Wireless MC7455 Install and Config
The physical install seemed pretty straightforward. Pop the cover off the MikroTik LHG R, remove stickers on the included thermal pad and sandwich it between the MC7455 and the mPCI-e slot, connect up the antenna leads (black to "Main", grey to "Aux"), make sure both ends of both cables are secure (mine had popped off the MikroTik side), pop the cover back on.
In my case, the MC7455 I picked up was only showing up as a USB device (found under "/system resource usb print" or in Winbox under System > Resources > USB), not an LTE device.
This allows serial access which shows up in the port list, System > Ports. (Note the 5 channels here) Trying to get into the serial console of the modem, open a new terminal and start probing the serial channels to see if one of them returns a response. The modem's console, when working, only seems to return characters that start with a valid command. Most commands seem to be under the "AT" command (which I'll get into later), so for now just hit the A key a few times to see if anything starts showing up in console.
If everything is working correctly, you should be able to type "AT", press return, and see if you get a response. If the console does not respond, break out of the serial sesssion with "Ctrl-A" followed by "Q" and try a different channel.
If you receive the following error..
Code: Select all
[admin@MikroTik] > /system serial-terminal usb1 channel=0
failure: port's channel is already in use
Code: Select all
[admin@MikroTik] > /port print
Columns: DEVICE, NAME, CHANNELS, USED-BY, BAUD-RATE
# DEVICE NAME CHANNELS USED-BY BAUD-RATE
0 1-1 usb1 5 PPP <ppp-out1> auto
For me, I was able to get access on channel=2
You can verify you've found the correct channel by issuing an "AT" command followed by an enter. The correct channel will respond with "OK", as seen below.
Code: Select all
[admin@MikroTik] > /system serial-terminal usb1 channel=2
[Ctrl-A is the prefix key]
AT
OK
Now that we're in, we can start running commands on the modem. I'm referencing the "AirPrime EM74xx/MC74xx AT Command Reference" manual which is available on Sierra Wireless's website (which requires an account, although that's free and easy to set up) and I've also found it hosted here.
Getting into the command structure, most commands begin with AT! and it seems that most commands are locked behind a user-configurable password. For the MC7455, the default appears to be "A710". Unlock the device with AT!ENTERCND=“A710”
Note how AT!ANTSEL=? does not work before entering the password but does after.
Code: Select all
AT!ANTSEL=?
ERROR
AT!ENTERCND="A710"
OK
AT!ANTSEL=?
AT!ANTSEL= <Band>,<gpio1>,<gpio2>,<gpio3>,[<gpio4>]
Band: 1-60
gpio1-4: GPIO Level(0 -2)
0: LOW
1: HIGH
2: Not used
OK
Code: Select all
AT!USBCOMP?
Config Index: 1
Config Type: 1 (Generic)
Interface bitmask: 0000050D (diag,nmea,modem,rmnet0,rmnet1)
Code: Select all
AT!USBCOMP=?
!USBCOMP:
AT!USBCOMP=<Config Index>,<Config Type>,<Interface bitmask>
<Config Index> - configuration index to which the composition applies, should be 1
<Config Type> - 1:Generic, 2:USBIF-MBIM, 3:RNDIS
config type 2/3 should only be used for specific Sierra PIDs: 68B1, 9068
customized VID/PID should use config type 1
<Interface bitmask> - DIAG - 0x00000001,
NMEA - 0x00000004,
MODEM - 0x00000008,
RMNET0 - 0x00000100,
RMNET1 - 0x00000400,
MBIM - 0x00001000,
e.g.
10D - diag, nmea, modem, rmnet interfaces enabled
1009 - diag, modem, mbim interfaces enabled
The default configuration is:
at!usbcomp=1,1,10F
OK
Some other useful commands: (May expand on some of these later)
AT!GSTATUS? - Very nice human-readable LTE status
AT!LTEINFO? - More detailed LTE breakdown of available bands and performance (check this EARFCN to Band calc)
AT!GETBAND? - Lock to
ATI3 - Manufacturer, Model, Revision, MEID, IMEI, FSN
AT+CPIN? - ??
AT!BAND? - View/set "band", seems to relate to 3G, LTE, regions. Manual isn't too helpful, see this post?
AT!SELRAT? - Related to !BAND,
AT!GSTATUS?
AT+COPS? -
AT+COPS=? - Command will hang for a bit, need to wait before it responds. It will eventually return a list of all carriers.
AT!IMPREF? - Current firmware information
AT!IMAGE? - Firmware slot information
AT!CUSTOM? - Customization strings, GPS, IPV6, etc
AT!PCINFO? - Power control status information
AT!PRIID? - PRI part number and revision, firmware related?
WARNING! SETTING !USBCOMP INCORRECTLY CAN POTENTIALLY LOCK YOU OUT OF CONSOLE ACCESS!
Thankfully, I haven't done this but I've found others that have?
I would double-check you know what exact command you need to run for your model of modem. For the MC7455, it appears to be 1,1,1009 as recommended by the MikroTik Wiki. It would be good to verify this with the bitmask before setting this! The important interface to get console access back appears to be "modem". None of the others seemed to return anything of use.
I'm running out of time for today, I'll update more as I go.
The full command for the MC7455 was the one recommended in the help text, AT!USBCOMP=1,1,1009
Definitely, *DEFINITELY* verify this with either the manual or the help text, seen with AT!USBCOMP=?
Edit 1: Currently seeing good signal but the ppp interface is dropping in and out every few seconds. My USBCOMP is "0000050D (diag,nmea,modem,rmnet0,rmnet1)", will be trying mbim mode soon.
Edit 2: Set to mbim and now none of the serial interfaces are usable. Will try a different RouterOS version.
Edit 3: Downgrading to 7.3beta40 firmware now recognizes the LTE interface. All is working well!
I've created a VLAN interface on ether1 for management and enabled ether1 as a passthrough interface for this APN. All routing handled my by main MikroTik, a CRS109.
AT&T SIM, -95-ish dBm RSSI through a good few trees ~3 miles, speeds are generally around 60 down and 30 up, sometimes slowing to 30 and 15 respectively (I suspect if carrier aggregation stops working). Sometimes at night, I see upwards of 80-90 down. I switched from a CAT 18 Inseego MiFi 8800L which saw ~10-20 down.
MikroTik Config Notes
For my physical layout, I have my main MikroTik router with an ethernet run that goes up to the LHG R on my roof. I reused a Ubiquiti 24v PoE injector I already had laying around for this install but the included injector seemed to work too.
If you enable interface passthrough as I did below, you will lose management access on ether1 when the LTE modem connects to a tower. I disabled the LTE interface before continuing until I set up management on a VLAN interface, which I did after this.
Code: Select all
/interface lte
set [ find ] allow-roaming=no name=lte1 network-mode=lte
/interface lte apn
set [ find default=yes ] apn=broadband ip-type=ipv4 name="broadband (ATT)" passthrough-interface=\
ether1 passthrough-mac=auto use-network-apn=no use-peer-dns=no
Since this is a 1 core 650 MHz MIPSBE CPU, it should be able to somewhat handle LTE6 speeds if the firewall rules aren't too complex but I would feel much better offloading its workload to a better device. For that reason, I enabled interface passthrough on the LHG R. In the GUI, this setting is under Interfaces > LTE tab > LTE APNs button. Change the default as needed.
Speaking of which, lets create a new interface for management access. I modified some of the defaults and created new what I needed with the final config coming out as follows.
Code: Select all
/interface vlan
add interface=ether1 name=vlan1337 vlan-id=1337
/ip address
add address=192.168.254.2/24 interface=vlan1337 network=192.168.254.0
/ip dns
set servers=8.8.8.8
/ip route
add disabled=no dst-address=0.0.0.0/0 gateway=192.168.254.1 routing-table=main suppress-hw-offload=no
I removed/disabled all default-config DHCP clients and other IPs. With that all set up, we're ready to reenable the LTE interface.
With the LTE modem reenabled and the LHG unaligned outside, I was able to get a connection and pull an IP via DHCP from my main router on the port facing the LHG. Using the VLAN interface for access, I aligned with a mix of reading RSL from the LTE status page and running speedtests from my phone. I found aligning based on the upload speeds seemed to be the most reliable measure for figuring out which tower the modem was connected to. I was seeing -105 dBm RSSI no matter which way I spun the antenna but by checking upload, I was able to determine the rough direction of the tower until I found a spot where RSSI increased to -97ish. Still somewhat poor signal but it was a huge improvement over the battery-powered hotspot I was using prior.
MikroTik/RouterBoard, thanks for the work on the continual improvements to this platform. I hope to see a modemless LHGG kit or better yet, a LHGG LTE18 US version soon!