MikroTik RBM33G installing 4G and WIFI module

Dear community

I have a Mikrotik RBM33G router board that I have succefully installed OpenWRT on. But I seem to not find information how to install a MikroTik R11e-LTE 4G module and also not found how to install a MikroTik R11e-2HPnD WIFI module.

I have found a few links on installation of USB dongles etc refering to PPP and more ways. But can't get it to work.

So two questions:

  1. Anyone having a step by step guide how to install the R11e-LTE 4G module on RBM33G routerboard?

  2. Same as above, but installing R11e-2HPnD WIFI on the RBM33G routerboard?

Kind regards,
Mikael

First step would be to make sure that you have USB support. If you get a memory stick or hard disk and make sure it's working, then you can look further into dongle specific.

Thank you for pointing in a direction to check out more. Both the LTE module as well as the WIFI module are connected to the PCIe slots on the router board. Started to get the LTE module going and connected it to the PCIe 0 slot.

When I do the following command on SSH:
root@OpenWrt:~# cat /sys/kernel/debug/usb/devices

I get the following:

T:  Bus=01 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#=  4 Spd=480  MxCh= 0
D:  Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=2cd2 ProdID=0001 Rev= 1.00
S:  Manufacturer=MikroTik
S:  Product=R11e-LTE
S:  SerialNumber=000000000000
C:* #Ifs= 7 Cfg#= 1 Atr=c0 MxPwr=500mA

When I do
root@OpenWrt:~# dmesg | grep "usb"

I get the following:

[    5.436713] usbcore: registered new interface driver usbfs
[    5.442276] usbcore: registered new interface driver hub
[    5.447773] usbcore: registered new device driver usb
[    5.528978] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
[    6.055208] usb 1-2: new high-speed USB device number 2 using xhci-mtk
[   11.308662] usbcore: registered new interface driver cdc_wdm
[   11.315384] usb 1-2: device descriptor read/all, error -145
[   11.395938] usbcore: registered new interface driver usbserial
[   11.401962] usbcore: registered new interface driver usbserial_generic
[   11.408710] usbserial: USB Serial support registered for generic
[   11.438031] usbcore: registered new interface driver cdc_ncm
[   11.466814] usbcore: registered new interface driver qmi_wwan
[   11.475296] usbcore: registered new interface driver cdc_mbim
[   11.486361] usbcore: registered new interface driver option
[   11.492076] usbserial: USB Serial support registered for GSM modem (1-port)
[   16.989965] usb usb1-port2: Cannot enable. Maybe the USB cable is bad?
[   16.996720] usb usb1-port2: attempt power cycle
[   20.485313] usb 1-2: new high-speed USB device number 4 using xhci-mtk

But doing ls /dev/ will not show any ttyUSB*

So I guess this means the USB is not fully operational to add WAN to it.

Have you installed drivers for it?

https://openwrt.org/docs/guide-user/network/wan/wwan/ltedongle for example.

1 Like

And that is all? There are supposed to be interface and endpoint descriptors for those 7 interfaces here.

I guess this is explaining the issues. There is something seriously wrong with either hardware or connection here. If you can't even get the device descriptor then there's not much any driver can do.

bmork, yes there are more. Just cut out a bit to show there is some sort of connection at least identifying the LTE module.

Here is the full response:

~# cat /sys/kernel/debug/usb/devices

T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480  MxCh= 2
B:  Alloc=  0/800 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=1d6b ProdID=0002 Rev= 4.14
S:  Manufacturer=Linux 4.14.95 xhci-hcd
S:  Product=xHCI Host Controller
S:  SerialNumber=1e1c0000.xhci
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   4 Ivl=256ms

T:  Bus=01 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#=  4 Spd=480  MxCh= 0
D:  Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=2cd2 ProdID=0001 Rev= 1.00
S:  Manufacturer=MikroTik
S:  Product=R11e-LTE
S:  SerialNumber=000000000000
C:* #Ifs= 7 Cfg#= 1 Atr=c0 MxPwr=500mA
A:  FirstIf#= 0 IfCount= 2 Cls=e0(wlcon) Sub=01 Prot=03
A:  FirstIf#= 2 IfCount= 2 Cls=02(comm.) Sub=02 Prot=01
A:  FirstIf#= 4 IfCount= 2 Cls=02(comm.) Sub=02 Prot=01
I:* If#= 0 Alt= 0 #EPs= 1 Cls=e0(wlcon) Sub=01 Prot=03 Driver=(none)
E:  Ad=8c(I) Atr=03(Int.) MxPS=  16 Ivl=4096ms
I:* If#= 1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=(none)
E:  Ad=8e(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=0d(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 2 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=01 Driver=(none)
E:  Ad=84(I) Atr=03(Int.) MxPS=  16 Ivl=4096ms
I:* If#= 3 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=(none)
E:  Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=05(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 4 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=01 Driver=(none)
E:  Ad=81(I) Atr=03(Int.) MxPS=  16 Ivl=4096ms
I:* If#= 5 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=(none)
E:  Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 6 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=(none)
E:  Ad=8b(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=0a(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms

T:  Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=5000 MxCh= 1
B:  Alloc=  0/800 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 3.00 Cls=09(hub  ) Sub=00 Prot=03 MxPS= 9 #Cfgs=  1
P:  Vendor=1d6b ProdID=0003 Rev= 4.14
S:  Manufacturer=Linux 4.14.95 xhci-hcd
S:  Product=xHCI Host Controller
S:  SerialNumber=1e1c0000.xhci
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   4 Ivl=256ms
root@OpenWrt:~# cat /sys/kernel/debug/usb/devices

T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480  MxCh= 2
B:  Alloc=  0/800 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=1d6b ProdID=0002 Rev= 4.14
S:  Manufacturer=Linux 4.14.95 xhci-hcd
S:  Product=xHCI Host Controller
S:  SerialNumber=1e1c0000.xhci
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   4 Ivl=256ms

T:  Bus=01 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#=  4 Spd=480  MxCh= 0
D:  Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=2cd2 ProdID=0001 Rev= 1.00
S:  Manufacturer=MikroTik
S:  Product=R11e-LTE
S:  SerialNumber=000000000000
C:* #Ifs= 7 Cfg#= 1 Atr=c0 MxPwr=500mA
A:  FirstIf#= 0 IfCount= 2 Cls=e0(wlcon) Sub=01 Prot=03
A:  FirstIf#= 2 IfCount= 2 Cls=02(comm.) Sub=02 Prot=01
A:  FirstIf#= 4 IfCount= 2 Cls=02(comm.) Sub=02 Prot=01
I:* If#= 0 Alt= 0 #EPs= 1 Cls=e0(wlcon) Sub=01 Prot=03 Driver=(none)
E:  Ad=8c(I) Atr=03(Int.) MxPS=  16 Ivl=4096ms
I:* If#= 1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=(none)
E:  Ad=8e(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=0d(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 2 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=01 Driver=(none)
E:  Ad=84(I) Atr=03(Int.) MxPS=  16 Ivl=4096ms
I:* If#= 3 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=(none)
E:  Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=05(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 4 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=01 Driver=(none)
E:  Ad=81(I) Atr=03(Int.) MxPS=  16 Ivl=4096ms
I:* If#= 5 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=(none)
E:  Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 6 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=(none)
E:  Ad=8b(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=0a(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms

T:  Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=5000 MxCh= 1
B:  Alloc=  0/800 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 3.00 Cls=09(hub  ) Sub=00 Prot=03 MxPS= 9 #Cfgs=  1
P:  Vendor=1d6b ProdID=0003 Rev= 4.14
S:  Manufacturer=Linux 4.14.95 xhci-hcd
S:  Product=xHCI Host Controller
S:  SerialNumber=1e1c0000.xhci
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   4 Ivl=256ms
root@OpenWrt:~#

Jeff,

Yes I have tried some of them, but not sure yet as what alternatives to use instead of PPP. There are a few alternatives like ncm, rndis, qmi etc. As far as I found out so far is that the LTE module is based on Marvell's PXA 1802 chipset. I was hoping to find someone had done exactly the same setup and could easily tell how to configure it.

OK, that explains why you don't see any drivers binding. There are 4 class functions here:

e0/01/03
02/02/01
02/02/01
08/06/50

You can find the full description of these here: https://www.usb.org/defined-class-codes

Short version: Your modem advertises an RNDIS function, two CDC ACM functions and one storage function. You need to install the matching drivers for these, which is rndis_host, cdc-acm and usb-storage. The OpenWrt packages for these are called

kmod-usb-net-rndis
kmod-usb-acm
kmod-usb-storage

I have no idea how your modem is supposed to be managed. There is no standard or well known way to manage an LTE modem with RNDIS + ACM. It might be using AT commands on one of the ACM functions, or it could be running a http API or similar on the RNDIS function. Or both. You'll have to ask the vendor for this information. Or try it out. Run a dhcp client on the network interface assoctiated with the RNDIS function after installing the correct driver, and scan for open ports if you get an address. Or simply try port 80 or 443.

Thank you very much bmork, this was the hints that made the issue move forward! And I do apologise for my late response, especially as you put your valuable time writing down the essentials.

Now I'm at the point where I can send AT commands and get real responses.

For future referense, some information to summarise for other having the same issues:

This post discusses the AT comands for a similar module: Mikrotik R11e-LTE-US with Openwrt.

Use RNDIS USB Dongle for WAN connection:
https://openwrt.org/docs/guide-user/network/wan/wwan/ethernetoverusb_rndis

Basically, plug in the module and run the following commands on SSH:

opkg update
opkg install kmod-usb-net-rndis kmod-usb-acm kmod-usb-storage

After this there shall be rndis interface installed called eth1 (or usb0).

Make WAN interface. Follow the instructions here: https://openwrt.org/docs/guide-user/network/wan/smartphone.usb.tethering