Huawei E353 3G modem



  • This is available in the UK from the 3 network. I've tried to install it, following the online instructions, but can't get it to work. It shows multiple /dev files in the Link Interfaces selection box. At first there were two. I tried one, then the other. Neither would stay up. The messages in the PPP system log lack consistency. I tried removing the two i/f's and rebooting with the modem in place. Now it's showing three /dev/ entries, /dev/cuaU0.0, cuaU0.2, cuaU0.3. I tried cuaU0.3, and the log is now giving the message Uulock: read: file exists, which it didn't before.

    If anyone has got this modem to work, I'd appreciate knowing how. Failing that, I'm interested in any modem I could currently get that someone has got working.

    I don't know why the forum thinks I am exetrix, btw.



  • I had the Huawei E1762 working with a version of pfSense earlier than 2.0.1. I don't know if the E1762 is still available to you. (The E1762 is no longer in my possession.)

    I tried the Huawei E153 on pfSense 2.1 and it apparently did exchange data with the ISP but failed in PPP negotiation. (The E153  talks with a different telco than the telco I used on the E1762.)

    I suspect you should be using /dev/cuaU0.0 for PPP. What does the PPP log show when you attempt that?


  • Netgate Administrator

    To get this working (or even to try) we will need to know the USB vendor and device IDs reported when it is connected.
    You can get this using:

    usbconfig dump_device_desc
    
    

    Then look at the usb_modeswitch forum to see if anyone else with those same IDs has successfully used it.
    E.g. http://www.draisberghof.de/usb_modeswitch/bb/viewtopic.php?t=796&highlight=e353

    Some of these newer modems can be either a modem or appear as a USB ethernet device. However I have never managed to get a CDC ethernet device to work reliably with pfSense because the driver invents a new MAC address at each boot!  >:(

    Steve



  • 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.


  • Netgate Administrator

    Good point.  ::)



  • 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>



  • 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



  • 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


  • Netgate Administrator

    @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"



  • @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.


  • Netgate Administrator

    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



  • Upgrading to 2.0.1 seems to have fixed this.
    Thanks.



  • 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



  • @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.


  • 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>



  • @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>


  • @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>



  • 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.



  • 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!


  • Netgate Administrator

    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


  • Netgate Administrator

    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



  • @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…


  • Netgate Administrator

    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



  • Hi again. I ran those commands and got the following:

    $ pkg_add -r ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8-stable/Latest/usb_modeswitch.tbz
    tar: Failed to set default locale
    pkg_add: package 'usb_modeswitch-1.2.1' or its older version already installed

    and then

    $ usb_modeswitch -v 12d1 -p 1f01 -V 012d1 -P 014db -M "55534243123456780000000000000a11062000000000000100000000000000" -W
    Taking all parameters from the command line

    • usb_modeswitch: handle USB devices with multiple modes
    • Version 1.2.1 (C) Josua Dietze 2011
    • Based on libusb0 (0.1.12 and above)

    ! PLEASE REPORT NEW CONFIGURATIONS !

    DefaultVendor=  0x12d1
    DefaultProduct= 0x1f01
    TargetVendor=  0x12d1
    TargetProduct=  0x14db
    TargetClass=    not set
    TargetProductList=""

    DetachStorageOnly=0
    HuaweiMode=0
    SierraMode=0
    SonyMode=0
    QisdaMode=0
    GCTMode=0
    KobilMode=0
    SequansMode=0
    MobileActionMode=0
    CiscoMode=0
    MessageEndpoint=  not set
    MessageContent="55534243123456780000000000000a11062000000000000100000000000000"
    NeedResponse=0
    ResponseEndpoint= not set

    InquireDevice enabled (default)
    Success check disabled
    System integration mode disabled

    Looking for target devices …
      searching devices, found USB ID 12d1:1f01
      found matching vendor ID
      searching devices, found USB ID 0000:0000
    No devices in target mode or class found
    Looking for default devices ...
      searching devices, found USB ID 12d1:1f01
      found matching vendor ID
      found matching product ID
      adding device
      searching devices, found USB ID 0000:0000
    Found device in default mode, class or configuration (1)
    Accessing device 002 on bus 000 ...
    Getting the current device configuration ...
    OK, got current device configuration (1)
    Using first interface: 0x00
    Using endpoints 0x0f (out) and 0x8f (in)
    Inquiring device details; driver will be detached ...
    Cant't do driver detection and detaching on this platform.

    SCSI inquiry data (for identification)

    Vendor String: HUAWEI 
      Model String: Mass Storage   
    Revision String: 2.31

    USB description data (for identification)

    Manufacturer: HUAWEI
        Product: HUAWEI HiLink
      Serial No.: not provided

    Setting up communication with interface 0
    Using endpoint 0x0f for message sending ...
    Trying to send message 1 to endpoint 0x0f ...
    OK, message successfully sent
    Resetting response endpoint 0x8f
    Resetting message endpoint 0x0f
    -> Run lsusb to note any changes. Bye.

    so any ideas on what that means?

    The modem is still not recognized by pfSense.

    once again all help is really appreciated! Thanks all.  ;D



  • I get the impression that when these sort of devices are tickled in a specific way they can change their appearance on the USB. usb_modeswitch is apparently expecting that:
    @iwebs:

    Resetting response endpoint 0x8f
    Resetting message endpoint 0x0f
    -> Run lsusb to note any changes. Bye.

    There is no lsusb utility in FreeBSD. usbconfig is the nearest equivalent. I suggest you remove the modem then insert it and run the three shell commands```

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



  • @wallabybob:

    I get the impression that when these sort of devices are tickled in a specific way they can change their appearance on the USB. usb_modeswitch is apparently expecting that:
    @iwebs:

    Resetting response endpoint 0x8f
    Resetting message endpoint 0x0f
    -> Run lsusb to note any changes. Bye.

    There is no lsusb utility in FreeBSD. usbconfig is the nearest equivalent. I suggest you remove the modem then insert it and run the three shell commands```

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

    The output of the above commands are below but they don't seem to show me anything i can decipher, maybe someone else can:

    $ usbconfig show_ifdrv
    ugen0.1: <uhci root="" hub="" intel="">at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE
    ugen0.1.0: uhub0: <intel 1="" 9="" uhci="" root="" hub,="" class="" 0,="" rev="" 1.00="" 1.00,="" addr="">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="">$ usb_modeswitch -v 12d1 -p 1f01 -V 012d1 -P 014db -M "55534243123456780000000000000a11062000000000000100000000000000" -W
    Taking all parameters from the command line

    • usb_modeswitch: handle USB devices with multiple modes
    • Version 1.2.1 (C) Josua Dietze 2011
    • Based on libusb0 (0.1.12 and above)

    ! PLEASE REPORT NEW CONFIGURATIONS !

    DefaultVendor=  0x12d1
    DefaultProduct= 0x1f01
    TargetVendor=  0x12d1
    TargetProduct=  0x14db
    TargetClass=    not set
    TargetProductList=""

    DetachStorageOnly=0
    HuaweiMode=0
    SierraMode=0
    SonyMode=0
    QisdaMode=0
    GCTMode=0
    KobilMode=0
    SequansMode=0
    MobileActionMode=0
    CiscoMode=0
    MessageEndpoint=  not set
    MessageContent="55534243123456780000000000000a11062000000000000100000000000000"
    NeedResponse=0
    ResponseEndpoint= not set

    InquireDevice enabled (default)
    Success check disabled
    System integration mode disabled

    Looking for target devices …
      searching devices, found USB ID 12d1:1f01
      found matching vendor ID
      searching devices, found USB ID 0000:0000
    No devices in target mode or class found
    Looking for default devices ...
      searching devices, found USB ID 12d1:1f01
      found matching vendor ID
      found matching product ID
      adding device
      searching devices, found USB ID 0000:0000
    Found device in default mode, class or configuration (1)
    Accessing device 002 on bus 000 ...
    Getting the current device configuration ...
    OK, got current device configuration (1)
    Using first interface: 0x00
    Using endpoints 0x0f (out) and 0x8f (in)
    Inquiring device details; driver will be detached ...
    Cant't do driver detection and detaching on this platform.

    SCSI inquiry data (for identification)

    Vendor String: HUAWEI 
      Model String: Mass Storage   
    Revision String: 2.31

    USB description data (for identification)

    Manufacturer: HUAWEI
        Product: HUAWEI HiLink
      Serial No.: not provided

    Setting up communication with interface 0
    Using endpoint 0x0f for message sending ...
    Trying to send message 1 to endpoint 0x0f ...
    OK, message successfully sent
    Resetting response endpoint 0x8f
    Resetting message endpoint 0x0f
    -> Run lsusb to note any changes. Bye.

    $ usbconfig show_ifdrv
    ugen0.1: <uhci root="" hub="" intel="">at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE
    ugen0.1.0: uhub0: <intel 1="" 9="" uhci="" root="" hub,="" class="" 0,="" rev="" 1.00="" 1.00,="" addr="">ugen0.2: <huawei hilink="" huawei="">at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON
    ugen0.2.0: cdce0:<huawei 2="" huawei="" hilink,="" class="" 0,="" rev="" 2.00="" 1.02,="" addr=""></huawei></huawei></intel></uhci></huawei></huawei></intel></uhci>


  • Netgate Administrator

    It appears to have correctly mode switched from a mass storage device into a usb ethernet device.
    This is not like other 'traditional' usb modems, it has no serial ports.
    I have never used one but I would guess that you add it as an interface and try talking down it.  ;)
    Perhaps set it as dhcp and see if it receives an IP address. More research needed.
    Steve



  • @stephenw10:

    It appears to have correctly mode switched from a mass storage device into a usb ethernet device.

    To elaborate: before usb_modeswitch:
    @iwebs:

    $ usbconfig show_ifdrv
    ugen0.1: <uhci root="" hub="" intel="">at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE
    ugen0.1.0: uhub0: <intel 1="" 9="" uhci="" root="" hub,="" class="" 0,="" rev="" 1.00="" 1.00,="" addr="">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=""></huawei></huawei></intel></uhci>

    and after:
    @iwebs:

    $ usbconfig show_ifdrv
    ugen0.1: <uhci root="" hub="" intel="">at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE
    ugen0.1.0: uhub0: <intel 1="" 9="" uhci="" root="" hub,="" class="" 0,="" rev="" 1.00="" 1.00,="" addr="">ugen0.2: <huawei hilink="" huawei="">at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON
    ugen0.2.0: cdce0: <huawei 2="" huawei="" hilink,="" class="" 0,="" rev="" 2.00="" 1.02,="" addr=""></huawei></huawei></intel></uhci>

    New device cdce0 is a USB ethernet device (see FreeBSD man page at http://www.freebsd.org/cgi/man.cgi?query=cdce&apropos=0&sektion=0&manpath=FreeBSD+9.0-RELEASE&arch=default&format=html) and it should appear in the output of shell command ifconfig and as an available "network port" in pfSense after it has been added (click on "+" on Interfaces -> (assign) page).

    I wonder if the usbconfig output means the link speed won't exceed 12Mbps (spd=FULL). On my system with a Huawei E153 3G modem the matching bus speed is reported as 480Mbps:

    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=""></huawei></huawei></huawei></huawei>


  • Netgate Administrator

    @wallabybob:

    I wonder if the usbconfig output means the link speed won't exceed 12Mbps (spd=FULL). On my system with a Huawei E153 3G modem the matching bus speed is reported as 480Mbps

    I was just thinking that myself. Perhaps it's plugged into a usb1.1 port. In fact reading back this is a Pentium 3 system, does it have USB2?

    Steve



  • Well I just tried what you recommended and I couldn't get it to work, I tried assigning it as /dev/cua0 and cua1. but no luck then I went into interfaces and assign and I got a new device ue0 (58:2c:80:13:xx:xx) device, I tried assigning that but I couldn't get a connection to the net through it, id say pfSense can see it and knows what it is but can't communicate correctly with it?

    As for USB1.1 or 2.0; its an old box so I'd say it only has 1.1 but I don't see how that would matter, surely it should work but only at 12Mbps max? I mean would it cause problems?


  • Netgate Administrator

    Yes it should work fine at 12Mbps it's just that I imagine it is capable of more. 21Mbps in the UK.

    What sort of interface did you assign it as?

    What you see from ifconfig?

    Steve



  • @iwebs:

    Well I just tried what you recommended and I couldn't get it to work, I tried assigning it as /dev/cua0 and cua1. but no luck then I went into interfaces and assign and I got a new device ue0 (58:2c:80:13:xx:xx) device, I tried assigning that but I couldn't get a connection to the net through it, id say pfSense can see it and knows what it is but can't communicate correctly with it?

    /dev/cua0 and /dev/cua1 are the standard serial ports. ue0 is the USB ethernet interface. Before you can talk over ue0 it needs to have an IP address. Is that statically assigned? assigned by PPPoE? assigned by DHCP? or does the modem need to get an IP address from a host DHCP server?

    @iwebs:

    As for USB1.1 or 2.0; its an old box so I'd say it only has 1.1 but I don't see how that would matter, surely it should work but only at 12Mbps max? I mean would it cause problems?

    One possible problem: The modem supposedly can download at 21Mbps. The modem can only pass that on to the host computer over USB1 at something less than 12Mbps. Unless the modem has considerable buffering capability that could cause considerable data loss. TCP has mechanisms to adjust to data loss, other protocols may or may not; UDP doesn't.) If you plan to use this computer for this purpose long term and you get the modem working you should check out if the computer has native USB2 and if not, get a USB2 expansion card for use with the modem.



  • The post at http://www.linuxquestions.org/questions/mandriva-30/huawei-hi-link-e353-dongle-from-3-mobile-problems-in-mandriva-937414/ suggests you should set the Interface type of ue0 to DHCP. I suggest you disable ue0, set interface type to DHCP, enable it and see if it has gets a IP address.


  • Netgate Administrator

    Indeed it looks like it should 'just work'.

    However there is a bigger problem here. pfSense is just not setup to deal with removable NICs. If you assign ue0 as a WAN interface it will probably work fine until you next reboot the box at which point pfSense will complain and go to the assign interfaces screen. Unless you have somehow setup usb_modeswitch to enable it, via <earlyshellcmd>perhaps.
    Another possible problem that I ran into with a USB ethernet device was that the MAC address changed in between power cycles. You should check it always come up the same.

    As more '4G' modems are appearing with this type of interface something will have to be worked out.

    Steve</earlyshellcmd>



  • Hi all. It seems that at the moment pfSense just can't handle the modem, I have a feeling its just a matter of someone (with a bit more BSD experience & a e353 handy) going at it to come up with a work around for these new type of 3g/4g modems before they'll work on the pfSense boxes.

    I have tried all the suggestions put forward and so far no luck  :(. I can't get the ue0 interface to show itself again, and setting the wan port to PPPoE just causes pfSense to crash and reboot continuously when it tries to get an IP address via DHCP. I'm still open to suggestions on how to get it working…

    ..thanks again to all who have taken their time to offer tips/advice to help me! I will continue to try to get it to work or at least have it ready for any future updates that make it fully compatible.



  • @iwebs:

    I can't get the ue0 interface to show itself again

    You don't say what you tried and where you looked for ue0. I would try this:
    1. Remove the E353 from the system.
    2. Reboot
    3. Once you can login on the console plug in the E353. What is reported on the console?

    It seems it can take a few seconds for some of the USB devices in the 3G modems to become visible. I don't know if that applies to 4G modems.

    @iwebs:

    . . . and setting the wan port to PPPoE just causes pfSense to crash and reboot continuously when it tries to get an IP address via DHCP.

    I'm curious how you managed to configure a link as PPPoE and have it request its configuration by DHCP.

    I suggest you remove the PPPoE interface(s) and try with ue0 (if you get it visible again) as Configuration Type DHCP.



  • Hi, from what i see in the logs, your modem is not supported by u3g.
    Those ugen messages mean that only the usb_generic driver is handling it.
    This driver takes responsibility over every usb device which couldnt be assigned to any other (real) driver before.

    If you want to, you can try 2 things:

    a) try to add your vendor and product ids to your devd configuration.
    I never done that before, but it might be worth a try. (see /etc/devd.conf) and manual pages for it.

    if this doesnt  get you to the point where you see "u3g" messages when you plug in the device, you might want to try
    b)
    follow http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/dev/usb/usbdevs?only_with_tag=MAIN
    for messages like "Add the u3g id for the Huawei xxx stick" and so on.

    hanD!



  • Okej - I have read a lot of this issue now. I also have Huawei E353 modem and I also really need to get this working.

    What I done so far:
    1. Made usb_modeshift.conf file for Huawei E353 modem

    * usb_modeswitch: handle USB devices with multiple modes
     * Version 1.2.1 (C) Josua Dietze 2011
     * Based on libusb0 (0.1.12 and above)
    
     ! PLEASE REPORT NEW CONFIGURATIONS !
    
    #######################################################
    # Huawei E353 (3.se)
    #
    # Contributor: Ulf Eklund
    
    DefaultVendor= 0x12d1
    DefaultProduct=0x1f01
    
    TargetVendor=  0x12d1
    TargetProduct= 0x14db
    
    MessageContent="55534243123456780000000000000a11062000000000000100000000000000"
    
    # Driver is cdc_ether
    NoDriverLoading=1
    

    I run command: usb_modeswitch -H -v 12d1 -p 1506

    usb_modeswitch -H -v 12d1 -p 1506
    
    Looking for default devices ...
       found matching product ID
       adding device
     Found device in default mode, class or configuration (1)
    Accessing device 003 on bus 000 ...
    Getting the current device configuration ...
     OK, got current device configuration (1)
    Using first interface: 0x00
    Using endpoints 0x0f (out) and 0x8e (in)
    Not a storage device, skipping SCSI inquiry
    
    USB description data (for identification)
    -------------------------
    Manufacturer: HUAWEI
         Product: HUAWEI Mobile
      Serial No.: not provided
    -------------------------
    Sending Huawei control message ...
     OK, Huawei control message sent
    -> Run lsusb to note any changes. Bye.
    

    No lsusb but usbconfig instead:

     usbconfig -d ugen1.2 dump_device_desc show_ifdrv
    ugen1.2: <huawei mobile="" huawei=""> at usbus1, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON
    ugen1.2.4: umass0: <huawei 0="" 2="" huawei="" mobile,="" class="" 0,="" rev="" 2.00="" 1.02,="" addr="">
    ugen1.2.5: umass1: <huawei 0="" 2="" huawei="" mobile,="" 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 = 0x1506
      bcdDevice = 0x0102
      iManufacturer = 0x0003  <huawei>
      iProduct = 0x0002  <huawei mobile="">
      iSerialNumber = 0x0000  <no string="">
      bNumConfigurations = 0x0001</no></huawei></huawei></huawei></huawei></huawei>
    

    Cheking…

    usbconfig show_ifdrv
    ugen0.1: <ohci root="" hub="" apple=""> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE
    ugen0.1.0: uhub0: <apple 1="" 9="" ohci="" root="" hub,="" class="" 0,="" rev="" 1.00="" 1.00,="" addr="">
    ugen1.1: <ehci root="" hub="" intel=""> at usbus1, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE
    ugen1.1.0: uhub1: <intel 1="" 9="" ehci="" root="" hub,="" class="" 0,="" rev="" 2.00="" 1.00,="" addr="">
    ugen1.2: <huawei mobile="" huawei=""> at usbus1, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON
    ugen1.2.4: umass0: <huawei 0="" 2="" huawei="" mobile,="" class="" 0,="" rev="" 2.00="" 1.02,="" addr="">
    ugen1.2.5: umass1: <huawei 0="" 2="" huawei="" mobile,="" class="" 0,="" rev="" 2.00="" 1.02,="" addr=""></huawei></huawei></huawei></intel></ehci></apple></ohci>
    

    But I can't get ppp port available. I know that there is fresh version of usb_modeswitch 1.2.3 but there is no port to freeBDS/pfSense. This is so frustrating….. Lack of device support is one of the main reason for unpopularity of any OS. In Ubuntu 12.04 E353 modem installation is just plug and play, just set up ISP information and connect to Internet. Thats it. This is the way this modems issues should handle. Why this is so damm difficult and complex in freeBSD and just so damm easy in Ubuntu? There must be easier way to hande new devices. Hopefully the answer for this major problem is not "you should wait for pfSense 5.0 release on 2023". Ok - E353 is NOT a new device and still we are waiting for working drivers for it. Modem devices support should be in the fastlane in "to do lists".

    But there is a lot of peoples waiting for solution for this problem. My knowhow stops here and really need help on this issue.  ???


  • Netgate Administrator

    Hmm, OK.
    The command you are using to call modeswitch is not using your conf file so that is not being used at all.
    Instead the command is looking for a device with a different product ID, though it does match your own, and sending a generic Huawei code.

    The device shown in your output, VID 12D1: PID 1506, appears to be either a device already in target (modem) mode or something as yet undocumented.

    Do you not have any serial devices shown in /dev/?

    Steve


Locked