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

    USB Modem detected - but not showing under Interfaces?

    Scheduled Pinned Locked Moved 2.0-RC Snapshot Feedback and Problems - RETIRED
    58 Posts 6 Posters 53.7k 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.
    • Z
      Zani
      last edited by

      INSTRUCTIONS BY NEOTEL SELF:

      Instructions for Use:

      Steps are as follows (with sample explanation to follow):

      • modprobe the usbserial driver directly for the device

      • ppp dialer config

      How to do it:

      Plug in your modem, and then use the 'lsusb' command.

      Code

      user@linux:~$> lsusb

      Bus 002 Device 002: ID 1d09:4000

      Bus 002 Device 001: ID 0000:0000

      Bus 001 Device 001: ID 0000:0000

      Here we get the USB vendor and product ID's (the first one, in this case).

      Now we load the 'usbserial' driver specifically for this device:

      Code

      user@linux:~$> sudo modprobe usbserial vendor=0x1d09 product=0x4000

      As you can see, we use the first segment of the ID number as the vendor,

      and the second segment as the product ID, both with 0x prepended.

      Now, we check /dev to see that the devices are there:

      Code:

      user@linux:~$>ls /dev/ttyU*

      /dev/ttyUSB0 /dev/ttyUSB1

      Next step is to configure the ppp connection.

      Since this example is done on an Ubuntu installation, we can use the Debian pppconfig utility

      Code:

      user@linux:~$> sudo pppconfig

      In this utility, you enter the your username, password and the telephone number as needed, and then save the connection.

      Be sure to pick a descriptive name, as it is what you will be using to dial it up. Exit, and then we're ready to dial.

      Dialing on Ubuntu:

      Code:

      user@linux:~$> sudo pon neotel

      Where "neotel" is the connection name you picked in setup.

      And that's it. At this point if nothing went wrong, you'll have a fully working ppp0 connection up.

      Code:

      ifconfig | grep ppp0

      1 Reply Last reply Reply Quote 0
      • W
        wallabybob
        last edited by

        The recent snapshot of pfSense that I downloaded is missing a few components (kgdb and kernel symbols) I hoped to use in the procedure to see if Zani's modem would work with the u3g driver. So here's a way of testing the theory with a standard FreeBSD 8.1:

        1. (if necessary) install FreeBSD 8.1

        2. Boot FreeBSD 8.1 without the modem plugged in.

        3. Login as root and type the bold parts of the following:

        kgdb -w /boot/kernel/kernel /dev/mem

        GNU gdb 6.1.1 [FreeBSD]
        Copyright 2004 Free Software Foundation, Inc.
        GDB is free software, covered by the GNU General Public License, and you are
        welcome to change it and/or distribute copies of it under certain conditions.
        Type "show copying" to see the conditions.
        There is absolutely no warranty for GDB.  Type "show warranty" for details.
        This GDB was configured as "i386-marcel-freebsd"…
        #0  sched_switch (td=0xc09cdf10, newtd=0xc2d35780, flags=260) at ../../../kern/sched_ule.c:1850
        1850        cpuid = PCPU_GET(cpuid);
        (kgdb) p/x u3g_devs[0]
        $1 = {driver_info = 0x0, idVendor = 0x4a5, idProduct = 0x4068, bcdDevice_lo = 0x0, bcdDevice_hi = 0x0, bDeviceClass = 0x0,
          bDeviceSubClass = 0x0, bDeviceProtocol = 0x0, bInterfaceClass = 0x0, bInterfaceSubClass = 0x0, bInterfaceProtocol = 0x0,
          match_flag_vendor = 0x1, match_flag_product = 0x1, match_flag_dev_lo = 0x0, match_flag_dev_hi = 0x0,
          match_flag_dev_class = 0x0, match_flag_dev_subclass = 0x0, match_flag_dev_protocol = 0x0, match_flag_int_class = 0x0,
          match_flag_int_subclass = 0x0, match_flag_int_protocol = 0x0, match_flags = 0x0}
        (kgdb) set u3g_devs[0].idVendor = 0x1d09
        (kgdb) set u3g_devs[0].idProduct = 0x4000
        (kgdb) p/x u3g_devs[0]
        $2 = {driver_info = 0x0, idVendor = 0x1d09, idProduct = 0x4000, bcdDevice_lo = 0x0, bcdDevice_hi = 0x0, bDeviceClass = 0x0,
          bDeviceSubClass = 0x0, bDeviceProtocol = 0x0, bInterfaceClass = 0x0, bInterfaceSubClass = 0x0, bInterfaceProtocol = 0x0,
          match_flag_vendor = 0x1, match_flag_product = 0x1, match_flag_dev_lo = 0x0, match_flag_dev_hi = 0x0,
          match_flag_dev_class = 0x0, match_flag_dev_subclass = 0x0, match_flag_dev_protocol = 0x0, match_flag_int_class = 0x0,
          match_flag_int_subclass = 0x0, match_flag_int_protocol = 0x0, match_flags = 0x0}
        (kgdb) quit

        This changes an entry in the u3g driver's table of devices it recognises so it will recognise the Neotel modem.

        1. Plug in the modem. On the console the system should report a u3g device.

        2. Configure and attempt to use the u3g interface. I'm hoping to get a 3G modem later this week. I may be able to provide more configuration details later ths week or early next week.

        If the modem works with the (slightly modified) u3g driver you can submit a problem report to the FreeBSD developers to get the corresponding change into the source code and work on the pfSense developers to get it into pfSense.

        1 Reply Last reply Reply Quote 0
        • E
          eri--
          last edited by

          Download the file from here.
          http://www.mediafire.com/?bcsv0efbdq3boyx

          Put it in /boot/kernel on the pfSense install and reboot.
          Is your modem detected after rebooting?

          This is patched kernel with your ids.

          1 Reply Last reply Reply Quote 0
          • Z
            Zani
            last edited by

            Thanks so far Wallabybob: :)

            I have to download FreeBSD 8.1 -
            The # kgdb -w /boot/kernel/kernel /dev/mem was not recocnized by PfSense.

            So I tried Ermal's [thanks!]kernel file - with no luck so far.

            Ermal, I need to understand this kernel file - did you put the missing components in there?

            My next step is to download FreeBSD8.1 - this can take a while…

            PS

            ;D IT SEEMS I WAS NOT LOOKING PROPERLY  - SEE DOWN BELOW!  ;D
            AND ERMAL - WHAT DID YOU DO! :D - We need to know! Just the ID's? How?
            And is the future kernel going to have it?

            1 Reply Last reply Reply Quote 0
            • E
              eri--
              last edited by

              Zani tell me if this device appears as a umass first or not?!

              Its quite difficult without haveing a device locally, actually.

              1 Reply Last reply Reply Quote 0
              • Z
                Zani
                last edited by

                No USB Mass Storage Device that I can see at a glance - but - how do I test for one?

                1 Reply Last reply Reply Quote 0
                • P
                  Perry
                  last edited by

                  dmesg | grep umass

                  /Perry
                  doc.pfsense.org

                  1 Reply Last reply Reply Quote 0
                  • Z
                    Zani
                    last edited by

                    Thanks Perry; dmesg | grep umass gives no results, dmesg  gives:
                    usbus0: 12Mbps Full Speed USB v1.0
                    usbus1: 12Mbps Full Speed USB v1.0
                    usbus2: 480Mbps High Speed USB v2.0
                    and
                    ugen0.1: <sis>at usbus0
                    uhub0: <sis 1="" 9="" ohci="" root="" hub,="" class="" 0,="" rev="" 1.00="" 1.00,="" addr="">on usbus0
                    ugen1.1: <sis>at usbus1
                    uhub1: <sis 1="" 9="" ohci="" root="" hub,="" class="" 0,="" rev="" 1.00="" 1.00,="" addr="">on usbus1
                    ugen2.1: <sis>at usbus2
                    uhub2: <sis 1="" 9="" ehci="" root="" hub,="" class="" 0,="" rev="" 2.00="" 1.00,="" addr="">on usbus2
                    uhub0: 3 ports with 3 removable, self powered
                    uhub1: 3 ports with 3 removable, self powered
                    uhub2: 6 ports with 6 removable, self powered
                    ugen1.2: <vendor 0x0e6a="">at usbus1
                    ukbd0: <hid keyboard="" device="">on usbus1
                    kbd2 at ukbd0
                    uhid0: <hid keyboard="" hot="" keys="">on usbus1
                    and
                    ugen0.2: <dupont, incorporated="">at usbus0
                    u3g0: <data interface="">on usbus0
                    u3g0: Found 2 ports.</data></dupont,>

                    I obviously have it on the slow port….

                    I suddenly can see
                    /dev/cuaU0.0
                    /dev/cuaU0.1
                    under link interfaces in PPPs under Interfaces! ;D

                    I don't know how I missed it earlier - SEE ABOVE. [Maybe I only looked under PPPoE]
                    Ill let you know if it works properly!
                    Neotel is not listed as a service provider - all the others [cellphones] are there..</hid></hid></vendor></sis></sis></sis></sis></sis></sis>

                    1 Reply Last reply Reply Quote 0
                    • Z
                      Zani
                      last edited by

                      Still setting it up, got both ports connected, bridged them, can disconnect one at a time, but still no traffic through.
                      Still fiddling and trying to get the right info to read - not so easy to find…... ???

                      1 Reply Last reply Reply Quote 0
                      • Z
                        Zani
                        last edited by

                        The Question is: should the modems 2 ports be bridged? ???

                        1 Reply Last reply Reply Quote 0
                        • W
                          wallabybob
                          last edited by

                          @Zani:

                          The Question is: should the modems 2 ports be bridged? ???

                          Probably not, but it depends on what you are trying to do. And bridged to what? And which two ports? (I have the impression that some 3G modems have one 'port' for data and another 'port' for control functions and/or reporting. I can't say about your modem. But almost certainly you wouldn't want to bridge a 'reporting port' to anything else. )

                          1 Reply Last reply Reply Quote 0
                          • Z
                            Zani
                            last edited by

                            Wallabybob,
                            I contacted the USB driver writers at FreeBSD with all the needed info:
                            Hans Petter Selasky & Nick Hibma
                            But we still need someone to explain the whole process for the uninformed.
                            You were going to get a 3g modem - please write us your process to get the modem driver adapted.
                            My goal still is to get everybody to be able to do this.

                            1 Reply Last reply Reply Quote 0
                            • Z
                              Zani
                              last edited by

                              Ermal if you could share the patch - we would be grateful - especially if you could share the "how to"

                              1 Reply Last reply Reply Quote 0
                              • W
                                wallabybob
                                last edited by

                                @Zani:

                                But we still need someone to explain the whole process for the uninformed.
                                You were going to get a 3g modem - please write us your process to get the modem driver adapted.

                                Please elaborate on what you mean by the whole process.

                                I ordered a 3G modem online early Monday morning. It was going to be delivered Tuesday. By mid Thursday it hadn't appeared so I called and was told it would be delivered Friday. Its now late Friday evening and it still hasn't been delivered.

                                I suspect its a bit premature to "get the modem driver adapted". You haven't provided any evidence yet that its performing properly.

                                1 Reply Last reply Reply Quote 0
                                • Z
                                  Zani
                                  last edited by

                                  No, I could not get it to connect again - status interfaces , connect [ Neotel  (ppp0) or (ppp1) ]

                                  Something I have not mentioned - this is dual wan, the one connection goes through Telkom, the first operator via ethernet connection. Neotel is SA's second operator.
                                  I set up Routing - the gateways Neotel & Telkom - Telkom as defaulted as default, Groups with both as tier 1
                                  autodial is selected on Neotel… and status still down.
                                  I now set Telkom as Tier2 & made sure the Firewall rules see the gateway as the Gateway Group I made with Telkom & Neotel A+B ports.
                                  But I am still writing this via Telkom….

                                  1 Reply Last reply Reply Quote 0
                                  • G
                                    gnhb
                                    last edited by

                                    Zani,
                                    maybe back up your config and reset to defaults, and then start with a simple single connection through the Neotel to make sure your 3G connection is working.

                                    GB

                                    1 Reply Last reply Reply Quote 0
                                    • Z
                                      Zani
                                      last edited by

                                      Ill try this…. ;)

                                      1 Reply Last reply Reply Quote 0
                                      • G
                                        gnhb
                                        last edited by

                                        You need only ONE of the two cuaUx.x ports for Data. The other one is to access the modem for management purposes. You'll have to try them both to see which works.

                                        Or, you can use the "tip" program on the pfSense box in conjunction with the /etc/remote file to talk to the ports via the command line. The AT command set for 3G modems is public on the net, so you can see which commands to send to the ports to test for which port is the one for data.

                                        If you decide to do this, the /etc/remote file looks like this at the end of the file:

                                        ucom5:dv=/dev/cuaU4:br#9600:pa=none:
                                        ucom6:dv=/dev/cuaU5:br#9600:pa=none:
                                        ucom7:dv=/dev/cuaU6:br#9600:pa=none:
                                        ucom8:dv=/dev/cuaU7:br#9600:pa=none:

                                        Just add two lines to the file that look like this:
                                        neo1:dv=/dev/cuaU0.0:br#9600:pa=none:
                                        neo2:dv=/dev/cuaU0.1:br#9600:pa=none:

                                        then at the command prompt type
                                        tip neo1
                                        OR
                                        tip neo2

                                        and you'll be talking directly to the modem.

                                        type AT to the modem and you should get "OK" back on either port.
                                        type ATI or (ati) and see the modem manufacturer and model info, etc.
                                        type at+csq to see the radio signal strength.

                                        also . .  .

                                        ~^D or ~.
                                          Drop the connection to the modem and exit.

                                        I'm on OS X and the ~. sequence exits my pfSense connection, but the ~^D just exits the tip program.

                                        1 Reply Last reply Reply Quote 0
                                        • E
                                          eri--
                                          last edited by

                                          pfSense should automatically detect which is the data port for you on latest snapshots.

                                          For the @freebsd.org devs, which i am part of too, i will update them as soon as you prove that it is working correctly.

                                          1 Reply Last reply Reply Quote 0
                                          • Z
                                            Zani
                                            last edited by

                                            Hi, I had great difficulty to log onto this forum the last few days. Ill do as you say. Thanks all!

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