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

    PC Engines APU3 with Quectel EC25-E speed

    Scheduled Pinned Locked Moved Hardware
    11 Posts 2 Posters 1.0k 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.
    • stephenw10S
      stephenw10 Netgate Administrator
      last edited by stephenw10

      Check the full usbconfig output. So maybe: usbconfig dump_all_desc

      Check the boot log.

      Steve

      1 Reply Last reply Reply Quote 0
      • M
        MarianHlusek
        last edited by

        Hello, I did the usbconfig dump_all_desc and I would love to paste here the output, but the forum says: Post content was flagged as spam by Akismet.com
        Any advice how could I put it here into a comment, please? It is true it is quite long.
        Thanks

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

          You can always just put it on pastebin or some equivalent site and link to it.

          That output will include all the USB devices in the system, we only actually need the modem details.

          Steve

          M 1 Reply Last reply Reply Quote 0
          • M
            MarianHlusek @stephenw10
            last edited by

            @stephenw10
            Thank you. I've pasted the output here: https://pastebin.com/L3p0A2i1
            I've copied all, as I was not sure which of the whole content is important.
            The Quectel device should be ugen1.3. As already mentioned, it shows only spd=FULL (12Mbps), but I think it should be spd=HIGH (480Mbps).
            Is there anything coming to your mind I could do to 'put' the speed to the correct level?
            Marian

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

              For reference:

              ugen1.3: <Android Android> at usbus1, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (500mA)
              
                bLength = 0x0012
                bDescriptorType = 0x0001
                bcdUSB = 0x0200
                bDeviceClass = 0x00ef  <Miscellaneous device>
                bDeviceSubClass = 0x0002
                bDeviceProtocol = 0x0001
                bMaxPacketSize0 = 0x0040
                idVendor = 0x2c7c
                idProduct = 0x0125
                bcdDevice = 0x0318
                iManufacturer = 0x0001  <Android>
                iProduct = 0x0002  <Android>
                iSerialNumber = 0x0000  <no string>
                bNumConfigurations = 0x0001
              
               Configuration index 0
              
                  bLength = 0x0009
                  bDescriptorType = 0x0002
                  wTotalLength = 0x00d1
                  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 = 0x0040
                      bInterval = 0x0000
                      bRefresh = 0x0000
                      bSynchAddress = 0x0000
              
                   Endpoint 1
                      bLength = 0x0007
                      bDescriptorType = 0x0005
                      bEndpointAddress = 0x0001  <OUT>
                      bmAttributes = 0x0002  <BULK>
                      wMaxPacketSize = 0x0040
                      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 = 0x0020
                      bRefresh = 0x0000
                      bSynchAddress = 0x0000
              
                   Endpoint 1
                      bLength = 0x0007
                      bDescriptorType = 0x0005
                      bEndpointAddress = 0x0082  <IN>
                      bmAttributes = 0x0002  <BULK>
                      wMaxPacketSize = 0x0040
                      bInterval = 0x0000
                      bRefresh = 0x0000
                      bSynchAddress = 0x0000
              
                   Endpoint 2
                      bLength = 0x0007
                      bDescriptorType = 0x0005
                      bEndpointAddress = 0x0002  <OUT>
                      bmAttributes = 0x0002  <BULK>
                      wMaxPacketSize = 0x0040
                      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 = 0x0020
                      bRefresh = 0x0000
                      bSynchAddress = 0x0000
              
                   Endpoint 1
                      bLength = 0x0007
                      bDescriptorType = 0x0005
                      bEndpointAddress = 0x0084  <IN>
                      bmAttributes = 0x0002  <BULK>
                      wMaxPacketSize = 0x0040
                      bInterval = 0x0000
                      bRefresh = 0x0000
                      bSynchAddress = 0x0000
              
                   Endpoint 2
                      bLength = 0x0007
                      bDescriptorType = 0x0005
                      bEndpointAddress = 0x0003  <OUT>
                      bmAttributes = 0x0002  <BULK>
                      wMaxPacketSize = 0x0040
                      bInterval = 0x0000
                      bRefresh = 0x0000
                      bSynchAddress = 0x0000
              
              
                  Interface 3
                    bLength = 0x0009
                    bDescriptorType = 0x0004
                    bInterfaceNumber = 0x0003
                    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 = 0x0087  <IN>
                      bmAttributes = 0x0003  <INTERRUPT>
                      wMaxPacketSize = 0x000a
                      bInterval = 0x0020
                      bRefresh = 0x0000
                      bSynchAddress = 0x0000
              
                   Endpoint 1
                      bLength = 0x0007
                      bDescriptorType = 0x0005
                      bEndpointAddress = 0x0086  <IN>
                      bmAttributes = 0x0002  <BULK>
                      wMaxPacketSize = 0x0040
                      bInterval = 0x0000
                      bRefresh = 0x0000
                      bSynchAddress = 0x0000
              
                   Endpoint 2
                      bLength = 0x0007
                      bDescriptorType = 0x0005
                      bEndpointAddress = 0x0004  <OUT>
                      bmAttributes = 0x0002  <BULK>
                      wMaxPacketSize = 0x0040
                      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 = 0x0020
                      bRefresh = 0x0000
                      bSynchAddress = 0x0000
              
                   Endpoint 1
                      bLength = 0x0007
                      bDescriptorType = 0x0005
                      bEndpointAddress = 0x0088  <IN>
                      bmAttributes = 0x0002  <BULK>
                      wMaxPacketSize = 0x0040
                      bInterval = 0x0000
                      bRefresh = 0x0000
                      bSynchAddress = 0x0000
              
                   Endpoint 2
                      bLength = 0x0007
                      bDescriptorType = 0x0005
                      bEndpointAddress = 0x0005  <OUT>
                      bmAttributes = 0x0002  <BULK>
                      wMaxPacketSize = 0x0040
                      bInterval = 0x0000
                      bRefresh = 0x0000
                      bSynchAddress = 0x0000
              

              It's running Android? That's fun!

              How do you have it configured in pfSense currently? Is it a PPP connection or USB Ethernet?

              Do you have a link to the discussion on the Quectel forum?

              Steve

              1 Reply Last reply Reply Quote 0
              • M
                MarianHlusek
                last edited by

                Well ... truly I don't know if it is running Android. It seems so. I've just plugged in to the APU3 device, put the screw and turned on :)
                The configuration is now via PPP connection.
                And the Quectel forum discussion is here: https://forums.quectel.com/t/ec25-e-speed-after-connecting-to-apu3/4778/5

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

                  Hmm, interesting. Most of that discussion is about the LTE connection speed, not the USB side. The first thing I would do here is try moving the modem to the other mPCIe slot in the APU. If there is something fixing the USB speed it could be a physical connection issue.

                  What interfaces does the modem provide when it's present?

                  At least one com port, cuaU0, I assume. Maybe more USB com ports? USB Ethernet too?
                  Check the boot logs when it is initialised.

                  Steve

                  M 1 Reply Last reply Reply Quote 0
                  • M
                    MarianHlusek @stephenw10
                    last edited by

                    @stephenw10
                    In the other mPCIe slot, there is already a SATA drive. I have pretty much the same configuration as it is metioned here: https://teklager.se/en/knowledge-base/apu3-pfsense-lte-3g-modem-configuration/
                    Based on the above I cannot use the last 3rd slot as that one is intended for Wifi.
                    So the only thing I could do is to remove the drive, but then I would have to install the pfsense to a SDcard.
                    Related to the question about the interfaces ... how do I find that out, please? Do you mean the general boot logs or are there any other - LTE device specific?
                    Marian

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

                      Hmm, yeah, that's unfortunate. If you can test the other slot using an SD boot it would be a good test.

                      If you reboot you will see that in the system log. Otherwise check /var/log/dmesg.boot.

                      Steve

                      1 Reply Last reply Reply Quote 0
                      • M
                        MarianHlusek
                        last edited by

                        So I tried to remove the SATA drive and move the Quectel device there. I found out interesting things:

                        1. If I move it to the mPCIe 3 slot (most right one), where the SATA disk was ... it is not detected at all. So seems in my APU device it was probably changed somehow and this slot is not dedicated to the LTE devices.
                        2. If I move it to the mPCIe 2 slot - this is the one where it was originally and it is detected as ugen1.3: <Android Android> at usbus1, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (500mA)
                        3. And if moved to the mPCIe 1 slot (the one on the left hand side), Quectel is detected as ugen1.3: <Android Android> at usbus1, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (500mA), as in the previous case, HOWEVER it is not detecting the SIM card in either of the slots.

                        Based on the above it seems the only slot I can insert this is the mPCIe 2 (in the middle) as it was done originally. In that case, however, it leads me to the original question ... how can I speed up the device (if possible - drivers? some commands? Different init string? ...)?

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