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

    Huawei E353 3G modem

    Scheduled Pinned Locked Moved Hardware
    39 Posts 6 Posters 46.6k 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.
    • W
      wallabybob
      last edited by

      That the /dev/cuaUx.x devices apparently show up suggests to me that the u3g driver recognises the modem and the modeswitch handshake is either not needed or already happens, though no harm in verifying that the driver recognises the modem.

      More details on what is in the PPP logs would be helpful.

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

        Good point.  ::)

        1 Reply Last reply Reply Quote 0
        • E
          exetrix
          last edited by

          Thanks for the help.

          I did the usbconfig thing, here is the result:

          ugen4.2: <huawei mobile="" huawei="" technologies="">at usbus4, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON

          bLength = 0x0012
            bDescriptorType = 0x0001
            bcdUSB = 0x0200
            bDeviceClass = 0x0000
            bDeviceSubClass = 0x0000
            bDeviceProtocol = 0x0000
            bMaxPacketSize0 = 0x0040
            idVendor = 0x12d1
            idProduct = 0x14ac
            bcdDevice = 0x0000
            iManufacturer = 0x0003  <huawei technologies="">iProduct = 0x0002  <huawei mobile="">iSerialNumber = 0x0000  <no string="">bNumConfigurations = 0x0001

          I searched the draisberghof forum but all the entries re E353 are for Linux, not BSD

          I recreated everything acc to instructions, for cuaU0.0, and managed to catch the relevant bit in the PPP log before all the retries scrolled it off the screen, which only gives the last 50 entries.

          Apr 26 14:44:19 ppp: [opt3_link0] ACCMAP 0x000a0000
          Apr 26 14:44:19 ppp: [opt3_link0] MRU 1500
          Apr 26 14:44:19 ppp: [opt3_link0] MAGICNUM 88cab1f2
          Apr 26 14:44:19 ppp: [opt3_link0] LCP: state change Ack-Sent –> Opened
          Apr 26 14:44:19 ppp: [opt3_link0] LCP: auth: peer wants CHAP, I want nothing
          Apr 26 14:44:19 ppp: [opt3_link0] LCP: LayerUp
          Apr 26 14:44:19 ppp: [opt3_link0] LCP: rec'd Discard Request #1 (Opened)
          Apr 26 14:44:19 ppp: [opt3_link0] CHAP: rec'd CHALLENGE #1 len: 35
          Apr 26 14:44:19 ppp: [opt3_link0] Name: "UMTS_CHAP_SRVR"
          Apr 26 14:44:19 ppp: [opt3_link0] CHAP: Using authname "user"
          Apr 26 14:44:19 ppp: [opt3_link0] CHAP: sending RESPONSE #1 len: 25
          Apr 26 14:44:19 ppp: [opt3_link0] CHAP: rec'd SUCCESS #1 len: 4
          Apr 26 14:44:19 ppp: [opt3_link0] LCP: authorization successful
          Apr 26 14:44:19 ppp: [opt3_link0] Link: Matched action 'bundle "opt3" ""'
          Apr 26 14:44:19 ppp: [opt3_link0] Link: Join bundle "opt3"
          Apr 26 14:44:19 ppp: [opt3] Bundle: Status update: up 1 link, total bandwidth 21600000 bps
          Apr 26 14:44:19 ppp: [opt3] can't config [35]:: Invalid argument
          Apr 26 14:44:19 ppp: fatal error, exiting
          Apr 26 14:44:19 ppp: [opt3] IFACE: Close event
          Apr 26 14:44:19 ppp: [opt3] IPCP: Close event
          Apr 26 14:44:19 ppp: [opt3] Bundle: Shutdown
          Apr 26 14:44:19 ppp: [opt3_link0] Link: Shutdown
          Apr 26 14:44:19 ppp: process 44883 terminated
          Apr 26 14:44:34 ppp: Multi-link PPP daemon for FreeBSD
          Apr 26 14:44:34 ppp:
          Apr 26 14:44:34 ppp: process 42443 started, version 5.5 (root@FreeBSD_8.0_pfSense_2.0-snaps.pfsense.org 16:18 9-Jun-2011)
          Apr 26 14:44:34 ppp: web: web is not running
          Apr 26 14:44:34 ppp: [opt3] Bundle: Interface ng0 created
          Apr 26 14:44:34 ppp: [opt3_link0] Link: OPEN event
          Apr 26 14:44:34 ppp: [opt3_link0] LCP: Open event
          Apr 26 14:44:34 ppp: [opt3_link0] LCP: state change Initial –> Starting
          Apr 26 14:44:34 ppp: [opt3_link0] LCP: LayerStart
          Apr 26 14:44:47 ppp: [opt3_link0] chat: The modem is not responding to "AT" at ModemCmd: label.
          Apr 26 14:44:47 ppp: [opt3_link0] MODEM: chat script failed
          Apr 26 14:44:47 ppp: [opt3_link0] Link: DOWN event
          Apr 26 14:44:47 ppp: [opt3_link0] LCP: Down event
          Apr 26 14:44:47 ppp: [opt3_link0] Link: reconnection attempt 1 in 3 seconds
          Apr 26 14:44:50 ppp: [opt3_link0] Link: reconnection attempt 1
          Apr 26 14:45:03 ppp: [opt3_link0] chat: The modem is not responding to "AT" at ModemCmd: label.
          Apr 26 14:45:03 ppp: [opt3_link0] MODEM: chat script failed
          Apr 26 14:45:03 ppp: [opt3_link0] Link: DOWN event
          Apr 26 14:45:03 ppp: [opt3_link0] LCP: Down event
          Apr 26 14:45:03 ppp: [opt3_link0] Link: reconnection attempt 2 in 1 seconds
          Apr 26 14:45:04 ppp: [opt3_link0] Link: reconnection attempt 2
          Apr 26 14:45:19 ppp: [opt3_link0] chat: The modem is not responding to "AT" at ModemCmd: label.
          Apr 26 14:45:19 ppp: [opt3_link0] MODEM: chat script failed
          Apr 26 14:45:19 ppp: [opt3_link0] Link: DOWN event
          Apr 26 14:45:19 ppp: [opt3_link0] LCP: Down event
          Apr 26 14:45:19 ppp: [opt3_link0] Link: reconnection attempt 3 in 3 seconds
          Apr 26 14:45:22 ppp: [opt3_link0] Link: reconnection attempt 3</no></huawei></huawei></huawei>

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

            There are a number of hints in the log file that there has been successful data exchange.

            @exetrix:

            Apr 26 14:44:19 ppp: [opt3] can't config [35]:: Invalid argument

            I don't know what the above means - perhaps something weird in the ppp configuration file around line 35?

            @exetrix:

            Apr 26 14:44:19 ppp: fatal error, exiting

            Serious weirdness in the ppp configuration file?

            I suspect the apparent premature exit of ppp has left things in an inconsistent state from which it struggles to recover (if at all).

            What version of pfSense are you using?

            Please post the output of the pfSense shell command```

            more /var/etc/mpd_opt3.conf

            1 Reply Last reply Reply Quote 0
            • E
              exetrix
              last edited by

              version is 2.0-RC3(i386)
              $ more /var/etc/mpd_opt3.conf
              startup:

              configure the console

              set console close

              configure the web server

              set web close

              default:
              pppclient:
              create bundle static opt3
              set iface name ppp0
              set iface disable on-demand
              set iface idle 0
              set iface enable tcpmssfix
              set iface up-script /usr/local/sbin/ppp-linkup
              set iface down-script /usr/local/sbin/ppp-linkdown
              set ipcp ranges 0.0.0.0/0 10.64.64.0/0
              set ipcp enable req-pri-dns
              set ipcp enable req-sec-dns
              #log -bund -ccp -chat -iface -ipcp -lcp -link

              create link static opt3_link0 modem
              set link action bundle opt3
              set link disable multilink
              set link keep-alive 10 60
              set link max-redial 0
              set link disable chap pap
              set link accept chap pap eap
              set link disable incoming
              set link mtu 1492
              set auth authname "user"
              set auth password ž‰Þ
              set modem device /dev/cuaU0.0
              set modem script DialPeer
              set modem idle-script Ringback
              set modem watch -cd
              set modem var $DialPrefix "DT"
              set modem var $Telephone "*99#"
              set modem var $APN "3internet"
              set modem var $APNum "1"
              open

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

                @exetrix:

                I searched the draisberghof forum but all the entries re E353 are for Linux, not BSD

                That's true. usb_modeswitch was first written for Linux but there is a port for FreeBSD now.
                Besides that it's often the best source if information about poorly documented modems.

                Anyway it's not relevant because it seems your modem is already appearing as a serial port.

                Steve

                Edit: This may provide some insight: (it may be refered to as one of these models)
                @http://www.draisberghof.de/usb_modeswitch/device_reference.txt:

                Huawei E270+  (HSPA+ modem)

                Huawei E1762

                Huawei E1820

                Contributor: Paranoid Paranoia

                DefaultVendor=  0x12d1
                DefaultProduct= 0x1446

                TargetVendor=   0x12d1
                TargetProduct=  0x14ac

                MessageContent="55534243123456780000000000000011060000000000000000000000000000"

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

                  @exetrix:

                  version is 2.0-RC3(i386)

                  Is there a good reason you are running Release Candidate 3 rather than the official release or even version 2.0.1?

                  I don't know that the problem will be fixed in one of the official releases but I suspect it might be difficult to get a developer interested in producing a patch for an RC that has been superseded by two official releases. I suggest you upgrade to pfSense 2.0.1.

                  I didn't notice anything wrong in the PPP configuration file, but the rather uninformative error message didn't say it was complaining about the configuration file - I was guessing that might be the problem.

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

                    Same problem and a solution is reported here:
                    http://forum.pfsense.org/index.php?topic=28649.0
                    Problem is old version of mpd can't handle anything over 10Mbps. (edit: not an accurate description!)
                    Updating to 2.0.1 should resolve this.

                    Steve

                    1 Reply Last reply Reply Quote 0
                    • E
                      exetrix
                      last edited by

                      Upgrading to 2.0.1 seems to have fixed this.
                      Thanks.

                      1 Reply Last reply Reply Quote 0
                      • I
                        iwebs
                        last edited by

                        Hi I have recently purchased a e353 usb modem and for the life of me i cant get it to work. I have the latest version of pfSense 2.1-DEVELOPMENT (i386)
                        [built on Sun May 13 00:54:34 EDT 2012 FreeBSD 8.3-RELEASE-p1] installed and cant get pfSense to recognize the modem, using my old (e1820) i get a list of 5 ports for the modem (/dev/cuaU0.0…to../dev/cuaU0.2 & /dev/cuau0 and cuau1) but with the e353 I only get /dev/cuau0 and /dev/cuau1. I've checked the ppp logs and it looks like a similar problem to the one being experienced in the 1st post but I can't fix it. Any suggestions?  ??? thanks!

                        log of ppp:

                        May 14 01:56:17 ppp: [wan_link0] LCP: Down event
                        May 14 01:56:17 ppp: [wan_link0] Link: DOWN event
                        May 14 01:56:17 ppp: [wan_link0] MODEM: Fail to open serial port /dev/cuau0 on speed 115200
                        May 14 01:56:17 ppp: [wan_link0] can't lock device cuau0
                        May 14 01:56:17 ppp: UuLock: read: File exists
                        May 14 01:56:17 ppp: [wan_link0] Link: reconnection attempt 8

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

                          @iwebs:

                          but with the e353 I only get /dev/cuau0 and /dev/cuau1.

                          You should have devices /dev/cuaU0.0 /dev/cuau0.1 etc.

                          If you didn't restart the box with the USB modem connected please do so then provide the output of the pfSense shell command```

                          #  dir /dev/cua*; dmesg

                          
                          It is possible your modem is not recognised by the 3g modem driver. The requested output should settle the issue.
                          1 Reply Last reply Reply Quote 0
                          • I
                            iwebs
                            last edited by

                            Again when I plug in the e353 and reboot the pfSense box it only shows /dev/cuau0 and /dev/cuau1. the output of the command is below. All help is greatly appreciated thanks again!

                            $ dir /dev/cua*; dmesg
                            Copyright © 1992-2012 The FreeBSD Project.
                            Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
                            The Regents of the University of California. All rights reserved.
                            FreeBSD is a registered trademark of The FreeBSD Foundation.
                            FreeBSD 8.3-RELEASE-p1 #1: Sun May 13 02:11:06 EDT 2012
                                root@FreeBSD_8.3_pfSense_2.1.snaps.pfsense.org:/usr/obj./usr/pfSensesrc/src/sys/pfSense_SMP.8 i386
                            Timecounter "i8254" frequency 1193182 Hz quality 0
                            CPU: Intel Pentium III (797.42-MHz 686-class CPU)
                              Origin = "GenuineIntel"  Id = 0x686  Family = 6  Model = 8  Stepping = 6
                              Features=0x387f9ff <fpu,vme,de,pse,tsc,msr,pae,mce,cx8,sep,mtrr,pge,mca,cmov,pat,pse36,pn,mmx,fxsr,sse>real memory  = 402653184 (384 MB)
                            avail memory = 370208768 (353 MB)
                            wlan: mac acl policy registered
                            ipw_bss: You need to read the LICENSE file in /usr/share/doc/legal/intel_ipw/.
                            ipw_bss: If you agree with the license, set legal.intel_ipw.license_ack=1 in /boot/loader.conf.
                            module_register_init: MOD_LOAD (ipw_bss_fw, 0xc07a9370, 0) error 1
                            ipw_ibss: You need to read the LICENSE file in /usr/share/doc/legal/intel_ipw/.
                            ipw_ibss: If you agree with the license, set legal.intel_ipw.license_ack=1 in /boot/loader.conf.
                            module_register_init: MOD_LOAD (ipw_ibss_fw, 0xc07a9410, 0) error 1
                            ipw_monitor: You need to read the LICENSE file in /usr/share/doc/legal/intel_ipw/.
                            ipw_monitor: If you agree with the license, set legal.intel_ipw.license_ack=1 in /boot/loader.conf.
                            module_register_init: MOD_LOAD (ipw_monitor_fw, 0xc07a94b0, 0) error 1
                            kbd1 at kbdmux0
                            cryptosoft0: <software crypto="">on motherboard
                            padlock0: No ACE support.
                            acpi0: <ptltd  rsdt="">on motherboard
                            acpi0: [ITHREAD]
                            acpi0: Power Button (fixed)
                            Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
                            acpi_timer0: <24-bit timer at 3.579545MHz> port 0x1008-0x100b on acpi0
                            cpu0: <acpi cpu="">on acpi0
                            pcib0: <acpi host-pci="" bridge="">port 0xcf8-0xcff on acpi0
                            pci0: <acpi pci="" bus="">on pcib0
                            pcib1: <acpi pci-pci="" bridge="">at device 30.0 on pci0
                            pci1: <acpi pci="" bus="">on pcib1
                            vgapci0: <vga-compatible display="">port 0x2400-0x24ff mem 0xed000000-0xedffffff,0xec101000-0xec101fff at device 1.0 on pci1
                            rl0: <realtek 10="" 8139="" 100basetx="">port 0x2800-0x28ff mem 0xec100400-0xec1004ff at device 2.0 on pci1
                            miibus0: <mii bus="">on rl0
                            rlphy0: <realtek internal="" media="" interface="">PHY 0 on miibus0
                            rlphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
                            rl0: [ITHREAD]
                            xl0: <3Com 3c905C-TX Fast Etherlink XL> port 0x2000-0x207f mem 0xec100000-0xec10007f irq 11 at device 4.0 on pci1
                            miibus1: <mii bus="">on xl0
                            xlphy0: <3c905C 10/100 internal PHY> PHY 24 on miibus1
                            xlphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto, auto-flow
                            xl0: [ITHREAD]
                            isab0: <pci-isa bridge="">at device 31.0 on pci0
                            isa0: <isa bus="">on isab0
                            atapci0: <intel ich="" udma66="" controller="">port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0x1800-0x180f at device 31.1 on pci0
                            ata0: <ata channel="">at channel 0 on atapci0
                            ata0: [ITHREAD]
                            ata1: <ata channel="">at channel 1 on atapci0
                            ata1: [ITHREAD]
                            uhci0: <intel 82801aa="" (ich)="" usb="" controller="">port 0x1820-0x183f at device 31.2 on pci0
                            uhci0: [ITHREAD]
                            uhci0: LegSup = 0x2f00
                            usbus0: <intel 82801aa="" (ich)="" usb="" controller="">on uhci0
                            pci0: <serial bus,="" smbus="">at device 31.3 (no driver attached)
                            pci0: <multimedia, audio="">at device 31.5 (no driver attached)
                            acpi_button0: <power button="">on acpi0
                            atrtc0: <at realtime="" clock="">port 0x70-0x71 irq 8 on acpi0
                            atkbdc0: <keyboard controller="" (i8042)="">port 0x60,0x64 irq 1 on acpi0
                            atkbd0: <at keyboard="">irq 1 on atkbdc0
                            kbd0 at atkbd0
                            atkbd0: [GIANT-LOCKED]
                            atkbd0: [ITHREAD]
                            uart0: <16550 or compatible> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
                            uart0: [FILTER]
                            uart1: <16550 or compatible> port 0x2f8-0x2ff irq 3 on acpi0
                            uart1: [FILTER]
                            ppc0: <parallel port="">port 0x378-0x37f irq 7 on acpi0
                            ppc0: Generic chipset (EPP/NIBBLE) in COMPATIBLE mode
                            ppc0: [ITHREAD]
                            ppbus0: <parallel port="" bus="">on ppc0
                            plip0: <plip network="" interface="">on ppbus0
                            plip0: [ITHREAD]
                            lpt0: <printer>on ppbus0
                            lpt0: [ITHREAD]
                            lpt0: Interrupt-driven port
                            ppi0: <parallel i="" o="">on ppbus0
                            pmtimer0 on isa0
                            orm0: <isa option="" roms="">at iomem 0xc0000-0xc7fff,0xc8000-0xc8fff,0xe4000-0xeffff pnpid ORM0000 on isa0
                            sc0: <system console="">at flags 0x100 on isa0
                            sc0: VGA <16 virtual consoles, flags=0x300>
                            vga0: <generic isa="" vga="">at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
                            Timecounter "TSC" frequency 797416343 Hz quality 800
                            Timecounters tick every 1.000 msec
                            IPsec: Initialized Security Association Processing.
                            usbus0: 12Mbps Full Speed USB v1.0
                            ad0: 152627MB <samsung sp1604n="" tm100-24="">at ata0-master UDMA66
                            ugen0.1: <intel>at usbus0
                            uhub0: <intel 1="" 9="" uhci="" root="" hub,="" class="" 0,="" rev="" 1.00="" 1.00,="" addr="">on usbus0
                            Root mount waiting for: usbus0
                            uhub0: 2 ports with 2 removable, self powered
                            Root mount waiting for: usbus0
                            Root mount waiting for: usbus0
                            ugen0.2: <huawei>at usbus0
                            umass0: <huawei 0="" 2="" huawei="" hilink,="" class="" 0,="" rev="" 2.00="" 1.02,="" addr="">on usbus0
                            umass0:  SCSI over Bulk-Only; quirks = 0x0100
                            umass0:0:0👎 Attached to scbus0
                            Trying to mount root from ufs:/dev/ad0s1a
                            (probe0:umass-sim0:0:0:0): TEST UNIT READY. CDB: 0 0 0 0 0 0
                            (probe0:umass-sim0:0:0:0): CAM status: SCSI Status Error
                            (probe0:umass-sim0:0:0:0): SCSI status: Check Condition
                            (probe0:umass-sim0:0:0:0): SCSI sense: NOT READY asc:3a,0 (Medium not present)
                            cd0 at umass-sim0 bus 0 scbus0 target 0 lun 0
                            cd0: <huawei mass="" storage="" 2.31="">Removable CD-ROM SCSI-2 device
                            cd0: 1.000MB/s transfers
                            cd0: Attempt to query device size failed: NOT READY, Medium not present
                            pflog0: promiscuous mode enabled
                            rl0: link state changed to UP</huawei></huawei></huawei></intel></intel></samsung></generic></system></isa></parallel></printer></plip></parallel></parallel></at></keyboard></at></power></multimedia,></serial></intel></intel></ata></ata></intel></isa></pci-isa></mii></realtek></mii></realtek></vga-compatible></acpi></acpi></acpi></acpi></acpi></ptltd ></software></fpu,vme,de,pse,tsc,msr,pae,mce,cx8,sep,mtrr,pge,mca,cmov,pat,pse36,pn,mmx,fxsr,sse>

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

                              @iwebs:

                              Sorry,

                              $ dir /dev/cua*; dmesg

                              should have been

                              $ ls /dev/cua*; dmesg

                              but no matter for present purposes since there is no sign the u3g driver recognised your particular device.

                              Elsewhere in these forums it has been reported that it helps to initialise the modem on a Windows system, installing the driver software on the modem, connecting to the network, registering etc then disconnecting in the Windows software, removing the modem and taking it to the non Windows system. (It is possible the ISP tech support won't be interested in any problem report about the modem unless you can demonstrate it on a Windows system so it is possibly a good thing to do this to verify you have a working modem.) Apparently this step changes some state in the modem so that it reports itself not just as a CD device (as yours did):

                              $ dir /dev/cua*; dmesg
                              ugen0.2: <huawei>at usbus0
                              umass0: <huawei 0="" 2="" huawei="" hilink,="" class="" 0,="" rev="" 2.00="" 1.02,="" addr="">on usbus0
                              umass0:  SCSI over Bulk-Only; quirks = 0x0100
                              umass0:0:0👎 Attached to scbus0
                              Trying to mount root from ufs:/dev/ad0s1a
                              (probe0:umass-sim0:0:0:0): TEST UNIT READY. CDB: 0 0 0 0 0 0
                              (probe0:umass-sim0:0:0:0): CAM status: SCSI Status Error
                              (probe0:umass-sim0:0:0:0): SCSI status: Check Condition
                              (probe0:umass-sim0:0:0:0): SCSI sense: NOT READY asc:3a,0 (Medium not present)
                              cd0 at umass-sim0 bus 0 scbus0 target 0 lun 0
                              cd0: <huawei mass="" storage="" 2.31="">Removable CD-ROM SCSI-2 device
                              cd0: 1.000MB/s transfers
                              cd0: Attempt to query device size failed: NOT READY, Medium not present</huawei></huawei></huawei>

                              but as CD plus serial devices.

                              There is a utility usb_modeswitch which apparently should get invoked on recognition of a 3G modem. I'm not sure of its action in relation to the Windows initialisation I described earlier.

                              The following pfSense shell commands might provide some additional useful information (no need to reboot before issuing them):```

                              $ usbconfig
                              $ usbconfig -d ugen0.2 dump_device_desc show_ifdrv

                              Note the "ugen0.2" in the second command comes from the ugen device reporting Huawei in the first command. Here's the equivalent on my system which has a Huawei E153 modem plugged in and reporting cuaU0.x devices:
                              
                              > $ usbconfig
                              > ugen0.1: <uhci root="" hub="" via="">at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE
                              > ugen1.1: <uhci root="" hub="" via="">at usbus1, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE
                              > ugen2.1: <uhci root="" hub="" via="">at usbus2, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE
                              > ugen3.1: <ehci root="" hub="" via="">at usbus3, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE
                              > ugen3.2: <802.11 n WLAN Ralink> at usbus3, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON
                              > ugen3.3: <huawei mobile="" huawei="" technology="">at usbus3, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON
                              > $ usbconfig -d ugen3.3 dump_device_desc show_ifdrv
                              > ugen3.3: <huawei mobile="" huawei="" technology="">at usbus3, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON
                              > ugen3.3.0: u3g0: <huawei 0="" 3="" technology="" huawei="" mobile,="" class="" 0,="" rev="" 2.00="" 0.00,="" addr="">ugen3.3.4: umass0: <huawei 0="" 3="" technology="" huawei="" mobile,="" class="" 0,="" rev="" 2.00="" 0.00,="" addr="">ugen3.3.5: umass1: <huawei 0="" 3="" technology="" huawei="" mobile,="" class="" 0,="" rev="" 2.00="" 0.00,="" addr="">bLength = 0x0012
                              >   bDescriptorType = 0x0001
                              >   bcdUSB = 0x0200
                              >   bDeviceClass = 0x0000
                              >   bDeviceSubClass = 0x0000
                              >   bDeviceProtocol = 0x0000
                              >   bMaxPacketSize0 = 0x0040
                              >   idVendor = 0x12d1
                              >   idProduct = 0x14ac
                              >   bcdDevice = 0x0000
                              >   iManufacturer = 0x0003  <huawei technology="">iProduct = 0x0002  <huawei mobile="">iSerialNumber = 0x0000  <no string="">bNumConfigurations = 0x0001
                              > 
                              > $</no></huawei></huawei></huawei></huawei></huawei></huawei></huawei></ehci></uhci></uhci></uhci>
                              1 Reply Last reply Reply Quote 0
                              • I
                                iwebs
                                last edited by

                                @wallabybob:

                                @iwebs:

                                Sorry,

                                $ dir /dev/cua*; dmesg

                                should have been

                                $ ls /dev/cua*; dmesg

                                but no matter for present purposes since there is no sign the u3g driver recognised your particular device.

                                Elsewhere in these forums it has been reported that it helps to initialise the modem on a Windows system, installing the driver software on the modem, connecting to the network, registering etc then disconnecting in the Windows software, removing the modem and taking it to the non Windows system. (It is possible the ISP tech support won't be interested in any problem report about the modem unless you can demonstrate it on a Windows system so it is possibly a good thing to do this to verify you have a working modem.) Apparently this step changes some state in the modem so that it reports itself not just as a CD device (as yours did):

                                $ dir /dev/cua*; dmesg
                                ugen0.2: <huawei>at usbus0
                                umass0: <huawei 0="" 2="" huawei="" hilink,="" class="" 0,="" rev="" 2.00="" 1.02,="" addr="">on usbus0
                                umass0:  SCSI over Bulk-Only; quirks = 0x0100
                                umass0:0:0👎 Attached to scbus0
                                Trying to mount root from ufs:/dev/ad0s1a
                                (probe0:umass-sim0:0:0:0): TEST UNIT READY. CDB: 0 0 0 0 0 0
                                (probe0:umass-sim0:0:0:0): CAM status: SCSI Status Error
                                (probe0:umass-sim0:0:0:0): SCSI status: Check Condition
                                (probe0:umass-sim0:0:0:0): SCSI sense: NOT READY asc:3a,0 (Medium not present)
                                cd0 at umass-sim0 bus 0 scbus0 target 0 lun 0
                                cd0: <huawei mass="" storage="" 2.31="">Removable CD-ROM SCSI-2 device
                                cd0: 1.000MB/s transfers
                                cd0: Attempt to query device size failed: NOT READY, Medium not present</huawei></huawei></huawei>

                                but as CD plus serial devices.

                                There is a utility usb_modeswitch which apparently should get invoked on recognition of a 3G modem. I'm not sure of its action in relation to the Windows initialisation I described earlier.

                                The following pfSense shell commands might provide some additional useful information (no need to reboot before issuing them):```

                                $ usbconfig
                                $ usbconfig -d ugen0.2 dump_device_desc show_ifdrv

                                Note the "ugen0.2" in the second command comes from the ugen device reporting Huawei in the first command. Here's the equivalent on my system which has a Huawei E153 modem plugged in and reporting cuaU0.x devices:
                                
                                > $ usbconfig
                                > ugen0.1: <uhci root="" hub="" via="">at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE
                                > ugen1.1: <uhci root="" hub="" via="">at usbus1, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE
                                > ugen2.1: <uhci root="" hub="" via="">at usbus2, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE
                                > ugen3.1: <ehci root="" hub="" via="">at usbus3, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE
                                > ugen3.2: <802.11 n WLAN Ralink> at usbus3, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON
                                > ugen3.3: <huawei mobile="" huawei="" technology="">at usbus3, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON
                                > $ usbconfig -d ugen3.3 dump_device_desc show_ifdrv
                                > ugen3.3: <huawei mobile="" huawei="" technology="">at usbus3, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON
                                > ugen3.3.0: u3g0: <huawei 0="" 3="" technology="" huawei="" mobile,="" class="" 0,="" rev="" 2.00="" 0.00,="" addr="">ugen3.3.4: umass0: <huawei 0="" 3="" technology="" huawei="" mobile,="" class="" 0,="" rev="" 2.00="" 0.00,="" addr="">ugen3.3.5: umass1: <huawei 0="" 3="" technology="" huawei="" mobile,="" class="" 0,="" rev="" 2.00="" 0.00,="" addr="">bLength = 0x0012
                                >   bDescriptorType = 0x0001
                                >   bcdUSB = 0x0200
                                >   bDeviceClass = 0x0000
                                >   bDeviceSubClass = 0x0000
                                >   bDeviceProtocol = 0x0000
                                >   bMaxPacketSize0 = 0x0040
                                >   idVendor = 0x12d1
                                >   idProduct = 0x14ac
                                >   bcdDevice = 0x0000
                                >   iManufacturer = 0x0003  <huawei technology="">iProduct = 0x0002  <huawei mobile="">iSerialNumber = 0x0000  <no string="">bNumConfigurations = 0x0001
                                > 
                                > $</no></huawei></huawei></huawei></huawei></huawei></huawei></huawei></ehci></uhci></uhci></uhci>
                                

                                Hi Thanks again. I have initialized the modem on a windows 7 machine and installed all the software drivers etc. and it works fine, connects etc. As this is a new type of modem I have a feeling that its not yet supported under BSD yet. Anyway here's the output from the last command:

                                $ usbconfig -d ugen0.2 dump_device_desc show_ifdrv
                                ugen0.2: <huawei hilink="" huawei="">at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON
                                ugen0.2.0: umass0: <huawei 0="" 2="" huawei="" hilink,="" class="" 0,="" rev="" 2.00="" 1.02,="" addr="">bLength = 0x0012
                                  bDescriptorType = 0x0001
                                  bcdUSB = 0x0200
                                  bDeviceClass = 0x0000
                                  bDeviceSubClass = 0x0000
                                  bDeviceProtocol = 0x0000
                                  bMaxPacketSize0 = 0x0040
                                  idVendor = 0x12d1
                                  idProduct = 0x1f01
                                  bcdDevice = 0x0102
                                  iManufacturer = 0x0002  <huawei>iProduct = 0x0001  <huawei hilink="">iSerialNumber = 0x0000  <no string="">bNumConfigurations = 0x0001</no></huawei></huawei></huawei></huawei>

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

                                  Confirmed: the u3g driver doesn't recognise it.

                                  A search on the web turned up this thread http://www.dd-wrt.com/phpBB2/viewtopic.php?p=615196 which suggests to me the incantations necessary to get this modem to work have only "recently" been discovered, probably too recently to be included in FreeBSD 8.3.

                                  1 Reply Last reply Reply Quote 0
                                  • I
                                    iwebs
                                    last edited by

                                    I had a feeling that was the case  :(. Thanks anyway for all of your help with trying to sort this out. I guess Ill have to wait until pfSense becomes compatible with it, hopefully it will be sooner rather than later. All the best, iwebs!

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

                                      Just FYI, serial devices named with an upper-case U (e.g. cuaU0.1) are connected via USB hence you need to see these on your modem.
                                      You can almost certainly modeswitch this with the FreeBSD port of usb_modeswitch. Unfortunately it doesn't tie into the dev subsystem, like u3g does, so it's more of a manual process.

                                      Steve

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

                                        Also looking at the usb_modeswitch device list:

                                        
                                        # Huawei E353 (3.se)
                                        #
                                        # Contributor: Ulf Eklund
                                        
                                        DefaultVendor= 0x12d1
                                        DefaultProduct=0x1f01
                                        
                                        TargetVendor=  0x12d1
                                        TargetProduct= 0x14db
                                        
                                        MessageContent="55534243123456780000000000000a11062000000000000100000000000000"
                                        
                                        # Driver is cdc_ether
                                        NoDriverLoading=1
                                        
                                        

                                        It appears as though this modem is of the newer '4g' style that appears as a usb ethernet device rather than a serial connected modem. Though they usually have serial port as well for diagnostics.

                                        Steve

                                        1 Reply Last reply Reply Quote 0
                                        • I
                                          iwebs
                                          last edited by

                                          @stephenw10:

                                          Also looking at the usb_modeswitch device list:

                                          
                                          # Huawei E353 (3.se)
                                          #
                                          # Contributor: Ulf Eklund
                                          
                                          DefaultVendor= 0x12d1
                                          DefaultProduct=0x1f01
                                          
                                          TargetVendor=  0x12d1
                                          TargetProduct= 0x14db
                                          
                                          MessageContent="55534243123456780000000000000a11062000000000000100000000000000"
                                          
                                          # Driver is cdc_ether
                                          NoDriverLoading=1
                                          
                                          

                                          It appears as though this modem is of the newer '4g' style that appears as a usb ethernet device rather than a serial connected modem. Though they usually have serial port as well for diagnostics.

                                          Steve

                                          Yes it shows up under windows as a Remote NDIS based Internet Sharing Device and you go to 192.168.1.1 in the browser to configure the device so it seems its running a web server of some sort…

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

                                            Well give it a try.
                                            Assuming you are running the full install of pfSense first install usb_modeswitch:

                                            pkg_add -r ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8-stable/Latest/usb_modeswitch.tbz
                                            

                                            Then  issue a rehash to make sure pfSense knows where the package is:

                                            rehash
                                            

                                            Then try to modeswitch your device:

                                            usb_modeswitch -v 12d1 -p 1f01 -V 012d1 -P 014db -M "55534243123456780000000000000a11062000000000000100000000000000" -W
                                            

                                            Or some variation on that!

                                            Steve

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