Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    EP06-E modem not displayed

    Scheduled Pinned Locked Moved Hardware
    8 Posts 3 Posters 1.4k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      snirs
      last edited by

      hello Guys,
      I bought an LTE modem module Quectel EP06-E from AliExpress, I see the module from the shell with the command "usbconfig dump_device_desc" and I got the following information about the device:

      
        bLength = 0x0012
        bDescriptorType = 0x0001
        bcdUSB = 0x0200
        bDeviceClass = 0x00ef  <Miscellaneous device>
        bDeviceSubClass = 0x0002
        bDeviceProtocol = 0x0001
        bMaxPacketSize0 = 0x0040
        idVendor = 0x2c7c
        idProduct = 0x0306
        bcdDevice = 0x0310
        iManufacturer = 0x0001  <Quectel>
        iProduct = 0x0002  <EP06-E>
        iSerialNumber = 0x0003  <0123456789ABCDEF>
        bNumConfigurations = 0x0001
      

      when i trying to add the interface as PPP, I cannot see everything about my interface (maybe its not supported yet..)

      can you help me please to resolve this problem?

      LTE Module Official Page: https://www.quectel.com/product/EP06.htm

      My pfSense Specs:
      Intel Core i3-550
      10GB Ram
      250GB SSD Kingston

      Thank you very much and have a good day :)

      1 Reply Last reply Reply Quote 0
      • stephenw10S
        stephenw10 Netgate Administrator
        last edited by

        If it doesn't present as at least one com port pfSense will not see it. Try running: usbconfig dump_all_config_desc

        You may be able to change it's config index to something that does have a com port, if it has multiple config indexes.

        Otherwise you might need to change it's mode in a different OS before moving the card to pfSense.

        Looks like you need to register on that site to download anything. The guides there should tell you something though.

        Steve

        1 Reply Last reply Reply Quote 0
        • C
          CytriQ
          last edited by CytriQ

          Hi,

          Did you find a solution to this problem ? I face the same issue. EP06 is listed under ugen2.3 and not cuau.

          Regards

          1 Reply Last reply Reply Quote 0
          • stephenw10S
            stephenw10 Netgate Administrator
            last edited by

            Are you seeing the same vendor/product IDs? Can you run usbconfig dump_all_config_desc and check if there is more than one config index available?

            Serial ports are usually handled by u3g, you can see what devices are supported here:
            https://github.com/pfsense/FreeBSD-src/blob/a93b08619536642be48c4fd30c39674b46edad6f/sys/dev/usb/serial/u3g.c#L202

            The only Quectel device recognised by pfSense/FreeBSD in current is the EC25:
            https://github.com/pfsense/FreeBSD-src/blob/a93b08619536642be48c4fd30c39674b46edad6f/sys/dev/usb/usbdevs#L3770

            1 Reply Last reply Reply Quote 0
            • C
              CytriQ
              last edited by

              Hi stephenw10

              Thank you for your reply.

              My ep06 is identified as follow :

              ugen2.3: <Qualcomm CDMA Technologies MSM QUSBBULK> at usbus2, cfg=1 md=HOST spd=HIGH (480Mbps) pwr=ON (2mA)

              bLength = 0x0012
              bDescriptorType = 0x0001
              bcdUSB = 0x0200
              bDeviceClass = 0x0000 <Probed by interface class>
              bDeviceSubClass = 0x0000
              bDeviceProtocol = 0x0000
              bMaxPacketSize0 = 0x0040
              idVendor = 0x05c6
              idProduct = 0x9008
              bcdDevice = 0x0000
              iManufacturer = 0x0001 <Qualcomm CDMA Technologies MSM>
              iProduct = 0x0002 <QUSB__BULK>
              iSerialNumber = 0x0000 <no string>
              bNumConfigurations = 0x0001

              There is only one config index available.

              Does it mean that we won't be able to use our ep06 for LTE with pfsense ?

              Regards,

              1 Reply Last reply Reply Quote 0
              • stephenw10S
                stephenw10 Netgate Administrator
                last edited by

                Well it's not a device FreeBSD knows about so probably not. Yet at least.

                That's not the full output of usbconfig -d ugen2.3 dump_all_config_desc. You should always see one config index listed.

                For example:

                [2.4.4-RELEASE][admin@fw1.stevew.lan]/root: usbconfig -d ugen0.2 dump_all_config_desc
                ugen0.2: <Sierra Wireless, Incorporated Sierra Wireless EM7455 Qualcomm Snapdragon X7 LTE-A> at, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (500mA)
                
                
                 Configuration index 0
                
                    bLength = 0x0009 
                    bDescriptorType = 0x0002 
                    wTotalLength = 0x00be 
                    bNumInterfaces = 0x0005 
                    bConfigurationValue = 0x0001 
                    iConfiguration = 0x0000  <no string>
                    bmAttributes = 0x00a0 
                    bMaxPower = 0x00fa 
                
                    Interface 0
                      bLength = 0x0009 
                      bDescriptorType = 0x0004 
                      bInterfaceNumber = 0x0000 
                      bAlternateSetting = 0x0000 
                      bNumEndpoints = 0x0002 
                      bInterfaceClass = 0x00ff  <Vendor specific>
                      bInterfaceSubClass = 0x00ff 
                      bInterfaceProtocol = 0x00ff 
                      iInterface = 0x0000  <no string>
                
                     Endpoint 0
                        bLength = 0x0007 
                        bDescriptorType = 0x0005 
                        bEndpointAddress = 0x0081  <IN>
                        bmAttributes = 0x0002  <BULK>
                        wMaxPacketSize = 0x0200 
                        bInterval = 0x0000 
                        bRefresh = 0x0000 
                        bSynchAddress = 0x0000 
                
                     Endpoint 1
                        bLength = 0x0007 
                        bDescriptorType = 0x0005 
                        bEndpointAddress = 0x0001  <OUT>
                        bmAttributes = 0x0002  <BULK>
                        wMaxPacketSize = 0x0200 
                        bInterval = 0x0000 
                        bRefresh = 0x0000 
                        bSynchAddress = 0x0000 
                
                
                    Interface 1
                      bLength = 0x0009 
                      bDescriptorType = 0x0004 
                      bInterfaceNumber = 0x0001 
                      bAlternateSetting = 0x0000 
                      bNumEndpoints = 0x0003 
                      bInterfaceClass = 0x00ff  <Vendor specific>
                      bInterfaceSubClass = 0x0000 
                      bInterfaceProtocol = 0x0000 
                      iInterface = 0x0000  <no string>
                
                      Additional Descriptor
                
                      bLength = 0x05
                      bDescriptorType = 0x24
                      bDescriptorSubType = 0x00
                       RAW dump: 
                       0x00 | 0x05, 0x24, 0x00, 0x10, 0x01
                
                
                      Additional Descriptor
                
                      bLength = 0x05
                      bDescriptorType = 0x24
                      bDescriptorSubType = 0x01
                       RAW dump: 
                       0x00 | 0x05, 0x24, 0x01, 0x00, 0x00
                
                
                      Additional Descriptor
                
                      bLength = 0x04
                      bDescriptorType = 0x24
                      bDescriptorSubType = 0x02
                       RAW dump: 
                       0x00 | 0x04, 0x24, 0x02, 0x02
                
                
                      Additional Descriptor
                
                      bLength = 0x05
                      bDescriptorType = 0x24
                      bDescriptorSubType = 0x06
                       RAW dump: 
                       0x00 | 0x05, 0x24, 0x06, 0x00, 0x00
                
                
                     Endpoint 0
                        bLength = 0x0007 
                        bDescriptorType = 0x0005 
                        bEndpointAddress = 0x0083  <IN>
                        bmAttributes = 0x0003  <INTERRUPT>
                        wMaxPacketSize = 0x000a 
                        bInterval = 0x0009 
                        bRefresh = 0x0000 
                        bSynchAddress = 0x0000 
                
                     Endpoint 1
                        bLength = 0x0007 
                        bDescriptorType = 0x0005 
                        bEndpointAddress = 0x0082  <IN>
                        bmAttributes = 0x0002  <BULK>
                        wMaxPacketSize = 0x0200 
                        bInterval = 0x0000 
                        bRefresh = 0x0000 
                        bSynchAddress = 0x0000 
                
                     Endpoint 2
                        bLength = 0x0007 
                        bDescriptorType = 0x0005 
                        bEndpointAddress = 0x0002  <OUT>
                        bmAttributes = 0x0002  <BULK>
                        wMaxPacketSize = 0x0200 
                        bInterval = 0x0000 
                        bRefresh = 0x0000 
                        bSynchAddress = 0x0000 
                
                
                    Interface 2
                      bLength = 0x0009 
                      bDescriptorType = 0x0004 
                      bInterfaceNumber = 0x0002 
                      bAlternateSetting = 0x0000 
                      bNumEndpoints = 0x0003 
                      bInterfaceClass = 0x00ff  <Vendor specific>
                      bInterfaceSubClass = 0x0000 
                      bInterfaceProtocol = 0x0000 
                      iInterface = 0x0000  <no string>
                
                      Additional Descriptor
                
                      bLength = 0x05
                      bDescriptorType = 0x24
                      bDescriptorSubType = 0x00
                       RAW dump: 
                       0x00 | 0x05, 0x24, 0x00, 0x10, 0x01
                
                
                      Additional Descriptor
                
                      bLength = 0x05
                      bDescriptorType = 0x24
                      bDescriptorSubType = 0x01
                       RAW dump: 
                       0x00 | 0x05, 0x24, 0x01, 0x00, 0x00
                
                
                      Additional Descriptor
                
                      bLength = 0x04
                      bDescriptorType = 0x24
                      bDescriptorSubType = 0x02
                       RAW dump: 
                       0x00 | 0x04, 0x24, 0x02, 0x02
                
                
                      Additional Descriptor
                
                      bLength = 0x05
                      bDescriptorType = 0x24
                      bDescriptorSubType = 0x06
                       RAW dump: 
                       0x00 | 0x05, 0x24, 0x06, 0x00, 0x00
                
                
                     Endpoint 0
                        bLength = 0x0007 
                        bDescriptorType = 0x0005 
                        bEndpointAddress = 0x0085  <IN>
                        bmAttributes = 0x0003  <INTERRUPT>
                        wMaxPacketSize = 0x000a 
                        bInterval = 0x0009 
                        bRefresh = 0x0000 
                        bSynchAddress = 0x0000 
                
                     Endpoint 1
                        bLength = 0x0007 
                        bDescriptorType = 0x0005 
                        bEndpointAddress = 0x0084  <IN>
                        bmAttributes = 0x0002  <BULK>
                        wMaxPacketSize = 0x0200 
                        bInterval = 0x0000 
                        bRefresh = 0x0000 
                        bSynchAddress = 0x0000 
                
                     Endpoint 2
                        bLength = 0x0007 
                        bDescriptorType = 0x0005 
                        bEndpointAddress = 0x0003  <OUT>
                        bmAttributes = 0x0002  <BULK>
                        wMaxPacketSize = 0x0200 
                        bInterval = 0x0000 
                        bRefresh = 0x0000 
                        bSynchAddress = 0x0000 
                
                
                    Interface 3
                      bLength = 0x0009 
                      bDescriptorType = 0x0004 
                      bInterfaceNumber = 0x0003 
                      bAlternateSetting = 0x0000 
                      bNumEndpoints = 0x0003 
                      bInterfaceClass = 0x00ff  <Vendor specific>
                      bInterfaceSubClass = 0x00ff 
                      bInterfaceProtocol = 0x00ff 
                      iInterface = 0x0000  <no string>
                
                     Endpoint 0
                        bLength = 0x0007 
                        bDescriptorType = 0x0005 
                        bEndpointAddress = 0x0087  <IN>
                        bmAttributes = 0x0003  <INTERRUPT>
                        wMaxPacketSize = 0x0008 
                        bInterval = 0x0009 
                        bRefresh = 0x0000 
                        bSynchAddress = 0x0000 
                
                     Endpoint 1
                        bLength = 0x0007 
                        bDescriptorType = 0x0005 
                        bEndpointAddress = 0x0086  <IN>
                        bmAttributes = 0x0002  <BULK>
                        wMaxPacketSize = 0x0200 
                        bInterval = 0x0000 
                        bRefresh = 0x0000 
                        bSynchAddress = 0x0000 
                
                     Endpoint 2
                        bLength = 0x0007 
                        bDescriptorType = 0x0005 
                        bEndpointAddress = 0x0004  <OUT>
                        bmAttributes = 0x0002  <BULK>
                        wMaxPacketSize = 0x0200 
                        bInterval = 0x0000 
                        bRefresh = 0x0000 
                        bSynchAddress = 0x0000 
                
                
                    Interface 4
                      bLength = 0x0009 
                      bDescriptorType = 0x0004 
                      bInterfaceNumber = 0x0004 
                      bAlternateSetting = 0x0000 
                      bNumEndpoints = 0x0003 
                      bInterfaceClass = 0x00ff  <Vendor specific>
                      bInterfaceSubClass = 0x00ff 
                      bInterfaceProtocol = 0x00ff 
                      iInterface = 0x0000  <no string>
                
                     Endpoint 0
                        bLength = 0x0007 
                        bDescriptorType = 0x0005 
                        bEndpointAddress = 0x0089  <IN>
                        bmAttributes = 0x0003  <INTERRUPT>
                        wMaxPacketSize = 0x0008 
                        bInterval = 0x0009 
                        bRefresh = 0x0000 
                        bSynchAddress = 0x0000 
                
                     Endpoint 1
                        bLength = 0x0007 
                        bDescriptorType = 0x0005 
                        bEndpointAddress = 0x0088  <IN>
                        bmAttributes = 0x0002  <BULK>
                        wMaxPacketSize = 0x0200 
                        bInterval = 0x0000 
                        bRefresh = 0x0000 
                        bSynchAddress = 0x0000 
                
                     Endpoint 2
                        bLength = 0x0007 
                        bDescriptorType = 0x0005 
                        bEndpointAddress = 0x0005  <OUT>
                        bmAttributes = 0x0002  <BULK>
                        wMaxPacketSize = 0x0200 
                        bInterval = 0x0000 
                        bRefresh = 0x0000 
                        bSynchAddress = 0x0000 
                
                1 Reply Last reply Reply Quote 0
                • C
                  CytriQ
                  last edited by

                  Here is the full output :

                  # usbconfig -d ugen2.3 dump_all_config_desc
                  ugen2.3: <Qualcomm CDMA Technologies MSM QUSBBULK> at usbus2, cfg=1 md=HOST spd=HIGH (480Mbps) pwr=ON (2mA)
                  
                  
                   Configuration index 0
                  
                      bLength = 0x0009
                      bDescriptorType = 0x0002
                      wTotalLength = 0x0020
                      bNumInterfaces = 0x0001
                      bConfigurationValue = 0x0001
                      iConfiguration = 0x0000  <no string>
                      bmAttributes = 0x00a0
                      bMaxPower = 0x0001
                  
                      Interface 0
                        bLength = 0x0009
                        bDescriptorType = 0x0004
                        bInterfaceNumber = 0x0000
                        bAlternateSetting = 0x0000
                        bNumEndpoints = 0x0002
                        bInterfaceClass = 0x00ff  <Vendor specific>
                        bInterfaceSubClass = 0x00ff
                        bInterfaceProtocol = 0x00ff
                        iInterface = 0x0000  <no string>
                  
                       Endpoint 0
                          bLength = 0x0007
                          bDescriptorType = 0x0005
                          bEndpointAddress = 0x0081  <IN>
                          bmAttributes = 0x0002  <BULK>
                          wMaxPacketSize = 0x0200
                          bInterval = 0x0000
                          bRefresh = 0x0000
                          bSynchAddress = 0x0000
                  
                       Endpoint 1
                          bLength = 0x0007
                          bDescriptorType = 0x0005
                          bEndpointAddress = 0x0001  <OUT>
                          bmAttributes = 0x0002  <BULK>
                          wMaxPacketSize = 0x0200
                          bInterval = 0x0000
                          bRefresh = 0x0000
                          bSynchAddress = 0x0000
                  
                  

                  Thanks for your help

                  1 Reply Last reply Reply Quote 0
                  • stephenw10S
                    stephenw10 Netgate Administrator
                    last edited by

                    You might also be able to change the IDs it presents by accessing the command line under some other OS. It's been while but I seem to recall reading those Quectel devices were very similar to Sierra internally.

                    Steve

                    1 Reply Last reply Reply Quote 0
                    • First post
                      Last post
                    Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.